@d3plus/react 3.0.0-alpha.2 → 3.0.0-alpha.4
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.
- package/README.md +4 -6
- package/es/index.jsx +200 -42
- package/es/src/Renderer.jsx +93 -0
- package/package.json +2 -2
- package/es/src/Viz.jsx +0 -41
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ import modules from "@d3plus/react";
|
|
|
13
13
|
In vanilla JavaScript, a `d3plus` global is exported from the pre-bundled version:
|
|
14
14
|
|
|
15
15
|
```html
|
|
16
|
-
<script src="https://cdn.jsdelivr.net/npm/@d3plus/react@3.0.0-alpha.
|
|
16
|
+
<script src="https://cdn.jsdelivr.net/npm/@d3plus/react@3.0.0-alpha.4"></script>
|
|
17
17
|
<script>
|
|
18
18
|
console.log(d3plus);
|
|
19
19
|
</script>
|
|
@@ -27,7 +27,7 @@ Live examples can be found on [d3plus.org](https://d3plus.org/), which includes
|
|
|
27
27
|
|
|
28
28
|
#####
|
|
29
29
|
* [D3plusContext](#D3plusContext) - A React context instance used to provide global config options via a provider (D3plusContext.Provider).
|
|
30
|
-
* [
|
|
30
|
+
* [Renderer](#Renderer)
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
@@ -41,13 +41,11 @@ This is a global function
|
|
|
41
41
|
|
|
42
42
|
---
|
|
43
43
|
|
|
44
|
-
<a name="
|
|
45
|
-
#### d3plus.**
|
|
44
|
+
<a name="Renderer"></a>
|
|
45
|
+
#### d3plus.**Renderer**(config, [className], [callback]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/react/src/Renderer.jsx#L6)
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
This is a global function
|
|
49
49
|
|
|
50
50
|
---
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
###### <sub>Documentation generated on Wed, 02 Apr 2025 20:59:31 GMT</sub>
|
package/es/index.jsx
CHANGED
|
@@ -27,106 +27,264 @@ function _object_spread(target) {
|
|
|
27
27
|
return target;
|
|
28
28
|
}
|
|
29
29
|
import React from "react";
|
|
30
|
-
import { AreaPlot as AreaPlotClass, BarChart as BarChartClass, BoxWhisker as BoxWhiskerClass, BumpChart as BumpChartClass, Donut as DonutClass, Geomap as GeomapClass, LinePlot as LinePlotClass, Matrix as MatrixClass, Network as NetworkClass, Pack as PackClass, Pie as PieClass, Plot as PlotClass, Priestley as PriestleyClass, Radar as RadarClass, RadialMatrix as RadialMatrixClass, Rings as RingsClass, Sankey as SankeyClass, StackedArea as StackedAreaClass, Tree as TreeClass, Treemap as TreemapClass } from "@d3plus/core";
|
|
31
|
-
import
|
|
30
|
+
import { AreaPlot as AreaPlotClass, BarChart as BarChartClass, BoxWhisker as BoxWhiskerClass, BumpChart as BumpChartClass, Donut as DonutClass, Geomap as GeomapClass, LinePlot as LinePlotClass, Matrix as MatrixClass, Network as NetworkClass, Pack as PackClass, Pie as PieClass, Plot as PlotClass, Priestley as PriestleyClass, Radar as RadarClass, RadialMatrix as RadialMatrixClass, Rings as RingsClass, Sankey as SankeyClass, StackedArea as StackedAreaClass, Tree as TreeClass, Treemap as TreemapClass, Viz as VizClass, Axis as AxisClass, AxisBottom as AxisBottomClass, AxisLeft as AxisLeftClass, AxisRight as AxisRightClass, AxisTop as AxisTopClass, ColorScale as ColorScaleClass, Legend as LegendClass, Message as MessageClass, TextBox as TextBoxClass, Timeline as TimelineClass, Tooltip as TooltipClass, Area as AreaClass, Bar as BarClass, Box as BoxClass, Circle as CircleClass, Image as ImageClass, Line as LineClass, Path as PathClass, Rect as RectClass, Shape as ShapeClass, Whisker as WhiskerClass, BaseClass as BaseClassClass } from "@d3plus/core";
|
|
31
|
+
import Renderer from "./src/Renderer.jsx";
|
|
32
32
|
export var AreaPlot = function(props) {
|
|
33
|
-
return /*#__PURE__*/ React.createElement(
|
|
34
|
-
|
|
33
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
34
|
+
className: "chart",
|
|
35
|
+
constructor: AreaPlotClass
|
|
35
36
|
}, props));
|
|
36
37
|
};
|
|
37
38
|
export var BarChart = function(props) {
|
|
38
|
-
return /*#__PURE__*/ React.createElement(
|
|
39
|
-
|
|
39
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
40
|
+
className: "chart",
|
|
41
|
+
constructor: BarChartClass
|
|
40
42
|
}, props));
|
|
41
43
|
};
|
|
42
44
|
export var BoxWhisker = function(props) {
|
|
43
|
-
return /*#__PURE__*/ React.createElement(
|
|
44
|
-
|
|
45
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
46
|
+
className: "chart",
|
|
47
|
+
constructor: BoxWhiskerClass
|
|
45
48
|
}, props));
|
|
46
49
|
};
|
|
47
50
|
export var BumpChart = function(props) {
|
|
48
|
-
return /*#__PURE__*/ React.createElement(
|
|
49
|
-
|
|
51
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
52
|
+
className: "chart",
|
|
53
|
+
constructor: BumpChartClass
|
|
50
54
|
}, props));
|
|
51
55
|
};
|
|
52
56
|
export var Donut = function(props) {
|
|
53
|
-
return /*#__PURE__*/ React.createElement(
|
|
54
|
-
|
|
57
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
58
|
+
className: "chart",
|
|
59
|
+
constructor: DonutClass
|
|
55
60
|
}, props));
|
|
56
61
|
};
|
|
57
62
|
export var Geomap = function(props) {
|
|
58
|
-
return /*#__PURE__*/ React.createElement(
|
|
59
|
-
|
|
63
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
64
|
+
className: "chart",
|
|
65
|
+
constructor: GeomapClass
|
|
60
66
|
}, props));
|
|
61
67
|
};
|
|
62
68
|
export var LinePlot = function(props) {
|
|
63
|
-
return /*#__PURE__*/ React.createElement(
|
|
64
|
-
|
|
69
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
70
|
+
className: "chart",
|
|
71
|
+
constructor: LinePlotClass
|
|
65
72
|
}, props));
|
|
66
73
|
};
|
|
67
74
|
export var Matrix = function(props) {
|
|
68
|
-
return /*#__PURE__*/ React.createElement(
|
|
69
|
-
|
|
75
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
76
|
+
className: "chart",
|
|
77
|
+
constructor: MatrixClass
|
|
70
78
|
}, props));
|
|
71
79
|
};
|
|
72
80
|
export var Network = function(props) {
|
|
73
|
-
return /*#__PURE__*/ React.createElement(
|
|
74
|
-
|
|
81
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
82
|
+
className: "chart",
|
|
83
|
+
constructor: NetworkClass
|
|
75
84
|
}, props));
|
|
76
85
|
};
|
|
77
86
|
export var Pack = function(props) {
|
|
78
|
-
return /*#__PURE__*/ React.createElement(
|
|
79
|
-
|
|
87
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
88
|
+
className: "chart",
|
|
89
|
+
constructor: PackClass
|
|
80
90
|
}, props));
|
|
81
91
|
};
|
|
82
92
|
export var Pie = function(props) {
|
|
83
|
-
return /*#__PURE__*/ React.createElement(
|
|
84
|
-
|
|
93
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
94
|
+
className: "chart",
|
|
95
|
+
constructor: PieClass
|
|
85
96
|
}, props));
|
|
86
97
|
};
|
|
87
98
|
export var Plot = function(props) {
|
|
88
|
-
return /*#__PURE__*/ React.createElement(
|
|
89
|
-
|
|
99
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
100
|
+
className: "chart",
|
|
101
|
+
constructor: PlotClass
|
|
90
102
|
}, props));
|
|
91
103
|
};
|
|
92
104
|
export var Priestley = function(props) {
|
|
93
|
-
return /*#__PURE__*/ React.createElement(
|
|
94
|
-
|
|
105
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
106
|
+
className: "chart",
|
|
107
|
+
constructor: PriestleyClass
|
|
95
108
|
}, props));
|
|
96
109
|
};
|
|
97
110
|
export var Radar = function(props) {
|
|
98
|
-
return /*#__PURE__*/ React.createElement(
|
|
99
|
-
|
|
111
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
112
|
+
className: "chart",
|
|
113
|
+
constructor: RadarClass
|
|
100
114
|
}, props));
|
|
101
115
|
};
|
|
102
116
|
export var RadialMatrix = function(props) {
|
|
103
|
-
return /*#__PURE__*/ React.createElement(
|
|
104
|
-
|
|
117
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
118
|
+
className: "chart",
|
|
119
|
+
constructor: RadialMatrixClass
|
|
105
120
|
}, props));
|
|
106
121
|
};
|
|
107
122
|
export var Rings = function(props) {
|
|
108
|
-
return /*#__PURE__*/ React.createElement(
|
|
109
|
-
|
|
123
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
124
|
+
className: "chart",
|
|
125
|
+
constructor: RingsClass
|
|
110
126
|
}, props));
|
|
111
127
|
};
|
|
112
128
|
export var Sankey = function(props) {
|
|
113
|
-
return /*#__PURE__*/ React.createElement(
|
|
114
|
-
|
|
129
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
130
|
+
className: "chart",
|
|
131
|
+
constructor: SankeyClass
|
|
115
132
|
}, props));
|
|
116
133
|
};
|
|
117
134
|
export var StackedArea = function(props) {
|
|
118
|
-
return /*#__PURE__*/ React.createElement(
|
|
119
|
-
|
|
135
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
136
|
+
className: "chart",
|
|
137
|
+
constructor: StackedAreaClass
|
|
120
138
|
}, props));
|
|
121
139
|
};
|
|
122
140
|
export var Tree = function(props) {
|
|
123
|
-
return /*#__PURE__*/ React.createElement(
|
|
124
|
-
|
|
141
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
142
|
+
className: "chart",
|
|
143
|
+
constructor: TreeClass
|
|
125
144
|
}, props));
|
|
126
145
|
};
|
|
127
146
|
export var Treemap = function(props) {
|
|
128
|
-
return /*#__PURE__*/ React.createElement(
|
|
129
|
-
|
|
147
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
148
|
+
className: "chart",
|
|
149
|
+
constructor: TreemapClass
|
|
150
|
+
}, props));
|
|
151
|
+
};
|
|
152
|
+
export var Viz = function(props) {
|
|
153
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
154
|
+
className: "chart",
|
|
155
|
+
constructor: VizClass
|
|
156
|
+
}, props));
|
|
157
|
+
};
|
|
158
|
+
export var Axis = function(props) {
|
|
159
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
160
|
+
className: "component",
|
|
161
|
+
constructor: AxisClass
|
|
162
|
+
}, props));
|
|
163
|
+
};
|
|
164
|
+
export var AxisBottom = function(props) {
|
|
165
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
166
|
+
className: "component",
|
|
167
|
+
constructor: AxisBottomClass
|
|
168
|
+
}, props));
|
|
169
|
+
};
|
|
170
|
+
export var AxisLeft = function(props) {
|
|
171
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
172
|
+
className: "component",
|
|
173
|
+
constructor: AxisLeftClass
|
|
174
|
+
}, props));
|
|
175
|
+
};
|
|
176
|
+
export var AxisRight = function(props) {
|
|
177
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
178
|
+
className: "component",
|
|
179
|
+
constructor: AxisRightClass
|
|
180
|
+
}, props));
|
|
181
|
+
};
|
|
182
|
+
export var AxisTop = function(props) {
|
|
183
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
184
|
+
className: "component",
|
|
185
|
+
constructor: AxisTopClass
|
|
186
|
+
}, props));
|
|
187
|
+
};
|
|
188
|
+
export var ColorScale = function(props) {
|
|
189
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
190
|
+
className: "component",
|
|
191
|
+
constructor: ColorScaleClass
|
|
192
|
+
}, props));
|
|
193
|
+
};
|
|
194
|
+
export var Legend = function(props) {
|
|
195
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
196
|
+
className: "component",
|
|
197
|
+
constructor: LegendClass
|
|
198
|
+
}, props));
|
|
199
|
+
};
|
|
200
|
+
export var Message = function(props) {
|
|
201
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
202
|
+
className: "component",
|
|
203
|
+
constructor: MessageClass
|
|
204
|
+
}, props));
|
|
205
|
+
};
|
|
206
|
+
export var TextBox = function(props) {
|
|
207
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
208
|
+
className: "component",
|
|
209
|
+
constructor: TextBoxClass
|
|
210
|
+
}, props));
|
|
211
|
+
};
|
|
212
|
+
export var Timeline = function(props) {
|
|
213
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
214
|
+
className: "component",
|
|
215
|
+
constructor: TimelineClass
|
|
216
|
+
}, props));
|
|
217
|
+
};
|
|
218
|
+
export var Tooltip = function(props) {
|
|
219
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
220
|
+
className: "component",
|
|
221
|
+
constructor: TooltipClass
|
|
222
|
+
}, props));
|
|
223
|
+
};
|
|
224
|
+
export var Area = function(props) {
|
|
225
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
226
|
+
className: "shape",
|
|
227
|
+
constructor: AreaClass
|
|
228
|
+
}, props));
|
|
229
|
+
};
|
|
230
|
+
export var Bar = function(props) {
|
|
231
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
232
|
+
className: "shape",
|
|
233
|
+
constructor: BarClass
|
|
234
|
+
}, props));
|
|
235
|
+
};
|
|
236
|
+
export var Box = function(props) {
|
|
237
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
238
|
+
className: "shape",
|
|
239
|
+
constructor: BoxClass
|
|
240
|
+
}, props));
|
|
241
|
+
};
|
|
242
|
+
export var Circle = function(props) {
|
|
243
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
244
|
+
className: "shape",
|
|
245
|
+
constructor: CircleClass
|
|
246
|
+
}, props));
|
|
247
|
+
};
|
|
248
|
+
export var Image = function(props) {
|
|
249
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
250
|
+
className: "shape",
|
|
251
|
+
constructor: ImageClass
|
|
252
|
+
}, props));
|
|
253
|
+
};
|
|
254
|
+
export var Line = function(props) {
|
|
255
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
256
|
+
className: "shape",
|
|
257
|
+
constructor: LineClass
|
|
258
|
+
}, props));
|
|
259
|
+
};
|
|
260
|
+
export var Path = function(props) {
|
|
261
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
262
|
+
className: "shape",
|
|
263
|
+
constructor: PathClass
|
|
264
|
+
}, props));
|
|
265
|
+
};
|
|
266
|
+
export var Rect = function(props) {
|
|
267
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
268
|
+
className: "shape",
|
|
269
|
+
constructor: RectClass
|
|
270
|
+
}, props));
|
|
271
|
+
};
|
|
272
|
+
export var Shape = function(props) {
|
|
273
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
274
|
+
className: "shape",
|
|
275
|
+
constructor: ShapeClass
|
|
276
|
+
}, props));
|
|
277
|
+
};
|
|
278
|
+
export var Whisker = function(props) {
|
|
279
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
280
|
+
className: "shape",
|
|
281
|
+
constructor: WhiskerClass
|
|
282
|
+
}, props));
|
|
283
|
+
};
|
|
284
|
+
export var BaseClass = function(props) {
|
|
285
|
+
return /*#__PURE__*/ React.createElement(Renderer, _object_spread({
|
|
286
|
+
className: "util",
|
|
287
|
+
constructor: BaseClass
|
|
130
288
|
}, props));
|
|
131
289
|
};
|
|
132
290
|
export { default as D3plusContext } from "./src/D3plusContext.jsx";
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
function _array_like_to_array(arr, len) {
|
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
+
return arr2;
|
|
5
|
+
}
|
|
6
|
+
function _array_with_holes(arr) {
|
|
7
|
+
if (Array.isArray(arr)) return arr;
|
|
8
|
+
}
|
|
9
|
+
function _iterable_to_array_limit(arr, i) {
|
|
10
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
11
|
+
if (_i == null) return;
|
|
12
|
+
var _arr = [];
|
|
13
|
+
var _n = true;
|
|
14
|
+
var _d = false;
|
|
15
|
+
var _s, _e;
|
|
16
|
+
try {
|
|
17
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
18
|
+
_arr.push(_s.value);
|
|
19
|
+
if (i && _arr.length === i) break;
|
|
20
|
+
}
|
|
21
|
+
} catch (err) {
|
|
22
|
+
_d = true;
|
|
23
|
+
_e = err;
|
|
24
|
+
} finally{
|
|
25
|
+
try {
|
|
26
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
27
|
+
} finally{
|
|
28
|
+
if (_d) throw _e;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return _arr;
|
|
32
|
+
}
|
|
33
|
+
function _non_iterable_rest() {
|
|
34
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
35
|
+
}
|
|
36
|
+
function _sliced_to_array(arr, i) {
|
|
37
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
38
|
+
}
|
|
39
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
40
|
+
if (!o) return;
|
|
41
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
42
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
43
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
44
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
45
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
46
|
+
}
|
|
47
|
+
import React, { useContext, useEffect, useRef, useState } from "react";
|
|
48
|
+
import { assign } from "@d3plus/dom";
|
|
49
|
+
import D3plusContext from "./D3plusContext.jsx";
|
|
50
|
+
/**
|
|
51
|
+
@function Renderer
|
|
52
|
+
@param {Object} config An object containing method/value pairs to be passed to the visualization's .config( ) method.
|
|
53
|
+
@param {String} [className = "renderer"] The class attribute value used for the root/wrapper <div> element.
|
|
54
|
+
@param {Function} [callback] A function to be invoked at the end of each render cycle (passed directly to the render method).
|
|
55
|
+
*/ export default function(param) {
|
|
56
|
+
var callback = param.callback, _param_className = param.className, className = _param_className === void 0 ? "renderer" : _param_className, config = param.config, constructor = param.constructor;
|
|
57
|
+
var forceUpdate = config.forceUpdate;
|
|
58
|
+
var globalConfig = useContext(D3plusContext);
|
|
59
|
+
var container = useRef(null);
|
|
60
|
+
var _useState = _sliced_to_array(useState(function() {
|
|
61
|
+
return new constructor();
|
|
62
|
+
}), 1), instance = _useState[0];
|
|
63
|
+
useEffect(function() {
|
|
64
|
+
if (container.current) {
|
|
65
|
+
var c = assign({
|
|
66
|
+
select: container.current
|
|
67
|
+
}, globalConfig, config);
|
|
68
|
+
instance.config(c);
|
|
69
|
+
[
|
|
70
|
+
"data",
|
|
71
|
+
"links",
|
|
72
|
+
"nodes",
|
|
73
|
+
"topojson"
|
|
74
|
+
].forEach(function(method) {
|
|
75
|
+
if (c["".concat(method, "Format")] && c[method]) {
|
|
76
|
+
instance[method](c[method], c["".concat(method, "Format")]);
|
|
77
|
+
delete c["".concat(method, "Format")];
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
instance.render(callback);
|
|
81
|
+
}
|
|
82
|
+
}, forceUpdate ? undefined : [
|
|
83
|
+
JSON.stringify(globalConfig),
|
|
84
|
+
JSON.stringify(config)
|
|
85
|
+
]);
|
|
86
|
+
return /*#__PURE__*/ React.createElement("div", {
|
|
87
|
+
className: className
|
|
88
|
+
}, /*#__PURE__*/ React.createElement("svg", {
|
|
89
|
+
ref: container,
|
|
90
|
+
width: "100%",
|
|
91
|
+
height: "100%"
|
|
92
|
+
}));
|
|
93
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d3plus/react",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.4",
|
|
4
4
|
"description": "React components for d3plus visualizations.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"test": "eslint"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@d3plus/core": "3.0.0-alpha.
|
|
34
|
+
"@d3plus/core": "3.0.0-alpha.4"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@mantine/core": "^7.8.1",
|
package/es/src/Viz.jsx
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import React, { useContext, useEffect, useRef } from "react";
|
|
2
|
-
import { assign } from "@d3plus/dom";
|
|
3
|
-
import D3plusContext from "./D3plusContext.jsx";
|
|
4
|
-
/**
|
|
5
|
-
@function Viz
|
|
6
|
-
@param {Object} config An object containing method/value pairs to be passed to the visualization's .config( ) method.
|
|
7
|
-
@param {String} [className = "viz"] The class attribute value used for the root/wrapper <div> element.
|
|
8
|
-
@param {Function} [callback] A function to be invoked at the end of each render cycle (passed directly to the render method).
|
|
9
|
-
*/ export default function(param) {
|
|
10
|
-
var callback = param.callback, _param_className = param.className, className = _param_className === void 0 ? "viz" : _param_className, config = param.config, instance = param.instance;
|
|
11
|
-
var forceUpdate = config.forceUpdate;
|
|
12
|
-
var globalConfig = useContext(D3plusContext);
|
|
13
|
-
var container = useRef(null);
|
|
14
|
-
useEffect(function() {
|
|
15
|
-
if (container.current) {
|
|
16
|
-
var c = assign({
|
|
17
|
-
select: container.current
|
|
18
|
-
}, globalConfig, config);
|
|
19
|
-
instance.config(c);
|
|
20
|
-
[
|
|
21
|
-
"data",
|
|
22
|
-
"links",
|
|
23
|
-
"nodes",
|
|
24
|
-
"topojson"
|
|
25
|
-
].forEach(function(method) {
|
|
26
|
-
if (c["".concat(method, "Format")] && c[method]) {
|
|
27
|
-
instance[method](c[method], c["".concat(method, "Format")]);
|
|
28
|
-
delete c["".concat(method, "Format")];
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
instance.render(callback);
|
|
32
|
-
}
|
|
33
|
-
}, forceUpdate ? undefined : [
|
|
34
|
-
JSON.stringify(globalConfig),
|
|
35
|
-
JSON.stringify(config)
|
|
36
|
-
]);
|
|
37
|
-
return /*#__PURE__*/ React.createElement("div", {
|
|
38
|
-
className: className,
|
|
39
|
-
ref: container
|
|
40
|
-
});
|
|
41
|
-
};
|