Skip to content

Slider

An input where the user selects a value from within a given range.

Value: 50

Installation

bash
npx @galaxy-stack/nebula-cli@latest add slider
bash
pnpm dlx @galaxy-stack/nebula-cli@latest add slider
bash
yarn dlx @galaxy-stack/nebula-cli@latest add slider
bash
bunx @galaxy-stack/nebula-cli@latest add slider
bash
# If you have installed galaxy-design globally
galaxy-design add slider

Usage

API Reference

Props

PropTypeDefaultDescriptionFrameworks
valuenumber[]-Controlled slider valuesAll
defaultValuenumber[][0]Uncontrolled initial slider valuesAll
onValueChange(value: number[]) => void-Called when slider values changeAll
onValueCommit(value: number[]) => void-Called when interaction endsAll
namestring-Name for form submissionAll
disabledbooleanfalseDisables the sliderAll
orientation'horizontal' | 'vertical''horizontal'Slider orientationAll
dir'ltr' | 'rtl''ltr'Reading directionReact, Vue, Angular
invertedbooleanfalseWhether slider is visually invertedReact, Vue, Angular
minnumber0Minimum valueAll
maxnumber100Maximum valueAll
stepnumber1Stepping intervalAll
minStepsBetweenThumbsnumber0Minimum permitted steps between thumbsAll
formstring-Associates slider inputs with a formReact, Vue, Angular
classNamestring''CSS class namesReact, React Native
classstring''CSS class namesVue, Angular, Flutter

Usage

vue
<script setup lang="ts">
import { Slider } from '@/components/ui'
import { ref } from 'vue'

const value = ref([50])
</script>

<template>
  <Slider v-model="value" :max="100" :step="1" class="w-[60%]" />
</template>

React

tsx
import { Slider } from '@/components/ui'

export default function SliderDemo() {
  return <Slider defaultValue={[50]} max={100} step={1} className="w-[60%]" />
}

Angular

typescript
import { Component } from '@angular/core';
import { SliderComponent } from '@/components/ui';

@Component({
  selector: 'app-slider-demo',
  standalone: true,
  imports: [SliderComponent],
  template: `
    <ui-slider
      [value]="value"
      (valueChange)="value = $event"
      [min]="0"
      [max]="100"
      [step]="1"
      class="w-[60%]"
    />
  `
})
export class SliderDemoComponent {
  value = 50;
}

Accessibility

  • Keyboard Navigation: [TODO]
  • Screen Reader: [TODO]
  • Focus Management: [TODO]
  • WCAG Compliance: WCAG 2.1 Level AA compliant

Author

Bùi Trọng Hiếu (kevinbui)

License

MIT © 2025 Bùi Trọng Hiếu (kevinbui)

Released under the MIT License.