Skip to content

SusRangeSlider

SusRangeSlider

Dual-thumb slider — select a min/max range inside bounds.

Package

SusKit · Atoms (commercial)

Open in Playground

SusKit · Atoms

Props

NameTypeDefault
ValueProp<float[]>new float[] { 0f, 100f }v-model
MinProp<float>0fv-model
MaxProp<float>100fv-model
StepProp<float>1fv-model
ColorProp<string>"primary"v-model
DisabledProp<bool>falsev-model
ReadonlyProp<bool>falsev-model
ShowLabelProp<bool>falsev-model
ShowTicksProp<bool>falsev-model
TickLabelsProp<string>""v-model
ThumbLabelProp<string>"hidden"v-model
ErrorProp<string>""v-model
MinLabelTextProp<string>"0"v-model
MaxLabelTextProp<string>"100"v-model

Slots

No slots.

Events

NameFieldPayload
ValueChangedOnValueChangedfloat[]
DragStartOnDragStart
DragEndOnDragEnd

Style hooks

USS class contract — override appearance without touching C#. States toggle via these classes:

  • keyboard-focus
  • sus-range-slider
  • sus-range-slider__fill
  • sus-range-slider__thumb
  • sus-range-slider__thumb-dot
  • sus-range-slider__thumb-label
  • sus-range-slider__thumb-ripple
  • sus-range-slider__thumb-ripple--active
  • sus-range-slider__thumb-tooltip
  • sus-range-slider__thumb-tooltip-arrow
  • sus-range-slider__tick
  • sus-range-slider__tick-label
  • sus-range-slider__ticks
  • sus-range-slider__track
  • sus-range-slider--danger
  • sus-range-slider--disabled
  • sus-range-slider--dragging
  • sus-range-slider--error
  • sus-range-slider--has-thumb-label
  • sus-range-slider--primary
  • sus-range-slider--readonly
  • sus-range-slider--secondary
  • sus-range-slider--success
  • sus-range-slider--warning

Usage

xml
<template>
  <sus:SusRangeSlider :Value="LevelRange.Value"
                      Min="1"
                      Max="100"
                      Step="1"
                      Color="primary"
                      ShowLabel="true"
                      @value-changed="OnRange" />
</template>

<script>
public Prop<float[]> LevelRange = new(new float[] { 10f, 40f });
void OnRange(float[] range) { /* range[0], range[1] */ }
</script>
csharp
var range = new SusRangeSlider();
range.Min.Value = 0f;
range.Max.Value = 100f;
range.Value.Value = new float[] { 25f, 75f };
range.ThumbLabel.Value = "always";
range.OnValueChanged += values => { /* … */ };

Notes

  • Value is always a two-element float[] (low, high).
  • ThumbLabel: hidden · hover · always.