@semcore/d3-chart 2.13.4 → 2.13.5
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 +6 -0
- package/lib/cjs/Area.js +59 -97
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +76 -143
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +49 -96
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +39 -81
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +9 -35
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +77 -152
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +29 -57
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +5 -26
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +43 -84
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +33 -88
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +42 -78
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +27 -73
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/Radar.js +152 -277
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +105 -211
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +45 -87
- package/lib/cjs/ReferenceLine.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +9 -38
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +34 -74
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +9 -38
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +5 -29
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +27 -76
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +32 -75
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +18 -71
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +19 -83
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
- package/lib/cjs/a11y/bezier.js +0 -7
- package/lib/cjs/a11y/bezier.js.map +1 -1
- package/lib/cjs/a11y/focus.js +2 -11
- package/lib/cjs/a11y/focus.js.map +1 -1
- package/lib/cjs/a11y/hints.js +0 -13
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/insights.js +21 -132
- package/lib/cjs/a11y/insights.js.map +1 -1
- package/lib/cjs/a11y/intl.js +0 -6
- package/lib/cjs/a11y/intl.js.map +1 -1
- package/lib/cjs/a11y/locale.js +4 -22
- package/lib/cjs/a11y/locale.js.map +1 -1
- package/lib/cjs/a11y/serialize.js +23 -83
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/a11y/summarize.js +0 -4
- package/lib/cjs/a11y/summarize.js.map +1 -1
- package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js +0 -13
- package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js +0 -13
- package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/color.js +0 -3
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/createElement.js +18 -47
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js +0 -23
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/cjs/types/index.d.js +0 -39
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js +7 -59
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +59 -86
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +76 -135
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +49 -86
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +39 -70
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +9 -23
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +77 -141
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +29 -46
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +5 -15
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +43 -75
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +33 -85
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +42 -67
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +27 -66
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/Radar.js +152 -281
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +105 -203
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +45 -79
- package/lib/es6/ReferenceLine.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +9 -28
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +34 -65
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +9 -26
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +5 -18
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +27 -63
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +32 -64
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +18 -52
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +19 -53
- package/lib/es6/a11y/PlotA11yView.js.map +1 -1
- package/lib/es6/a11y/bezier.js +0 -5
- package/lib/es6/a11y/bezier.js.map +1 -1
- package/lib/es6/a11y/focus.js +2 -9
- package/lib/es6/a11y/focus.js.map +1 -1
- package/lib/es6/a11y/hints.js +0 -3
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/insights.js +21 -133
- package/lib/es6/a11y/insights.js.map +1 -1
- package/lib/es6/a11y/intl.js +0 -1
- package/lib/es6/a11y/intl.js.map +1 -1
- package/lib/es6/a11y/locale.js +4 -18
- package/lib/es6/a11y/locale.js.map +1 -1
- package/lib/es6/a11y/serialize.js +23 -74
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/a11y/summarize.js.map +1 -1
- package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/color.js +0 -1
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/createElement.js +18 -34
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/es6/types/index.d.js +5 -3
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js +7 -28
- package/lib/es6/utils.js.map +1 -1
- package/package.json +1 -1
package/lib/es6/createElement.js
CHANGED
|
@@ -2,8 +2,8 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
4
|
var _excluded = ["render", "childrenPosition", "x", "y"],
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
_excluded2 = ["forwardRef", "children", "Children", "x", "y"],
|
|
6
|
+
_excluded3 = ["$rootProps"];
|
|
7
7
|
import React, { useContext } from 'react';
|
|
8
8
|
import hoistNonReactStatics from 'hoist-non-react-statics';
|
|
9
9
|
import createComponent, { createBaseComponent, CONTEXT_COMPONENT } from '@semcore/core';
|
|
@@ -13,28 +13,25 @@ import propsForElement from '@semcore/utils/lib/propsForElement';
|
|
|
13
13
|
import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
|
|
14
14
|
import Plot from './Plot';
|
|
15
15
|
var EXCLUDE_PROPS = ['data', 'scale'];
|
|
16
|
-
|
|
17
16
|
function createElementRender() {
|
|
18
17
|
var Element = /*#__PURE__*/React.forwardRef(function ( // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
19
18
|
_ref, ref) {
|
|
20
19
|
var render = _ref.render,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
_ref$childrenPosition = _ref.childrenPosition,
|
|
21
|
+
childrenPosition = _ref$childrenPosition === void 0 ? 'below' : _ref$childrenPosition,
|
|
22
|
+
xS = _ref.x,
|
|
23
|
+
yS = _ref.y,
|
|
24
|
+
source = _objectWithoutProperties(_ref, _excluded);
|
|
27
25
|
var _Element$props = Element.props,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
_Element$props$forwar = _Element$props.forwardRef,
|
|
27
|
+
forwardRef = _Element$props$forwar === void 0 ? null : _Element$props$forwar,
|
|
28
|
+
_children = _Element$props.children,
|
|
29
|
+
Children = _Element$props.Children,
|
|
30
|
+
_Element$props$x = _Element$props.x,
|
|
31
|
+
x = _Element$props$x === void 0 ? xS : _Element$props$x,
|
|
32
|
+
_Element$props$y = _Element$props.y,
|
|
33
|
+
y = _Element$props$y === void 0 ? yS : _Element$props$y,
|
|
34
|
+
props = _objectWithoutProperties(_Element$props, _excluded2);
|
|
38
35
|
var children = getOriginChildren(Children);
|
|
39
36
|
var mergedProps = assignProps(_objectSpread(_objectSpread({
|
|
40
37
|
x: xS,
|
|
@@ -45,24 +42,19 @@ function createElementRender() {
|
|
|
45
42
|
x: x,
|
|
46
43
|
y: y
|
|
47
44
|
}, source));
|
|
48
|
-
|
|
49
45
|
if (typeof children === 'function') {
|
|
50
46
|
var _child = mergedProps.children;
|
|
51
47
|
mergedProps = assignProps(children(mergedProps), mergedProps);
|
|
52
48
|
children = mergedProps.children;
|
|
53
49
|
mergedProps.children = _child;
|
|
54
50
|
}
|
|
55
|
-
|
|
56
51
|
var Tag = typeof render === 'string' ? mergedProps.tag || render : render;
|
|
57
|
-
|
|
58
52
|
if (childrenPosition === 'inside') {
|
|
59
53
|
mergedProps.children = children === undefined ? mergedProps.children : children;
|
|
60
54
|
}
|
|
61
|
-
|
|
62
55
|
if (!Tag) {
|
|
63
56
|
throw new Error('Element expected render prop to be passed');
|
|
64
57
|
}
|
|
65
|
-
|
|
66
58
|
return [/*#__PURE__*/React.createElement(React.Fragment, {
|
|
67
59
|
key: "child-above"
|
|
68
60
|
}, childrenPosition === 'above' ? children : null), /*#__PURE__*/React.createElement(Tag, _extends({
|
|
@@ -78,7 +70,6 @@ function createElementRender() {
|
|
|
78
70
|
Element.props = {};
|
|
79
71
|
return Element;
|
|
80
72
|
}
|
|
81
|
-
|
|
82
73
|
function elementEnhancement() {
|
|
83
74
|
return {
|
|
84
75
|
init: function init() {
|
|
@@ -86,14 +77,12 @@ function elementEnhancement() {
|
|
|
86
77
|
},
|
|
87
78
|
asProps: function asProps(_ref2, WrapperComponent, isFunction) {
|
|
88
79
|
var $rootProps = _ref2.$rootProps,
|
|
89
|
-
|
|
90
|
-
|
|
80
|
+
props = _objectWithoutProperties(_ref2, _excluded3);
|
|
91
81
|
if (isFunction) {
|
|
92
82
|
return _objectSpread(_objectSpread(_objectSpread({}, $rootProps), props), {}, {
|
|
93
83
|
Element: this.Element
|
|
94
84
|
});
|
|
95
85
|
}
|
|
96
|
-
|
|
97
86
|
return _objectSpread(_objectSpread({}, $rootProps), props);
|
|
98
87
|
},
|
|
99
88
|
render: function render(_render, props) {
|
|
@@ -102,24 +91,20 @@ function elementEnhancement() {
|
|
|
102
91
|
}
|
|
103
92
|
};
|
|
104
93
|
}
|
|
105
|
-
|
|
106
94
|
function WrapComponent(Element) {
|
|
107
95
|
function ElementWithContext(props, ref) {
|
|
108
96
|
var _useContext = useContext(Plot[CONTEXT_COMPONENT]),
|
|
109
|
-
|
|
110
|
-
|
|
97
|
+
$rootProps = _useContext.$rootProps;
|
|
111
98
|
return /*#__PURE__*/React.createElement(Element, _extends({
|
|
112
99
|
ref: ref,
|
|
113
100
|
$rootProps: $rootProps
|
|
114
101
|
}, props));
|
|
115
102
|
}
|
|
116
|
-
|
|
117
103
|
ElementWithContext.displayName = Element.displayName;
|
|
118
104
|
var WrapperComponent = createBaseComponent(ElementWithContext);
|
|
119
105
|
WrapperComponent.displayName = Element.displayName;
|
|
120
106
|
return hoistNonReactStatics(WrapperComponent, Element);
|
|
121
107
|
}
|
|
122
|
-
|
|
123
108
|
function createElement(ElementRoot) {
|
|
124
109
|
var child = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
125
110
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
@@ -131,6 +116,5 @@ function createElement(ElementRoot) {
|
|
|
131
116
|
});
|
|
132
117
|
return WrapComponent(Element);
|
|
133
118
|
}
|
|
134
|
-
|
|
135
119
|
export default createElement;
|
|
136
120
|
//# sourceMappingURL=createElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createElement.js","names":["React","useContext","hoistNonReactStatics","createComponent","createBaseComponent","CONTEXT_COMPONENT","assignProps","useForkRef","propsForElement","getOriginChildren","Plot","EXCLUDE_PROPS","createElementRender","Element","forwardRef","ref","render","childrenPosition","xS","x","yS","y","source","props","_children","children","Children","mergedProps","_child","Tag","tag","undefined","Error","__excludeProps","elementEnhancement","init","asProps","WrapperComponent","isFunction","$rootProps","WrapComponent","ElementWithContext","
|
|
1
|
+
{"version":3,"file":"createElement.js","names":["React","useContext","hoistNonReactStatics","createComponent","createBaseComponent","CONTEXT_COMPONENT","assignProps","useForkRef","propsForElement","getOriginChildren","Plot","EXCLUDE_PROPS","createElementRender","Element","forwardRef","_ref","ref","render","_ref$childrenPosition","childrenPosition","xS","x","yS","y","source","_objectWithoutProperties","_excluded","_Element$props","props","_Element$props$forwar","_children","children","Children","_Element$props$x","_Element$props$y","_excluded2","mergedProps","_objectSpread","_child","Tag","tag","undefined","Error","createElement","Fragment","key","_extends","__excludeProps","elementEnhancement","init","asProps","_ref2","WrapperComponent","isFunction","$rootProps","_excluded3","WrapComponent","ElementWithContext","_useContext","displayName","ElementRoot","child","arguments","length","options","enhancements","Object","keys","forEach","n"],"sources":["../../src/createElement.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport createComponent, { createBaseComponent, CONTEXT_COMPONENT } from '@semcore/core';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport { useForkRef } from '@semcore/utils/lib/ref';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport Plot from './Plot';\n\nconst EXCLUDE_PROPS = ['data', 'scale'];\n\nfunction createElementRender() {\n const Element = React.forwardRef(function (\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n { render, childrenPosition = 'below', x: xS, y: yS, ...source },\n ref,\n ) {\n const {\n forwardRef = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n children: _children,\n Children,\n x = xS,\n y = yS,\n ...props\n } = Element.props;\n let children = getOriginChildren(Children);\n\n let mergedProps = assignProps(\n {\n x: xS,\n y: yS,\n ...props,\n ref: useForkRef(forwardRef, ref),\n },\n {\n x,\n y,\n ...source,\n },\n );\n\n if (typeof children === 'function') {\n const _child = mergedProps.children;\n mergedProps = assignProps(children(mergedProps), mergedProps);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n const Tag = typeof render === 'string' ? mergedProps.tag || render : render;\n\n if (childrenPosition === 'inside') {\n mergedProps.children = children === undefined ? mergedProps.children : children;\n }\n\n if (!Tag) {\n throw new Error('Element expected render prop to be passed');\n }\n return [\n <React.Fragment key=\"child-above\">\n {childrenPosition === 'above' ? children : null}\n </React.Fragment>,\n <Tag\n aria-hidden\n {...propsForElement(\n {\n __excludeProps: EXCLUDE_PROPS,\n ...mergedProps,\n },\n Tag,\n )}\n key=\"element\"\n />,\n <React.Fragment key=\"child-below\">\n {childrenPosition === 'below' ? children : null}\n </React.Fragment>,\n ];\n });\n\n Element.props = {};\n return Element;\n}\n\nfunction elementEnhancement() {\n return {\n init: function () {\n this.Element = createElementRender();\n },\n asProps: function ({ $rootProps, ...props }, WrapperComponent, isFunction) {\n if (isFunction) {\n return {\n ...$rootProps,\n ...props,\n Element: this.Element,\n };\n }\n return {\n ...$rootProps,\n ...props,\n };\n },\n render: function (render, props) {\n this.Element.props = props;\n return render;\n },\n };\n}\n\nfunction WrapComponent(Element) {\n function ElementWithContext(props, ref) {\n const { $rootProps } = useContext(Plot[CONTEXT_COMPONENT]);\n return <Element ref={ref} $rootProps={$rootProps} {...props} />;\n }\n\n ElementWithContext.displayName = Element.displayName;\n\n const WrapperComponent = createBaseComponent(ElementWithContext);\n WrapperComponent.displayName = Element.displayName;\n\n return hoistNonReactStatics(WrapperComponent, Element);\n}\n\nfunction createElement(ElementRoot, child = {}, options = {}) {\n const Element = createComponent(ElementRoot, child, {\n ...options,\n enhancements: [elementEnhancement],\n });\n\n Object.keys(child).forEach((n) => {\n Element[n] = WrapComponent(Element[n]);\n });\n\n return WrapComponent(Element);\n}\n\nexport default createElement;\n"],"mappings":"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"}
|
package/lib/es6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","Plot","XAxis","YAxis","Line","Bar","HorizontalBar","GroupBar","StackBar","Area","StackedArea","ScatterPlot","Bubble","RadialTree","Donut","Venn","Radar","getLabelOffsetPosition","Tooltip","ResponsiveContainer","ReferenceLine","HoverLine","HoverRect","minMax","colors"],"sources":["../../src/index.js"],"sourcesContent":["export { default as Plot } from './Plot';\n\nexport { XAxis, YAxis } from './Axis';\n\nexport { default as Line } from './Line';\n\nexport { default as Bar } from './Bar';\nexport { default as HorizontalBar } from './HorizontalBar';\nexport { default as GroupBar } from './GroupBar';\nexport { default as StackBar } from './StackBar';\nexport { default as Area } from './Area';\nexport { default as StackedArea } from './StackedArea';\nexport { default as ScatterPlot } from './ScatterPlot';\nexport { default as Bubble } from './Bubble';\nexport { default as RadialTree } from './RadialTree';\nexport { default as Donut } from './Donut';\nexport { default as Venn } from './Venn';\nexport { default as Radar, getLabelOffsetPosition } from './Radar';\n\nexport { default as Tooltip } from './Tooltip';\n\nexport { default as ResponsiveContainer } from './ResponsiveContainer';\nexport { default as ReferenceLine } from './ReferenceLine';\n\nexport { HoverLine, HoverRect } from './Hover';\n\nexport { minMax } from './utils';\nexport { colors } from './color';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","Plot","XAxis","YAxis","Line","Bar","HorizontalBar","GroupBar","StackBar","Area","StackedArea","ScatterPlot","Bubble","RadialTree","Donut","Venn","Radar","getLabelOffsetPosition","Tooltip","ResponsiveContainer","ReferenceLine","HoverLine","HoverRect","minMax","colors"],"sources":["../../src/index.js"],"sourcesContent":["export { default as Plot } from './Plot';\n\nexport { XAxis, YAxis } from './Axis';\n\nexport { default as Line } from './Line';\n\nexport { default as Bar } from './Bar';\nexport { default as HorizontalBar } from './HorizontalBar';\nexport { default as GroupBar } from './GroupBar';\nexport { default as StackBar } from './StackBar';\nexport { default as Area } from './Area';\nexport { default as StackedArea } from './StackedArea';\nexport { default as ScatterPlot } from './ScatterPlot';\nexport { default as Bubble } from './Bubble';\nexport { default as RadialTree } from './RadialTree';\nexport { default as Donut } from './Donut';\nexport { default as Venn } from './Venn';\nexport { default as Radar, getLabelOffsetPosition } from './Radar';\n\nexport { default as Tooltip } from './Tooltip';\n\nexport { default as ResponsiveContainer } from './ResponsiveContainer';\nexport { default as ReferenceLine } from './ReferenceLine';\n\nexport { HoverLine, HoverRect } from './Hover';\n\nexport { minMax } from './utils';\nexport { colors } from './color';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,IAAI,QAAQ,QAAQ;AAExC,SAASC,KAAK,EAAEC,KAAK,QAAQ,QAAQ;AAErC,SAASH,OAAO,IAAII,IAAI,QAAQ,QAAQ;AAExC,SAASJ,OAAO,IAAIK,GAAG,QAAQ,OAAO;AACtC,SAASL,OAAO,IAAIM,aAAa,QAAQ,iBAAiB;AAC1D,SAASN,OAAO,IAAIO,QAAQ,QAAQ,YAAY;AAChD,SAASP,OAAO,IAAIQ,QAAQ,QAAQ,YAAY;AAChD,SAASR,OAAO,IAAIS,IAAI,QAAQ,QAAQ;AACxC,SAAST,OAAO,IAAIU,WAAW,QAAQ,eAAe;AACtD,SAASV,OAAO,IAAIW,WAAW,QAAQ,eAAe;AACtD,SAASX,OAAO,IAAIY,MAAM,QAAQ,UAAU;AAC5C,SAASZ,OAAO,IAAIa,UAAU,QAAQ,cAAc;AACpD,SAASb,OAAO,IAAIc,KAAK,QAAQ,SAAS;AAC1C,SAASd,OAAO,IAAIe,IAAI,QAAQ,QAAQ;AACxC,SAASf,OAAO,IAAIgB,KAAK,EAAEC,sBAAsB,QAAQ,SAAS;AAElE,SAASjB,OAAO,IAAIkB,OAAO,QAAQ,WAAW;AAE9C,SAASlB,OAAO,IAAImB,mBAAmB,QAAQ,uBAAuB;AACtE,SAASnB,OAAO,IAAIoB,aAAa,QAAQ,iBAAiB;AAE1D,SAASC,SAAS,EAAEC,SAAS,QAAQ,SAAS;AAE9C,SAASC,MAAM,QAAQ,SAAS;AAChC,SAASC,MAAM,QAAQ,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plot.d.js","names":["MapProps"],"sources":["../../../src/types/Plot.d.ts"],"sourcesContent":["import { IBoxProps } from '@semcore/flex-box';\nimport { ReturnEl } from '@semcore/core';\nimport { MapProps } from './Plot';\nimport IContext from './context';\n\nexport interface IPlotProps extends IContext, IBoxProps {\n /** Width of the svg element\n * @default 0*/\n width?: number;\n /** Height of the svg element\n * @default 0*/\n height?: number;\n /** Human readable chart name (e.g \"Last market trends\") */\n label?: string;\n /**\n * Locale for displaying the days of a week and months, to be transferred to `Intl`\n * @default en\n * */\n locale?: NavigatorLanguage['language'];\n /** Optional prop to tune up alt text generating for charts */\n a11yAltTextConfig?: PlotSummarizerConfig;\n}\n\nexport type PlotSummarizerConfig = {\n /** Totally disable automatic data summarization */\n disable?: boolean;\n /** Disable automatic data summarization and use provided text */\n override?: string;\n /** Tuning up time series trends analyzing. Represents angle tangens of time series change of different strength */\n trendTangens?: {\n /** Angle tangens of time series that have meaningful trending change\n * @default 1/15\n */\n static?: number;\n /** Angle tangens of time series that have weak trending change\n * @default 1/10\n */\n weak?: number;\n /** Angle tangens of time series that have medium trending change\n * @default 1/5\n */\n medium?: number;\n /** Angle tangens of time series that have strong trending change\n * @default Infinity\n */\n strong?: number;\n };\n /** Tuning up time series local trends detection based on moving averages */\n movingAverage?: {\n /** Frame size of long moving average\n * @default Math.sqrt(data.length)\n */\n longSize?: number;\n /** Frame size of short moving average\n * @default Math.sqrt(data.length)/2\n */\n shortSize?: number;\n /** Absolute difference between values on moving averages crossing to\n * be handled as local trend change.\n * @default StandardDeviation/10\n */\n notableDiff?: number;\n };\n /** The way data to be interpreted as. By default is based on used used Plot elements and data structure.\n */\n dataType?: 'time-series' | 'points-cloud' | 'values-set';\n /** Grid size to split data of point clouds into clusters.\n */\n clustersGridSize?: number;\n /** Limits some output lists in chart alt text\n * @default 100\n * **/\n maxListSymbols?: number;\n /** Always add time to dates in chart alt text **/\n datesWithTime?: boolean;\n /** Described clusters count before text \"and X more\"\n * @default false\n * **/\n clustersLimit?: number;\n /** Described values count before text \"and X more\"\n * @default false\n * **/\n valuesLimit?: number;\n /** Described grouped value groups count before text \"and X more\"\n * @default false\n * **/\n groupsLimit?: number;\n /** Additional field for extra text description to the data\n * **/\n additionalFields?: string[];\n};\n\nexport type MapProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?:\n | ((props: Props & Ctx, handlers: UCProps) => Props | React.PropsWithChildren)\n | React.ReactNode;\n};\n\ndeclare const Plot: <T>(props: MapProps<IPlotProps & T>) => ReturnEl;\n\nexport default Plot;\n"],"mappings":"AAEA,SAASA,
|
|
1
|
+
{"version":3,"file":"Plot.d.js","names":["MapProps"],"sources":["../../../src/types/Plot.d.ts"],"sourcesContent":["import { IBoxProps } from '@semcore/flex-box';\nimport { ReturnEl } from '@semcore/core';\nimport { MapProps } from './Plot';\nimport IContext from './context';\n\nexport interface IPlotProps extends IContext, IBoxProps {\n /** Width of the svg element\n * @default 0*/\n width?: number;\n /** Height of the svg element\n * @default 0*/\n height?: number;\n /** Human readable chart name (e.g \"Last market trends\") */\n label?: string;\n /**\n * Locale for displaying the days of a week and months, to be transferred to `Intl`\n * @default en\n * */\n locale?: NavigatorLanguage['language'];\n /** Optional prop to tune up alt text generating for charts */\n a11yAltTextConfig?: PlotSummarizerConfig;\n}\n\nexport type PlotSummarizerConfig = {\n /** Totally disable automatic data summarization */\n disable?: boolean;\n /** Disable automatic data summarization and use provided text */\n override?: string;\n /** Tuning up time series trends analyzing. Represents angle tangens of time series change of different strength */\n trendTangens?: {\n /** Angle tangens of time series that have meaningful trending change\n * @default 1/15\n */\n static?: number;\n /** Angle tangens of time series that have weak trending change\n * @default 1/10\n */\n weak?: number;\n /** Angle tangens of time series that have medium trending change\n * @default 1/5\n */\n medium?: number;\n /** Angle tangens of time series that have strong trending change\n * @default Infinity\n */\n strong?: number;\n };\n /** Tuning up time series local trends detection based on moving averages */\n movingAverage?: {\n /** Frame size of long moving average\n * @default Math.sqrt(data.length)\n */\n longSize?: number;\n /** Frame size of short moving average\n * @default Math.sqrt(data.length)/2\n */\n shortSize?: number;\n /** Absolute difference between values on moving averages crossing to\n * be handled as local trend change.\n * @default StandardDeviation/10\n */\n notableDiff?: number;\n };\n /** The way data to be interpreted as. By default is based on used used Plot elements and data structure.\n */\n dataType?: 'time-series' | 'points-cloud' | 'values-set';\n /** Grid size to split data of point clouds into clusters.\n */\n clustersGridSize?: number;\n /** Limits some output lists in chart alt text\n * @default 100\n * **/\n maxListSymbols?: number;\n /** Always add time to dates in chart alt text **/\n datesWithTime?: boolean;\n /** Described clusters count before text \"and X more\"\n * @default false\n * **/\n clustersLimit?: number;\n /** Described values count before text \"and X more\"\n * @default false\n * **/\n valuesLimit?: number;\n /** Described grouped value groups count before text \"and X more\"\n * @default false\n * **/\n groupsLimit?: number;\n /** Additional field for extra text description to the data\n * **/\n additionalFields?: string[];\n};\n\nexport type MapProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?:\n | ((props: Props & Ctx, handlers: UCProps) => Props | React.PropsWithChildren)\n | React.ReactNode;\n};\n\ndeclare const Plot: <T>(props: MapProps<IPlotProps & T>) => ReturnEl;\n\nexport default Plot;\n"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,QAAQ"}
|
package/lib/es6/types/index.d.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// Utils
|
|
2
|
+
|
|
2
3
|
// Color
|
|
4
|
+
|
|
3
5
|
export { default as Plot } from './Plot';
|
|
4
6
|
export * from './Plot';
|
|
5
7
|
export * from './Axis';
|
|
@@ -20,11 +22,11 @@ export { default as Area } from './Area';
|
|
|
20
22
|
export * from './Area';
|
|
21
23
|
export { default as StackedArea } from './StackedArea';
|
|
22
24
|
export * from './StackedArea';
|
|
25
|
+
|
|
23
26
|
/** It becomes resolvable after building and moving file to lib dir */
|
|
24
27
|
// eslint-disable-next-line import/no-unresolved
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
export { default as RadialTree } from './RadialTree';
|
|
29
|
+
// eslint-disable-next-line import/no-unresolved
|
|
28
30
|
export * from './RadialTree';
|
|
29
31
|
export { default as Radar } from './Radar';
|
|
30
32
|
export * from './Radar';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":["default","Plot","ResponsiveContainer","Line","Bar","HorizontalBar","GroupBar","StackBar","Area","StackedArea","RadialTree","Radar","Donut","Tooltip","ScatterPlot","Bubble","ReferenceLine","Venn"],"sources":["../../../src/types/index.d.ts"],"sourcesContent":["// Utils\nexport declare function minMax(data: any, key: string | number): any;\n\n// Color\nexport declare const colors: { [key: string]: string };\n\nexport { default as Plot } from './Plot';\nexport * from './Plot';\n\nexport * from './Axis';\nexport * from './Hover';\n\nexport { default as ResponsiveContainer } from './ResponsiveContainer';\nexport * from './ResponsiveContainer';\n\nexport { default as Line } from './Line';\nexport * from './Line';\n\nexport { default as Bar } from './Bar';\nexport * from './Bar';\n\nexport { default as HorizontalBar } from './HorizontalBar';\nexport * from './HorizontalBar';\n\nexport { default as GroupBar } from './GroupBar';\nexport * from './GroupBar';\n\nexport { default as StackBar } from './StackBar';\nexport * from './StackBar';\n\nexport { default as Area } from './Area';\nexport * from './Area';\n\nexport { default as StackedArea } from './StackedArea';\nexport * from './StackedArea';\n\n/** It becomes resolvable after building and moving file to lib dir */\n// eslint-disable-next-line import/no-unresolved\nexport { default as RadialTree } from './RadialTree';\n// eslint-disable-next-line import/no-unresolved\nexport * from './RadialTree';\n\nexport { default as Radar } from './Radar';\nexport * from './Radar';\n\nexport { default as Donut } from './Donut';\nexport * from './Donut';\n\nexport { default as Tooltip } from './Tooltip';\nexport * from './Tooltip';\n\nexport { default as ScatterPlot } from './ScatterPlot';\nexport * from './ScatterPlot';\n\nexport { default as Bubble } from './Bubble';\nexport * from './Bubble';\n\nexport { default as ReferenceLine } from './ReferenceLine';\nexport * from './ReferenceLine';\n\nexport { default as Venn } from './Venn';\nexport * from './Venn';\n"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.js","names":["default","Plot","ResponsiveContainer","Line","Bar","HorizontalBar","GroupBar","StackBar","Area","StackedArea","RadialTree","Radar","Donut","Tooltip","ScatterPlot","Bubble","ReferenceLine","Venn"],"sources":["../../../src/types/index.d.ts"],"sourcesContent":["// Utils\nexport declare function minMax(data: any, key: string | number): any;\n\n// Color\nexport declare const colors: { [key: string]: string };\n\nexport { default as Plot } from './Plot';\nexport * from './Plot';\n\nexport * from './Axis';\nexport * from './Hover';\n\nexport { default as ResponsiveContainer } from './ResponsiveContainer';\nexport * from './ResponsiveContainer';\n\nexport { default as Line } from './Line';\nexport * from './Line';\n\nexport { default as Bar } from './Bar';\nexport * from './Bar';\n\nexport { default as HorizontalBar } from './HorizontalBar';\nexport * from './HorizontalBar';\n\nexport { default as GroupBar } from './GroupBar';\nexport * from './GroupBar';\n\nexport { default as StackBar } from './StackBar';\nexport * from './StackBar';\n\nexport { default as Area } from './Area';\nexport * from './Area';\n\nexport { default as StackedArea } from './StackedArea';\nexport * from './StackedArea';\n\n/** It becomes resolvable after building and moving file to lib dir */\n// eslint-disable-next-line import/no-unresolved\nexport { default as RadialTree } from './RadialTree';\n// eslint-disable-next-line import/no-unresolved\nexport * from './RadialTree';\n\nexport { default as Radar } from './Radar';\nexport * from './Radar';\n\nexport { default as Donut } from './Donut';\nexport * from './Donut';\n\nexport { default as Tooltip } from './Tooltip';\nexport * from './Tooltip';\n\nexport { default as ScatterPlot } from './ScatterPlot';\nexport * from './ScatterPlot';\n\nexport { default as Bubble } from './Bubble';\nexport * from './Bubble';\n\nexport { default as ReferenceLine } from './ReferenceLine';\nexport * from './ReferenceLine';\n\nexport { default as Venn } from './Venn';\nexport * from './Venn';\n"],"mappings":"AAAA;;AAGA;;AAGA,SAASA,OAAO,IAAIC,IAAI,QAAQ,QAAQ;AACxC,cAAc,QAAQ;AAEtB,cAAc,QAAQ;AACtB,cAAc,SAAS;AAEvB,SAASD,OAAO,IAAIE,mBAAmB,QAAQ,uBAAuB;AACtE,cAAc,uBAAuB;AAErC,SAASF,OAAO,IAAIG,IAAI,QAAQ,QAAQ;AACxC,cAAc,QAAQ;AAEtB,SAASH,OAAO,IAAII,GAAG,QAAQ,OAAO;AACtC,cAAc,OAAO;AAErB,SAASJ,OAAO,IAAIK,aAAa,QAAQ,iBAAiB;AAC1D,cAAc,iBAAiB;AAE/B,SAASL,OAAO,IAAIM,QAAQ,QAAQ,YAAY;AAChD,cAAc,YAAY;AAE1B,SAASN,OAAO,IAAIO,QAAQ,QAAQ,YAAY;AAChD,cAAc,YAAY;AAE1B,SAASP,OAAO,IAAIQ,IAAI,QAAQ,QAAQ;AACxC,cAAc,QAAQ;AAEtB,SAASR,OAAO,IAAIS,WAAW,QAAQ,eAAe;AACtD,cAAc,eAAe;;AAE7B;AACA;AACA,SAAST,OAAO,IAAIU,UAAU,QAAQ,cAAc;AACpD;AACA,cAAc,cAAc;AAE5B,SAASV,OAAO,IAAIW,KAAK,QAAQ,SAAS;AAC1C,cAAc,SAAS;AAEvB,SAASX,OAAO,IAAIY,KAAK,QAAQ,SAAS;AAC1C,cAAc,SAAS;AAEvB,SAASZ,OAAO,IAAIa,OAAO,QAAQ,WAAW;AAC9C,cAAc,WAAW;AAEzB,SAASb,OAAO,IAAIc,WAAW,QAAQ,eAAe;AACtD,cAAc,eAAe;AAE7B,SAASd,OAAO,IAAIe,MAAM,QAAQ,UAAU;AAC5C,cAAc,UAAU;AAExB,SAASf,OAAO,IAAIgB,aAAa,QAAQ,iBAAiB;AAC1D,cAAc,iBAAiB;AAE/B,SAAShB,OAAO,IAAIiB,IAAI,QAAQ,QAAQ;AACxC,cAAc,QAAQ"}
|
package/lib/es6/utils.js
CHANGED
|
@@ -16,12 +16,10 @@ export var invert = function invert(scale, value) {
|
|
|
16
16
|
if ('invert' in scale && scale.invert) return scale.invert(value);
|
|
17
17
|
var range = scale.range();
|
|
18
18
|
var domain = scale.domain();
|
|
19
|
-
|
|
20
19
|
if ('paddingOuter' in scale) {
|
|
21
20
|
range[0] += scale.paddingOuter() * scale.step();
|
|
22
21
|
range[1] -= scale.paddingOuter() * scale.step();
|
|
23
22
|
}
|
|
24
|
-
|
|
25
23
|
return scaleQuantize().domain(range[0] <= range[1] ? range : range.slice().reverse()).range(range[0] <= range[1] ? domain : domain.slice().reverse())(value);
|
|
26
24
|
};
|
|
27
25
|
export var definedNullData = function definedNullData(x, y) {
|
|
@@ -43,7 +41,6 @@ export var minMax = function minMax(data, key) {
|
|
|
43
41
|
return d[key];
|
|
44
42
|
});
|
|
45
43
|
}
|
|
46
|
-
|
|
47
44
|
return extent(data, key);
|
|
48
45
|
};
|
|
49
46
|
export var getNullData = function getNullData(data, defined, name) {
|
|
@@ -53,28 +50,25 @@ export var getNullData = function getNullData(data, defined, name) {
|
|
|
53
50
|
} else {
|
|
54
51
|
var prev = data[i - 1];
|
|
55
52
|
var next = data[i + 1];
|
|
56
|
-
|
|
57
53
|
if (i === 0) {
|
|
58
54
|
var defNext = data.find(defined);
|
|
59
55
|
acc.push(_objectSpread(_objectSpread({}, d), {}, _defineProperty({}, name, defNext ? defNext[name] : null)));
|
|
60
|
-
}
|
|
61
|
-
|
|
56
|
+
}
|
|
62
57
|
|
|
58
|
+
// prev
|
|
63
59
|
if (prev && defined(prev)) {
|
|
64
60
|
acc.push(prev);
|
|
65
|
-
}
|
|
66
|
-
|
|
61
|
+
}
|
|
67
62
|
|
|
63
|
+
// next
|
|
68
64
|
if (next && defined(next)) {
|
|
69
65
|
acc.push(next);
|
|
70
66
|
}
|
|
71
|
-
|
|
72
67
|
if (data.length - 1 === i) {
|
|
73
68
|
var defPrev = data.slice().reverse().find(defined);
|
|
74
69
|
acc.push(_objectSpread(_objectSpread({}, d), {}, _defineProperty({}, name, defPrev ? defPrev[name] : null)));
|
|
75
70
|
}
|
|
76
71
|
}
|
|
77
|
-
|
|
78
72
|
return acc;
|
|
79
73
|
}, []);
|
|
80
74
|
};
|
|
@@ -85,7 +79,8 @@ export var getIndexFromData = function getIndexFromData(data, scale, key, value)
|
|
|
85
79
|
return d[key];
|
|
86
80
|
}).center;
|
|
87
81
|
return bisect(data, value);
|
|
88
|
-
}
|
|
82
|
+
}
|
|
83
|
+
// detect bar chart
|
|
89
84
|
else if ('step' in scale && typeof scale.step !== 'undefined') {
|
|
90
85
|
// console.log({ key, scale, value });
|
|
91
86
|
var index = data.findIndex(function (d) {
|
|
@@ -105,41 +100,33 @@ export var roundedPath = function roundedPath(x, y, w, h, r) {
|
|
|
105
100
|
var br = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
|
|
106
101
|
var result = 'M' + (x + r) + ',' + y;
|
|
107
102
|
result += 'h' + (w - 2 * r);
|
|
108
|
-
|
|
109
103
|
if (tr) {
|
|
110
104
|
result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + r;
|
|
111
105
|
} else {
|
|
112
106
|
result += 'h' + r;
|
|
113
107
|
result += 'v' + r;
|
|
114
108
|
}
|
|
115
|
-
|
|
116
109
|
result += 'v' + (h - 2 * r);
|
|
117
|
-
|
|
118
110
|
if (br) {
|
|
119
111
|
result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + r;
|
|
120
112
|
} else {
|
|
121
113
|
result += 'v' + r;
|
|
122
114
|
result += 'h' + -r;
|
|
123
115
|
}
|
|
124
|
-
|
|
125
116
|
result += 'h' + (2 * r - w);
|
|
126
|
-
|
|
127
117
|
if (bl) {
|
|
128
118
|
result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + -r;
|
|
129
119
|
} else {
|
|
130
120
|
result += 'h' + -r;
|
|
131
121
|
result += 'v' + -r;
|
|
132
122
|
}
|
|
133
|
-
|
|
134
123
|
result += 'v' + (2 * r - h);
|
|
135
|
-
|
|
136
124
|
if (tl) {
|
|
137
125
|
result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + -r;
|
|
138
126
|
} else {
|
|
139
127
|
result += 'v' + -r;
|
|
140
128
|
result += 'h' + r;
|
|
141
129
|
}
|
|
142
|
-
|
|
143
130
|
result += 'z';
|
|
144
131
|
return result;
|
|
145
132
|
};
|
|
@@ -147,7 +134,6 @@ export var getBandwidth = function getBandwidth(scale) {
|
|
|
147
134
|
if ('bandwidth' in scale) {
|
|
148
135
|
return scale.bandwidth();
|
|
149
136
|
}
|
|
150
|
-
|
|
151
137
|
var range = scale.range();
|
|
152
138
|
var domain = scale.domain();
|
|
153
139
|
return Math.abs(range[range.length - 1] - range[0]) / domain.length;
|
|
@@ -158,27 +144,21 @@ export var memoize = function memoize(func) {
|
|
|
158
144
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
159
145
|
args[_key] = arguments[_key];
|
|
160
146
|
}
|
|
161
|
-
|
|
162
147
|
var argsKey = args.join(',');
|
|
163
|
-
|
|
164
148
|
if (!results[argsKey]) {
|
|
165
149
|
results[argsKey] = func.apply(void 0, args);
|
|
166
150
|
}
|
|
167
|
-
|
|
168
151
|
return results[argsKey];
|
|
169
152
|
};
|
|
170
153
|
};
|
|
171
154
|
export var measureText = memoize(function (text, fontSize) {
|
|
172
155
|
if (!text) return 0;
|
|
173
156
|
var span = document.createElement('span');
|
|
174
|
-
|
|
175
157
|
if (fontSize) {
|
|
176
158
|
span.style.fontSize = "".concat(fontSize, "px");
|
|
177
159
|
}
|
|
178
|
-
|
|
179
160
|
var _iterator = _createForOfIteratorHelper(text.split('\n')),
|
|
180
|
-
|
|
181
|
-
|
|
161
|
+
_step;
|
|
182
162
|
try {
|
|
183
163
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
184
164
|
var line = _step.value;
|
|
@@ -190,7 +170,6 @@ export var measureText = memoize(function (text, fontSize) {
|
|
|
190
170
|
} finally {
|
|
191
171
|
_iterator.f();
|
|
192
172
|
}
|
|
193
|
-
|
|
194
173
|
span.style.display = 'inline-block';
|
|
195
174
|
document.body.append(span);
|
|
196
175
|
var textWidth = span.offsetWidth;
|
package/lib/es6/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["extent","bisector","scaleQuantize","CONSTANT","VIRTUAL_ELEMENT","Symbol","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","paddingOuter","step","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","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","textHeight","offsetHeight","remove","max","idCounter","uniqueId","prefix"],"sources":["../../src/utils.ts"],"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 | ScaleBand<unknown>\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>;\nexport const invert = <Scale extends InvertableScale = InvertableScale>(\n scale: Scale,\n value: number,\n) => {\n if ('invert' in scale && scale.invert) return scale.invert(value);\n\n const range = scale.range() as [number, number];\n const domain = scale.domain();\n if ('paddingOuter' in scale) {\n range[0] += scale.paddingOuter() * scale.step();\n range[1] -= scale.paddingOuter() * scale.step();\n }\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 // console.log({ key, scale, value });\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 const textHeight = span.offsetHeight;\n span.remove();\n return Math.max(textWidth, textHeight);\n});\n\nlet idCounter = 0;\nexport const uniqueId = (prefix = 'id-') => `${prefix}${idCounter++}`;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["extent","bisector","scaleQuantize","CONSTANT","VIRTUAL_ELEMENT","Symbol","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","paddingOuter","step","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","d","getNullData","defined","name","reduce","acc","i","push","_defineProperty","prev","next","defNext","find","_objectSpread","length","defPrev","getIndexFromData","bisect","center","index","findIndex","console","warn","roundedPath","w","h","r","tl","arguments","tr","bl","br","result","getBandwidth","Math","abs","memoize","func","results","_len","args","Array","_key","argsKey","join","apply","measureText","text","fontSize","span","document","createElement","style","concat","_iterator","_createForOfIteratorHelper","split","_step","s","n","done","line","append","createTextNode","err","e","f","display","body","textWidth","offsetWidth","textHeight","offsetHeight","remove","max","idCounter","uniqueId","prefix"],"sources":["../../src/utils.ts"],"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 | ScaleBand<unknown>\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>;\nexport const invert = <Scale extends InvertableScale = InvertableScale>(\n scale: Scale,\n value: number,\n) => {\n if ('invert' in scale && scale.invert) return scale.invert(value);\n\n const range = scale.range() as [number, number];\n const domain = scale.domain();\n if ('paddingOuter' in scale) {\n range[0] += scale.paddingOuter() * scale.step();\n range[1] -= scale.paddingOuter() * scale.step();\n }\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 // console.log({ key, scale, value });\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 const textHeight = span.offsetHeight;\n span.remove();\n return Math.max(textWidth, textHeight);\n});\n\nlet idCounter = 0;\nexport const uniqueId = (prefix = 'id-') => `${prefix}${idCounter++}`;\n"],"mappings":"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"}
|