UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

62 lines (61 loc) 2.14 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.useChartInteraction = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback")); const useChartInteraction = ({ store }) => { const cleanInteraction = (0, _useEventCallback.default)(function cleanInteraction() { store.update({ interaction: (0, _extends2.default)({}, store.state.interaction, { pointer: null }) }); }); const setLastUpdateSource = (0, _useEventCallback.default)(function setLastUpdateSource(interaction) { if (store.state.interaction.lastUpdate !== interaction) { store.set('interaction', (0, _extends2.default)({}, store.state.interaction, { lastUpdate: interaction })); } }); const setPointerCoordinate = (0, _useEventCallback.default)(function setPointerCoordinate(coordinate) { store.set('interaction', (0, _extends2.default)({}, store.state.interaction, { pointer: coordinate, lastUpdate: coordinate !== null ? 'pointer' : store.state.interaction.lastUpdate })); }); const handlePointerEnter = (0, _useEventCallback.default)(function handlePointerEnter(event) { store.set('interaction', (0, _extends2.default)({}, store.state.interaction, { pointerType: event.pointerType })); }); const handlePointerLeave = (0, _useEventCallback.default)(function handlePointerLeave() { store.set('interaction', (0, _extends2.default)({}, store.state.interaction, { pointerType: null })); }); return { instance: { cleanInteraction, setLastUpdateSource, setPointerCoordinate, handlePointerEnter, handlePointerLeave } }; }; exports.useChartInteraction = useChartInteraction; useChartInteraction.getInitialState = () => ({ interaction: { item: null, pointer: null, lastUpdate: 'pointer', pointerType: null } }); useChartInteraction.params = {};