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-sliderbash
npx grassroot@latest add ui/range-sliderbash
yarn dlx grassroot add ui/range-sliderbash
bunx grassroot add ui/range-sliderAPI Reference
| Prop | Type | Default |
|---|---|---|
min | number | undefined | — |
max | number | undefined | — |
step | number | 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) | undefined | String |
captionSmall caption under the readout. | string | undefined | — |
className | string | undefined | — |