UNPKG

@mui/x-charts

Version:

The community edition of the Charts components (MUI X).

44 lines 1.17 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import useEventCallback from '@mui/utils/useEventCallback'; import useEnhancedEffect from '@mui/utils/useEnhancedEffect'; export const useChartHighlight = ({ store, params, models }) => { useEnhancedEffect(() => { store.update(prevState => _extends({}, prevState, { highlight: _extends({}, prevState.highlight, { item: models.highlightedItem.value }) })); }, [store, models.highlightedItem.value]); const clearHighlight = useEventCallback(() => { params.onHighlightChange?.(null); models.highlightedItem.setControlledValue(null); }); const setHighlight = useEventCallback(newItem => { params.onHighlightChange?.(newItem); models.highlightedItem.setControlledValue(newItem); }); return { instance: { clearHighlight, setHighlight } }; }; useChartHighlight.models = { highlightedItem: { getDefaultValue: () => null } }; useChartHighlight.getInitialState = params => ({ highlight: { item: params.highlightedItem ?? null } }); useChartHighlight.params = { highlightedItem: true, onHighlightChange: true };