- Prop
tone- Type
Tone | undefined- Default
"accent"- Requirement
- optional
- Description
- Brand colour of the thumb.
Docs Components Forms
Slider
React example follows below.
Vue example follows below.
Angular example follows below.
Svelte example follows below.
Solid example follows below.
- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
const sliderFixture = { id: "slider", label: "Estimate", min: 1, max: 12, step: 1, defaultValue: 6,} as const; import { Slider } from "@grassroot/ui-react"; export default function SliderDemo() { return ( <div> <Slider aria-label={sliderFixture.label} min={sliderFixture.min} max={sliderFixture.max} step={sliderFixture.step} defaultValue={sliderFixture.defaultValue} /> </div> );}- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script setup lang="ts">import { ref } from "vue";const sliderFixture = { id: "slider", label: "Estimate", min: 1, max: 12, step: 1, defaultValue: 6,} as const; import { Slider } from "@grassroot/ui-vue";const value = ref(sliderFixture.defaultValue);</script><template> <div> <Slider v-model="value" :aria-label="sliderFixture.label" :min="sliderFixture.min" :max="sliderFixture.max" :step="sliderFixture.step" /> </div></template>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import { Component } from "@angular/core";const sliderFixture = { id: "slider", label: "Estimate", min: 1, max: 12, step: 1, defaultValue: 6,} as const; import { GrassrootSlider } from "@grassroot/ui-angular";@Component({ selector: "app-slider-demo", standalone: true, imports: [GrassrootSlider], template: `<div> <grassroot-slider [aria-label]="fixture.label" [min]="fixture.min" [max]="fixture.max" [step]="fixture.step" [value]="fixture.defaultValue" /> </div>`,})export class SliderDemoComponent { protected readonly fixture = sliderFixture;}export default SliderDemoComponent;- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script lang="ts"> const sliderFixture = { id: "slider", label: "Estimate", min: 1, max: 12, step: 1, defaultValue: 6, } as const; import { Slider } from "@grassroot/ui-svelte"; let value = $state(sliderFixture.defaultValue);</script> <div> <Slider aria-label={sliderFixture.label} min={sliderFixture.min} max={sliderFixture.max} step={sliderFixture.step} bind:value /></div>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
/** @jsxImportSource solid-js */const sliderFixture = { id: "slider", label: "Estimate", min: 1, max: 12, step: 1, defaultValue: 6,} as const; import { Slider } from "@grassroot/ui-solid";export default function SliderDemo() { return ( <div> <Slider aria-label={sliderFixture.label} min={sliderFixture.min} max={sliderFixture.max} step={sliderFixture.step} value={sliderFixture.defaultValue} /> </div> );}Installation
API Reference
Import
import { Slider } from "@grassroot/ui-react";
Props
Prop
Type
Default
Requirement
Description
toneTone | undefined"accent"optional
Brand colour of the thumb.
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.
Import
import { ref } from "vue";
import { Slider } from "@grassroot/ui-vue";
Props
Prop
Type
Default
Requirement
modelValuenumber | undefined—
optional
minnumber | undefined—
optional
maxnumber | undefined—
optional
stepnumber | undefined—
optional
disabledboolean | undefined—
optional
tone"accent" | "amber" | "teal" | "indigo" | undefined"accent"optional
- Prop
modelValue- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
min- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
max- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
step- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
disabled- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Prop
tone- Type
"accent" | "amber" | "teal" | "indigo" | undefined- Default
"accent"- Requirement
- optional
Events
| Event | Payload |
|---|---|
update:modelValue | [value: number] |
Import
import { Component } from "@angular/core";
import { GrassrootSlider } from "@grassroot/ui-angular";
Props
Prop
Type
Default
Requirement
valuenumber—
optional
minnumber—
optional
maxnumber—
optional
stepnumber—
optional
disabledbooleanfalseoptional
tone"accent" | "amber" | "teal" | "indigo""accent"optional
"aria-label"stringundefinedoptional
- Prop
value- Type
number- Default
- —
- Requirement
- optional
- Prop
min- Type
number- Default
- —
- Requirement
- optional
- Prop
max- Type
number- Default
- —
- Requirement
- optional
- Prop
step- Type
number- Default
- —
- Requirement
- optional
- Prop
disabled- Type
boolean- Default
false- Requirement
- optional
- Prop
tone- Type
"accent" | "amber" | "teal" | "indigo"- Default
"accent"- Requirement
- optional
- Prop
"aria-label"- Type
string- Default
undefined- Requirement
- optional
Events
| Event | Payload |
|---|---|
valueChange | number |
Import
import { Slider } from "@grassroot/ui-svelte";
Props
Prop
Type
Default
Requirement
valuenumber—
optional
minnumber—
optional
maxnumber—
optional
stepnumber—
optional
disabledboolean—
optional
aria-labelstring—
optional
classNamestring—
optional
onChange(event: Event) => void—
optional
tone"accent" | "amber" | "teal" | "indigo""accent"optional
- Prop
value- Type
number- Default
- —
- Requirement
- optional
- Prop
min- Type
number- Default
- —
- Requirement
- optional
- Prop
max- Type
number- Default
- —
- Requirement
- optional
- Prop
step- Type
number- Default
- —
- Requirement
- optional
- Prop
disabled- Type
boolean- Default
- —
- Requirement
- optional
- Prop
aria-label- Type
string- Default
- —
- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
- Prop
onChange- Type
(event: Event) => void- Default
- —
- Requirement
- optional
- Prop
tone- Type
"accent" | "amber" | "teal" | "indigo"- Default
"accent"- Requirement
- optional
Events
| Event | Payload |
|---|---|
onChange | (event: Event) => void |
Import
import { Slider } from "@grassroot/ui-solid";
Props
Prop
Type
Default
Requirement
defaultValuenumber | string—
optional
tone"accent" | "amber" | "teal" | "indigo"—
optional
- Prop
defaultValue- Type
number | string- Default
- —
- Requirement
- optional
- Prop
tone- Type
"accent" | "amber" | "teal" | "indigo"- Default
- —
- Requirement
- optional
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.