@semcore/d3-chart 1.7.0 → 1.9.0
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/CHANGELOG.md +18 -0
- package/lib/cjs/Axis.js +33 -21
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +3 -3
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +3 -24
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +2 -1
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +1 -1
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +1 -1
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +8 -8
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +3 -3
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Plot.js +16 -2
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/RadialTree.js +691 -0
- package/lib/cjs/RadialTree.js.map +1 -0
- package/lib/cjs/ResponsiveContainer.js +2 -2
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/StackBar.js +8 -8
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +8 -8
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +6 -10
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +2 -2
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/createElement.js +3 -2
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js +8 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/axis.shadow.css +2 -4
- package/lib/cjs/style/plot.shadow.css +6 -0
- package/lib/cjs/style/radial-tree.shadow.css +23 -0
- package/lib/cjs/types/Area.d.ts +47 -0
- package/lib/cjs/types/Axis.d.ts +64 -0
- package/lib/cjs/types/Bar.d.ts +48 -0
- package/lib/cjs/types/Bubble.d.ts +27 -0
- package/lib/cjs/types/ClipPath.d.ts +26 -0
- package/lib/cjs/types/Donut.d.ts +42 -0
- package/lib/cjs/types/GroupBar.d.ts +20 -0
- package/lib/cjs/types/HorizontalBar.d.ts +29 -0
- package/lib/cjs/types/Hover.d.ts +15 -0
- package/lib/cjs/types/Line.d.ts +50 -0
- package/lib/cjs/types/Plot.d.ts +16 -0
- package/lib/cjs/types/ResponsiveContainer.d.ts +20 -0
- package/lib/cjs/types/ScatterPlot.d.ts +27 -0
- package/lib/cjs/types/StackBar.d.ts +26 -0
- package/lib/cjs/types/StackedArea.d.ts +26 -0
- package/lib/cjs/types/Tooltip.d.ts +31 -0
- package/lib/cjs/types/Venn.d.ts +45 -0
- package/lib/cjs/types/context.d.ts +6 -0
- package/lib/cjs/types/index.d.ts +53 -0
- package/lib/cjs/utils.js +120 -55
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Axis.js +33 -21
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +3 -3
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +3 -24
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +2 -1
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +1 -1
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +1 -1
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +8 -8
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +3 -3
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Plot.js +18 -2
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/RadialTree.js +679 -0
- package/lib/es6/RadialTree.js.map +1 -0
- package/lib/es6/ResponsiveContainer.js +2 -2
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/StackBar.js +8 -8
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +8 -8
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +6 -10
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +2 -2
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/createElement.js +3 -2
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/index.js +1 -0
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/axis.shadow.css +2 -4
- package/lib/es6/style/plot.shadow.css +6 -0
- package/lib/es6/style/radial-tree.shadow.css +23 -0
- package/lib/es6/types/Area.d.ts +47 -0
- package/lib/es6/types/Axis.d.ts +64 -0
- package/lib/es6/types/Bar.d.ts +48 -0
- package/lib/es6/types/Bubble.d.ts +27 -0
- package/lib/es6/types/ClipPath.d.ts +26 -0
- package/lib/es6/types/Donut.d.ts +42 -0
- package/lib/es6/types/GroupBar.d.ts +20 -0
- package/lib/es6/types/HorizontalBar.d.ts +29 -0
- package/lib/es6/types/Hover.d.ts +15 -0
- package/lib/es6/types/Line.d.ts +50 -0
- package/lib/es6/types/Plot.d.ts +16 -0
- package/lib/es6/types/ResponsiveContainer.d.ts +20 -0
- package/lib/es6/types/ScatterPlot.d.ts +27 -0
- package/lib/es6/types/StackBar.d.ts +26 -0
- package/lib/es6/types/StackedArea.d.ts +26 -0
- package/lib/es6/types/Tooltip.d.ts +31 -0
- package/lib/es6/types/Venn.d.ts +45 -0
- package/lib/es6/types/context.d.ts +6 -0
- package/lib/es6/types/index.d.ts +53 -0
- package/lib/es6/utils.js +95 -44
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/RadialTree.d.ts +202 -0
- package/lib/types/index.d.ts +6 -0
- package/lib/types/utils.d.ts +27 -0
- package/package.json +17 -10
- package/src/Axis.jsx +11 -1
- package/src/Bubble.jsx +1 -21
- package/src/ClipPath.jsx +1 -0
- package/src/Donut.jsx +7 -9
- package/src/Plot.jsx +2 -0
- package/src/RadialTree.tsx +768 -0
- package/src/createElement.jsx +3 -1
- package/src/index.js +1 -0
- package/src/style/axis.shadow.css +2 -4
- package/src/style/plot.shadow.css +6 -0
- package/src/style/radial-tree.shadow.css +23 -0
- package/src/types/index.d.ts +6 -0
- package/src/utils.ts +227 -0
- package/src/utils.js +0 -147
package/lib/cjs/utils.js
CHANGED
|
@@ -5,17 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.CONSTANT = void 0;
|
|
9
|
-
exports.definedData = definedData;
|
|
10
|
-
exports.definedNullData = definedNullData;
|
|
11
|
-
exports.eventToPoint = eventToPoint;
|
|
12
|
-
exports.getBandwidth = getBandwidth;
|
|
13
|
-
exports.getIndexFromData = getIndexFromData;
|
|
14
|
-
exports.getNullData = getNullData;
|
|
15
|
-
exports.invert = invert;
|
|
16
|
-
exports.minMax = minMax;
|
|
17
|
-
exports.roundedPath = roundedPath;
|
|
18
|
-
exports.scaleOfBandwidth = scaleOfBandwidth;
|
|
8
|
+
exports.scaleOfBandwidth = exports.roundedPath = exports.minMax = exports.memoize = exports.measureText = exports.invert = exports.getNullData = exports.getIndexFromData = exports.getBandwidth = exports.eventToPoint = exports.definedNullData = exports.definedData = exports.CONSTANT = void 0;
|
|
19
9
|
|
|
20
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
11
|
|
|
@@ -23,6 +13,12 @@ var _d3Array = require("d3-array");
|
|
|
23
13
|
|
|
24
14
|
var _d3Scale = require("d3-scale");
|
|
25
15
|
|
|
16
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
17
|
+
|
|
18
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
19
|
+
|
|
20
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
21
|
+
|
|
26
22
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
23
|
|
|
28
24
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -32,36 +28,46 @@ var CONSTANT = {
|
|
|
32
28
|
};
|
|
33
29
|
exports.CONSTANT = CONSTANT;
|
|
34
30
|
|
|
35
|
-
function eventToPoint(event, svgRoot) {
|
|
31
|
+
var eventToPoint = function eventToPoint(event, svgRoot) {
|
|
36
32
|
var node = event.currentTarget || event.target;
|
|
37
33
|
var rect = svgRoot.getBoundingClientRect();
|
|
38
34
|
return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];
|
|
39
|
-
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.eventToPoint = eventToPoint;
|
|
40
38
|
|
|
41
|
-
function invert(scale, value) {
|
|
39
|
+
var invert = function invert(scale, value) {
|
|
42
40
|
if (scale.invert) return scale.invert(value);
|
|
43
41
|
var range = scale.range();
|
|
44
42
|
var domain = scale.domain();
|
|
45
43
|
return (0, _d3Scale.scaleQuantize)().domain(range[0] <= range[1] ? range : range.slice().reverse()).range(range[0] <= range[1] ? domain : domain.slice().reverse())(value);
|
|
46
|
-
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
exports.invert = invert;
|
|
47
47
|
|
|
48
|
-
function definedNullData(x, y) {
|
|
49
|
-
return function (
|
|
50
|
-
return
|
|
48
|
+
var definedNullData = function definedNullData(x, y) {
|
|
49
|
+
return function (plot) {
|
|
50
|
+
return plot[x] !== null && plot[y] !== null;
|
|
51
51
|
};
|
|
52
|
-
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
exports.definedNullData = definedNullData;
|
|
53
55
|
|
|
54
|
-
function definedData(x, y) {
|
|
55
|
-
return function (
|
|
56
|
-
return
|
|
56
|
+
var definedData = function definedData(x, y) {
|
|
57
|
+
return function (plot) {
|
|
58
|
+
return plot[x] !== null && plot[x] !== undefined && plot[y] !== null && plot[y] !== undefined;
|
|
57
59
|
};
|
|
58
|
-
}
|
|
60
|
+
};
|
|
59
61
|
|
|
60
|
-
|
|
62
|
+
exports.definedData = definedData;
|
|
63
|
+
|
|
64
|
+
var scaleOfBandwidth = function scaleOfBandwidth(scale, value) {
|
|
61
65
|
return scale.bandwidth ? scale(value) + scale.bandwidth() / 2 : scale(value);
|
|
62
|
-
}
|
|
66
|
+
};
|
|
63
67
|
|
|
64
|
-
|
|
68
|
+
exports.scaleOfBandwidth = scaleOfBandwidth;
|
|
69
|
+
|
|
70
|
+
var minMax = function minMax(data, key) {
|
|
65
71
|
if (typeof key === 'string') {
|
|
66
72
|
return (0, _d3Array.extent)(data, function (d) {
|
|
67
73
|
return d[key];
|
|
@@ -69,9 +75,11 @@ function minMax(data, key) {
|
|
|
69
75
|
}
|
|
70
76
|
|
|
71
77
|
return (0, _d3Array.extent)(data, key);
|
|
72
|
-
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
exports.minMax = minMax;
|
|
73
81
|
|
|
74
|
-
function getNullData(data, defined, name) {
|
|
82
|
+
var getNullData = function getNullData(data, defined, name) {
|
|
75
83
|
return data.reduce(function (acc, d, i, data) {
|
|
76
84
|
if (defined(d)) {
|
|
77
85
|
acc.push((0, _defineProperty2["default"])({}, name, null));
|
|
@@ -102,9 +110,11 @@ function getNullData(data, defined, name) {
|
|
|
102
110
|
|
|
103
111
|
return acc;
|
|
104
112
|
}, []);
|
|
105
|
-
}
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
exports.getNullData = getNullData;
|
|
106
116
|
|
|
107
|
-
function getIndexFromData(data, scale, key, value) {
|
|
117
|
+
var getIndexFromData = function getIndexFromData(data, scale, key, value) {
|
|
108
118
|
// detect line chart
|
|
109
119
|
if ('invert' in scale && typeof scale.invert === 'function') {
|
|
110
120
|
var bisect = (0, _d3Array.bisector)(function (d) {
|
|
@@ -118,59 +128,63 @@ function getIndexFromData(data, scale, key, value) {
|
|
|
118
128
|
});
|
|
119
129
|
return index >= 0 ? index : null;
|
|
120
130
|
} else {
|
|
131
|
+
// eslint-disable-next-line no-console
|
|
121
132
|
console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');
|
|
122
133
|
return null;
|
|
123
134
|
}
|
|
124
|
-
}
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
exports.getIndexFromData = getIndexFromData;
|
|
125
138
|
|
|
126
|
-
function roundedPath(x, y, w, h, r) {
|
|
139
|
+
var roundedPath = function roundedPath(x, y, w, h, r) {
|
|
127
140
|
var tl = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
128
141
|
var tr = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
129
142
|
var bl = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
|
|
130
143
|
var br = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
|
|
131
|
-
var
|
|
132
|
-
|
|
133
|
-
retval += 'h' + (w - 2 * r);
|
|
144
|
+
var result = 'M' + (x + r) + ',' + y;
|
|
145
|
+
result += 'h' + (w - 2 * r);
|
|
134
146
|
|
|
135
147
|
if (tr) {
|
|
136
|
-
|
|
148
|
+
result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + r;
|
|
137
149
|
} else {
|
|
138
|
-
|
|
139
|
-
|
|
150
|
+
result += 'h' + r;
|
|
151
|
+
result += 'v' + r;
|
|
140
152
|
}
|
|
141
153
|
|
|
142
|
-
|
|
154
|
+
result += 'v' + (h - 2 * r);
|
|
143
155
|
|
|
144
156
|
if (br) {
|
|
145
|
-
|
|
157
|
+
result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + r;
|
|
146
158
|
} else {
|
|
147
|
-
|
|
148
|
-
|
|
159
|
+
result += 'v' + r;
|
|
160
|
+
result += 'h' + -r;
|
|
149
161
|
}
|
|
150
162
|
|
|
151
|
-
|
|
163
|
+
result += 'h' + (2 * r - w);
|
|
152
164
|
|
|
153
165
|
if (bl) {
|
|
154
|
-
|
|
166
|
+
result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + -r;
|
|
155
167
|
} else {
|
|
156
|
-
|
|
157
|
-
|
|
168
|
+
result += 'h' + -r;
|
|
169
|
+
result += 'v' + -r;
|
|
158
170
|
}
|
|
159
171
|
|
|
160
|
-
|
|
172
|
+
result += 'v' + (2 * r - h);
|
|
161
173
|
|
|
162
174
|
if (tl) {
|
|
163
|
-
|
|
175
|
+
result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + -r;
|
|
164
176
|
} else {
|
|
165
|
-
|
|
166
|
-
|
|
177
|
+
result += 'v' + -r;
|
|
178
|
+
result += 'h' + r;
|
|
167
179
|
}
|
|
168
180
|
|
|
169
|
-
|
|
170
|
-
return
|
|
171
|
-
}
|
|
181
|
+
result += 'z';
|
|
182
|
+
return result;
|
|
183
|
+
};
|
|
172
184
|
|
|
173
|
-
|
|
185
|
+
exports.roundedPath = roundedPath;
|
|
186
|
+
|
|
187
|
+
var getBandwidth = function getBandwidth(scale) {
|
|
174
188
|
if ('bandwidth' in scale) {
|
|
175
189
|
return scale.bandwidth();
|
|
176
190
|
}
|
|
@@ -178,5 +192,56 @@ function getBandwidth(scale) {
|
|
|
178
192
|
var range = scale.range();
|
|
179
193
|
var domain = scale.domain();
|
|
180
194
|
return Math.abs(range[range.length - 1] - range[0]) / domain.length;
|
|
181
|
-
}
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
exports.getBandwidth = getBandwidth;
|
|
198
|
+
|
|
199
|
+
var memoize = function memoize(func) {
|
|
200
|
+
var results = {};
|
|
201
|
+
return function () {
|
|
202
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
203
|
+
args[_key] = arguments[_key];
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
var argsKey = args.join(',');
|
|
207
|
+
|
|
208
|
+
if (!results[argsKey]) {
|
|
209
|
+
results[argsKey] = func.apply(void 0, args);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
return results[argsKey];
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
exports.memoize = memoize;
|
|
217
|
+
var measureText = memoize(function (text, fontSize) {
|
|
218
|
+
if (!text) return 0;
|
|
219
|
+
var span = document.createElement('span');
|
|
220
|
+
|
|
221
|
+
if (fontSize) {
|
|
222
|
+
span.style.fontSize = "".concat(fontSize, "px");
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
var _iterator = _createForOfIteratorHelper(text.split('\n')),
|
|
226
|
+
_step;
|
|
227
|
+
|
|
228
|
+
try {
|
|
229
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
230
|
+
var line = _step.value;
|
|
231
|
+
span.append(document.createTextNode(line));
|
|
232
|
+
span.append(document.createElement('br'));
|
|
233
|
+
}
|
|
234
|
+
} catch (err) {
|
|
235
|
+
_iterator.e(err);
|
|
236
|
+
} finally {
|
|
237
|
+
_iterator.f();
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
span.style.display = 'inline-block';
|
|
241
|
+
document.body.append(span);
|
|
242
|
+
var textWidth = span.offsetWidth;
|
|
243
|
+
span.remove();
|
|
244
|
+
return textWidth;
|
|
245
|
+
});
|
|
246
|
+
exports.measureText = measureText;
|
|
182
247
|
//# sourceMappingURL=utils.js.map
|
package/lib/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils.js"],"names":["CONSTANT","VIRTUAL_ELEMENT","Symbol","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","slice","reverse","definedNullData","x","y","p","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","d","getNullData","defined","name","reduce","acc","i","push","prev","next","defNext","find","length","defPrev","getIndexFromData","bisect","center","step","index","findIndex","console","warn","roundedPath","w","h","r","tl","tr","bl","br","retval","getBandwidth","Math","abs"],"mappings":"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","sourcesContent":["import { extent, bisector } from 'd3-array';\nimport { scaleQuantize } from 'd3-scale';\n\nconst CONSTANT = {\n VIRTUAL_ELEMENT: Symbol('VIRTUAL_ELEMENT'),\n};\n\nexport { CONSTANT };\n\nexport function eventToPoint(event, svgRoot) {\n const node = event.currentTarget || event.target;\n const rect = svgRoot.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n}\n\nexport function invert(scale, value) {\n if (scale.invert) return scale.invert(value);\n\n const range = scale.range();\n const domain = scale.domain();\n\n return scaleQuantize()\n .domain(range[0] <= range[1] ? range : range.slice().reverse())\n .range(range[0] <= range[1] ? domain : domain.slice().reverse())(value);\n}\n\nexport function definedNullData(x, y) {\n return (p) => p[x] !== null && p[y] !== null;\n}\n\nexport function definedData(x, y) {\n return (p) => {\n return p[x] !== null && p[x] !== undefined && p[y] !== null && p[y] !== undefined;\n };\n}\n\nexport function scaleOfBandwidth(scale, value) {\n return scale.bandwidth ? scale(value) + scale.bandwidth() / 2 : scale(value);\n}\n\nexport function minMax(data, key) {\n if (typeof key === 'string') {\n return extent(data, (d) => d[key]);\n }\n return extent(data, key);\n}\n\nexport function getNullData(data, defined, name) {\n return data.reduce((acc, d, i, data) => {\n if (defined(d)) {\n acc.push({\n [name]: null,\n });\n } else {\n const prev = data[i - 1];\n const next = data[i + 1];\n\n if (i === 0) {\n const defNext = data.find(defined);\n acc.push({\n ...d,\n [name]: defNext ? defNext[name] : null,\n });\n }\n\n // prev\n if (prev && defined(prev)) {\n acc.push(prev);\n }\n\n // next\n if (next && defined(next)) {\n acc.push(next);\n }\n\n if (data.length - 1 === i) {\n const defPrev = data.slice().reverse().find(defined);\n acc.push({\n ...d,\n [name]: defPrev ? defPrev[name] : null,\n });\n }\n }\n return acc;\n }, []);\n}\n\nexport function getIndexFromData(data, scale, key, value) {\n // detect line chart\n if ('invert' in scale && typeof scale.invert === 'function') {\n const bisect = bisector((d) => d[key]).center;\n return bisect(data, value);\n }\n // detect bar chart\n else if ('step' in scale && typeof scale.step !== 'undefined') {\n const index = data.findIndex((d) => d[key] === value);\n return index >= 0 ? index : null;\n } else {\n console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');\n return null;\n }\n}\n\nexport function roundedPath(x, y, w, h, r, tl = false, tr = false, bl = false, br = false) {\n let retval;\n retval = 'M' + (x + r) + ',' + y;\n retval += 'h' + (w - 2 * r);\n if (tr) {\n retval += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + r;\n } else {\n retval += 'h' + r;\n retval += 'v' + r;\n }\n retval += 'v' + (h - 2 * r);\n if (br) {\n retval += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + r;\n } else {\n retval += 'v' + r;\n retval += 'h' + -r;\n }\n retval += 'h' + (2 * r - w);\n if (bl) {\n retval += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + -r;\n } else {\n retval += 'h' + -r;\n retval += 'v' + -r;\n }\n retval += 'v' + (2 * r - h);\n if (tl) {\n retval += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + -r;\n } else {\n retval += 'v' + -r;\n retval += 'h' + r;\n }\n retval += 'z';\n return retval;\n}\n\nexport function getBandwidth(scale) {\n if ('bandwidth' in scale) {\n return scale.bandwidth();\n }\n\n const range = scale.range();\n const domain = scale.domain();\n return Math.abs(range[range.length - 1] - range[0]) / domain.length;\n}\n"],"file":"utils.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils.ts"],"names":["CONSTANT","VIRTUAL_ELEMENT","Symbol","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","d","getNullData","defined","name","reduce","acc","i","push","prev","next","defNext","find","length","defPrev","getIndexFromData","bisect","center","step","index","findIndex","console","warn","roundedPath","w","h","r","tl","tr","bl","br","result","getBandwidth","Math","abs","memoize","func","results","args","argsKey","join","measureText","text","fontSize","span","document","createElement","style","split","line","append","createTextNode","display","body","textWidth","offsetWidth","remove"],"mappings":"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","sourcesContent":["import { extent, bisector, Numeric } from 'd3-array';\nimport {\n scaleQuantize,\n ScaleIdentity,\n ScaleTime,\n ScaleContinuousNumeric,\n ScaleBand,\n ScalePoint,\n NumberValue,\n} from 'd3-scale';\nimport React from 'react';\n\nconst CONSTANT = {\n VIRTUAL_ELEMENT: Symbol('VIRTUAL_ELEMENT'),\n} as const;\n\nexport { CONSTANT };\n\nexport const eventToPoint = (event: React.MouseEvent<HTMLElement>, svgRoot: SVGElement) => {\n const node = (event.currentTarget || event.target) as HTMLElement;\n const rect = svgRoot.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n};\n\ntype InvertableScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>;\nexport const invert = <Scale extends InvertableScale = InvertableScale>(\n scale: Scale,\n value: number,\n) => {\n if (scale.invert) return scale.invert(value);\n\n const range = scale.range() as number[];\n const domain = scale.domain();\n\n return scaleQuantize()\n .domain((range[0] <= range[1] ? range : range.slice().reverse()) as NumberValue[])\n .range((range[0] <= range[1] ? domain : domain.slice().reverse()) as number[])(value);\n};\n\nexport const definedNullData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[y] !== null;\n\nexport const definedData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[x] !== undefined && plot[y] !== null && plot[y] !== undefined;\n\nexport const scaleOfBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale, value: number) =>\n scale.bandwidth ? scale(value)! + scale.bandwidth() / 2 : scale(value);\n\nexport const minMax = <\n Key extends string = string,\n Data extends Iterable<{ [key in Key]: Numeric | null | undefined }> = Iterable<{\n [key in Key]: Numeric | null | undefined;\n }>,\n>(\n data: Data,\n key: Key,\n) => {\n if (typeof key === 'string') {\n return extent(data, (d) => d[key]);\n }\n return extent(data, key);\n};\n\nexport const getNullData = <\n Name extends string = string,\n Data extends { [name in Name]?: unknown | null } = {},\n>(\n data: Data[],\n defined: (data: Data) => boolean,\n name: Name,\n) =>\n data.reduce((acc, d, i, data) => {\n if (defined(d)) {\n acc.push({\n [name]: null,\n } as Data);\n } else {\n const prev = data[i - 1];\n const next = data[i + 1];\n\n if (i === 0) {\n const defNext = data.find(defined);\n acc.push({\n ...d,\n [name]: defNext ? defNext[name] : null,\n });\n }\n\n // prev\n if (prev && defined(prev)) {\n acc.push(prev);\n }\n\n // next\n if (next && defined(next)) {\n acc.push(next);\n }\n\n if (data.length - 1 === i) {\n const defPrev = data.slice().reverse().find(defined);\n acc.push({\n ...d,\n [name]: defPrev ? defPrev[name] : null,\n });\n }\n }\n return acc;\n }, [] as Data[]);\n\ntype IndexFromDataScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>\n | ScaleBand<{}>\n | ScalePoint<{}>;\nexport const getIndexFromData = <\n Data extends {\n [key: string]: number;\n } = {},\n Scale extends IndexFromDataScale = IndexFromDataScale,\n>(\n data: Data[],\n scale: Scale,\n key: string,\n value: number,\n) => {\n // detect line chart\n if ('invert' in scale && typeof scale.invert === 'function') {\n const bisect = bisector((d: { [key: string]: number }) => d[key]).center;\n return bisect(data, value);\n }\n // detect bar chart\n else if ('step' in scale && typeof scale.step !== 'undefined') {\n const index = data.findIndex((d) => d[key] === value);\n return index >= 0 ? index : null;\n } else {\n // eslint-disable-next-line no-console\n console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');\n return null;\n }\n};\n\nexport const roundedPath = (\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n tl = false,\n tr = false,\n bl = false,\n br = false,\n) => {\n let result = 'M' + (x + r) + ',' + y;\n result += 'h' + (w - 2 * r);\n if (tr) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + r;\n } else {\n result += 'h' + r;\n result += 'v' + r;\n }\n result += 'v' + (h - 2 * r);\n if (br) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + r;\n } else {\n result += 'v' + r;\n result += 'h' + -r;\n }\n result += 'h' + (2 * r - w);\n if (bl) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + -r;\n } else {\n result += 'h' + -r;\n result += 'v' + -r;\n }\n result += 'v' + (2 * r - h);\n if (tl) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + -r;\n } else {\n result += 'v' + -r;\n result += 'h' + r;\n }\n result += 'z';\n return result;\n};\n\nexport const getBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale) => {\n if ('bandwidth' in scale) {\n return scale.bandwidth();\n }\n\n const range = scale.range();\n const domain = scale.domain();\n return Math.abs(range[range.length - 1] - range[0]) / domain.length;\n};\n\nexport const memoize = <Func extends (...args: any[]) => any>(func: Func): Func => {\n const results: { [cacheKey: string]: any } = {};\n return ((...args: any[]) => {\n const argsKey = args.join(',');\n if (!results[argsKey]) {\n results[argsKey] = func(...args);\n }\n return results[argsKey];\n }) as Func;\n};\n\nexport const measureText = memoize((text: string, fontSize?: number) => {\n if (!text) return 0;\n\n const span = document.createElement('span');\n if (fontSize) {\n span.style.fontSize = `${fontSize}px`;\n }\n for (const line of text.split('\\n')) {\n span.append(document.createTextNode(line));\n span.append(document.createElement('br'));\n }\n span.style.display = 'inline-block';\n document.body.append(span);\n const textWidth = span.offsetWidth;\n span.remove();\n return textWidth;\n});\n"],"file":"utils.js"}
|
package/lib/es6/Axis.js
CHANGED
|
@@ -27,22 +27,23 @@ var style = (
|
|
|
27
27
|
/*__reshadow_css_start__*/
|
|
28
28
|
_sstyled.insert(
|
|
29
29
|
/*__inner_css_start__*/
|
|
30
|
-
".
|
|
30
|
+
".___SAxis_wl4ee_gg_{stroke:#a6b0b3}.___SAxis_wl4ee_gg_.__hide_wl4ee_gg_{display:none}.___STick_wl4ee_gg_{font-size:12px;fill:#757575}.___STick_wl4ee_gg_.__hide_wl4ee_gg_{display:none}.___SGrid_wl4ee_gg_{fill:transparent;stroke:#dee3e5}.___STitle_wl4ee_gg_{font-size:12px;fill:#757575;transform-origin:var(--transform-origin_16jhmok)}.___STitle_wl4ee_gg_._position_top_wl4ee_gg_{text-anchor:middle;transform:translateY(-16px)}.___STitle_wl4ee_gg_._position_bottom_wl4ee_gg_{text-anchor:middle;alignment-baseline:hanging;transform:translateY(16px)}.___STitle_wl4ee_gg_._position_right_wl4ee_gg_{transform:rotate(-90deg);alignment-baseline:middle}.___STitle_wl4ee_gg_._position_left_wl4ee_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STick_wl4ee_gg_._position_top_wl4ee_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_wl4ee_gg_._position_bottom_wl4ee_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_wl4ee_gg_._position_right_wl4ee_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_wl4ee_gg_._position_left_wl4ee_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_wl4ee_gg_._position_custom_0_wl4ee_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_wl4ee_gg_._position_custom_1_wl4ee_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
|
|
31
31
|
/*__inner_css_end__*/
|
|
32
|
-
, "
|
|
32
|
+
, "16jhmok_gg_")
|
|
33
33
|
/*__reshadow_css_end__*/
|
|
34
34
|
, {
|
|
35
|
-
"__SAxis": "
|
|
36
|
-
"_hide": "
|
|
37
|
-
"__STick": "
|
|
38
|
-
"__SGrid": "
|
|
39
|
-
"__STitle": "
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
35
|
+
"__SAxis": "___SAxis_wl4ee_gg_",
|
|
36
|
+
"_hide": "__hide_wl4ee_gg_",
|
|
37
|
+
"__STick": "___STick_wl4ee_gg_",
|
|
38
|
+
"__SGrid": "___SGrid_wl4ee_gg_",
|
|
39
|
+
"__STitle": "___STitle_wl4ee_gg_",
|
|
40
|
+
"--transform-origin": "--transform-origin_16jhmok",
|
|
41
|
+
"_position_top": "_position_top_wl4ee_gg_",
|
|
42
|
+
"_position_bottom": "_position_bottom_wl4ee_gg_",
|
|
43
|
+
"_position_right": "_position_right_wl4ee_gg_",
|
|
44
|
+
"_position_left": "_position_left_wl4ee_gg_",
|
|
45
|
+
"_position_custom_0": "_position_custom_0_wl4ee_gg_",
|
|
46
|
+
"_position_custom_1": "_position_custom_1_wl4ee_gg_"
|
|
46
47
|
});
|
|
47
48
|
var CUSTOM_0 = Symbol('custom_0');
|
|
48
49
|
var CUSTOM_1 = Symbol('custom_1');
|
|
@@ -345,7 +346,7 @@ var AxisRoot = /*#__PURE__*/function (_Component) {
|
|
|
345
346
|
}, {
|
|
346
347
|
key: "render",
|
|
347
348
|
value: function render() {
|
|
348
|
-
var _ref
|
|
349
|
+
var _ref;
|
|
349
350
|
|
|
350
351
|
var SAxis = this.Element;
|
|
351
352
|
var _this$asProps3 = this.asProps,
|
|
@@ -354,7 +355,7 @@ var AxisRoot = /*#__PURE__*/function (_Component) {
|
|
|
354
355
|
scale = _this$asProps3.scale,
|
|
355
356
|
hide = _this$asProps3.hide,
|
|
356
357
|
indexScale = _this$asProps3.indexScale;
|
|
357
|
-
var pos =
|
|
358
|
+
var pos = MAP_POSITION_AXIS[position] ?? MAP_POSITION_AXIS[MAP_INDEX_SCALE_SYMBOL[indexScale]];
|
|
358
359
|
return _ref = sstyled(styles), /*#__PURE__*/React.createElement(SAxis, _ref.cn("SAxis", _objectSpread({
|
|
359
360
|
"render": "line",
|
|
360
361
|
"hide": hide
|
|
@@ -370,8 +371,6 @@ _defineProperty(AxisRoot, "displayName", 'Axis');
|
|
|
370
371
|
_defineProperty(AxisRoot, "style", style);
|
|
371
372
|
|
|
372
373
|
function Ticks(props) {
|
|
373
|
-
var _MAP_POSITION_TICK$po;
|
|
374
|
-
|
|
375
374
|
var STick = props.Element,
|
|
376
375
|
styles = props.styles,
|
|
377
376
|
scale = props.scale,
|
|
@@ -379,7 +378,7 @@ function Ticks(props) {
|
|
|
379
378
|
position = props.position,
|
|
380
379
|
hide = props.hide,
|
|
381
380
|
indexScale = props.indexScale;
|
|
382
|
-
var pos =
|
|
381
|
+
var pos = MAP_POSITION_TICK[position] ?? MAP_POSITION_TICK[MAP_INDEX_SCALE_SYMBOL[indexScale]];
|
|
383
382
|
var positionClass = MAP_POSITION_TICK[position] ? position : 'custom_' + indexScale;
|
|
384
383
|
return ticks.map(function (value, i) {
|
|
385
384
|
var _ref2;
|
|
@@ -420,11 +419,24 @@ function Title(props) {
|
|
|
420
419
|
styles = props.styles,
|
|
421
420
|
scale = props.scale,
|
|
422
421
|
position = props.position;
|
|
423
|
-
|
|
422
|
+
|
|
423
|
+
var _MAP_POSITION_TITlE$p = MAP_POSITION_TITlE[position](scale),
|
|
424
|
+
x = _MAP_POSITION_TITlE$p.x,
|
|
425
|
+
y = _MAP_POSITION_TITlE$p.y;
|
|
426
|
+
|
|
427
|
+
var sstyles = sstyled(styles);
|
|
428
|
+
var sTitleStyles = sstyles.cn('STitle', {
|
|
429
|
+
'transform-origin': "".concat(x.toFixed(2), "px ").concat(y.toFixed(2), "px")
|
|
430
|
+
});
|
|
431
|
+
return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(STitle, _ref4.cn("STitle", {
|
|
424
432
|
"render": "text",
|
|
425
433
|
"childrenPosition": "inside",
|
|
426
|
-
"position": position
|
|
427
|
-
|
|
434
|
+
"position": position,
|
|
435
|
+
"className": sTitleStyles.className,
|
|
436
|
+
"style": sTitleStyles.style,
|
|
437
|
+
"x": x,
|
|
438
|
+
"y": y
|
|
439
|
+
}));
|
|
428
440
|
}
|
|
429
441
|
|
|
430
442
|
var XAxis = createElement(AxisRoot, {
|
package/lib/es6/Axis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Axis.jsx"],"names":["React","Component","sstyled","createElement","scaleOfBandwidth","CUSTOM_0","Symbol","CUSTOM_1","MAP_INDEX_SCALE_SYMBOL","MAP_POSITION_REVERT","top","right","bottom","left","MAP_POSITION_AXIS","xScale","yScale","xRange","range","yRange","x1","y1","x2","y2","pos","MAP_POSITION_TICK","value","x","y","MAP_POSITION_GRID","TICKS_OVERLAP_SHIFT","MAP_POSITION_TITlE","renderValue","Date","toLocaleDateString","AxisRoot","asProps","ticks","indexScale","scale","scl","domain","position","SAxis","Element","styles","hide","style","Ticks","props","STick","positionClass","map","i","Grid","SGrid","Title","STitle","XAxis","defaultProps","YAxis"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { scaleOfBandwidth } from './utils';\n\nimport style from './style/axis.shadow.css';\n\nconst CUSTOM_0 = Symbol('custom_0');\nconst CUSTOM_1 = Symbol('custom_1');\n\nconst MAP_INDEX_SCALE_SYMBOL = {\n 0: CUSTOM_0,\n 1: CUSTOM_1,\n};\n\nconst MAP_POSITION_REVERT = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nconst MAP_POSITION_AXIS = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[1],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[0],\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[1],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[0],\n y2: yRange[1],\n };\n },\n [CUSTOM_0]: ([xScale, yScale], pos) => {\n const xRange = xScale.range();\n return {\n x1: xRange[0],\n y1: scaleOfBandwidth(yScale, pos),\n x2: xRange[1],\n y2: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], pos) => {\n const yRange = yScale.range();\n return {\n x1: scaleOfBandwidth(xScale, pos),\n y1: yRange[0],\n x2: scaleOfBandwidth(xScale, pos),\n y2: yRange[1],\n };\n },\n};\n\nconst MAP_POSITION_TICK = {\n top: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[0],\n };\n },\n right: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[1],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n left: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[0],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n [CUSTOM_0]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, value),\n y: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, pos),\n y: scaleOfBandwidth(yScale, value),\n };\n },\n};\n\nconst MAP_POSITION_GRID = {\n 0: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n y1: yRange[0],\n x2: x,\n y2: yRange[1],\n };\n },\n 1: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n y1: y,\n x2: xRange[1],\n y2: y,\n };\n },\n};\n\nconst TICKS_OVERLAP_SHIFT = 15;\nconst MAP_POSITION_TITlE = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[0] + TICKS_OVERLAP_SHIFT,\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1],\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[0] / 2,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n};\n\nfunction renderValue(value) {\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n return value;\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Axis';\n\n static style = style;\n\n get ticks() {\n const { ticks, indexScale, scale } = this.asProps;\n const scl = scale[indexScale];\n return ticks || (scl.ticks && scl.ticks()) || (scl.domain && scl.domain()) || [];\n }\n\n getTitleProps() {\n const { position } = this.asProps;\n return {\n position: MAP_POSITION_REVERT[position],\n };\n }\n\n getTicksProps() {\n const { position, indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n position,\n };\n }\n\n getGridProps() {\n const { indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n };\n }\n\n render() {\n const SAxis = this.Element;\n const { styles, position, scale, hide, indexScale } = this.asProps;\n\n const pos =\n MAP_POSITION_AXIS[position] ?? MAP_POSITION_AXIS[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n\n return sstyled(styles)(<SAxis render=\"line\" hide={hide} {...pos(scale, position)} />);\n }\n}\n\nfunction Ticks(props) {\n const { Element: STick, styles, scale, ticks, position, hide, indexScale } = props;\n\n const pos = MAP_POSITION_TICK[position] ?? MAP_POSITION_TICK[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n const positionClass = MAP_POSITION_TICK[position] ? position : 'custom_' + indexScale;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <STick\n key={i}\n render=\"text\"\n childrenPosition=\"inside\"\n __excludeProps={['data', 'scale', 'format', 'value']}\n value={value}\n index={i}\n position={positionClass}\n hide={hide}\n {...pos(scale, value, position)}\n >\n {renderValue(value)}\n </STick>,\n );\n });\n}\n\nfunction Grid(props) {\n const { Element: SGrid, styles, scale, ticks, indexScale } = props;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <SGrid key={i} render=\"line\" {...MAP_POSITION_GRID[indexScale](scale, value)} />,\n );\n });\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position } = props;\n\n return sstyled(styles)(\n <STitle\n render=\"text\"\n childrenPosition=\"inside\"\n position={position}\n {...MAP_POSITION_TITlE[position](scale)}\n />,\n );\n}\n\nconst XAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nXAxis.defaultProps = {\n indexScale: 0,\n position: 'bottom',\n};\n\nconst YAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nYAxis.defaultProps = {\n indexScale: 1,\n position: 'left',\n hide: true,\n};\n\nexport { XAxis, YAxis };\n"],"file":"Axis.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Axis.jsx"],"names":["React","Component","sstyled","createElement","scaleOfBandwidth","CUSTOM_0","Symbol","CUSTOM_1","MAP_INDEX_SCALE_SYMBOL","MAP_POSITION_REVERT","top","right","bottom","left","MAP_POSITION_AXIS","xScale","yScale","xRange","range","yRange","x1","y1","x2","y2","pos","MAP_POSITION_TICK","value","x","y","MAP_POSITION_GRID","TICKS_OVERLAP_SHIFT","MAP_POSITION_TITlE","renderValue","Date","toLocaleDateString","AxisRoot","asProps","ticks","indexScale","scale","scl","domain","position","SAxis","Element","styles","hide","style","Ticks","props","STick","positionClass","map","i","Grid","SGrid","Title","STitle","sstyles","sTitleStyles","cn","toFixed","className","XAxis","defaultProps","YAxis"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { scaleOfBandwidth } from './utils';\n\nimport style from './style/axis.shadow.css';\n\nconst CUSTOM_0 = Symbol('custom_0');\nconst CUSTOM_1 = Symbol('custom_1');\n\nconst MAP_INDEX_SCALE_SYMBOL = {\n 0: CUSTOM_0,\n 1: CUSTOM_1,\n};\n\nconst MAP_POSITION_REVERT = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nconst MAP_POSITION_AXIS = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[1],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[0],\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[1],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[0],\n y2: yRange[1],\n };\n },\n [CUSTOM_0]: ([xScale, yScale], pos) => {\n const xRange = xScale.range();\n return {\n x1: xRange[0],\n y1: scaleOfBandwidth(yScale, pos),\n x2: xRange[1],\n y2: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], pos) => {\n const yRange = yScale.range();\n return {\n x1: scaleOfBandwidth(xScale, pos),\n y1: yRange[0],\n x2: scaleOfBandwidth(xScale, pos),\n y2: yRange[1],\n };\n },\n};\n\nconst MAP_POSITION_TICK = {\n top: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[0],\n };\n },\n right: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[1],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n left: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[0],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n [CUSTOM_0]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, value),\n y: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, pos),\n y: scaleOfBandwidth(yScale, value),\n };\n },\n};\n\nconst MAP_POSITION_GRID = {\n 0: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n y1: yRange[0],\n x2: x,\n y2: yRange[1],\n };\n },\n 1: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n y1: y,\n x2: xRange[1],\n y2: y,\n };\n },\n};\n\nconst TICKS_OVERLAP_SHIFT = 15;\nconst MAP_POSITION_TITlE = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[0] + TICKS_OVERLAP_SHIFT,\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1],\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[0] / 2,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n};\n\nfunction renderValue(value) {\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n return value;\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Axis';\n\n static style = style;\n\n get ticks() {\n const { ticks, indexScale, scale } = this.asProps;\n const scl = scale[indexScale];\n return ticks || (scl.ticks && scl.ticks()) || (scl.domain && scl.domain()) || [];\n }\n\n getTitleProps() {\n const { position } = this.asProps;\n return {\n position: MAP_POSITION_REVERT[position],\n };\n }\n\n getTicksProps() {\n const { position, indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n position,\n };\n }\n\n getGridProps() {\n const { indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n };\n }\n\n render() {\n const SAxis = this.Element;\n const { styles, position, scale, hide, indexScale } = this.asProps;\n\n const pos =\n MAP_POSITION_AXIS[position] ?? MAP_POSITION_AXIS[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n\n return sstyled(styles)(<SAxis render=\"line\" hide={hide} {...pos(scale, position)} />);\n }\n}\n\nfunction Ticks(props) {\n const { Element: STick, styles, scale, ticks, position, hide, indexScale } = props;\n\n const pos = MAP_POSITION_TICK[position] ?? MAP_POSITION_TICK[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n const positionClass = MAP_POSITION_TICK[position] ? position : 'custom_' + indexScale;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <STick\n key={i}\n render=\"text\"\n childrenPosition=\"inside\"\n __excludeProps={['data', 'scale', 'format', 'value']}\n value={value}\n index={i}\n position={positionClass}\n hide={hide}\n {...pos(scale, value, position)}\n >\n {renderValue(value)}\n </STick>,\n );\n });\n}\n\nfunction Grid(props) {\n const { Element: SGrid, styles, scale, ticks, indexScale } = props;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <SGrid key={i} render=\"line\" {...MAP_POSITION_GRID[indexScale](scale, value)} />,\n );\n });\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position } = props;\n\n const { x, y } = MAP_POSITION_TITlE[position](scale);\n\n const sstyles = sstyled(styles);\n const sTitleStyles = sstyles.cn('STitle', {\n 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return sstyled(styles)(\n <STitle\n render=\"text\"\n childrenPosition=\"inside\"\n position={position}\n className={sTitleStyles.className}\n style={sTitleStyles.style}\n x={x}\n y={y}\n />,\n );\n}\n\nconst XAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nXAxis.defaultProps = {\n indexScale: 0,\n position: 'bottom',\n};\n\nconst YAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nYAxis.defaultProps = {\n indexScale: 1,\n position: 'left',\n hide: true,\n};\n\nexport { XAxis, YAxis };\n"],"file":"Axis.js"}
|
package/lib/es6/Bar.js
CHANGED
|
@@ -84,7 +84,7 @@ var BarRoot = /*#__PURE__*/function (_Component) {
|
|
|
84
84
|
}, {
|
|
85
85
|
key: "renderBar",
|
|
86
86
|
value: function renderBar(d, i) {
|
|
87
|
-
var _ref
|
|
87
|
+
var _ref;
|
|
88
88
|
|
|
89
89
|
var SBar = this.Element;
|
|
90
90
|
var _this$asProps3 = this.asProps,
|
|
@@ -105,9 +105,9 @@ var BarRoot = /*#__PURE__*/function (_Component) {
|
|
|
105
105
|
xScale = _scale[0],
|
|
106
106
|
yScale = _scale[1];
|
|
107
107
|
|
|
108
|
-
var barY = yScale(Math.max(
|
|
108
|
+
var barY = yScale(Math.max(d[y0] ?? 0, d[y])) + offset[1];
|
|
109
109
|
var barX = xScale(d[x]) + offset[0];
|
|
110
|
-
var height = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(
|
|
110
|
+
var height = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)));
|
|
111
111
|
var width = widthProps || getBandwidth(xScale);
|
|
112
112
|
var dSvg = getRect({
|
|
113
113
|
x: barX,
|
package/lib/es6/Bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Bar.jsx"],"names":["React","transition","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","attr","animationBar","d","i","SBar","Element","styles","color","y","y0","scale","hide","offset","r","widthProps","width","xScale","yScale","barY","Math","max","barX","height","abs","min","domain","dSvg","getRect","radius","Array","isArray","position","size","map","renderBar","bind","style","Background","SBackground","yRange","range","bandwidth"],"mappings":";;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,QAA2B,eAA3B;AACA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,eAAnC;AACA,OAAOC,mBAAP,MAAgC,6BAAhC;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,SAASC,YAAT,EAAuBC,WAAvB,QAA0C,SAA1C;;;;;;;;;;;;;;;;;;;;IAIMC,O;;;;;;;;;;;;;WAWJ,4BAAmBC,KAAnB,EAA0BC,KAA1B,EAAiC;AAC/B,0BAAoB,KAAKC,OAAzB;AAAA,UAAQC,CAAR,iBAAQA,CAAR;AAAA,UAAWC,IAAX,iBAAWA,IAAX;AACA,aAAO;AACLC,QAAAA,KAAK,EAAED,IAAI,CAACH,KAAD,CAAJ,CAAYE,CAAZ;AADF,OAAP;AAGD;;;WAED,wBAAe;AACb,2BAA0B,KAAKD,OAA/B;AAAA,UAAQI,QAAR,kBAAQA,QAAR;AAAA,UAAkBC,GAAlB,kBAAkBA,GAAlB;AACA,UAAMC,UAAU,GAAGjB,UAAU,GAAGkB,SAAb,GAAyBC,SAAzB,YAAuCH,GAAvC,WAAnB;AACA,UAAMI,cAAc,GAAGH,UAAU,CAACI,IAAX,EAAvB;;AAEA,UAAIN,QAAQ,GAAG,CAAX,IAAgBK,cAAhB,IAAkCA,cAAc,CAACE,YAAf,CAA4B,GAA5B,MAAqC,GAA3E,EAAgF;AAC9EL,QAAAA,UAAU,CAACjB,UAAX,GAAwBe,QAAxB,CAAiCA,QAAjC,EAA2CQ,IAA3C,CAAgD,GAAhD,EAAqD,CAArD;AACD;AACF;;;WAED,8BAAqB;AACnB,WAAKC,YAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,YAAL;AACD;;;WAED,mBAAUC,CAAV,EAAaC,CAAb,EAAgB;AAAA;;AACd,UAAMC,IAAI,GAAG,KAAKC,OAAlB;AACA,2BAaI,KAAKjB,OAbT;AAAA,UACEkB,MADF,kBACEA,MADF;AAAA,UAEEC,KAFF,kBAEEA,KAFF;AAAA,UAGElB,CAHF,kBAGEA,CAHF;AAAA,UAIEmB,CAJF,kBAIEA,CAJF;AAAA,UAKEC,EALF,kBAKEA,EALF;AAAA,UAMEC,KANF,kBAMEA,KANF;AAAA,UAOEC,IAPF,kBAOEA,IAPF;AAAA,UAQEC,MARF,kBAQEA,MARF;AAAA,UASEpB,QATF,kBASEA,QATF;AAAA,UAUEC,GAVF,kBAUEA,GAVF;AAAA,UAWEoB,CAXF,kBAWEA,CAXF;AAAA,UAYSC,UAZT,kBAYEC,KAZF;;AAeA,kCAAyBL,KAAzB;AAAA,UAAOM,MAAP;AAAA,UAAeC,MAAf;;AACA,UAAMC,IAAI,GAAGD,MAAM,CAACE,IAAI,CAACC,GAAL,
|
|
1
|
+
{"version":3,"sources":["../../src/Bar.jsx"],"names":["React","transition","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","attr","animationBar","d","i","SBar","Element","styles","color","y","y0","scale","hide","offset","r","widthProps","width","xScale","yScale","barY","Math","max","barX","height","abs","min","domain","dSvg","getRect","radius","Array","isArray","position","size","map","renderBar","bind","style","Background","SBackground","yRange","range","bandwidth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n y,\n y0,\n scale,\n hide,\n offset,\n duration,\n uid,\n r,\n width: widthProps,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const barY = yScale(Math.max(d[y0] ?? 0, d[y])) + offset[1];\n const barX = xScale(d[x]) + offset[0];\n const height = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const width = widthProps || getBandwidth(xScale);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 ? 'top' : 'bottom',\n });\n\n return sstyled(styles)(\n <SBar\n key={`bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n use:duration={`${duration}ms`}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n key={`${uid}-animation`}\n id={uid}\n x=\"0\"\n y={size[1]}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xScale.bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height <= radius) return '';\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"file":"Bar.js"}
|