import React from 'react'; import { Slider, SliderOnChangeEvent, Text, TextVariants } from '@breakaway/preact-core'; export const SliderDiscrete: React.FunctionComponent = () => { const initialValues = { value1: 50, value2: 50, value3: 25, value4: 50, value5: 50, value6: 3, value7: 25 }; const [numValue, setNumValue] = React.useState(initialValues); const handleChange = (value: number, name: string) => { setNumValue({ ...numValue, [name]: value }); }; const steps = [ { value: 0, label: '0' }, { value: 12.5, label: '1', isLabelHidden: true }, { value: 25, label: '2' }, { value: 37.5, label: '3', isLabelHidden: true }, { value: 50, label: '4' }, { value: 62.5, label: '5', isLabelHidden: true }, { value: 75, label: '6' }, { value: 87.5, label: '7', isLabelHidden: true }, { value: 100, label: '8' } ]; const stepsDiscreteWithMax = [ { value: 0, label: 'A' }, { value: 1, label: 'B' }, { value: 2, label: 'C' }, { value: 3, label: 'D' }, { value: 4, label: 'E' }, { value: 5, label: 'F' } ]; const stepsDiscreteNoLinearWithMaxMin = [ { value: 12, label: '12' }, { value: 15, label: '15' }, { value: 25, label: '25' }, { value: 54, label: '54' }, { value: 67, label: '67' }, { value: 86, label: '86' } ]; return ( <> Slider value is: {numValue.value1} handleChange(value, 'value1')} customSteps={steps} />
Slider value is: {numValue.value2} (min = 0, max = 200, step = 50) handleChange(value, 'value2')} max={200} step={50} showTicks />
Slider value is: {Math.floor(numValue.value3)} (min = -25, max = 75, step = 10, boundaries not shown) handleChange(value, 'value3')} min={-25} max={75} step={10} showTicks showBoundaries={false} />
Slider value is: {Math.floor(numValue.value4)} (min = -25, max = 75, step = 10, boundaries shown) handleChange(value, 'value4')} min={-25} max={75} step={10} showTicks />
Slider value is: {Math.floor(numValue.value5)} (min = -25, max = 75, step = 10, boundaries shown, ticks not shown) handleChange(value, 'value5')} min={-25} max={75} step={10} />
Slider value is: {Math.floor(numValue.value6)} (max = 5, custom steps) handleChange(value, 'value6')} />
Slider value is: {Math.floor(numValue.value7)} (min = 12, max = 86, custom steps with non linear data) handleChange(value, 'value7')} min={12} max={86} />
); };