mm-jsr
Purpose:
mm-jsr
is a library designed to create advanced range-inputs, addressing the limitations of HTML5's nativeinput[type="range"]
. It offers extensive customization and functionality for selecting values within a min-max range.Target Audience: Developers needing enhanced range sliders with features like custom steps, multiple sliders, touch/keyboard support, and framework compatibility.
Key Features:
- Responsive design with customizable min/max values (including negatives).
- Custom step increments (e.g., 0.001, 2, 100).
- Multiple sliders, collapsible labels, and touch/keyboard support.
- Lightweight (~18kB minified, ~5kB gzipped) with no dependencies.
- Modular architecture (Slider, Rail, Bar, Label, Grid, Limit modules).
Framework Support: Includes official adapters for React and Svelte.
Browser Support: Firefox, Chrome, and Chromium-based browsers (Brave, Edge, Opera, Vivaldi).
License: LGPLv3, allowing closed-source use but requiring open-sourcing modifications to the library itself.
Notable Modules:
- Slider: Draggable points.
- Rail: Clickable background bar.
- Bar: Interactive bar between sliders.
- Label: Value labels below sliders.
- Limit: Enforces value constraints (must be the first module).
Extensibility: Users can create custom modules without modifying core library code.
For more details, visit the homepage and demo .