import * as React from 'react' import { CompactPicker } from 'react-color' import Box from '@mui/material/Box' import Card from '@mui/material/Card' import CardContent from '@mui/material/CardContent' import Grid from '@mui/material/Grid' import FormControlLabel from '@mui/material/FormControlLabel' import Slider from '@mui/material/Slider' import Switch from '@mui/material/Switch' import Typography from '@mui/material/Typography' import { ChartContext } from '../Context' export const ConfigForm = (): JSX.Element => { const { dispatch, state: { config } } = React.useContext(ChartContext) return (
Angle ({config?.angle}) dispatch({ type: 'updateAngle', payload: Number((event.target as HTMLInputElement).value) })} /> Hight ({config?.height}) dispatch({ type: 'updateHight', payload: Number((event.target as HTMLInputElement).value) })} /> Stroke Width ({config?.strokeWidth}) dispatch({ type: 'updateStrokeWidth', payload: Number((event.target as HTMLInputElement).value) })} /> dispatch({ type: 'toggleTooltip', payload: undefined })} name="tooltip" /> } label="Tooltip" /> dispatch({ type: 'toggleTooltipPercentage', payload: undefined })} name="tooltip-percentage" /> } label="Tooltip percentage" /> dispatch({ type: 'toggleLabels', payload: undefined })} name="labels" /> } label="Show Labels" /> dispatch({ type: 'toggleTooltipLabel', payload: undefined })} name="tooltip-label" /> } label="Tooltip Label" /> dispatch({ type: 'toggleTooltipValue', payload: undefined })} name="tooltip-value" /> } label="Tooltip value" /> dispatch({ type: 'toggleLabelsPercentages', payload: undefined })} name="label-percentage" /> } label="Label percentage" /> Inner Radius ({config?.ir}) dispatch({ type: 'updateIR', payload: Number((event.target as HTMLInputElement).value) })} /> Size ({config?.size}) dispatch({ type: 'updateSize', payload: Number((event.target as HTMLInputElement).value) })} /> Font Size ({config?.textSize}) dispatch({ type: 'updateTextSize', payload: Number((event.target as HTMLInputElement).value) })} /> Stroke Color dispatch({ type: 'updateStrokeColor', payload: value.hex })} />
) }