RangeSlider selects a [start, end] range with two thumbs on one track. It looks like Slider and takes the same min, max, step, label, showValue and disabled; its value is a pair, start first.
Without value or defaultValue, the range starts as the whole track, [min, max].
Pass value and onChange when something else owns the range, such as the filters of a product list. onChange gets the new pair, start never above end. formatValue sets how a value reads, in the readout and to a screen reader, and minDistance keeps the thumbs apart.
Give the slider a name and a form submits both values under it, start first. Pass two names to submit each under its own, as a search form's query string wants:
The two thumbs sit in a group named by label (or aria-label). Each thumb is a slider of its own, named "Minimum" and "Maximum": pass thumbLabels to name them otherwise, or in another language. A thumb's bounds are the other thumb, so a screen reader announces how far each one can go and the thumbs can never cross.
A press on the track moves the nearer thumb there, and either thumb can be dragged. When the two thumbs sit on the same value, the first move decides which one comes along, since only one of them can go each way.