Skip to Content
πŸ“£ See the latest news β†’
Resources🧩 ComponentsLens Select

Lens Select

A fisheye/lens magnification select component for React built with Mantine. Displays items with a macOS Dock-like magnification effect on hover, supporting count mode, min/max/step range, and compound components.

Full documentation and API reference available at gfazioli.github.io/mantine-lens-selectΒ 

Installation

yarn add @gfazioli/mantine-lens-select

Overview

LensSelect provides a fisheye/lens magnification selection interface:

  • Count Mode β€” use count={15} for instant pill generation, no data array needed
  • Range Support β€” combine min, max, step, precision for numeric ranges (Slider-like API)
  • Custom Data β€” pass data with custom view for icons, emojis, or any React node
  • Magnification Effect β€” configurable magnification, lensRange, scale, opacity, and blur
  • Expand on Hover β€” macOS Dock-style push effect with expandOnHover
  • Horizontal & Vertical β€” switch orientation with a single prop
  • Selection Modes β€” click, hover, or withWheel for mouse wheel navigation
  • Keyboard Navigation β€” Arrow keys, Home/End with optional loop
  • Compound Components β€” LensSelect.Indicator for selection indicator customization
  • Variants β€” default and outline for both pills and indicator
  • Pill Customization β€” pillWidth, pillHeight, pillRadius, pillColor, hoverColor, activeColor
  • Custom Rendering β€” renderItem callback for complete item control
  • Responsive β€” CSS-native responsive via StyleProp on itemSize, gap, pillWidth, pillHeight
  • Accessibility β€” WAI-ARIA listbox pattern with proper roles and labels
  • Styles API β€” 6 selectors, 13 CSS variables for full styling control
Last updated on