← Back to Table of Contents
Summary
Minimalist track-based range slider where the entire bar acts as the interactive surface. Features a clean, handle-less design with optional live value output and track labels. Often used for percentage inputs or subtle settings.
Basic usage
Standard Percentage
Settings Control
State & validation
Stored value
State is a numeric value (int or float).
Validation rules
The field validates the numeric type and the configured min() and max() on the server. With integer() enabled, fractional submissions fail validation. Malformed values, arrays, booleans and nonfinite numbers are rejected rather than silently converted into valid values. Add application rules with rules() and use required() when a value must be supplied.
step() controls pointer and keyboard increments; it does not add a server-side multiple-of-step rule. Add such a rule if your application requires it. Bounds must be finite and ordered, and the step must be positive. Equal bounds create a fixed-value field.
Interaction
Click or drag anywhere on the track. Arrow keys change the value by one step; Home and End select the exact bounds. The marker stays slightly inside both edges, while the fill still represents the full 0–100% range. Disabled fields ignore pointer and keyboard changes.
The three sizes share a subtle gray track and darker fill without a shadow. secondary provides a stronger fill contrast. Both variants support dark mode and reduced motion.
Configuration API
All methods accept Closure unless noted.
Real-world examples
Volume Control
Fine-tuned Spacing
Playground
/admin/flex-fields/track-slider
See Playground for setup.
CSS classes (reference)
Last modified on October 16, 2026