@props([ 'min', 'max', 'minValue' => null, 'maxValue' => null, 'step' => 1, 'name' => null, 'legend' => 'Range', 'minLabel' => 'Minimum', 'maxLabel' => 'Maximum', 'prefix' => '', 'suffix' => '', 'separator' => ' – ', 'resetLabel' => 'Reset', ]) @php $minValue ??= $min; $maxValue ??= $max; $uid = 'rs-' . uniqid(); @endphp
merge(['class' => 'flex flex-col gap-4']) }} >
{{ $legend }} {{-- Real controls — keyboard, assistive tech, form values, no-JS fallback. The controller adds `sr-only` to each on connect. --}} {{-- Presentational track — pointer control + visual state only; the real controls above own accessibility. --min / --max start at the extremes so first paint has no jump. --}}
{{-- Server-rendered so it's right on first paint and without JS; the controller rewrites it as the values change. --}}