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.
Powered by
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
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
Prop | Type | Default | Description |
---|---|---|---|
number | number | string | required | The number value to display and animate |
inView | boolean | false | Trigger animation when component enters viewport |
inViewMargin | string | "0px" | Margin for viewport detection |
inViewOnce | boolean | true | Only animate once when entering viewport |
padStart | boolean | false | Pad single digits with leading zero |
decimalSeparator | string | "." | Character used for decimal separation |
decimalPlaces | number | 0 | Number of decimal places to display |
transition | SpringOptions | { 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
Shimmering Text
Animated shimmering text component with wave effects and color transitions. Perfect for React applications requiring eye-catching text animations with Next.js integration and TypeScript support.
Splitting Text
Advanced text animation component that splits text into characters, words, or lines with staggered motion effects. Perfect for React applications requiring sophisticated typography animations with Next.js integration and TypeScript support.