@neo4j-ndl/react 3.0.19 → 3.0.21

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.
Files changed (66) hide show
  1. package/lib/cjs/charts/CartesianGrid.js +49 -15
  2. package/lib/cjs/charts/CartesianGrid.js.map +1 -1
  3. package/lib/cjs/charts/Chart.js +62 -60
  4. package/lib/cjs/charts/Chart.js.map +1 -1
  5. package/lib/cjs/charts/ChartTooltip.js +5 -6
  6. package/lib/cjs/charts/ChartTooltip.js.map +1 -1
  7. package/lib/cjs/charts/Charts.js +33 -13
  8. package/lib/cjs/charts/Charts.js.map +1 -1
  9. package/lib/cjs/charts/HollowDot.js +27 -4
  10. package/lib/cjs/charts/HollowDot.js.map +1 -1
  11. package/lib/cjs/charts/Line.js +1 -1
  12. package/lib/cjs/charts/Line.js.map +1 -1
  13. package/lib/cjs/charts/axis/XAxis.js +205 -0
  14. package/lib/cjs/charts/axis/XAxis.js.map +1 -0
  15. package/lib/cjs/charts/axis/YAxis.js +170 -0
  16. package/lib/cjs/charts/axis/YAxis.js.map +1 -0
  17. package/lib/cjs/charts/axis/chart-axis-utils.js +42 -0
  18. package/lib/cjs/charts/axis/chart-axis-utils.js.map +1 -0
  19. package/lib/cjs/charts/axis/chart-tick-generation.js +245 -0
  20. package/lib/cjs/charts/axis/chart-tick-generation.js.map +1 -0
  21. package/lib/cjs/dialog/Dialog.js.map +1 -1
  22. package/lib/cjs/popover/Popover.js +2 -1
  23. package/lib/cjs/popover/Popover.js.map +1 -1
  24. package/lib/cjs/popover/use-popover.js +7 -2
  25. package/lib/cjs/popover/use-popover.js.map +1 -1
  26. package/lib/esm/charts/CartesianGrid.js +49 -15
  27. package/lib/esm/charts/CartesianGrid.js.map +1 -1
  28. package/lib/esm/charts/Chart.js +63 -61
  29. package/lib/esm/charts/Chart.js.map +1 -1
  30. package/lib/esm/charts/ChartTooltip.js +5 -6
  31. package/lib/esm/charts/ChartTooltip.js.map +1 -1
  32. package/lib/esm/charts/Charts.js +32 -12
  33. package/lib/esm/charts/Charts.js.map +1 -1
  34. package/lib/esm/charts/HollowDot.js +4 -4
  35. package/lib/esm/charts/HollowDot.js.map +1 -1
  36. package/lib/esm/charts/Line.js +1 -1
  37. package/lib/esm/charts/Line.js.map +1 -1
  38. package/lib/esm/charts/axis/XAxis.js +176 -0
  39. package/lib/esm/charts/axis/XAxis.js.map +1 -0
  40. package/lib/esm/charts/axis/YAxis.js +164 -0
  41. package/lib/esm/charts/axis/YAxis.js.map +1 -0
  42. package/lib/esm/charts/axis/chart-axis-utils.js +38 -0
  43. package/lib/esm/charts/axis/chart-axis-utils.js.map +1 -0
  44. package/lib/esm/charts/axis/chart-tick-generation.js +217 -0
  45. package/lib/esm/charts/axis/chart-tick-generation.js.map +1 -0
  46. package/lib/esm/dialog/Dialog.js.map +1 -1
  47. package/lib/esm/popover/Popover.js +2 -1
  48. package/lib/esm/popover/Popover.js.map +1 -1
  49. package/lib/esm/popover/use-popover.js +8 -3
  50. package/lib/esm/popover/use-popover.js.map +1 -1
  51. package/lib/types/charts/CartesianGrid.d.ts +3 -1
  52. package/lib/types/charts/Chart.d.ts +0 -2
  53. package/lib/types/charts/ChartTooltip.d.ts +4 -1
  54. package/lib/types/charts/Charts.d.ts +11 -3
  55. package/lib/types/charts/HollowDot.d.ts +3 -2
  56. package/lib/types/charts/axis/XAxis.d.ts +28 -0
  57. package/lib/types/charts/{Axis.d.ts → axis/YAxis.d.ts} +5 -14
  58. package/lib/types/charts/axis/chart-axis-utils.d.ts +33 -0
  59. package/lib/types/charts/axis/chart-tick-generation.d.ts +33 -0
  60. package/lib/types/popover/Popover.d.ts +6 -1
  61. package/lib/types/popover/use-popover.d.ts +5 -1
  62. package/package.json +2 -2
  63. package/lib/cjs/charts/Axis.js +0 -216
  64. package/lib/cjs/charts/Axis.js.map +0 -1
  65. package/lib/esm/charts/Axis.js +0 -187
  66. package/lib/esm/charts/Axis.js.map +0 -1
@@ -1,187 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
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
- import { forwardRef, useContext, useEffect, useMemo, useRef, useState, useImperativeHandle, } from 'react';
23
- import classNames from 'classnames';
24
- import { useResizeObserver } from 'usehooks-ts';
25
- import { Typography } from '../typography';
26
- import { ChartsChartContext } from './Chart';
27
- import * as d3 from 'd3';
28
- export const XAxis = forwardRef(function XAxis({ position,
29
- //numberOfTicks = 8,
30
- title, labelFormat: labelFormatProp, scale: scaleId, }, ref) {
31
- var _a, _b, _c, _d, _e, _f;
32
- const classes = useMemo(() => classNames('ndl-charts-chart-axis', 'ndl-charts-chart-axis-x', {
33
- 'ndl-charts-chart-axis-top': position === 'top',
34
- 'ndl-charts-chart-axis-bottom': position === 'bottom',
35
- }), [position]);
36
- const svgRef = useRef(null);
37
- const chartsChartContextValue = useContext(ChartsChartContext);
38
- const xAxisRef = useRef(null);
39
- const [largestTextWidth, setLargestTextWidth] = useState(50);
40
- const scale = (_a = chartsChartContextValue === null || chartsChartContextValue === void 0 ? void 0 : chartsChartContextValue.scales) === null || _a === void 0 ? void 0 : _a[scaleId];
41
- const containerRef = useRef(null);
42
- useImperativeHandle(ref, () => {
43
- // console.info('Axis.tsx - useImperativeHandle');
44
- const svgChart = containerRef.current;
45
- if (!svgChart) {
46
- return null;
47
- }
48
- return svgChart;
49
- });
50
- useResizeObserver({
51
- ref: containerRef,
52
- onResize: () => {
53
- // Delay by 0ms to ensure all rendering is complete
54
- setTimeout(() => {
55
- var _a;
56
- const childNodes = (_a = svgRef.current) === null || _a === void 0 ? void 0 : _a.querySelectorAll('text');
57
- if (!childNodes) {
58
- return;
59
- }
60
- const textWidths = Array.from(childNodes).map((node) => {
61
- if (node instanceof SVGTextElement) {
62
- return node.getBoundingClientRect().width;
63
- }
64
- return 0;
65
- });
66
- setLargestTextWidth(Math.max(...textWidths));
67
- }, 0);
68
- },
69
- });
70
- const xScale = scale === null || scale === void 0 ? void 0 : scale.functionWithContentWidthAsRange;
71
- /* @ts-expect-error we don't have the correct type for the tick values */
72
- const labelFormat = useMemo(() => {
73
- if (labelFormatProp) {
74
- return labelFormatProp;
75
- }
76
- if (xScale === undefined) {
77
- return (dataPoint) => dataPoint.toString();
78
- }
79
- return xScale.tickFormat();
80
- }, [labelFormatProp, xScale]);
81
- useEffect(() => {
82
- const AxisRefCurrent = xAxisRef.current;
83
- if (AxisRefCurrent === null || xScale === undefined) {
84
- return;
85
- }
86
- const xAxis = d3
87
- .axisBottom(xScale)
88
- .tickValues([xScale.domain()[0], ...xScale.ticks(), xScale.domain()[1]]); // Ensure the start and end ticks
89
- xAxis.tickPadding(8);
90
- d3.select(AxisRefCurrent).call(xAxis);
91
- return () => {
92
- d3.select(AxisRefCurrent).selectAll('*').remove();
93
- };
94
- }, [xScale]);
95
- //const ticks = d3.ticks(xScale?.range()[0], xScale?.range()[1], 5);
96
- const pixelsPerTick = largestTextWidth;
97
- const pixelsAvailable = (_c = (_b = chartsChartContextValue.contentSize) === null || _b === void 0 ? void 0 : _b.width) !== null && _c !== void 0 ? _c : 0;
98
- const tickCount = Math.floor(pixelsAvailable / pixelsPerTick); // Adjust the number of ticks based on width (example logic)
99
- const ticks = (_d = xScale === null || xScale === void 0 ? void 0 : xScale.ticks(Math.floor(tickCount))) !== null && _d !== void 0 ? _d : [];
100
- if (xScale === undefined) {
101
- return null;
102
- }
103
- const domainStrokeWidth = 2;
104
- const tickLength = domainStrokeWidth + 8;
105
- const marginBetweenTickAndLabel = tickLength + 8;
106
- const height = '2';
107
- return (_jsxs("div", { ref: containerRef, className: classes, children: [position === 'top' && (_jsx(Typography, { className: "ndl-charts-chart-axis-title", variant: "body-medium", children: title })), _jsx("svg", { ref: svgRef, children: _jsxs("g", { children: [_jsx("line", { x1: 0, x2: (_f = (_e = chartsChartContextValue.contentSize) === null || _e === void 0 ? void 0 : _e.width) !== null && _f !== void 0 ? _f : 0, y1: height, y2: height, className: "domain" }), ticks.map((tick, index) => {
108
- const x = xScale(tick);
109
- return (_jsxs("g", { className: "tick", transform: `translate(${x} 0)`, children: [_jsx("text", { y: position === 'bottom' ? marginBetweenTickAndLabel : 0, textAnchor: "middle", fill: "currentColor", children: labelFormat(tick) }), _jsx("line", { y1: position === 'bottom'
110
- ? 0
111
- : marginBetweenTickAndLabel + tickLength, y2: position === 'bottom'
112
- ? tickLength
113
- : marginBetweenTickAndLabel, stroke: "currentColor" })] }, index));
114
- })] }) }), position === 'bottom' && (_jsx(Typography, { className: "ndl-charts-chart-axis-title", variant: "body-medium", children: title }))] }));
115
- });
116
- export const YAxis = forwardRef(function YAxis({ position, title, labelFormat: labelFormatProp, scale: scaleId }, ref) {
117
- var _a, _b, _c, _d;
118
- const [offsetHeight, setOffsetHeight] = useState(0);
119
- const [largestTextWidth, setLargestTextWidth] = useState(0);
120
- const chartsChartContextValue = useContext(ChartsChartContext);
121
- const scale = (_a = chartsChartContextValue === null || chartsChartContextValue === void 0 ? void 0 : chartsChartContextValue.scales) === null || _a === void 0 ? void 0 : _a[scaleId];
122
- const svgRef = useRef(null);
123
- const classes = useMemo(() => classNames('ndl-charts-chart-axis', 'ndl-charts-chart-axis-y', {
124
- 'ndl-charts-chart-axis-left': position === 'left',
125
- 'ndl-charts-chart-axis-right': position === 'right',
126
- }), [position]);
127
- const containerRef = useRef(null);
128
- useImperativeHandle(ref, () => {
129
- // console.info('Axis.tsx - useImperativeHandle');
130
- const svgChart = containerRef.current;
131
- if (!svgChart) {
132
- return null;
133
- }
134
- return svgChart;
135
- });
136
- useResizeObserver({
137
- ref: containerRef,
138
- onResize: () => {
139
- var _a, _b;
140
- setOffsetHeight((_b = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight) !== null && _b !== void 0 ? _b : 0);
141
- if (svgRef.current === null) {
142
- return;
143
- }
144
- // Delay by 0ms to ensure all rendering is complete
145
- setTimeout(() => {
146
- var _a;
147
- const childNodes = (_a = svgRef.current) === null || _a === void 0 ? void 0 : _a.childNodes;
148
- if (!childNodes) {
149
- return;
150
- }
151
- const textWidths = Array.from(childNodes).map((node) => {
152
- if (node instanceof SVGTextElement) {
153
- return node.getBoundingClientRect().width;
154
- }
155
- return 0;
156
- });
157
- setLargestTextWidth(Math.max(...textWidths));
158
- }, 0);
159
- },
160
- });
161
- //const yScale = scale?.function.copy().range(range);
162
- const yScale = scale === null || scale === void 0 ? void 0 : scale.functionWithContentHeightAsRange;
163
- //@ts-expect-error - this is a hack to get the yScale to work
164
- const labelFormat = useMemo(() => {
165
- var _a;
166
- if (labelFormatProp) {
167
- return labelFormatProp;
168
- }
169
- return (_a = yScale === null || yScale === void 0 ? void 0 : yScale.tickFormat()) !== null && _a !== void 0 ? _a : (() => '');
170
- }, [labelFormatProp, yScale]);
171
- //TODO: make this dynamic
172
- const pixelsPerTick = 20;
173
- const pixelsAvailable = (_c = (_b = chartsChartContextValue.contentSize) === null || _b === void 0 ? void 0 : _b.height) !== null && _c !== void 0 ? _c : 0;
174
- const ticks = (_d = yScale === null || yScale === void 0 ? void 0 : yScale.ticks(Math.floor(pixelsAvailable / pixelsPerTick))) !== null && _d !== void 0 ? _d : [];
175
- if (yScale === undefined) {
176
- return null;
177
- }
178
- return (_jsxs("div", { ref: containerRef, className: classes, style: { paddingLeft: '8px', paddingRight: '8px' }, children: [position === 'left' && (_jsx(Typography, { className: "ndl-charts-chart-axis-title", variant: "body-medium", children: title })), _jsx("svg", { style: {
179
- position: 'relative',
180
- height: offsetHeight,
181
- width: largestTextWidth,
182
- }, ref: svgRef, children: ticks.map((tick) => {
183
- const y = yScale(tick);
184
- return (_jsx("text", { className: "tick", textAnchor: position === 'left' ? 'end' : 'start', x: position === 'left' ? '100%' : 0, y: y, dy: "0.4em", children: labelFormat(tick) }, labelFormat(tick)));
185
- }) }), position === 'right' && (_jsx(Typography, { className: "ndl-charts-chart-axis-title", variant: "body-medium", children: title }))] }));
186
- });
187
- //# sourceMappingURL=Axis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Axis.js","sourceRoot":"","sources":["../../../src/charts/Axis.tsx"],"names":[],"mappings":"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"}