CLI previewInstall commands shown on this site are not released yet.

DocsComponentsAdvanced

RangeSlider

React example follows below.
ts
import { RangeSlider } from "@grassroot/ui-react/advanced";
const histogram = [3, 5, 8, 12, 18, 24, 30, 26, 22, 17, 13, 10];
<RangeSlider
min={0}
max={500}
step={10}
histogram={histogram}
defaultValue={[120, 340]}
format={(n) => `${n}`}
caption="per-seat / month"
/>
ts
<script setup lang="ts">
import { RangeSlider } from "@grassroot/ui-vue";
const histogram = [3, 5, 8, 12, 18, 24, 30, 26, 22, 17, 13, 10];
</script>
<template>
<RangeSlider
:min="0"
:max="500"
:step="10"
:histogram="histogram"
:default-value="[120, 340]"
:format="(n) => `${n}`"
caption="per-seat / month"
/>
</template>
ts
import { Component } from "@angular/core";
import { GrassrootRangeSlider } from "@grassroot/ui-angular";
@Component({
selector: "app-example",
standalone: true,
imports: [GrassrootRangeSlider],
template: `
<grassroot-range-slider
[min]="0"
[max]="500"
[step]="10"
[histogram]="histogram"
[defaultValue]="[120, 340]"
[format]="(n) => \`\${n}\`"
caption="per-seat / month"
/>
`,
})
export class ExampleComponent {
readonly histogram = [3, 5, 8, 12, 18, 24, 30, 26, 22, 17, 13, 10];
}
ts
<script lang="ts">
import { RangeSlider } from "@grassroot/ui-svelte";
const histogram = [3, 5, 8, 12, 18, 24, 30, 26, 22, 17, 13, 10];
</script>
<RangeSlider
min={0}
max={500}
step={10}
histogram={histogram}
defaultValue={[120, 340]}
format={(n) => `${n}`}
caption="per-seat / month"
/>
ts
import { RangeSlider } from "@grassroot/ui-solid";
const histogram = [3, 5, 8, 12, 18, 24, 30, 26, 22, 17, 13, 10];
export function Example() {
return (
<>
<RangeSlider
min={0}
max={500}
step={10}
histogram={histogram}
defaultValue={[120, 340]}
format={(n) => `${n}`}
caption="per-seat / month"
/>
</>
);
}

Installation

bash
pnpm dlx grassroot add ui/range-slider
bash
npx grassroot@latest add ui/range-slider
bash
yarn dlx grassroot add ui/range-slider
bash
bunx grassroot add ui/range-slider

API Reference

RangeSliderProps
PropTypeDefault
minnumber | undefined
maxnumber | undefined
stepnumber | undefined
histogramBar heights for the backdrop histogram (left→right buckets).number[] | undefined
value[number, number] | undefined
defaultValue[number, number] | undefined
onChange((value: [number, number]) => void) | undefined
formatFormat the live readout value (e.g. money).((n: number) => string) | undefinedString
captionSmall caption under the readout.string | undefined
classNamestring | undefined