1.0.3 • Published 5 months ago

react-overflow-slider v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

React Overflow Slider

NPM Version Downloads License: MIT GitHub Stars

A lightweight, high-performance, and responsive horizontal slider for React that works smoothly across devices, including mobile touch and MacBook touchpads. It leverages native CSS overflow-x: auto for buttery-smooth scrolling, while providing custom navigation buttons for seamless user interaction.

šŸ”— Links

✨ Features

  • šŸš€ Smooth and Native Scrolling — No JS calculations during scroll, even on touch devices.
  • šŸŽÆ Customizable — Add your own navigation buttons and styles.
  • šŸ“± Responsive Design — Fully adapts to different screen sizes.
  • šŸ”„ Supports Any Content — Text, images, or custom HTML elements.
  • ⚔ Zero Lag — Perfect for mobile swipes and MacBook touchpads.

šŸ“¦ Installation

Using npm

npm install react-overflow-slider

Using yarn

yarn add react-overflow-slider

Using pnpm

pnpm add react-overflow-slider

šŸš€ Quick Start

import { OverflowSlider } from 'react-overflow-slider';
import 'react-overflow-slider/dist/index.css'; // Import styles for the slider

const Example = () => {
  return (
    <OverflowSlider>
      <div>Slide 1</div>
      <div>Slide 2</div>
      <div>Slide 3</div>
    </OverflowSlider>
  );
};

āš™ļø Props

PropTypeDefaultDescription
childrenReactNode[]—Required. Child elements to display inside the slider.
prevButtonReactNode—Custom "Previous" button.
nextButtonReactNode—Custom "Next" button.
gapnumber \| string0Gap between elements inside the slider. You can use a number (for pixel values) or a CSS string (e.g., '4px', '1em') for the value.
durationnumber300Scroll animation duration in milliseconds.

šŸ“‹ Examples

šŸ”¤ Text Slider

A simple text slider with dynamic tag sizes.

Text Slider

āš ļø Note: When using fonts with fractional widths, rounding issues may occur, causing scroll glitches. For consistent behavior across platforms, use universal fonts (e.g., system-native fonts, sans-serif).

šŸ’” Tip: To use custom fonts while avoiding these issues, apply a transparent sans-serif font to set the correct element width, and overlay your desired font using absolute positioning. This way, the invisible font defines the size, while the visible text uses the custom font.

https://github.com/iscars/react-overflow-slider/tree/main/src/examples/tag-slider


šŸ–¼ļø Image Slider

A clean image slider for showcasing images.

Image Slider

https://github.com/iscars/react-overflow-slider/tree/main/src/examples/image-slider


šŸ“‡ Card Slider

A slider to showcase cards with titles and descriptions.

Card Slider

https://github.com/iscars/react-overflow-slider/tree/main/src/examples/card-slider

šŸ› ļø Development

To begin local development:

  1. Clone the repo:
git clone https://github.com/iscars/react-overflow-slider.git
  1. Install dependencies:
pnpm install
  1. Run the project:
pnpm dev

šŸ“„ License

This project is licensed under the MIT License.
Feel free to use, modify, and distribute it as per the license terms. šŸ¤