Skip to main content
← 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