@neo4j-ndl/react 3.0.27 → 3.0.29

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 (76) hide show
  1. package/lib/cjs/index.js +0 -1
  2. package/lib/cjs/index.js.map +1 -1
  3. package/lib/esm/index.js +0 -1
  4. package/lib/esm/index.js.map +1 -1
  5. package/lib/types/index.d.ts +0 -1
  6. package/package.json +2 -6
  7. package/lib/cjs/charts/CartesianGrid.js +0 -107
  8. package/lib/cjs/charts/CartesianGrid.js.map +0 -1
  9. package/lib/cjs/charts/Chart.js +0 -761
  10. package/lib/cjs/charts/Chart.js.map +0 -1
  11. package/lib/cjs/charts/ChartTooltip.js +0 -60
  12. package/lib/cjs/charts/ChartTooltip.js.map +0 -1
  13. package/lib/cjs/charts/Charts.js +0 -124
  14. package/lib/cjs/charts/Charts.js.map +0 -1
  15. package/lib/cjs/charts/Dot.js +0 -31
  16. package/lib/cjs/charts/Dot.js.map +0 -1
  17. package/lib/cjs/charts/HollowDot.js +0 -54
  18. package/lib/cjs/charts/HollowDot.js.map +0 -1
  19. package/lib/cjs/charts/Legend.js +0 -180
  20. package/lib/cjs/charts/Legend.js.map +0 -1
  21. package/lib/cjs/charts/Line.js +0 -132
  22. package/lib/cjs/charts/Line.js.map +0 -1
  23. package/lib/cjs/charts/axis/XAxis.js +0 -205
  24. package/lib/cjs/charts/axis/XAxis.js.map +0 -1
  25. package/lib/cjs/charts/axis/YAxis.js +0 -170
  26. package/lib/cjs/charts/axis/YAxis.js.map +0 -1
  27. package/lib/cjs/charts/axis/chart-axis-utils.js +0 -42
  28. package/lib/cjs/charts/axis/chart-axis-utils.js.map +0 -1
  29. package/lib/cjs/charts/axis/chart-tick-generation.js +0 -245
  30. package/lib/cjs/charts/axis/chart-tick-generation.js.map +0 -1
  31. package/lib/cjs/charts/index.js +0 -38
  32. package/lib/cjs/charts/index.js.map +0 -1
  33. package/lib/cjs/charts/utils.js +0 -40
  34. package/lib/cjs/charts/utils.js.map +0 -1
  35. package/lib/esm/charts/CartesianGrid.js +0 -100
  36. package/lib/esm/charts/CartesianGrid.js.map +0 -1
  37. package/lib/esm/charts/Chart.js +0 -734
  38. package/lib/esm/charts/Chart.js.map +0 -1
  39. package/lib/esm/charts/ChartTooltip.js +0 -54
  40. package/lib/esm/charts/ChartTooltip.js.map +0 -1
  41. package/lib/esm/charts/Charts.js +0 -121
  42. package/lib/esm/charts/Charts.js.map +0 -1
  43. package/lib/esm/charts/Dot.js +0 -28
  44. package/lib/esm/charts/Dot.js.map +0 -1
  45. package/lib/esm/charts/HollowDot.js +0 -28
  46. package/lib/esm/charts/HollowDot.js.map +0 -1
  47. package/lib/esm/charts/Legend.js +0 -174
  48. package/lib/esm/charts/Legend.js.map +0 -1
  49. package/lib/esm/charts/Line.js +0 -106
  50. package/lib/esm/charts/Line.js.map +0 -1
  51. package/lib/esm/charts/axis/XAxis.js +0 -176
  52. package/lib/esm/charts/axis/XAxis.js.map +0 -1
  53. package/lib/esm/charts/axis/YAxis.js +0 -164
  54. package/lib/esm/charts/axis/YAxis.js.map +0 -1
  55. package/lib/esm/charts/axis/chart-axis-utils.js +0 -38
  56. package/lib/esm/charts/axis/chart-axis-utils.js.map +0 -1
  57. package/lib/esm/charts/axis/chart-tick-generation.js +0 -217
  58. package/lib/esm/charts/axis/chart-tick-generation.js.map +0 -1
  59. package/lib/esm/charts/index.js +0 -22
  60. package/lib/esm/charts/index.js.map +0 -1
  61. package/lib/esm/charts/utils.js +0 -37
  62. package/lib/esm/charts/utils.js.map +0 -1
  63. package/lib/types/charts/CartesianGrid.d.ts +0 -32
  64. package/lib/types/charts/Chart.d.ts +0 -109
  65. package/lib/types/charts/ChartTooltip.d.ts +0 -69
  66. package/lib/types/charts/Charts.d.ts +0 -104
  67. package/lib/types/charts/Dot.d.ts +0 -27
  68. package/lib/types/charts/HollowDot.d.ts +0 -28
  69. package/lib/types/charts/Legend.d.ts +0 -25
  70. package/lib/types/charts/Line.d.ts +0 -44
  71. package/lib/types/charts/axis/XAxis.d.ts +0 -28
  72. package/lib/types/charts/axis/YAxis.d.ts +0 -28
  73. package/lib/types/charts/axis/chart-axis-utils.d.ts +0 -33
  74. package/lib/types/charts/axis/chart-tick-generation.d.ts +0 -33
  75. package/lib/types/charts/index.d.ts +0 -21
  76. package/lib/types/charts/utils.d.ts +0 -23
@@ -1,132 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Line = void 0;
27
- const jsx_runtime_1 = require("react/jsx-runtime");
28
- /**
29
- *
30
- * Copyright (c) "Neo4j"
31
- * Neo4j Sweden AB [http://neo4j.com]
32
- *
33
- * This file is part of Neo4j.
34
- *
35
- * Neo4j is free software: you can redistribute it and/or modify
36
- * it under the terms of the GNU General Public License as published by
37
- * the Free Software Foundation, either version 3 of the License, or
38
- * (at your option) any later version.
39
- *
40
- * This program is distributed in the hope that it will be useful,
41
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
42
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
43
- * GNU General Public License for more details.
44
- *
45
- * You should have received a copy of the GNU General Public License
46
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
47
- */
48
- const react_1 = require("react");
49
- const d3 = __importStar(require("d3"));
50
- const Charts_1 = require("./Charts");
51
- const Chart_1 = require("./Chart");
52
- const HollowDot_1 = require("./HollowDot");
53
- exports.Line = (0, react_1.memo)((0, react_1.forwardRef)(function LineComponent(props, ref) {
54
- // console.info('Line.tsx - LineComponent - initiation');
55
- const { dataId, scaleXAxis: scaleXAxisId, scaleYAxis: scaleYAxisId, } = props;
56
- const { metadata } = (0, react_1.useContext)(Charts_1.ChartsContext);
57
- const { scales, linePointArray } = (0, react_1.useContext)(Chart_1.ChartsChartContext);
58
- if (metadata[dataId].isVisible === false)
59
- return null;
60
- const scaleXAxis = scales === null || scales === void 0 ? void 0 : scales[scaleXAxisId].functionWithContentWidthAsRange;
61
- const scaleYAxis = scales === null || scales === void 0 ? void 0 : scales[scaleYAxisId].functionWithContentHeightAsRange;
62
- const shouldNotRender = scaleYAxis === undefined || scaleXAxis === undefined || !linePointArray;
63
- if (shouldNotRender) {
64
- console.error('Line should not render');
65
- return null;
66
- }
67
- const linePointArrayFiltered = linePointArray.filter((linePoint) => linePoint.dataId === dataId);
68
- const lineGenerator = d3
69
- .line()
70
- .x((linePoint) => {
71
- const xValue = linePoint[linePoint.accessorXAxis];
72
- //@ts-expect-error xValue is unknown
73
- const scaledXValue = scaleXAxis(xValue);
74
- if (scaledXValue === undefined) {
75
- console.error({ xValue, scaledXValue });
76
- throw new Error('scaledXValue is undefined');
77
- }
78
- return scaledXValue;
79
- })
80
- .y((linePoint) => {
81
- const yValue = linePoint[linePoint.accessorYAxis];
82
- //@ts-expect-error yValue is unknown
83
- const scaledYValue = scaleYAxis(yValue);
84
- if (scaledYValue === undefined) {
85
- console.error({ yValue, scaledYValue });
86
- throw new Error('scaledYValue is undefined');
87
- }
88
- return scaledYValue;
89
- })
90
- .defined((linePoint) => {
91
- return (linePoint[linePoint.accessorXAxis] === 0 ||
92
- Boolean(linePoint[linePoint.accessorXAxis]));
93
- })
94
- .defined((linePoint) => {
95
- return (linePoint[linePoint.accessorYAxis] === 0 ||
96
- Boolean(linePoint[linePoint.accessorYAxis]));
97
- });
98
- const linePath = lineGenerator(linePointArrayFiltered);
99
- const color = metadata[dataId].color;
100
- if (!linePath)
101
- return null;
102
- const singleLinePoints = linePath
103
- .split('M')
104
- .filter((item) => {
105
- const isSingleLinePoint = !item.includes('L') && item.includes('Z');
106
- return isSingleLinePoint;
107
- })
108
- .map((item) => {
109
- const arr = item.replace('Z', '').split(',');
110
- return {
111
- x: arr[0],
112
- y: arr[1],
113
- };
114
- });
115
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [singleLinePoints.length > 0 &&
116
- // Single dots
117
- singleLinePoints.map((linePoint) => {
118
- return ((0, jsx_runtime_1.jsx)("circle", { cx: linePoint.x, cy: linePoint.y, r: "2.5", fill: color }, `single-dot-${linePoint.x}-${linePoint.y}`));
119
- }), (0, jsx_runtime_1.jsx)("path", { ref: ref, fill: "none", stroke: color, strokeWidth: "3", strokeLinejoin: "round", d: linePath }), linePointArrayFiltered.length > 0 &&
120
- // Hollow dots
121
- linePointArrayFiltered
122
- .filter((linePoint) => {
123
- const shouldHaveHollowDot = linePoint.accessorHollowDot !== undefined &&
124
- linePoint[linePoint.accessorHollowDot] === true;
125
- return shouldHaveHollowDot;
126
- })
127
- .map((linePoint) => {
128
- const { pointPixelX, pointPixelY } = (0, Chart_1.getPointPixels)(linePoint, scales);
129
- return ((0, jsx_runtime_1.jsx)(HollowDot_1.HollowDot, { x: pointPixelX, y: pointPixelY, color: color }, `hollow-dot-${pointPixelX}-${pointPixelY}`));
130
- })] }));
131
- }));
132
- //# sourceMappingURL=Line.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Line.js","sourceRoot":"","sources":["../../../src/charts/Line.tsx"],"names":[],"mappings":"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"}
@@ -1,205 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.XAxis = void 0;
30
- const jsx_runtime_1 = require("react/jsx-runtime");
31
- /**
32
- *
33
- * Copyright (c) "Neo4j"
34
- * Neo4j Sweden AB [http://neo4j.com]
35
- *
36
- * This file is part of Neo4j.
37
- *
38
- * Neo4j is free software: you can redistribute it and/or modify
39
- * it under the terms of the GNU General Public License as published by
40
- * the Free Software Foundation, either version 3 of the License, or
41
- * (at your option) any later version.
42
- *
43
- * This program is distributed in the hope that it will be useful,
44
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
45
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
46
- * GNU General Public License for more details.
47
- *
48
- * You should have received a copy of the GNU General Public License
49
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
50
- */
51
- const react_1 = __importStar(require("react"));
52
- const classnames_1 = __importDefault(require("classnames"));
53
- const usehooks_ts_1 = require("usehooks-ts");
54
- const typography_1 = require("../../typography");
55
- const Chart_1 = require("../Chart");
56
- const d3 = __importStar(require("d3"));
57
- const chart_axis_utils_1 = require("./chart-axis-utils");
58
- const chart_tick_generation_1 = require("./chart-tick-generation");
59
- const Charts_1 = require("../Charts");
60
- const domainStrokeWidth = 2;
61
- const tickLength = domainStrokeWidth + 8;
62
- const marginBetweenTickAndLabel = tickLength + 8;
63
- const height = '2';
64
- const XAxisComponent = (0, react_1.forwardRef)(function XAxis({ position, title, labelFormat: labelFormatProp, scale: scaleId, shouldRotateTicks, }, ref) {
65
- var _a, _b, _c, _d, _e;
66
- const classes = (0, react_1.useMemo)(() => (0, classnames_1.default)('ndl-charts-chart-axis', 'ndl-charts-chart-axis-x', {
67
- 'ndl-charts-chart-axis-top': position === 'top',
68
- 'ndl-charts-chart-axis-bottom': position === 'bottom',
69
- }), [position]);
70
- const svgRef = (0, react_1.useRef)(null);
71
- const chartsChartContextValue = (0, react_1.useContext)(Chart_1.ChartsChartContext);
72
- const setScalerGridLines = (0, react_1.useContext)(Charts_1.ChartsContext).setScalerGridLines;
73
- const xAxisRef = (0, react_1.useRef)(null);
74
- const [largestTextWidth, setLargestTextWidth] = (0, react_1.useState)(50);
75
- const prevDomain = (0, react_1.useRef)([0, 1]);
76
- const prevRange = (0, react_1.useRef)([0, 1]);
77
- const containerRef = (0, react_1.useRef)(null);
78
- const scale = (_a = chartsChartContextValue === null || chartsChartContextValue === void 0 ? void 0 : chartsChartContextValue.scales) === null || _a === void 0 ? void 0 : _a[scaleId];
79
- const [ticks, setTicks] = (0, react_1.useState)([]);
80
- (0, react_1.useImperativeHandle)(ref, () => {
81
- const svgChart = containerRef.current;
82
- if (!svgChart) {
83
- return null;
84
- }
85
- return svgChart;
86
- });
87
- const onResize = (0, usehooks_ts_1.useDebounceCallback)(() => {
88
- var _a;
89
- // Get text element widths
90
- const textElements = (_a = svgRef.current) === null || _a === void 0 ? void 0 : _a.getElementsByTagName('text');
91
- if (!textElements || textElements.length === 0)
92
- return;
93
- // Calculate largest text width
94
- const textWidths = Array.from(textElements).map((current) => {
95
- const currentWidth = Math.ceil(current.getBoundingClientRect().width);
96
- return currentWidth;
97
- });
98
- setLargestTextWidth(Math.max(...textWidths));
99
- // Check for overlapping text elements
100
- const hasOverlap = Array.from(textElements)
101
- .slice(0, -1)
102
- .some((current, i) => {
103
- const next = textElements[i + 1];
104
- // Temporarily remove transforms to check raw positions
105
- const currentTransform = current.style.transform;
106
- const nextTransform = next.style.transform;
107
- current.style.transform = '';
108
- next.style.transform = '';
109
- // Get bounding boxes
110
- const currentBox = current.getBoundingClientRect();
111
- const nextBox = next.getBoundingClientRect();
112
- // Restore transforms
113
- current.style.transform = currentTransform;
114
- next.style.transform = nextTransform;
115
- // Check for overlap with padding
116
- const padding = 12;
117
- return !(currentBox.right < nextBox.left - padding ||
118
- currentBox.left > nextBox.right + padding ||
119
- currentBox.bottom < nextBox.top ||
120
- currentBox.top > nextBox.bottom);
121
- });
122
- // Apply rotated or normal styles based on overlap
123
- const transform = hasOverlap || shouldRotateTicks
124
- ? 'rotate(315deg) translate(-10px, -10px)'
125
- : 'none';
126
- const anchor = hasOverlap || shouldRotateTicks ? 'end' : 'middle';
127
- Array.from(textElements).forEach((el) => {
128
- el.style.transform = transform;
129
- el.style.textAnchor = anchor;
130
- });
131
- // Update SVG height to fit rotated text
132
- if (svgRef.current) {
133
- const maxHeight = Math.max(...Array.from(textElements).map((el) => el.getBoundingClientRect().height));
134
- svgRef.current.setAttribute('height', `${maxHeight + 12}px`);
135
- }
136
- }, 200);
137
- (0, usehooks_ts_1.useResizeObserver)({
138
- ref: containerRef,
139
- onResize: () => onResize(),
140
- });
141
- const xScale = scale === null || scale === void 0 ? void 0 : scale.functionWithContentWidthAsRange;
142
- /* @ts-expect-error we don't have the correct type for the tick values */
143
- const labelFormat = (0, react_1.useMemo)(() => {
144
- if (labelFormatProp) {
145
- return labelFormatProp;
146
- }
147
- else if (xScale.domain()[0] instanceof Date &&
148
- xScale.domain()[1] instanceof Date) {
149
- return (0, chart_tick_generation_1.getTickLabelFormatterForDate)(xScale.domain()[0], xScale.domain()[1]);
150
- }
151
- else if (xScale === undefined) {
152
- return (dataPoint) => dataPoint.toString();
153
- }
154
- return xScale.tickFormat();
155
- }, [labelFormatProp, xScale]);
156
- (0, react_1.useEffect)(() => {
157
- const AxisRefCurrent = xAxisRef.current;
158
- if (AxisRefCurrent === null || xScale === undefined) {
159
- return;
160
- }
161
- const xAxis = d3
162
- .axisBottom(xScale)
163
- .tickValues([xScale.domain()[0], ...xScale.ticks(), xScale.domain()[1]]); // Ensure the start and end ticks
164
- xAxis.tickPadding(8);
165
- d3.select(AxisRefCurrent).call(xAxis);
166
- return () => {
167
- d3.select(AxisRefCurrent).selectAll('*').remove();
168
- };
169
- }, [xScale]);
170
- const pixelsAvailable = (_c = (_b = chartsChartContextValue.contentSize) === null || _b === void 0 ? void 0 : _b.width) !== null && _c !== void 0 ? _c : 0;
171
- (0, react_1.useEffect)(() => {
172
- const currentDomain = xScale.domain();
173
- const currentRange = xScale.range();
174
- const isDomainEqual = prevDomain.current[0] === currentDomain[0] &&
175
- prevDomain.current[1] === currentDomain[1];
176
- const isRangeEqual = prevRange.current[0] === currentRange[0] &&
177
- prevRange.current[1] === currentRange[1];
178
- if (!isDomainEqual || !isRangeEqual) {
179
- const newTicks = (0, chart_axis_utils_1.generateAxisTicks)({
180
- scale: xScale,
181
- pixelsAvailable,
182
- largestTickSize: largestTextWidth,
183
- });
184
- setScalerGridLines(scaleId, newTicks);
185
- setTicks(newTicks);
186
- }
187
- prevDomain.current = currentDomain;
188
- prevRange.current = currentRange;
189
- }, [scale, prevDomain, prevRange]);
190
- if (xScale === undefined) {
191
- return null;
192
- }
193
- return ((0, jsx_runtime_1.jsxs)("div", { ref: containerRef, className: classes, children: [position === 'top' && ((0, jsx_runtime_1.jsx)(typography_1.Typography, { className: "ndl-charts-chart-axis-title", variant: "body-medium", children: title })), (0, jsx_runtime_1.jsx)("svg", { ref: svgRef, height: 31, children: (0, jsx_runtime_1.jsxs)("g", { children: [(0, jsx_runtime_1.jsx)("line", { x1: 0, x2: (_e = (_d = svgRef.current) === null || _d === void 0 ? void 0 : _d.getBoundingClientRect().width) !== null && _e !== void 0 ? _e : 0, y1: 0, y2: height, className: "domain" }), ticks.map((tick, index) => {
194
- const x = xScale(tick);
195
- return ((0, jsx_runtime_1.jsxs)("g", { className: "tick", transform: `translate(${x} 0)`, children: [(0, jsx_runtime_1.jsx)("text", { y: position === 'bottom'
196
- ? marginBetweenTickAndLabel + tickLength
197
- : 0, textAnchor: "middle", fill: "currentColor", children: labelFormat(tick) }), (0, jsx_runtime_1.jsx)("line", { y1: position === 'bottom'
198
- ? 0
199
- : marginBetweenTickAndLabel + tickLength, y2: position === 'bottom'
200
- ? tickLength
201
- : marginBetweenTickAndLabel, stroke: "currentColor" })] }, index));
202
- })] }) }), position === 'bottom' && ((0, jsx_runtime_1.jsx)(typography_1.Typography, { className: "ndl-charts-chart-axis-title", variant: "body-medium", children: title }))] }));
203
- });
204
- exports.XAxis = react_1.default.memo(XAxisComponent);
205
- //# sourceMappingURL=XAxis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XAxis.js","sourceRoot":"","sources":["../../../../src/charts/axis/XAxis.tsx"],"names":[],"mappings":"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"}
@@ -1,170 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.YAxis = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- /**
9
- *
10
- * Copyright (c) "Neo4j"
11
- * Neo4j Sweden AB [http://neo4j.com]
12
- *
13
- * This file is part of Neo4j.
14
- *
15
- * Neo4j is free software: you can redistribute it and/or modify
16
- * it under the terms of the GNU General Public License as published by
17
- * the Free Software Foundation, either version 3 of the License, or
18
- * (at your option) any later version.
19
- *
20
- * This program is distributed in the hope that it will be useful,
21
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
22
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
- * GNU General Public License for more details.
24
- *
25
- * You should have received a copy of the GNU General Public License
26
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
27
- */
28
- const react_1 = require("react");
29
- const classnames_1 = __importDefault(require("classnames"));
30
- const usehooks_ts_1 = require("usehooks-ts");
31
- const typography_1 = require("../../typography");
32
- const Chart_1 = require("../Chart");
33
- const chart_axis_utils_1 = require("./chart-axis-utils");
34
- const Charts_1 = require("../Charts");
35
- exports.YAxis = (0, react_1.forwardRef)(function YAxis({ position, title, labelFormat: labelFormatProp, scale: scaleId, shouldRotateTicks, }, ref) {
36
- var _a, _b, _c;
37
- const [largestTextWidth, setLargestTextWidth] = (0, react_1.useState)(0);
38
- const chartsChartContextValue = (0, react_1.useContext)(Chart_1.ChartsChartContext);
39
- const scale = (_a = chartsChartContextValue === null || chartsChartContextValue === void 0 ? void 0 : chartsChartContextValue.scales) === null || _a === void 0 ? void 0 : _a[scaleId];
40
- const svgRef = (0, react_1.useRef)(null);
41
- const prevDomain = (0, react_1.useRef)([0, 1]);
42
- const prevRange = (0, react_1.useRef)([0, 1]);
43
- const [ticks, setTicks] = (0, react_1.useState)([]);
44
- const setScalerGridLines = (0, react_1.useContext)(Charts_1.ChartsContext).setScalerGridLines;
45
- const classes = (0, react_1.useMemo)(() => (0, classnames_1.default)('ndl-charts-chart-axis', 'ndl-charts-chart-axis-y', {
46
- 'ndl-charts-chart-axis-left': position === 'left',
47
- 'ndl-charts-chart-axis-right': position === 'right',
48
- }), [position]);
49
- const containerRef = (0, react_1.useRef)(null);
50
- (0, react_1.useImperativeHandle)(ref, () => {
51
- // console.info('Axis.tsx - useImperativeHandle');
52
- const svgChart = containerRef.current;
53
- if (!svgChart) {
54
- return null;
55
- }
56
- return svgChart;
57
- });
58
- const onResize = () => {
59
- var _a;
60
- if (svgRef.current === null) {
61
- return;
62
- }
63
- const textElements = (_a = svgRef.current) === null || _a === void 0 ? void 0 : _a.getElementsByTagName('text');
64
- if (!textElements) {
65
- return;
66
- }
67
- if (shouldRotateTicks) {
68
- Array.from(textElements).forEach((element) => {
69
- element.style.transform = `rotate(315deg)`;
70
- element.style.textAnchor = position === 'left' ? 'end' : 'start';
71
- });
72
- }
73
- else {
74
- Array.from(textElements).forEach((element) => {
75
- element.style.transform = '';
76
- element.style.textAnchor = position === 'left' ? 'end' : 'start';
77
- });
78
- }
79
- // Wait for the rotation transform to be applied
80
- requestAnimationFrame(() => {
81
- // Now measure the rotated text widths
82
- const textWidths = Array.from(textElements).map((element) => {
83
- const bbox = element.getBoundingClientRect();
84
- // For rotated text, we need to account for both width and height
85
- return shouldRotateTicks
86
- ? Math.sqrt(Math.pow(bbox.width, 2) + Math.pow(bbox.height, 2))
87
- : bbox.width;
88
- });
89
- if (textWidths.length === 0) {
90
- return;
91
- }
92
- setLargestTextWidth(Math.max(...textWidths));
93
- });
94
- };
95
- (0, usehooks_ts_1.useResizeObserver)({
96
- ref: containerRef,
97
- onResize,
98
- });
99
- (0, react_1.useEffect)(() => {
100
- onResize();
101
- }, [ticks]);
102
- // the 14 is the height of the tick label, the 8 is the padding
103
- const pixelsPerTick = 14 * (shouldRotateTicks ? 2 : 1) + 8;
104
- const pixelsAvailable = (_c = (_b = chartsChartContextValue.contentSize) === null || _b === void 0 ? void 0 : _b.height) !== null && _c !== void 0 ? _c : 0;
105
- (0, react_1.useEffect)(() => {
106
- const currentDomain = yScale.domain();
107
- const currentRange = yScale.range();
108
- const isDomainEqual = prevDomain.current[0] === currentDomain[0] &&
109
- prevDomain.current[1] === currentDomain[1];
110
- const isRangeEqual = prevRange.current[0] === currentRange[0] &&
111
- prevRange.current[1] === currentRange[1];
112
- if (pixelsAvailable === 0) {
113
- return;
114
- }
115
- if (!isDomainEqual || !isRangeEqual) {
116
- const newTicks = (0, chart_axis_utils_1.generateAxisTicks)({
117
- scale: yScale,
118
- pixelsAvailable,
119
- largestTickSize: pixelsPerTick,
120
- });
121
- setScalerGridLines(scaleId, newTicks);
122
- setTicks(newTicks);
123
- prevDomain.current = currentDomain;
124
- prevRange.current = currentRange;
125
- }
126
- }, [scale, prevDomain, prevRange, pixelsAvailable]);
127
- //const yScale = scale?.function.copy().range(range);
128
- const yScale = scale === null || scale === void 0 ? void 0 : scale.functionWithContentHeightAsRange;
129
- //@ts-expect-error - this is a hack to get the yScale to work
130
- const labelFormat = (0, react_1.useMemo)(() => {
131
- var _a;
132
- if (labelFormatProp) {
133
- return labelFormatProp;
134
- }
135
- return (_a = yScale === null || yScale === void 0 ? void 0 : yScale.tickFormat()) !== null && _a !== void 0 ? _a : (() => '');
136
- }, [labelFormatProp, yScale]);
137
- /*useEffect(() => {
138
- requestAnimationFrame(() => {
139
- const newTicks = generateAxisTicks({
140
- scale: yScale,
141
- pixelsAvailable,
142
- largestTickSize: pixelsPerTick,
143
- });
144
- setTicks(newTicks);
145
- chartsContextValue.setScalerGridLines(scaleId, newTicks);
146
- });
147
- }, [
148
- yScale,
149
- pixelsAvailable,
150
- pixelsPerTick,
151
- position,
152
- labelFormat,
153
- chartsContextValue.setScalerGridLines,
154
- scaleId,
155
- ]);*/
156
- if (yScale === undefined) {
157
- return null;
158
- }
159
- return ((0, jsx_runtime_1.jsxs)("div", { ref: containerRef, className: classes, style: { paddingLeft: '8px', paddingRight: '8px' }, children: [position === 'left' && ((0, jsx_runtime_1.jsx)(typography_1.Typography, { className: "ndl-charts-chart-axis-title", variant: "body-medium", children: title })), (0, jsx_runtime_1.jsx)("svg", { style: {
160
- position: 'relative',
161
- width: largestTextWidth,
162
- overflow: 'visible',
163
- }, ref: svgRef, children: ticks.map((tick) => {
164
- const y = yScale(tick);
165
- return ((0, jsx_runtime_1.jsx)("g", { className: "tick", transform: `translate(0 ${y})`, children: (0, jsx_runtime_1.jsx)("text", { textAnchor: position === 'left' ? 'end' : 'start', x: position === 'left' ? '100%' : 0, dy: shouldRotateTicks ? '2.4em' : 0, dx: shouldRotateTicks ? '-1.6em' : 0, style: {
166
- alignmentBaseline: 'middle',
167
- }, children: labelFormat(tick) }) }, labelFormat(tick)));
168
- }) }), position === 'right' && ((0, jsx_runtime_1.jsx)(typography_1.Typography, { className: "ndl-charts-chart-axis-title", variant: "body-medium", children: title }))] }));
169
- });
170
- //# sourceMappingURL=YAxis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"YAxis.js","sourceRoot":"","sources":["../../../../src/charts/axis/YAxis.tsx"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
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.generateAxisTicks = void 0;
24
- const chart_tick_generation_1 = require("./chart-tick-generation");
25
- const generateAxisTicks = ({ scale, pixelsAvailable, largestTickSize, }) => {
26
- var _a;
27
- let tickCount = Math.floor(pixelsAvailable / largestTickSize); // Adjust the number of ticks based on width (example logic)
28
- if (tickCount <= 0) {
29
- tickCount = 1;
30
- }
31
- const domain = scale.domain();
32
- if (domain[0] instanceof Date || domain[1] instanceof Date) {
33
- const wilkinsonResult = (0, chart_tick_generation_1.ExtendedWilkinsonDate)([domain[0], domain[1]], tickCount, true);
34
- return wilkinsonResult.ticks;
35
- }
36
- else {
37
- const wilkinsonResult = (0, chart_tick_generation_1.ExtendedWilkinson)([domain[0], domain[1]], tickCount, true);
38
- return (_a = wilkinsonResult.ticks) !== null && _a !== void 0 ? _a : [];
39
- }
40
- };
41
- exports.generateAxisTicks = generateAxisTicks;
42
- //# sourceMappingURL=chart-axis-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chart-axis-utils.js","sourceRoot":"","sources":["../../../../src/charts/axis/chart-axis-utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAGH,mEAGiC;AAU1B,MAAM,iBAAiB,GAAG,CAAC,EAChC,KAAK,EACL,eAAe,EACf,eAAe,GAKhB,EAAE,EAAE;;IACH,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,4DAA4D;IAC3H,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,SAAS,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IAE9B,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3D,MAAM,eAAe,GAAG,IAAA,6CAAqB,EAC3C,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,MAAM,CAAC,CAAC,CAAS,CAAC,EACtC,SAAS,EACT,IAAI,CACL,CAAC;QACF,OAAO,eAAe,CAAC,KAAK,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG,IAAA,yCAAiB,EACvC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EACtB,SAAS,EACT,IAAI,CACL,CAAC;QACF,OAAO,MAAA,eAAe,CAAC,KAAK,mCAAI,EAAE,CAAC;IACrC,CAAC;AACH,CAAC,CAAC;AA/BW,QAAA,iBAAiB,qBA+B5B"}