UNPKG

@neo4j-ndl/react-charts

Version:

React implementation of charts from Neo4j Design System

56 lines 2.23 kB
/** * * Copyright (c) "Neo4j" * Neo4j Sweden AB [http://neo4j.com] * * This file is part of Neo4j. * * Neo4j is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ import type { LegendProps } from '../utils/chart-types'; type LegendSeries = LegendProps['series']; type UseLegendHoverHighlightParams = { selectedSeries: Record<string, boolean>; series: LegendSeries; }; type UseLegendSelectionParams = { series: LegendProps['series']; }; /** * Owns React legend selection and keeps it synchronized with ECharts. * * Current series changes preserve existing selection by name, new series default * to visible, removed series are dropped, and ECharts legend events update the * React state used to render legend items. */ export declare function useLegendSelection({ series }: UseLegendSelectionParams): { renderedSelectedSeries: Record<string, boolean>; }; /** * Creates a delayed ECharts highlighter for legend item hover state. * * Legend hover moves often happen as a quick leave/enter pair between adjacent * items. Keeping separate highlight and downplay timers lets the next hover * cancel the previous opposite action, preventing the chart from flickering * between emphasized and reset states. Deselected legend items are ignored so * hidden series do not get emphasized through hover. */ export declare function useLegendHoverHighlight({ selectedSeries, series, }: UseLegendHoverHighlightParams): { toggleHighlight: (seriesToUpdate: { name: string; color: string; }, shouldHighlight: boolean) => void; }; export {}; //# sourceMappingURL=use-legend-interactions.d.ts.map