JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q48265F
  • License ISC

A smart customizable scrollbar for React projects

Package Exports

  • react-smart-scrollbar
  • react-smart-scrollbar/dist/index.es.js
  • react-smart-scrollbar/dist/index.umd.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-smart-scrollbar) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

๐ŸŒŸ react-smart-scrollbar

A blazing fast, lightweight, and fully customizable React scrollbar solution that supports vertical and horizontal scrollbars with zero extra DOM elements. No wrappers, no BS โ€” just powerful styling.


๐Ÿš€ Features

  • โœ… Custom vertical and horizontal scrollbar support
  • โœ… 1px thin scrollbars (pixel-perfect)
  • โœ… Fully configurable with colors, width, radius
  • โœ… No extra elements โ€” uses existing DOM only
  • โœ… Arrow buttons removed on all platforms (Windows, Chrome, Firefox, etc.)
  • โœ… Plug-and-play React component
  • โœ… Ultra-lightweight (~1KB)

๐Ÿ“ฆ Installation

npm install react-smart-scrollbar

๐Ÿง  Usage Basic Example

import { SmartScrollbar } from 'react-smart-scrollbar';

<SmartScrollbar
  verticalConfig={{
    thumbColor: '#ff0000',
    trackColor: '#ffe6e6',
    width: '6px',
    radius: '8px',
  }}
  horizontalConfig={{
    thumbColor: '#00bcd4',
    trackColor: '#e0f7fa',
    height: '6px',
    radius: '8px',
  }}
>
  <div style={{ height: 300, overflow: 'auto', whiteSpace: 'nowrap' }}>
    {/* Scrollable content */}
  </div>
</SmartScrollbar>

โš™๏ธ Configuration Prop Type Description verticalConfig object Customize vertical scrollbar horizontalConfig object Customize horizontal scrollbar

Config Options Key Type Description thumbColor string Scroll thumb color trackColor string Scroll track background color width string Vertical scrollbar width (px) height string Horizontal scrollbar height (px) radius string Scroll thumb border radius

๐Ÿ›‘ Leave verticalConfig or horizontalConfig empty {} to disable that scrollbar.

๐Ÿ’ก Advanced ๐ŸŽฏ Support 1px ultra-thin scrollbars

๐Ÿšซ Removes native scrollbar arrows across all browsers

๐ŸŽจ Use dynamic themes (dark/light) with config

๐Ÿงช Works perfectly with Vite, Next.js, CRA