@neo4j-ndl/react-charts 0.0.118 → 0.0.119

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,25 +31,23 @@ const icons_1 = require("@neo4j-ndl/react/icons");
31
31
  const classnames_1 = __importDefault(require("classnames"));
32
32
  const echarts_1 = require("echarts");
33
33
  const react_2 = require("react");
34
- const LegendItem = (0, react_2.forwardRef)(function LegendItemComponent({ children, as, className, name, selected, deSelected, onSquareClick, onTextClick, color, hasButtons = true, },
34
+ const legend_utils_1 = require("./legend-utils");
35
+ const LegendItem = (0, react_2.forwardRef)(function LegendItemComponent({ children, as, className, name, selected, deSelected, onLegendItemClick, color, hasButtons = true, },
35
36
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
37
  ref) {
37
- const Component = as === 'button' ? 'button' : 'div';
38
- const InnerComponent = hasButtons ? 'button' : 'div';
38
+ var _a;
39
+ const Component = as !== null && as !== void 0 ? as : (hasButtons ? 'button' : 'div');
39
40
  const classes = (0, classnames_1.default)('ndl-chart-legend-item', {
40
- 'ndl-chart-legend-item-selected': selected,
41
41
  'ndl-chart-legend-item-deselected': deSelected,
42
+ 'ndl-chart-legend-item-selected': selected,
42
43
  }, className);
43
44
  // We don't want to display threshold lines in the legend
44
- const isThresholdLine = name === null || name === void 0 ? void 0 : name.startsWith('thresholdLine');
45
- if (isThresholdLine) {
45
+ if ((_a = (0, legend_utils_1.isThresholdLine)(name)) !== null && _a !== void 0 ? _a : false) {
46
46
  return null;
47
47
  }
48
- return ((0, jsx_runtime_1.jsxs)(Component, { className: classes, ref: ref, tabIndex: -1, "data-labelname": name, children: [(0, jsx_runtime_1.jsx)(InnerComponent, { className: "ndl-chart-legend-item-square", style: {
48
+ return ((0, jsx_runtime_1.jsxs)(Component, { className: classes, ref: ref, "data-labelname": name, onClick: hasButtons ? onLegendItemClick : undefined, children: [(0, jsx_runtime_1.jsx)("span", { className: "ndl-chart-legend-item-square", style: {
49
49
  backgroundColor: color,
50
- }, onClick: hasButtons ? onSquareClick : undefined, children: selected && ((0, jsx_runtime_1.jsx)(icons_1.CheckIconOutline, { className: "ndl-chart-legend-item-square-checkmark" })) }), (0, jsx_runtime_1.jsx)(react_1.Typography, { as: InnerComponent, variant: "body-medium", className: "ndl-chart-legend-item-text", htmlAttributes: {
51
- onClick: hasButtons ? onTextClick : undefined,
52
- }, children: children })] }));
50
+ }, children: selected && ((0, jsx_runtime_1.jsx)(icons_1.CheckIconOutline, { className: "ndl-chart-legend-item-square-checkmark" })) }), (0, jsx_runtime_1.jsx)(react_1.Typography, { variant: "body-medium", className: "ndl-chart-legend-item-text", children: children })] }));
53
51
  });
54
52
  exports.Legend = (0, react_2.forwardRef)(function LegendComponent({ className, wrappingType = 'wrapping', series, chartRef }, ref) {
55
53
  const [selectedSeries, setSelectedSeries] = (0, react_2.useState)(Object.fromEntries(series.map((s) => { var _a; return [(_a = s.name) !== null && _a !== void 0 ? _a : '', true]; })));
@@ -59,122 +57,58 @@ exports.Legend = (0, react_2.forwardRef)(function LegendComponent({ className, w
59
57
  return;
60
58
  }
61
59
  const chart = (0, echarts_1.getInstanceByDom)(chartRef.current);
62
- chart === null || chart === void 0 ? void 0 : chart.on('legendselectchanged', (params) => {
63
- if (typeof params === 'object' &&
64
- params !== null &&
65
- 'selected' in params &&
66
- params.selected !== null) {
67
- // @ts-expect-error echarts types are not extensive enough
68
- setSelectedSeries(params.selected);
69
- }
70
- });
71
- chart === null || chart === void 0 ? void 0 : chart.on('legendselectall', (params) => {
72
- if (typeof params === 'object' &&
73
- params !== null &&
74
- 'selected' in params &&
75
- params.selected !== null) {
76
- // @ts-expect-error echarts types are not extensive enough
77
- setSelectedSeries(params.selected);
78
- }
79
- });
80
- chart === null || chart === void 0 ? void 0 : chart.on('legendselected', (params) => {
81
- if (typeof params === 'object' &&
82
- params !== null &&
83
- 'selected' in params &&
84
- params.selected !== null) {
85
- // @ts-expect-error echarts types are not extensive enough
86
- setSelectedSeries(params.selected);
87
- }
88
- });
89
- chart === null || chart === void 0 ? void 0 : chart.on('legendunselected', (params) => {
90
- if (typeof params === 'object' &&
91
- params !== null &&
92
- 'selected' in params &&
93
- params.selected !== null) {
94
- // @ts-expect-error echarts types are not extensive enough
95
- setSelectedSeries(params.selected);
96
- }
60
+ const eventTypes = [
61
+ 'legendselectchanged',
62
+ 'legendselectall',
63
+ 'legendselected',
64
+ 'legendunselected',
65
+ ];
66
+ eventTypes.forEach((eventType) => {
67
+ chart === null || chart === void 0 ? void 0 : chart.on(eventType, (params) => {
68
+ var _a;
69
+ if (typeof params === 'object' &&
70
+ params !== null &&
71
+ 'selected' in params &&
72
+ params.selected !== null) {
73
+ const selected = (_a = params.selected) !== null && _a !== void 0 ? _a : {};
74
+ const filteredSelected = Object.fromEntries(Object.entries(selected).filter(([key]) => !(0, legend_utils_1.isThresholdLine)(key)));
75
+ setSelectedSeries(filteredSelected);
76
+ }
77
+ });
97
78
  });
98
79
  return () => {
99
- chart === null || chart === void 0 ? void 0 : chart.off('legendselectchanged');
100
- chart === null || chart === void 0 ? void 0 : chart.off('legendselectall');
101
- chart === null || chart === void 0 ? void 0 : chart.off('legendselected');
102
- chart === null || chart === void 0 ? void 0 : chart.off('legendunselected');
80
+ eventTypes.forEach((eventType) => {
81
+ chart === null || chart === void 0 ? void 0 : chart.off(eventType);
82
+ });
103
83
  };
104
84
  }, [chartRef, series]);
105
85
  const classes = (0, classnames_1.default)(`ndl-chart-legend`, {
106
86
  'ndl-chart-legend-overflow': wrappingType === 'overflow',
107
- 'ndl-chart-legend-wrapping': wrappingType === 'wrapping',
108
87
  'ndl-chart-legend-truncation': wrappingType === 'truncation',
88
+ 'ndl-chart-legend-wrapping': wrappingType === 'wrapping',
109
89
  }, className);
110
- const setOnlyVisible = (name) => {
111
- if (chartRef.current === null) {
112
- return;
113
- }
114
- const chart = (0, echarts_1.getInstanceByDom)(chartRef.current);
115
- chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
116
- type: 'legendSelect',
117
- name: name,
118
- });
119
- const otherNames = Object.keys(selectedSeries).filter((n) => n !== name);
120
- otherNames.forEach((name) => {
121
- if (name.startsWith('thresholdLine'))
122
- return;
123
- chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
124
- type: 'legendUnSelect',
125
- name: name,
126
- });
127
- });
128
- };
129
- const toggleVisibility = (name) => {
130
- if (chartRef.current === null) {
131
- return;
132
- }
133
- const chart = (0, echarts_1.getInstanceByDom)(chartRef.current);
134
- chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
135
- type: 'legendToggleSelect',
136
- name: name,
137
- });
138
- };
139
- const setAllVisible = () => {
140
- if (chartRef.current === null) {
141
- return;
142
- }
143
- const chart = (0, echarts_1.getInstanceByDom)(chartRef.current);
144
- chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
145
- type: 'legendAllSelect',
146
- });
147
- };
148
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: wrappingType === 'truncation' || wrappingType === 'wrapping' ? ((0, jsx_runtime_1.jsx)("div", { className: classes, ref: ref, children: series.map((currentSeries, index) => {
90
+ const { toggleLegendVisibility, setAllVisible } = (0, legend_utils_1.useLegendVisibility)(chartRef, selectedSeries);
91
+ return ((0, jsx_runtime_1.jsx)("div", { ref: ref, children: wrappingType === 'truncation' || wrappingType === 'wrapping' ? ((0, jsx_runtime_1.jsx)("div", { className: classes, children: series.map((currentSeries, index) => {
149
92
  var _a, _b;
150
93
  const hasMoreThanOneItem = series.length > 1;
151
- const isOnlyVisible = selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''] &&
152
- Object.values(selectedSeries).filter(Boolean).length === 1;
94
+ const selectedSeriesLength = Object.values(selectedSeries).filter(Boolean).length;
95
+ const isAllSeriesVisible = selectedSeriesLength === series.length;
153
96
  const color = currentSeries.color;
154
- return ((0, jsx_runtime_1.jsx)(react_1.ConditionalWrap, { shouldWrap: wrappingType === 'truncation', wrap: (children) => ((0, jsx_runtime_1.jsx)(react_1.Tooltip, { type: "simple", children: (0, jsx_runtime_1.jsx)(react_1.Tooltip.Trigger, { hasButtonWrapper: true, children: children }) }, index)), children: (0, jsx_runtime_1.jsx)(LegendItem, { as: wrappingType === 'truncation' ? 'button' : 'div', name: currentSeries.name, color: color, hasButtons: hasMoreThanOneItem && currentSeries.name !== undefined, onSquareClick: () => {
155
- if (isOnlyVisible) {
156
- setAllVisible();
157
- }
158
- else {
159
- setOnlyVisible(currentSeries.name);
160
- }
161
- }, onTextClick: () => toggleVisibility(currentSeries.name), selected: hasMoreThanOneItem && isOnlyVisible, deSelected: currentSeries.name === undefined
97
+ return ((0, jsx_runtime_1.jsx)(react_1.ConditionalWrap, { shouldWrap: wrappingType === 'truncation', wrap: (children) => ((0, jsx_runtime_1.jsx)(react_1.Tooltip, { type: "simple", children: (0, jsx_runtime_1.jsx)(react_1.Tooltip.Trigger, { hasButtonWrapper: true, children: children }) }, index)), children: (0, jsx_runtime_1.jsx)(LegendItem, { name: currentSeries.name, color: color, hasButtons: hasMoreThanOneItem && currentSeries.name !== undefined, onLegendItemClick: () => {
98
+ var _a;
99
+ const isAllSeriesSelected = selectedSeriesLength === series.length;
100
+ const isOnlyVisible = selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''] &&
101
+ selectedSeriesLength === 1;
102
+ toggleLegendVisibility(currentSeries.name, isAllSeriesSelected, isOnlyVisible);
103
+ }, selected: !isAllSeriesVisible &&
104
+ selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''], deSelected: currentSeries.name === undefined
162
105
  ? false
163
106
  : !selectedSeries[currentSeries.name], children: (_b = currentSeries.name) !== null && _b !== void 0 ? _b : `Series ${index}` }) }, index));
164
- }) })) : ((0, jsx_runtime_1.jsx)(LegendOverflowType, { className: classes, visibleSeries: selectedSeries, wrappingType: wrappingType, chartRef: chartRef, series: series, onSquareClick: (name) => {
165
- const isOnlyVisible = selectedSeries[name !== null && name !== void 0 ? name : ''] &&
166
- Object.values(selectedSeries).filter(Boolean).length === 1;
167
- if (isOnlyVisible) {
168
- setAllVisible();
169
- }
170
- else {
171
- setOnlyVisible(name);
172
- }
173
- }, onTextClick: (name) => {
174
- toggleVisibility(name);
107
+ }) })) : ((0, jsx_runtime_1.jsx)(LegendOverflowType, { className: classes, selectedSeries: selectedSeries, wrappingType: wrappingType, chartRef: chartRef, series: series, onSetAllVisible: setAllVisible, onToggleLegendVisibility: (name, isAllSeriesSelected, isOnlyVisible) => {
108
+ toggleLegendVisibility(name, isAllSeriesSelected, isOnlyVisible);
175
109
  } })) }));
176
110
  });
177
- const LegendOverflowType = function LegendOverflow({ className, series, onSquareClick, onTextClick, visibleSeries, }) {
111
+ const LegendOverflowType = function LegendOverflow({ className, series, onSetAllVisible, onToggleLegendVisibility, selectedSeries, }) {
178
112
  const containerRef = (0, react_2.useRef)(null);
179
113
  const [nonOverflowItemsNames, setNonOverflowItemsNames] = (0, react_2.useState)(series.map((s) => s.name));
180
114
  (0, react_2.useEffect)(() => {
@@ -206,12 +140,13 @@ const LegendOverflowType = function LegendOverflow({ className, series, onSquare
206
140
  let totalWidth = 0;
207
141
  if (overflowItemsNames.length > 0) {
208
142
  const lastElementItem = elements[elements.length - 1];
209
- const lastItemWidth = lastElementItem.getBoundingClientRect().width;
143
+ const lastItemWidth = (0, legend_utils_1.getComputedElementWidth)(lastElementItem);
210
144
  elements = elements.slice(0, elements.length - 1);
211
145
  totalWidth += lastItemWidth;
212
146
  }
213
147
  elements.forEach((element) => {
214
- totalWidth += element.getBoundingClientRect().width;
148
+ const elementWidth = (0, legend_utils_1.getComputedElementWidth)(element);
149
+ totalWidth += elementWidth;
215
150
  const textContent = element.textContent;
216
151
  if (!textContent) {
217
152
  return;
@@ -228,18 +163,35 @@ const LegendOverflowType = function LegendOverflow({ className, series, onSquare
228
163
  const classes = (0, classnames_1.default)({
229
164
  'ndl-chart-legend-calculating': width === Infinity,
230
165
  }, className);
166
+ const selectedSeriesLength = Object.values(selectedSeries).filter(Boolean).length;
167
+ const hasMoreThanOneItem = nonOverflowItemsNames.length > 1;
168
+ const isAllSeriesVisible = selectedSeriesLength === series.length;
231
169
  return ((0, jsx_runtime_1.jsxs)("div", { className: classes, ref: containerRef, children: [nonOverflowItemsNames.map((name) => {
170
+ var _a;
232
171
  const currentSeries = series.find((s) => s.name === name);
233
172
  if (currentSeries === undefined) {
234
173
  return null;
235
174
  }
236
- const hasMoreThanOneItem = nonOverflowItemsNames.length > 1;
237
- const isVisible = visibleSeries[name];
238
- const isOnlyVisible = isVisible &&
239
- Object.values(visibleSeries).filter(Boolean).length === 1;
240
- return ((0, jsx_runtime_1.jsx)(LegendItem, { name: name, color: currentSeries.color, onSquareClick: () => {
241
- onSquareClick === null || onSquareClick === void 0 ? void 0 : onSquareClick(name);
242
- }, hasButtons: hasMoreThanOneItem, onTextClick: () => onTextClick === null || onTextClick === void 0 ? void 0 : onTextClick(name), selected: hasMoreThanOneItem && isOnlyVisible, deSelected: !isVisible, children: name }, name));
243
- }), overflowItemsNames.length > 0 && ((0, jsx_runtime_1.jsxs)(react_1.Tooltip, { type: "simple", children: [(0, jsx_runtime_1.jsx)(react_1.Tooltip.Trigger, { children: (0, jsx_runtime_1.jsxs)(LegendItem, { as: "div", name: "ndl-overflow-items", color: base_1.tokens.colors.neutral[30], hasButtons: false, children: [overflowItemsNames.length, " more"] }) }), (0, jsx_runtime_1.jsx)(react_1.Tooltip.Content, { children: overflowItemsNames.map((item) => ((0, jsx_runtime_1.jsx)("p", { children: item.name }, item.name))) })] }))] }));
175
+ return ((0, jsx_runtime_1.jsx)(LegendItem, { name: name, color: currentSeries.color, onLegendItemClick: () => {
176
+ const isAllSeriesSelected = selectedSeriesLength === series.length;
177
+ const isOnlyVisible = selectedSeries[name !== null && name !== void 0 ? name : ''] && selectedSeriesLength === 1;
178
+ onToggleLegendVisibility === null || onToggleLegendVisibility === void 0 ? void 0 : onToggleLegendVisibility(name, isAllSeriesSelected, isOnlyVisible);
179
+ }, hasButtons: hasMoreThanOneItem, selected: !isAllSeriesVisible && selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''], deSelected: currentSeries.name === undefined
180
+ ? false
181
+ : !selectedSeries[currentSeries.name], children: name }, name));
182
+ }), overflowItemsNames.length > 0 && ((0, jsx_runtime_1.jsxs)(react_1.Tooltip, { type: "simple", children: [(0, jsx_runtime_1.jsx)(react_1.Tooltip.Trigger, { children: (0, jsx_runtime_1.jsxs)(LegendItem, { as: "div", name: "ndl-overflow-items", color: base_1.tokens.colors.neutral[30], selected: !isAllSeriesVisible &&
183
+ overflowItemsNames.every((item) => { var _a; return selectedSeries[(_a = item.name) !== null && _a !== void 0 ? _a : '']; }), deSelected: overflowItemsNames.every((item) => { var _a; return !selectedSeries[(_a = item.name) !== null && _a !== void 0 ? _a : '']; }), onLegendItemClick: () => {
184
+ const selectedSeriesLength = Object.values(selectedSeries).filter(Boolean).length;
185
+ const isOnlyOverflowItemsVisible = selectedSeriesLength === overflowItemsNames.length &&
186
+ overflowItemsNames.every((item) => { var _a; return selectedSeries[(_a = item.name) !== null && _a !== void 0 ? _a : '']; });
187
+ if (isOnlyOverflowItemsVisible) {
188
+ onSetAllVisible();
189
+ return;
190
+ }
191
+ overflowItemsNames.forEach((item, index) => {
192
+ const isAllSeriesSelected = selectedSeriesLength === series.length && index === 0;
193
+ onToggleLegendVisibility === null || onToggleLegendVisibility === void 0 ? void 0 : onToggleLegendVisibility(item.name, isAllSeriesSelected, false);
194
+ });
195
+ }, children: [overflowItemsNames.length, " more"] }) }), (0, jsx_runtime_1.jsx)(react_1.Tooltip.Content, { children: overflowItemsNames.map((item) => ((0, jsx_runtime_1.jsx)("p", { children: item.name }, item.name))) })] }))] }));
244
196
  };
245
197
  //# sourceMappingURL=Legend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","sourceRoot":"","sources":["../../../src/charts/Legend.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Legend.js","sourceRoot":"","sources":["../../../src/charts/Legend.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.getComputedElementWidth = exports.isThresholdLine = exports.useLegendVisibility = void 0;
24
+ const echarts_1 = require("echarts");
25
+ const react_1 = require("react");
26
+ const useLegendVisibility = (chartRef, selectedSeries) => {
27
+ const setOnlyVisible = (0, react_1.useCallback)((name) => {
28
+ if (chartRef.current === null) {
29
+ return;
30
+ }
31
+ const chart = (0, echarts_1.getInstanceByDom)(chartRef.current);
32
+ chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
33
+ type: 'legendSelect',
34
+ name: name,
35
+ });
36
+ const otherNames = Object.keys(selectedSeries).filter((n) => n !== name);
37
+ otherNames.forEach((name) => {
38
+ if (name.startsWith('thresholdLine'))
39
+ return;
40
+ chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
41
+ type: 'legendUnSelect',
42
+ name: name,
43
+ });
44
+ });
45
+ }, [chartRef, selectedSeries]);
46
+ const setAllVisible = (0, react_1.useCallback)(() => {
47
+ if (chartRef.current === null) {
48
+ return;
49
+ }
50
+ const chart = (0, echarts_1.getInstanceByDom)(chartRef.current);
51
+ chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
52
+ type: 'legendAllSelect',
53
+ });
54
+ }, [chartRef]);
55
+ /**
56
+ * Toggle the visibility of a legend series
57
+ *
58
+ * The toggle logic depends on the current state of the series:
59
+ * - If only the legend series that was selected is visible: show all series
60
+ * - If all series are visible: hide all except the series that was selected
61
+ * - Otherwise: toggle the legend series
62
+ *
63
+ * The isOnlyVisible and isAllSeriesSelected states can't be calculated in this
64
+ * function since different legend types require different logic.
65
+ */
66
+ const toggleLegendVisibility = (0, react_1.useCallback)((name, isAllSeriesSelected, isOnlyVisible) => {
67
+ if (chartRef.current === null) {
68
+ return;
69
+ }
70
+ if (isOnlyVisible) {
71
+ setAllVisible();
72
+ }
73
+ else if (isAllSeriesSelected) {
74
+ setOnlyVisible(name);
75
+ }
76
+ else {
77
+ const chart = (0, echarts_1.getInstanceByDom)(chartRef.current);
78
+ chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
79
+ name: name,
80
+ type: 'legendToggleSelect',
81
+ });
82
+ }
83
+ }, [chartRef, setOnlyVisible, setAllVisible]);
84
+ return { setAllVisible, setOnlyVisible, toggleLegendVisibility };
85
+ };
86
+ exports.useLegendVisibility = useLegendVisibility;
87
+ const isThresholdLine = (name) => name === null || name === void 0 ? void 0 : name.startsWith('thresholdLine');
88
+ exports.isThresholdLine = isThresholdLine;
89
+ /**
90
+ * Get the computed element width, including both paddings and margins
91
+ */
92
+ const getComputedElementWidth = (element) => {
93
+ const elementRect = element.getBoundingClientRect();
94
+ const elementComputedStyle = window.getComputedStyle(element);
95
+ const elementMarginLeft = parseFloat(elementComputedStyle.marginLeft);
96
+ const elementMarginRight = parseFloat(elementComputedStyle.marginRight);
97
+ return elementRect.width + elementMarginLeft + elementMarginRight;
98
+ };
99
+ exports.getComputedElementWidth = getComputedElementWidth;
100
+ //# sourceMappingURL=legend-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend-utils.js","sourceRoot":"","sources":["../../../src/charts/legend-utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  *
4
4
  * Copyright (c) "Neo4j"
@@ -25,25 +25,23 @@ import { CheckIconOutline } from '@neo4j-ndl/react/icons';
25
25
  import classNames from 'classnames';
26
26
  import { getInstanceByDom } from 'echarts';
27
27
  import { forwardRef, useEffect, useRef, useState } from 'react';
28
- const LegendItem = forwardRef(function LegendItemComponent({ children, as, className, name, selected, deSelected, onSquareClick, onTextClick, color, hasButtons = true, },
28
+ import { getComputedElementWidth, isThresholdLine, useLegendVisibility, } from './legend-utils';
29
+ const LegendItem = forwardRef(function LegendItemComponent({ children, as, className, name, selected, deSelected, onLegendItemClick, color, hasButtons = true, },
29
30
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
31
  ref) {
31
- const Component = as === 'button' ? 'button' : 'div';
32
- const InnerComponent = hasButtons ? 'button' : 'div';
32
+ var _a;
33
+ const Component = as !== null && as !== void 0 ? as : (hasButtons ? 'button' : 'div');
33
34
  const classes = classNames('ndl-chart-legend-item', {
34
- 'ndl-chart-legend-item-selected': selected,
35
35
  'ndl-chart-legend-item-deselected': deSelected,
36
+ 'ndl-chart-legend-item-selected': selected,
36
37
  }, className);
37
38
  // We don't want to display threshold lines in the legend
38
- const isThresholdLine = name === null || name === void 0 ? void 0 : name.startsWith('thresholdLine');
39
- if (isThresholdLine) {
39
+ if ((_a = isThresholdLine(name)) !== null && _a !== void 0 ? _a : false) {
40
40
  return null;
41
41
  }
42
- return (_jsxs(Component, { className: classes, ref: ref, tabIndex: -1, "data-labelname": name, children: [_jsx(InnerComponent, { className: "ndl-chart-legend-item-square", style: {
42
+ return (_jsxs(Component, { className: classes, ref: ref, "data-labelname": name, onClick: hasButtons ? onLegendItemClick : undefined, children: [_jsx("span", { className: "ndl-chart-legend-item-square", style: {
43
43
  backgroundColor: color,
44
- }, onClick: hasButtons ? onSquareClick : undefined, children: selected && (_jsx(CheckIconOutline, { className: "ndl-chart-legend-item-square-checkmark" })) }), _jsx(Typography, { as: InnerComponent, variant: "body-medium", className: "ndl-chart-legend-item-text", htmlAttributes: {
45
- onClick: hasButtons ? onTextClick : undefined,
46
- }, children: children })] }));
44
+ }, children: selected && (_jsx(CheckIconOutline, { className: "ndl-chart-legend-item-square-checkmark" })) }), _jsx(Typography, { variant: "body-medium", className: "ndl-chart-legend-item-text", children: children })] }));
47
45
  });
48
46
  export const Legend = forwardRef(function LegendComponent({ className, wrappingType = 'wrapping', series, chartRef }, ref) {
49
47
  const [selectedSeries, setSelectedSeries] = useState(Object.fromEntries(series.map((s) => { var _a; return [(_a = s.name) !== null && _a !== void 0 ? _a : '', true]; })));
@@ -53,122 +51,58 @@ export const Legend = forwardRef(function LegendComponent({ className, wrappingT
53
51
  return;
54
52
  }
55
53
  const chart = getInstanceByDom(chartRef.current);
56
- chart === null || chart === void 0 ? void 0 : chart.on('legendselectchanged', (params) => {
57
- if (typeof params === 'object' &&
58
- params !== null &&
59
- 'selected' in params &&
60
- params.selected !== null) {
61
- // @ts-expect-error echarts types are not extensive enough
62
- setSelectedSeries(params.selected);
63
- }
64
- });
65
- chart === null || chart === void 0 ? void 0 : chart.on('legendselectall', (params) => {
66
- if (typeof params === 'object' &&
67
- params !== null &&
68
- 'selected' in params &&
69
- params.selected !== null) {
70
- // @ts-expect-error echarts types are not extensive enough
71
- setSelectedSeries(params.selected);
72
- }
73
- });
74
- chart === null || chart === void 0 ? void 0 : chart.on('legendselected', (params) => {
75
- if (typeof params === 'object' &&
76
- params !== null &&
77
- 'selected' in params &&
78
- params.selected !== null) {
79
- // @ts-expect-error echarts types are not extensive enough
80
- setSelectedSeries(params.selected);
81
- }
82
- });
83
- chart === null || chart === void 0 ? void 0 : chart.on('legendunselected', (params) => {
84
- if (typeof params === 'object' &&
85
- params !== null &&
86
- 'selected' in params &&
87
- params.selected !== null) {
88
- // @ts-expect-error echarts types are not extensive enough
89
- setSelectedSeries(params.selected);
90
- }
54
+ const eventTypes = [
55
+ 'legendselectchanged',
56
+ 'legendselectall',
57
+ 'legendselected',
58
+ 'legendunselected',
59
+ ];
60
+ eventTypes.forEach((eventType) => {
61
+ chart === null || chart === void 0 ? void 0 : chart.on(eventType, (params) => {
62
+ var _a;
63
+ if (typeof params === 'object' &&
64
+ params !== null &&
65
+ 'selected' in params &&
66
+ params.selected !== null) {
67
+ const selected = (_a = params.selected) !== null && _a !== void 0 ? _a : {};
68
+ const filteredSelected = Object.fromEntries(Object.entries(selected).filter(([key]) => !isThresholdLine(key)));
69
+ setSelectedSeries(filteredSelected);
70
+ }
71
+ });
91
72
  });
92
73
  return () => {
93
- chart === null || chart === void 0 ? void 0 : chart.off('legendselectchanged');
94
- chart === null || chart === void 0 ? void 0 : chart.off('legendselectall');
95
- chart === null || chart === void 0 ? void 0 : chart.off('legendselected');
96
- chart === null || chart === void 0 ? void 0 : chart.off('legendunselected');
74
+ eventTypes.forEach((eventType) => {
75
+ chart === null || chart === void 0 ? void 0 : chart.off(eventType);
76
+ });
97
77
  };
98
78
  }, [chartRef, series]);
99
79
  const classes = classNames(`ndl-chart-legend`, {
100
80
  'ndl-chart-legend-overflow': wrappingType === 'overflow',
101
- 'ndl-chart-legend-wrapping': wrappingType === 'wrapping',
102
81
  'ndl-chart-legend-truncation': wrappingType === 'truncation',
82
+ 'ndl-chart-legend-wrapping': wrappingType === 'wrapping',
103
83
  }, className);
104
- const setOnlyVisible = (name) => {
105
- if (chartRef.current === null) {
106
- return;
107
- }
108
- const chart = getInstanceByDom(chartRef.current);
109
- chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
110
- type: 'legendSelect',
111
- name: name,
112
- });
113
- const otherNames = Object.keys(selectedSeries).filter((n) => n !== name);
114
- otherNames.forEach((name) => {
115
- if (name.startsWith('thresholdLine'))
116
- return;
117
- chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
118
- type: 'legendUnSelect',
119
- name: name,
120
- });
121
- });
122
- };
123
- const toggleVisibility = (name) => {
124
- if (chartRef.current === null) {
125
- return;
126
- }
127
- const chart = getInstanceByDom(chartRef.current);
128
- chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
129
- type: 'legendToggleSelect',
130
- name: name,
131
- });
132
- };
133
- const setAllVisible = () => {
134
- if (chartRef.current === null) {
135
- return;
136
- }
137
- const chart = getInstanceByDom(chartRef.current);
138
- chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
139
- type: 'legendAllSelect',
140
- });
141
- };
142
- return (_jsx(_Fragment, { children: wrappingType === 'truncation' || wrappingType === 'wrapping' ? (_jsx("div", { className: classes, ref: ref, children: series.map((currentSeries, index) => {
84
+ const { toggleLegendVisibility, setAllVisible } = useLegendVisibility(chartRef, selectedSeries);
85
+ return (_jsx("div", { ref: ref, children: wrappingType === 'truncation' || wrappingType === 'wrapping' ? (_jsx("div", { className: classes, children: series.map((currentSeries, index) => {
143
86
  var _a, _b;
144
87
  const hasMoreThanOneItem = series.length > 1;
145
- const isOnlyVisible = selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''] &&
146
- Object.values(selectedSeries).filter(Boolean).length === 1;
88
+ const selectedSeriesLength = Object.values(selectedSeries).filter(Boolean).length;
89
+ const isAllSeriesVisible = selectedSeriesLength === series.length;
147
90
  const color = currentSeries.color;
148
- return (_jsx(ConditionalWrap, { shouldWrap: wrappingType === 'truncation', wrap: (children) => (_jsx(Tooltip, { type: "simple", children: _jsx(Tooltip.Trigger, { hasButtonWrapper: true, children: children }) }, index)), children: _jsx(LegendItem, { as: wrappingType === 'truncation' ? 'button' : 'div', name: currentSeries.name, color: color, hasButtons: hasMoreThanOneItem && currentSeries.name !== undefined, onSquareClick: () => {
149
- if (isOnlyVisible) {
150
- setAllVisible();
151
- }
152
- else {
153
- setOnlyVisible(currentSeries.name);
154
- }
155
- }, onTextClick: () => toggleVisibility(currentSeries.name), selected: hasMoreThanOneItem && isOnlyVisible, deSelected: currentSeries.name === undefined
91
+ return (_jsx(ConditionalWrap, { shouldWrap: wrappingType === 'truncation', wrap: (children) => (_jsx(Tooltip, { type: "simple", children: _jsx(Tooltip.Trigger, { hasButtonWrapper: true, children: children }) }, index)), children: _jsx(LegendItem, { name: currentSeries.name, color: color, hasButtons: hasMoreThanOneItem && currentSeries.name !== undefined, onLegendItemClick: () => {
92
+ var _a;
93
+ const isAllSeriesSelected = selectedSeriesLength === series.length;
94
+ const isOnlyVisible = selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''] &&
95
+ selectedSeriesLength === 1;
96
+ toggleLegendVisibility(currentSeries.name, isAllSeriesSelected, isOnlyVisible);
97
+ }, selected: !isAllSeriesVisible &&
98
+ selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''], deSelected: currentSeries.name === undefined
156
99
  ? false
157
100
  : !selectedSeries[currentSeries.name], children: (_b = currentSeries.name) !== null && _b !== void 0 ? _b : `Series ${index}` }) }, index));
158
- }) })) : (_jsx(LegendOverflowType, { className: classes, visibleSeries: selectedSeries, wrappingType: wrappingType, chartRef: chartRef, series: series, onSquareClick: (name) => {
159
- const isOnlyVisible = selectedSeries[name !== null && name !== void 0 ? name : ''] &&
160
- Object.values(selectedSeries).filter(Boolean).length === 1;
161
- if (isOnlyVisible) {
162
- setAllVisible();
163
- }
164
- else {
165
- setOnlyVisible(name);
166
- }
167
- }, onTextClick: (name) => {
168
- toggleVisibility(name);
101
+ }) })) : (_jsx(LegendOverflowType, { className: classes, selectedSeries: selectedSeries, wrappingType: wrappingType, chartRef: chartRef, series: series, onSetAllVisible: setAllVisible, onToggleLegendVisibility: (name, isAllSeriesSelected, isOnlyVisible) => {
102
+ toggleLegendVisibility(name, isAllSeriesSelected, isOnlyVisible);
169
103
  } })) }));
170
104
  });
171
- const LegendOverflowType = function LegendOverflow({ className, series, onSquareClick, onTextClick, visibleSeries, }) {
105
+ const LegendOverflowType = function LegendOverflow({ className, series, onSetAllVisible, onToggleLegendVisibility, selectedSeries, }) {
172
106
  const containerRef = useRef(null);
173
107
  const [nonOverflowItemsNames, setNonOverflowItemsNames] = useState(series.map((s) => s.name));
174
108
  useEffect(() => {
@@ -200,12 +134,13 @@ const LegendOverflowType = function LegendOverflow({ className, series, onSquare
200
134
  let totalWidth = 0;
201
135
  if (overflowItemsNames.length > 0) {
202
136
  const lastElementItem = elements[elements.length - 1];
203
- const lastItemWidth = lastElementItem.getBoundingClientRect().width;
137
+ const lastItemWidth = getComputedElementWidth(lastElementItem);
204
138
  elements = elements.slice(0, elements.length - 1);
205
139
  totalWidth += lastItemWidth;
206
140
  }
207
141
  elements.forEach((element) => {
208
- totalWidth += element.getBoundingClientRect().width;
142
+ const elementWidth = getComputedElementWidth(element);
143
+ totalWidth += elementWidth;
209
144
  const textContent = element.textContent;
210
145
  if (!textContent) {
211
146
  return;
@@ -222,18 +157,35 @@ const LegendOverflowType = function LegendOverflow({ className, series, onSquare
222
157
  const classes = classNames({
223
158
  'ndl-chart-legend-calculating': width === Infinity,
224
159
  }, className);
160
+ const selectedSeriesLength = Object.values(selectedSeries).filter(Boolean).length;
161
+ const hasMoreThanOneItem = nonOverflowItemsNames.length > 1;
162
+ const isAllSeriesVisible = selectedSeriesLength === series.length;
225
163
  return (_jsxs("div", { className: classes, ref: containerRef, children: [nonOverflowItemsNames.map((name) => {
164
+ var _a;
226
165
  const currentSeries = series.find((s) => s.name === name);
227
166
  if (currentSeries === undefined) {
228
167
  return null;
229
168
  }
230
- const hasMoreThanOneItem = nonOverflowItemsNames.length > 1;
231
- const isVisible = visibleSeries[name];
232
- const isOnlyVisible = isVisible &&
233
- Object.values(visibleSeries).filter(Boolean).length === 1;
234
- return (_jsx(LegendItem, { name: name, color: currentSeries.color, onSquareClick: () => {
235
- onSquareClick === null || onSquareClick === void 0 ? void 0 : onSquareClick(name);
236
- }, hasButtons: hasMoreThanOneItem, onTextClick: () => onTextClick === null || onTextClick === void 0 ? void 0 : onTextClick(name), selected: hasMoreThanOneItem && isOnlyVisible, deSelected: !isVisible, children: name }, name));
237
- }), overflowItemsNames.length > 0 && (_jsxs(Tooltip, { type: "simple", children: [_jsx(Tooltip.Trigger, { children: _jsxs(LegendItem, { as: "div", name: "ndl-overflow-items", color: tokens.colors.neutral[30], hasButtons: false, children: [overflowItemsNames.length, " more"] }) }), _jsx(Tooltip.Content, { children: overflowItemsNames.map((item) => (_jsx("p", { children: item.name }, item.name))) })] }))] }));
169
+ return (_jsx(LegendItem, { name: name, color: currentSeries.color, onLegendItemClick: () => {
170
+ const isAllSeriesSelected = selectedSeriesLength === series.length;
171
+ const isOnlyVisible = selectedSeries[name !== null && name !== void 0 ? name : ''] && selectedSeriesLength === 1;
172
+ onToggleLegendVisibility === null || onToggleLegendVisibility === void 0 ? void 0 : onToggleLegendVisibility(name, isAllSeriesSelected, isOnlyVisible);
173
+ }, hasButtons: hasMoreThanOneItem, selected: !isAllSeriesVisible && selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''], deSelected: currentSeries.name === undefined
174
+ ? false
175
+ : !selectedSeries[currentSeries.name], children: name }, name));
176
+ }), overflowItemsNames.length > 0 && (_jsxs(Tooltip, { type: "simple", children: [_jsx(Tooltip.Trigger, { children: _jsxs(LegendItem, { as: "div", name: "ndl-overflow-items", color: tokens.colors.neutral[30], selected: !isAllSeriesVisible &&
177
+ overflowItemsNames.every((item) => { var _a; return selectedSeries[(_a = item.name) !== null && _a !== void 0 ? _a : '']; }), deSelected: overflowItemsNames.every((item) => { var _a; return !selectedSeries[(_a = item.name) !== null && _a !== void 0 ? _a : '']; }), onLegendItemClick: () => {
178
+ const selectedSeriesLength = Object.values(selectedSeries).filter(Boolean).length;
179
+ const isOnlyOverflowItemsVisible = selectedSeriesLength === overflowItemsNames.length &&
180
+ overflowItemsNames.every((item) => { var _a; return selectedSeries[(_a = item.name) !== null && _a !== void 0 ? _a : '']; });
181
+ if (isOnlyOverflowItemsVisible) {
182
+ onSetAllVisible();
183
+ return;
184
+ }
185
+ overflowItemsNames.forEach((item, index) => {
186
+ const isAllSeriesSelected = selectedSeriesLength === series.length && index === 0;
187
+ onToggleLegendVisibility === null || onToggleLegendVisibility === void 0 ? void 0 : onToggleLegendVisibility(item.name, isAllSeriesSelected, false);
188
+ });
189
+ }, children: [overflowItemsNames.length, " more"] }) }), _jsx(Tooltip.Content, { children: overflowItemsNames.map((item) => (_jsx("p", { children: item.name }, item.name))) })] }))] }));
238
190
  };
239
191
  //# sourceMappingURL=Legend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","sourceRoot":"","sources":["../../../src/charts/Legend.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Legend.js","sourceRoot":"","sources":["../../../src/charts/Legend.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import { getInstanceByDom } from 'echarts';
22
+ import { useCallback } from 'react';
23
+ const useLegendVisibility = (chartRef, selectedSeries) => {
24
+ const setOnlyVisible = useCallback((name) => {
25
+ if (chartRef.current === null) {
26
+ return;
27
+ }
28
+ const chart = getInstanceByDom(chartRef.current);
29
+ chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
30
+ type: 'legendSelect',
31
+ name: name,
32
+ });
33
+ const otherNames = Object.keys(selectedSeries).filter((n) => n !== name);
34
+ otherNames.forEach((name) => {
35
+ if (name.startsWith('thresholdLine'))
36
+ return;
37
+ chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
38
+ type: 'legendUnSelect',
39
+ name: name,
40
+ });
41
+ });
42
+ }, [chartRef, selectedSeries]);
43
+ const setAllVisible = useCallback(() => {
44
+ if (chartRef.current === null) {
45
+ return;
46
+ }
47
+ const chart = getInstanceByDom(chartRef.current);
48
+ chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
49
+ type: 'legendAllSelect',
50
+ });
51
+ }, [chartRef]);
52
+ /**
53
+ * Toggle the visibility of a legend series
54
+ *
55
+ * The toggle logic depends on the current state of the series:
56
+ * - If only the legend series that was selected is visible: show all series
57
+ * - If all series are visible: hide all except the series that was selected
58
+ * - Otherwise: toggle the legend series
59
+ *
60
+ * The isOnlyVisible and isAllSeriesSelected states can't be calculated in this
61
+ * function since different legend types require different logic.
62
+ */
63
+ const toggleLegendVisibility = useCallback((name, isAllSeriesSelected, isOnlyVisible) => {
64
+ if (chartRef.current === null) {
65
+ return;
66
+ }
67
+ if (isOnlyVisible) {
68
+ setAllVisible();
69
+ }
70
+ else if (isAllSeriesSelected) {
71
+ setOnlyVisible(name);
72
+ }
73
+ else {
74
+ const chart = getInstanceByDom(chartRef.current);
75
+ chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
76
+ name: name,
77
+ type: 'legendToggleSelect',
78
+ });
79
+ }
80
+ }, [chartRef, setOnlyVisible, setAllVisible]);
81
+ return { setAllVisible, setOnlyVisible, toggleLegendVisibility };
82
+ };
83
+ const isThresholdLine = (name) => name === null || name === void 0 ? void 0 : name.startsWith('thresholdLine');
84
+ /**
85
+ * Get the computed element width, including both paddings and margins
86
+ */
87
+ const getComputedElementWidth = (element) => {
88
+ const elementRect = element.getBoundingClientRect();
89
+ const elementComputedStyle = window.getComputedStyle(element);
90
+ const elementMarginLeft = parseFloat(elementComputedStyle.marginLeft);
91
+ const elementMarginRight = parseFloat(elementComputedStyle.marginRight);
92
+ return elementRect.width + elementMarginLeft + elementMarginRight;
93
+ };
94
+ export { useLegendVisibility, isThresholdLine, getComputedElementWidth };
95
+ //# sourceMappingURL=legend-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend-utils.js","sourceRoot":"","sources":["../../../src/charts/legend-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ declare const useLegendVisibility: (chartRef: React.RefObject<HTMLDivElement>, selectedSeries: Record<string, boolean>) => {
22
+ setAllVisible: () => void;
23
+ setOnlyVisible: (name: string | undefined) => void;
24
+ toggleLegendVisibility: (name: string | undefined, isAllSeriesSelected: boolean, isOnlyVisible: boolean) => void;
25
+ };
26
+ declare const isThresholdLine: (name?: string) => boolean | undefined;
27
+ /**
28
+ * Get the computed element width, including both paddings and margins
29
+ */
30
+ declare const getComputedElementWidth: (element: Element) => number;
31
+ export { useLegendVisibility, isThresholdLine, getComputedElementWidth };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neo4j-ndl/react-charts",
3
- "version": "0.0.118",
3
+ "version": "0.0.119",
4
4
  "sideEffects": false,
5
5
  "description": "React implementation of charts from Neo4j Design System",
6
6
  "keywords": [
@@ -52,8 +52,8 @@
52
52
  "peerDependencies": {
53
53
  "react": ">=16.8.0",
54
54
  "react-dom": ">=16.8.0",
55
- "@neo4j-ndl/base": "^3.7.4",
56
- "@neo4j-ndl/react": "^3.8.8"
55
+ "@neo4j-ndl/base": "^3.7.5",
56
+ "@neo4j-ndl/react": "^3.8.9"
57
57
  },
58
58
  "dependencies": {
59
59
  "classnames": "2.5.1",