@semcore/d3-chart 1.6.0 → 1.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/lib/cjs/Area.js.map +1 -1
  3. package/lib/cjs/Axis.js +2 -2
  4. package/lib/cjs/Axis.js.map +1 -1
  5. package/lib/cjs/Bar.js.map +1 -1
  6. package/lib/cjs/Bubble.js +8 -4
  7. package/lib/cjs/Bubble.js.map +1 -1
  8. package/lib/cjs/ClipPath.js +28 -8
  9. package/lib/cjs/ClipPath.js.map +1 -1
  10. package/lib/cjs/Donut.js.map +1 -1
  11. package/lib/cjs/Dots.js +6 -2
  12. package/lib/cjs/Dots.js.map +1 -1
  13. package/lib/cjs/GroupBar.js +6 -6
  14. package/lib/cjs/GroupBar.js.map +1 -1
  15. package/lib/cjs/HorizontalBar.js.map +1 -1
  16. package/lib/cjs/Hover.js.map +1 -1
  17. package/lib/cjs/Line.js.map +1 -1
  18. package/lib/cjs/Plot.js +8 -4
  19. package/lib/cjs/Plot.js.map +1 -1
  20. package/lib/cjs/ResponsiveContainer.js +8 -4
  21. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  22. package/lib/cjs/ScatterPlot.js +10 -6
  23. package/lib/cjs/ScatterPlot.js.map +1 -1
  24. package/lib/cjs/StackBar.js +8 -8
  25. package/lib/cjs/StackBar.js.map +1 -1
  26. package/lib/cjs/StackedArea.js +9 -9
  27. package/lib/cjs/StackedArea.js.map +1 -1
  28. package/lib/cjs/Tooltip.js +17 -7
  29. package/lib/cjs/Tooltip.js.map +1 -1
  30. package/lib/cjs/Venn.js.map +1 -1
  31. package/lib/cjs/color.js +1 -1
  32. package/lib/cjs/createElement.js +15 -7
  33. package/lib/cjs/createElement.js.map +1 -1
  34. package/lib/cjs/index.js +36 -36
  35. package/lib/cjs/utils.js +17 -17
  36. package/lib/cjs/utils.js.map +1 -1
  37. package/lib/es6/Area.js.map +1 -1
  38. package/lib/es6/Axis.js +2 -2
  39. package/lib/es6/Axis.js.map +1 -1
  40. package/lib/es6/Bar.js.map +1 -1
  41. package/lib/es6/Bubble.js +8 -4
  42. package/lib/es6/Bubble.js.map +1 -1
  43. package/lib/es6/ClipPath.js +21 -6
  44. package/lib/es6/ClipPath.js.map +1 -1
  45. package/lib/es6/Donut.js.map +1 -1
  46. package/lib/es6/Dots.js.map +1 -1
  47. package/lib/es6/GroupBar.js +6 -6
  48. package/lib/es6/GroupBar.js.map +1 -1
  49. package/lib/es6/HorizontalBar.js.map +1 -1
  50. package/lib/es6/Hover.js.map +1 -1
  51. package/lib/es6/Line.js.map +1 -1
  52. package/lib/es6/Plot.js +2 -2
  53. package/lib/es6/Plot.js.map +1 -1
  54. package/lib/es6/ResponsiveContainer.js +2 -2
  55. package/lib/es6/ResponsiveContainer.js.map +1 -1
  56. package/lib/es6/ScatterPlot.js +10 -6
  57. package/lib/es6/ScatterPlot.js.map +1 -1
  58. package/lib/es6/StackBar.js +8 -8
  59. package/lib/es6/StackBar.js.map +1 -1
  60. package/lib/es6/StackedArea.js +9 -9
  61. package/lib/es6/StackedArea.js.map +1 -1
  62. package/lib/es6/Tooltip.js +10 -5
  63. package/lib/es6/Tooltip.js.map +1 -1
  64. package/lib/es6/Venn.js.map +1 -1
  65. package/lib/es6/createElement.js +8 -5
  66. package/lib/es6/createElement.js.map +1 -1
  67. package/lib/es6/utils.js +10 -10
  68. package/lib/es6/utils.js.map +1 -1
  69. package/package.json +2 -2
  70. package/src/Bar.js +2 -7
  71. package/src/Bubble.js +4 -7
  72. package/src/ClipPath.js +13 -3
  73. package/src/Donut.js +8 -10
  74. package/src/Plot.js +1 -1
  75. package/src/ScatterPlot.js +6 -12
  76. package/src/Tooltip.js +8 -2
  77. package/src/createElement.js +4 -4
  78. package/src/utils.js +2 -5
@@ -1,10 +1,13 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["render", "tag", "childrenPosition", "x", "y"],
5
+ _excluded2 = ["forwardRef", "children", "Children", "x", "y"],
6
+ _excluded3 = ["$rootProps"];
4
7
 
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
8
+ 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; }
6
9
 
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
+ 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) { _defineProperty(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; }
8
11
 
9
12
  import React, { useContext } from 'react';
10
13
  import createComponent, { createBaseComponent, CONTEXT_COMPONENT } from '@semcore/core';
@@ -23,7 +26,7 @@ function createElementRender() {
23
26
  childrenPosition = _ref$childrenPosition === void 0 ? 'below' : _ref$childrenPosition,
24
27
  xS = _ref.x,
25
28
  yS = _ref.y,
26
- source = _objectWithoutProperties(_ref, ["render", "tag", "childrenPosition", "x", "y"]);
29
+ source = _objectWithoutProperties(_ref, _excluded);
27
30
 
28
31
  var _Element$props = Element.props,
29
32
  _Element$props$forwar = _Element$props.forwardRef,
@@ -34,7 +37,7 @@ function createElementRender() {
34
37
  x = _Element$props$x === void 0 ? xS : _Element$props$x,
35
38
  _Element$props$y = _Element$props.y,
36
39
  y = _Element$props$y === void 0 ? yS : _Element$props$y,
37
- props = _objectWithoutProperties(_Element$props, ["forwardRef", "children", "Children", "x", "y"]);
40
+ props = _objectWithoutProperties(_Element$props, _excluded2);
38
41
 
39
42
  var children = getOriginChildren(Children);
40
43
  var mergedProps = assignProps(_objectSpread(_objectSpread({
@@ -84,7 +87,7 @@ function elementEnhancement() {
84
87
  },
85
88
  asProps: function asProps(_ref2, WrapperComponent, isFunction) {
86
89
  var $rootProps = _ref2.$rootProps,
87
- props = _objectWithoutProperties(_ref2, ["$rootProps"]);
90
+ props = _objectWithoutProperties(_ref2, _excluded3);
88
91
 
89
92
  if (isFunction) {
90
93
  return _objectSpread(_objectSpread(_objectSpread({}, $rootProps), props), {}, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/createElement.js"],"names":["React","useContext","createComponent","createBaseComponent","CONTEXT_COMPONENT","Plot","assignProps","useForkRef","propsForElement","getOriginChildren","hoistNonReactStatics","createElementRender","Element","forwardRef","ref","render","tag","childrenPosition","xS","x","yS","y","source","props","_children","children","Children","mergedProps","Tag","_child","undefined","Error","__excludeProps","elementEnhancement","init","asProps","WrapperComponent","isFunction","$rootProps","WrapComponent","ElementWithContext","displayName","createElement","ElementRoot","child","options","enhancements","Object","keys","forEach","n"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport createComponent, { createBaseComponent, CONTEXT_COMPONENT } from '@semcore/core';\nimport Plot from './Plot';\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 hoistNonReactStatics from 'hoist-non-react-statics';\n\nfunction createElementRender() {\n const Element = React.forwardRef(function(\n { render, tag, childrenPosition = 'below', x: xS, y: yS, ...source },\n ref,\n ) {\n const {\n forwardRef = null,\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 const Tag = typeof render === 'string' ? mergedProps.tag || render : render;\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 if (childrenPosition === 'inside') {\n mergedProps.children = children === undefined ? mergedProps.children : children;\n }\n\n if (!Tag) {\n throw new Error('В Element нужно передать render');\n }\n return [\n <React.Fragment key=\"child-above\">\n {childrenPosition === 'above' ? children : null}\n </React.Fragment>,\n <Tag\n {...propsForElement(\n {\n __excludeProps: ['data', 'scale'],\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"],"file":"createElement.js"}
1
+ {"version":3,"sources":["../../src/createElement.js"],"names":["React","useContext","createComponent","createBaseComponent","CONTEXT_COMPONENT","Plot","assignProps","useForkRef","propsForElement","getOriginChildren","hoistNonReactStatics","createElementRender","Element","forwardRef","ref","render","tag","childrenPosition","xS","x","yS","y","source","props","_children","children","Children","mergedProps","Tag","_child","undefined","Error","__excludeProps","elementEnhancement","init","asProps","WrapperComponent","isFunction","$rootProps","WrapComponent","ElementWithContext","displayName","createElement","ElementRoot","child","options","enhancements","Object","keys","forEach","n"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport createComponent, { createBaseComponent, CONTEXT_COMPONENT } from '@semcore/core';\nimport Plot from './Plot';\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 hoistNonReactStatics from 'hoist-non-react-statics';\n\nfunction createElementRender() {\n const Element = React.forwardRef(function (\n { render, tag, childrenPosition = 'below', x: xS, y: yS, ...source },\n ref,\n ) {\n const {\n forwardRef = null,\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 const Tag = typeof render === 'string' ? mergedProps.tag || render : render;\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 if (childrenPosition === 'inside') {\n mergedProps.children = children === undefined ? mergedProps.children : children;\n }\n\n if (!Tag) {\n throw new Error('В Element нужно передать render');\n }\n return [\n <React.Fragment key=\"child-above\">\n {childrenPosition === 'above' ? children : null}\n </React.Fragment>,\n <Tag\n {...propsForElement(\n {\n __excludeProps: ['data', 'scale'],\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"],"file":"createElement.js"}
package/lib/es6/utils.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
3
+ 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; }
4
4
 
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5
+ 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) { _defineProperty(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; }
6
6
 
7
7
  import { extent, bisector } from 'd3-array';
8
8
  import { scaleQuantize } from 'd3-scale';
@@ -84,14 +84,14 @@ export function getIndexFromData(data, scale, key, value) {
84
84
  return bisect(data, value);
85
85
  } // detect bar chart
86
86
  else if ('step' in scale && typeof scale.step !== 'undefined') {
87
- var index = data.findIndex(function (d) {
88
- return d[key] === value;
89
- });
90
- return index >= 0 ? index : null;
91
- } else {
92
- console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');
93
- return null;
94
- }
87
+ var index = data.findIndex(function (d) {
88
+ return d[key] === value;
89
+ });
90
+ return index >= 0 ? index : null;
91
+ } else {
92
+ console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');
93
+ return null;
94
+ }
95
95
  }
96
96
  export function roundedPath(x, y, w, h, r) {
97
97
  var tl = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/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","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\n .slice()\n .reverse()\n .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.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","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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/d3-chart",
3
3
  "description": "SEMRush D3 Chart Component",
4
- "version": "1.6.0",
4
+ "version": "1.6.4",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -30,6 +30,6 @@
30
30
  "react": "16.8 - 17"
31
31
  },
32
32
  "jest": {
33
- "preset": "jest-preset-ui"
33
+ "preset": "@semcore/jest-preset-ui"
34
34
  }
35
35
  }
package/src/Bar.js CHANGED
@@ -28,16 +28,11 @@ class BarRoot extends Component {
28
28
 
29
29
  animationBar() {
30
30
  const { duration, uid } = this.asProps;
31
- const selectRect = transition()
32
- .selection()
33
- .selectAll(`#${uid} rect`);
31
+ const selectRect = transition().selection().selectAll(`#${uid} rect`);
34
32
  const selectRectNode = selectRect.node();
35
33
 
36
34
  if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {
37
- selectRect
38
- .transition()
39
- .duration(duration)
40
- .attr('y', 0);
35
+ selectRect.transition().duration(duration).attr('y', 0);
41
36
  }
42
37
  }
43
38
 
package/src/Bubble.js CHANGED
@@ -59,17 +59,14 @@ class BubbleRoot extends Component {
59
59
  .domain([0, Math.max(...data.map((el) => el[value]))])
60
60
  .range([5.5, 50.5]);
61
61
 
62
- const selectRect = transition()
63
- .selection()
64
- .selectAll(`[id^=${uid}${uid}]`)
65
- .attr('r', 0);
62
+ const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);
66
63
 
67
64
  const selectRectNode = selectRect.node();
68
65
  if (duration > 0 && selectRectNode) {
69
66
  selectRect
70
67
  .transition()
71
68
  .duration(duration)
72
- .attr('r', function(_, ind) {
69
+ .attr('r', function (_, ind) {
73
70
  return z(data[ind][value]);
74
71
  });
75
72
  }
@@ -122,8 +119,8 @@ class BubbleRoot extends Component {
122
119
  return sstyled(styles)(
123
120
  <g
124
121
  key={`circle(#${i})`}
125
- onMouseMove={this.bindHandlerTooltip(true, { xIndex: i })}
126
- onMouseLeave={this.bindHandlerTooltip(false, { xIndex: i })}
122
+ onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}
123
+ onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}
127
124
  >
128
125
  {markedCross && (
129
126
  <SCenter
package/src/ClipPath.js CHANGED
@@ -12,15 +12,25 @@ class ClipPath extends Component {
12
12
 
13
13
  refClipPath = React.createRef();
14
14
 
15
- componentDidMount() {
15
+ setAttributeTag() {
16
16
  const { id, tag, setAttributeTag } = this.asProps;
17
+ if (setAttributeTag) {
18
+ Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);
19
+ }
20
+ }
21
+
22
+ componentDidMount() {
23
+ const { id } = this.asProps;
17
24
  if (!document || !id || !document.querySelector(`#${id}`)) return;
18
25
  const svg = document.querySelector(`#${id}`).closest('svg');
19
26
  Array.from(svg.querySelectorAll(`[clip-path="url(#${id})"]`)).forEach((node) => {
20
27
  node && node.getTotalLength && node.getTotalLength();
21
28
  });
22
- setAttributeTag &&
23
- Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);
29
+ this.setAttributeTag();
30
+ }
31
+
32
+ componentDidUpdate() {
33
+ this.setAttributeTag();
24
34
  }
25
35
 
26
36
  render() {
package/src/Donut.js CHANGED
@@ -14,12 +14,12 @@ import style from './style/donut.shadow.css';
14
14
  const DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
15
15
 
16
16
  function animationInitialPie({ halfsize, d3Arc, arcs }) {
17
- return function(_, ind) {
17
+ return function (_, ind) {
18
18
  const d = arcs[ind];
19
19
  if (!d) return () => '';
20
20
  const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);
21
21
  const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);
22
- return function(t) {
22
+ return function (t) {
23
23
  d.startAngle = iStart(t);
24
24
  d.endAngle = iEnd(t);
25
25
  return d3Arc(d);
@@ -28,12 +28,12 @@ function animationInitialPie({ halfsize, d3Arc, arcs }) {
28
28
  }
29
29
 
30
30
  function animationUpdatePie({ halfsize, arcs, d3Arc }) {
31
- return function(_, ind) {
31
+ return function (_, ind) {
32
32
  const d = arcs[ind];
33
33
  if (this._current) {
34
34
  const i = interpolate(this._current, d);
35
35
  this._current = i(0);
36
- return function(t) {
36
+ return function (t) {
37
37
  return d3Arc(i(t));
38
38
  };
39
39
  } else {
@@ -50,14 +50,12 @@ function animationHoverPie({ d, selector, duration, innerRadius, outerRadius })
50
50
  .select(selector)
51
51
  .transition()
52
52
  .duration(duration)
53
- .attrTween('d', function() {
53
+ .attrTween('d', function () {
54
54
  if (!d) return () => '';
55
55
  const [min, max] = outerRadius;
56
56
  const i = interpolate(min, max);
57
- return function(t) {
58
- const d3ArcOut = arc()
59
- .innerRadius(innerRadius)
60
- .outerRadius(i(t));
57
+ return function (t) {
58
+ const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(i(t));
61
59
  return d3ArcOut(d);
62
60
  };
63
61
  });
@@ -205,7 +203,7 @@ class DonutRoot extends Component {
205
203
  transition()
206
204
  .selection()
207
205
  .selectAll(`#${this.id} [data-ui-name="Donut.Pie"]`)
208
- .each(function(_, ind) {
206
+ .each(function (_, ind) {
209
207
  this._current = arcs[ind];
210
208
  })
211
209
  .transition()
package/src/Plot.js CHANGED
@@ -29,7 +29,7 @@ class PlotRoot extends Component {
29
29
  const [minX, maxX] = xScale.range();
30
30
  const [maxY, minY] = yScale.range();
31
31
 
32
- if (pX >= minX && pX <= maxX && (pY >= minY && pY <= maxY)) {
32
+ if (pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) {
33
33
  this.eventEmitter.emit('onMouseMoveChart', e);
34
34
  } else {
35
35
  this.eventEmitter.emit('onMouseLeaveChart', e);
@@ -34,17 +34,11 @@ class ScatterPlotRoot extends Component {
34
34
  animationCircle() {
35
35
  const { duration, uid, r, value } = this.asProps;
36
36
  const radius = r ? r : value ? 12 : 5.5;
37
- const selectRect = transition()
38
- .selection()
39
- .selectAll(`[id^=${uid}]`)
40
- .attr('r', 0);
37
+ const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);
41
38
  const selectRectNode = selectRect.node();
42
39
 
43
40
  if (duration > 0 && selectRectNode) {
44
- selectRect
45
- .transition()
46
- .duration(duration)
47
- .attr('r', radius);
41
+ selectRect.transition().duration(duration).attr('r', radius);
48
42
  }
49
43
  }
50
44
 
@@ -76,8 +70,8 @@ class ScatterPlotRoot extends Component {
76
70
  return sstyled(styles)(
77
71
  <g
78
72
  key={`circle(#${i})`}
79
- onMouseMove={this.bindHandlerTooltip(true, { xIndex: i })}
80
- onMouseLeave={this.bindHandlerTooltip(false, { xIndex: i })}
73
+ onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}
74
+ onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}
81
75
  >
82
76
  <SScatterPlot
83
77
  id={`${uid}${i}`}
@@ -85,7 +79,7 @@ class ScatterPlotRoot extends Component {
85
79
  clipPath={`url(#${uid})`}
86
80
  cx={xScale(d[x]) + offset[0]}
87
81
  cy={yScale(d[y]) + offset[1]}
88
- color={d[color]}
82
+ color={color}
89
83
  r={r}
90
84
  use:duration={`${duration}ms`}
91
85
  />
@@ -95,7 +89,7 @@ class ScatterPlotRoot extends Component {
95
89
  y={yScale(d[y]) + offset[1]}
96
90
  dy=".3em"
97
91
  clipPath={`url(#${uid})`}
98
- color={d[valueColor]}
92
+ color={valueColor}
99
93
  >
100
94
  {d[value]}
101
95
  </SValue>
package/src/Tooltip.js CHANGED
@@ -96,14 +96,20 @@ class TooltipRoot extends Component {
96
96
  }
97
97
 
98
98
  function PopperPopper(props) {
99
- const { Element: STooltip, styles, $visible } = props;
99
+ const { Element: STooltip, styles, $visible, x, y } = props;
100
100
 
101
101
  const handlerCancel = useCallback(() => false, []);
102
102
 
103
103
  if (!$visible) return null;
104
104
 
105
105
  return sstyled(styles)(
106
- <STooltip render={Popper.Popper} childrenPosition="inside" onMouseMove={handlerCancel} />,
106
+ <STooltip
107
+ render={Popper.Popper}
108
+ childrenPosition="inside"
109
+ onMouseMove={handlerCancel}
110
+ x={x}
111
+ y={y}
112
+ />,
107
113
  );
108
114
  }
109
115
 
@@ -8,7 +8,7 @@ import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
8
8
  import hoistNonReactStatics from 'hoist-non-react-statics';
9
9
 
10
10
  function createElementRender() {
11
- const Element = React.forwardRef(function(
11
+ const Element = React.forwardRef(function (
12
12
  { render, tag, childrenPosition = 'below', x: xS, y: yS, ...source },
13
13
  ref,
14
14
  ) {
@@ -78,10 +78,10 @@ function createElementRender() {
78
78
 
79
79
  function elementEnhancement() {
80
80
  return {
81
- init: function() {
81
+ init: function () {
82
82
  this.Element = createElementRender();
83
83
  },
84
- asProps: function({ $rootProps, ...props }, WrapperComponent, isFunction) {
84
+ asProps: function ({ $rootProps, ...props }, WrapperComponent, isFunction) {
85
85
  if (isFunction) {
86
86
  return {
87
87
  ...$rootProps,
@@ -94,7 +94,7 @@ function elementEnhancement() {
94
94
  ...props,
95
95
  };
96
96
  },
97
- render: function(render, props) {
97
+ render: function (render, props) {
98
98
  this.Element.props = props;
99
99
  return render;
100
100
  },
package/src/utils.js CHANGED
@@ -30,7 +30,7 @@ export function definedNullData(x, y) {
30
30
 
31
31
  export function definedData(x, y) {
32
32
  return (p) => {
33
- return p[x] !== null && p[x] !== undefined && (p[y] !== null && p[y] !== undefined);
33
+ return p[x] !== null && p[x] !== undefined && p[y] !== null && p[y] !== undefined;
34
34
  };
35
35
  }
36
36
 
@@ -74,10 +74,7 @@ export function getNullData(data, defined, name) {
74
74
  }
75
75
 
76
76
  if (data.length - 1 === i) {
77
- const defPrev = data
78
- .slice()
79
- .reverse()
80
- .find(defined);
77
+ const defPrev = data.slice().reverse().find(defined);
81
78
  acc.push({
82
79
  ...d,
83
80
  [name]: defPrev ? defPrev[name] : null,