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 🙏

© 2026 – Pkg Stats / Ryan Hefner

react-native-animated-number-input

v1.3.0

Published

A performant, animated, auto-sizing number input for React Native and Expo.

Readme

react-native-animated-number-input

A performant, animated, and auto-sizing number input for React Native and Expo. Supports both Expo Managed and Bare workflows.



✨ Features

  • Animated digit transitions
  • Auto font-size adjustment based on container width
  • Supports decimal and thousand separators
  • Prefix and suffix support
  • Custom animation duration and styles
  • Works in both Expo and Bare React Native
  • Written in TypeScript

🚀 Installation

npm install react-native-animated-number-input
# or
yarn add react-native-animated-number-input

Peer dependencies:

  • react-native-reanimated (v3+)
  • react-native
  • react

📦 Usage

import { AnimatedNumberInput } from 'react-native-animated-number-input';

export default function MyScreen() {
  const [value, setValue] = React.useState('1234.56');
  return (
    <AnimatedNumberInput
      value={value}
      onChangeText={setValue}
      precision={2}
      maxFontSize={48}
      containerStyle={{ width: 200 }}
      prefix="$"
      suffix=" USD"
      decimalSeparator=","
      thousandSeparator="."
      animationDuration={200}
      placeholder="Enter a number"
      textStyle={{ color: '#222', fontWeight: 'bold' }}
    />
  );
}

🛠 API Reference

<AnimatedNumberInput />

A fully controlled, animated, auto-sizing number input component.

Props

| Prop | Type | Default | Description | | ------------------- | --------------------------------------------------------- | ----------------------------------------- | ---------------------------------------------------------------------------------------- | | value | string | Required | The current value of the input (controlled). | | onChangeText | (value: string) => void | Required | Callback when the value changes. | | textStyle | TextStyle | {} | Style for the input text. | | containerStyle | ViewStyle | {} | Style for the container. | | decimalSeparator | string | '.' | Character to use as the decimal separator. | | thousandSeparator | string | ',' | Character to use as the thousand separator. | | prefix | string | undefined | String to display before the number (e.g., currency symbol). | | suffix | string | undefined | String to display after the number (e.g., unit). | | precision | number | 2 | Number of decimal places to allow. | | animationDuration | number | 100 | Duration of digit transition animations in milliseconds. | | maxFontSize | number | 64 | Maximum font size for the digits. | | exiting | EntryOrExitLayoutType (Reanimated animation) | FadeOutDown.duration(animationDuration) | Animation for exiting digits. | | entering | EntryOrExitLayoutType (Reanimated animation) | FadeInDown.duration(animationDuration) | Animation for entering digits. | | placeholder | string | undefined | Placeholder text when the value is empty. | | ...TextInputProps | All other TextInput props except value/onChangeText | | You can pass any other valid TextInput prop (e.g., autoFocus, keyboardType, etc.). |

Example with all features

<AnimatedNumberInput
  value={value}
  onChangeText={setValue}
  precision={2}
  maxFontSize={48}
  containerStyle={{ width: 200 }}
  prefix="$"
  suffix=" USD"
  decimalSeparator=","
  thousandSeparator="."
  animationDuration={200}
  placeholder="Enter a number"
  textStyle={{ color: '#222', fontWeight: 'bold' }}
  autoFocus
/>

🧪 Example App

See the example/ folder for a working Expo + Bare React Native demo. The example demonstrates:

  • Animated transitions
  • Auto font sizing
  • Prefix/suffix
  • Custom separators
  • Placeholder
  • Custom styles

🤝 Contributing

PRs and issues welcome! Please open an issue or submit a pull request.

See CONTRIBUTING.md for guidelines.


📜 Changelog

See CHANGELOG.md for release notes.


🧑‍💻 Code of Conduct

This project follows a Code of Conduct to foster an open and welcoming community.


📄 License

MIT © Sivantha Paranavithana