Join our Discord Community
Text

Sliding Number

Animated number display with smooth sliding digit transitions and customizable formatting. Perfect for React applications requiring dynamic counters with Next.js integration and TypeScript support.

Loading component...

Installation

npx shadcn@latest add https://www.shadcn.io/registry/sliding-number.json
npx shadcn@latest add https://www.shadcn.io/registry/sliding-number.json
pnpm dlx shadcn@latest add https://www.shadcn.io/registry/sliding-number.json
bunx shadcn@latest add https://www.shadcn.io/registry/sliding-number.json

Features

  • Smooth digit transitions with spring animations using Motion for fluid number changes
  • Decimal support with customizable decimal separators and precision control
  • In-view animation with configurable viewport detection and once-only triggers
  • Flexible formatting supporting padding, negative numbers, and locale-specific separators
  • TypeScript support with complete interface definitions and prop validation
  • shadcn/ui compatibility using utility classes and consistent design patterns

Examples

Decimal Formatting

Loading component...

Demonstrates decimal number formatting with custom separators.

Use Cases

This free open source React component works well for:

  • Statistics dashboards - Dynamic counters and metrics built with Next.js
  • Financial displays - Currency values and percentages using TypeScript and Tailwind CSS
  • Gaming interfaces - Score counters and level progression indicators
  • Analytics widgets - Real-time data visualization for web applications

API Reference

SlidingNumber

PropTypeDefaultDescription
numbernumber | stringrequiredThe number value to display and animate
inViewbooleanfalseTrigger animation when component enters viewport
inViewMarginstring"0px"Margin for viewport detection
inViewOncebooleantrueOnly animate once when entering viewport
padStartbooleanfalsePad single digits with leading zero
decimalSeparatorstring"."Character used for decimal separation
decimalPlacesnumber0Number of decimal places to display
transitionSpringOptions{ stiffness: 200, damping: 20, mass: 0.4 }Motion spring configuration

Spring Options

  • stiffness - Spring tension value (higher = faster)
  • damping - Spring damping factor (higher = less bounce)
  • mass - Element mass simulation (higher = more inertia)

Implementation Notes

  • Uses tabular-nums font feature for consistent digit width
  • Individual digit rollers with optimized transform calculations
  • Automatic height measurement for smooth vertical transitions
  • Supports both positive and negative number display
  • Compatible with shadcn/ui design tokens and theming
  • Optimized performance with minimal re-renders