Skip to content

gfazioli/mantine-picker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

117 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Mantine Picker Component

Mantine Picker

Overview

This component is created on top of the Mantine library. It requires Mantine 9.x and React 19.

Mantine Picker is an iOS-style wheel picker for React with Mantine, enabling selection through dragging, mouse wheel, clicking, and keyboard navigation.

Features

  • 🎡 iOS-style wheel picker: Smooth drag, wheel, click, and keyboard navigation
  • 🎲 3D rotation effect: Configurable perspective, maxRotation, cylinderRadius, rotateY
  • 🔄 Loop mode: Infinite circular scrolling through items
  • 🎯 Momentum scrolling: Inertia-based deceleration after drag release
  • 🎨 Custom item rendering: renderItem for color swatches, badges, icons, or any React content
  • 📐 Left/Right sections: Fixed content beside the picker (icons, labels)
  • 🔒 Read-only mode: Programmatic updates without user interaction (counters, clocks)
  • 🎭 Visual effects: Configurable blur, opacity, scale gradients for non-selected items
  • 🖌 Mask, highlight, dividers: Toggle gradient mask, selection highlight, and divider lines
  • Accessible: aria-label, keyboard navigation, focusable prop, screen reader support
  • 🎨 Styles API: Full Mantine Styles API support with 6 selectors
  • 📦 TypeScript: Full type safety with generic Picker<T> support

Installation

npm install @gfazioli/mantine-picker

or

yarn add @gfazioli/mantine-picker

After installation import package styles at the root of your application:

import '@gfazioli/mantine-picker/styles.css';

Usage

import { Picker } from '@gfazioli/mantine-picker';

function Demo() {

  return (
    <Picker data={['React', 'Angular', 'Vue', 'Svelte']} />
  );
}

Sponsor

Your support helps me:

  • Keep the project actively maintained with timely bug fixes and security updates
  • Add new features, improve performance, and refine the developer experience
  • Expand test coverage and documentation for smoother adoption
  • Ensure long‑term sustainability without relying on ad hoc free time
  • Prioritize community requests and roadmap items that matter most

Open source thrives when those who benefit can give back—even a small monthly contribution makes a real difference. Sponsorships help cover maintenance time, infrastructure, and the countless invisible tasks that keep a project healthy.

Your help truly matters.

💚 Become a sponsor today and help me keep this project reliable, up‑to‑date, and growing for everyone.


social-1080-date-picker.mp4

Star History Chart

About

A Mantine 9 iOS-style wheel picker component with 3D rotation, drag/wheel/keyboard navigation, momentum scrolling, and customizable item rendering.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors

Generated from gfazioli/mantine-marquee