@semcore/d3-chart 2.13.11 → 2.13.13

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 (48) hide show
  1. package/CHANGELOG.md +9 -3
  2. package/lib/cjs/Area.js +9 -9
  3. package/lib/cjs/Axis.js +13 -13
  4. package/lib/cjs/Bar.js +16 -13
  5. package/lib/cjs/Bar.js.map +1 -1
  6. package/lib/cjs/Bubble.js +10 -10
  7. package/lib/cjs/Donut.js +7 -7
  8. package/lib/cjs/Dots.js +9 -9
  9. package/lib/cjs/HorizontalBar.js +24 -13
  10. package/lib/cjs/HorizontalBar.js.map +1 -1
  11. package/lib/cjs/Hover.js +3 -3
  12. package/lib/cjs/Line.js +8 -8
  13. package/lib/cjs/Plot.js +3 -3
  14. package/lib/cjs/Radar.js +17 -17
  15. package/lib/cjs/RadialTree.js +12 -12
  16. package/lib/cjs/ReferenceLine.js +9 -9
  17. package/lib/cjs/ScatterPlot.js +7 -7
  18. package/lib/cjs/StackBar.js +73 -23
  19. package/lib/cjs/StackBar.js.map +1 -1
  20. package/lib/cjs/Tooltip.js +8 -8
  21. package/lib/cjs/Venn.js +7 -7
  22. package/lib/cjs/a11y/PlotA11yModule.js +3 -4
  23. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  24. package/lib/cjs/a11y/PlotA11yView.js +3 -3
  25. package/lib/es6/Area.js +9 -9
  26. package/lib/es6/Axis.js +13 -13
  27. package/lib/es6/Bar.js +14 -12
  28. package/lib/es6/Bar.js.map +1 -1
  29. package/lib/es6/Bubble.js +10 -10
  30. package/lib/es6/Donut.js +7 -7
  31. package/lib/es6/Dots.js +9 -9
  32. package/lib/es6/HorizontalBar.js +22 -12
  33. package/lib/es6/HorizontalBar.js.map +1 -1
  34. package/lib/es6/Hover.js +3 -3
  35. package/lib/es6/Line.js +8 -8
  36. package/lib/es6/Plot.js +3 -3
  37. package/lib/es6/Radar.js +17 -17
  38. package/lib/es6/RadialTree.js +12 -12
  39. package/lib/es6/ReferenceLine.js +9 -9
  40. package/lib/es6/ScatterPlot.js +7 -7
  41. package/lib/es6/StackBar.js +72 -23
  42. package/lib/es6/StackBar.js.map +1 -1
  43. package/lib/es6/Tooltip.js +8 -8
  44. package/lib/es6/Venn.js +7 -7
  45. package/lib/es6/a11y/PlotA11yModule.js +3 -4
  46. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  47. package/lib/es6/a11y/PlotA11yView.js +3 -3
  48. package/package.json +1 -1
@@ -1,6 +1,8 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
3
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
4
  import _createClass from "@babel/runtime/helpers/createClass";
5
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
6
  import _inherits from "@babel/runtime/helpers/inherits";
5
7
  import _createSuper from "@babel/runtime/helpers/createSuper";
6
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
@@ -9,16 +11,22 @@ import { stack as d3Stack } from 'd3-shape';
9
11
  import { Component } from '@semcore/core';
10
12
  import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
11
13
  import createElement from './createElement';
12
- import Bar from './Bar';
13
- import HorizontalBar from './HorizontalBar';
14
+ import Bar, { MIN_HEIGHT } from './Bar';
15
+ import HorizontalBar, { MIN_WIDTH } from './HorizontalBar';
14
16
  var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
15
17
  var XY0 = Symbol('XY0');
16
18
  var StackBarRoot = /*#__PURE__*/function (_Component) {
17
19
  _inherits(StackBarRoot, _Component);
18
20
  var _super = _createSuper(StackBarRoot);
19
21
  function StackBarRoot() {
22
+ var _this;
20
23
  _classCallCheck(this, StackBarRoot);
21
- return _super.apply(this, arguments);
24
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
25
+ args[_key] = arguments[_key];
26
+ }
27
+ _this = _super.call.apply(_super, [this].concat(args));
28
+ _defineProperty(_assertThisInitialized(_this), "offsetBars", []);
29
+ return _this;
22
30
  }
23
31
  _createClass(StackBarRoot, [{
24
32
  key: "getSeries",
@@ -44,60 +52,100 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
44
52
  }, {
45
53
  key: "getBarProps",
46
54
  value: function getBarProps(_ref) {
47
- var _this = this;
48
- var y = _ref.y;
55
+ var _this2 = this,
56
+ _this$offsetBars$seri;
57
+ var y = _ref.y,
58
+ _ref$hMin = _ref.hMin,
59
+ hMin = _ref$hMin === void 0 ? MIN_HEIGHT : _ref$hMin;
49
60
  var _this$asProps2 = this.asProps,
50
61
  x = _this$asProps2.x,
51
- r = _this$asProps2.r;
62
+ r = _this$asProps2.r,
63
+ scale = _this$asProps2.scale;
64
+ var _scale = _slicedToArray(scale, 2),
65
+ yScale = _scale[1];
52
66
  var seriesIndex = this.series.findIndex(function (s) {
53
67
  return s.key === y;
54
68
  });
55
69
  // or [] if hide bar
56
70
  var series = this.series[seriesIndex] || [];
57
71
  var rBar = series.map(function (s, i) {
58
- return _this.series.slice(seriesIndex + 1).some(function (bar) {
72
+ return _this2.series.slice(seriesIndex + 1).some(function (bar) {
59
73
  return bar[i][0] !== bar[i][1];
60
74
  }) ? 0 : r;
61
75
  });
76
+ this.offsetBars[seriesIndex] = (_this$offsetBars$seri = this.offsetBars[seriesIndex]) !== null && _this$offsetBars$seri !== void 0 ? _this$offsetBars$seri : [];
77
+ var data = series.map(function (s) {
78
+ var _objectSpread2;
79
+ return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, y, s[1]), _defineProperty(_objectSpread2, XY0, s[0]), _objectSpread2));
80
+ });
81
+ var calcOffset = function calcOffset(i) {
82
+ var _d$XY, _d$XY2;
83
+ var offset = _this2.offsetBars.reduce(function (offset, offsetBar) {
84
+ var _offsetBar$i;
85
+ return offset - ((_offsetBar$i = offsetBar[i]) !== null && _offsetBar$i !== void 0 ? _offsetBar$i : 0);
86
+ }, 0);
87
+ var d = data[i];
88
+ var absHeight = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale((_d$XY = d[XY0]) !== null && _d$XY !== void 0 ? _d$XY : 0)));
89
+ _this2.offsetBars[seriesIndex][i] = Number(d[y] - ((_d$XY2 = d[XY0]) !== null && _d$XY2 !== void 0 ? _d$XY2 : 0)) === 0 ? 0 : absHeight >= hMin ? 0 : d[y] > 0 ? hMin : -hMin;
90
+ return [0, offset];
91
+ };
62
92
  return {
63
- data: series.map(function (s) {
64
- var _objectSpread2;
65
- return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, y, s[1]), _defineProperty(_objectSpread2, XY0, s[0]), _objectSpread2));
66
- }),
67
- hMin: 0,
93
+ data: data,
94
+ hMin: hMin,
68
95
  y0: XY0,
69
96
  x: x,
70
97
  r: rBar,
71
- groupKey: x
98
+ groupKey: x,
99
+ offset: calcOffset
72
100
  };
73
101
  }
74
102
  }, {
75
103
  key: "getHorizontalBarProps",
76
104
  value: function getHorizontalBarProps(_ref2) {
77
- var _this2 = this;
78
- var x = _ref2.x;
105
+ var _this3 = this,
106
+ _this$offsetBars$seri2;
107
+ var x = _ref2.x,
108
+ _ref2$wMin = _ref2.wMin,
109
+ wMin = _ref2$wMin === void 0 ? MIN_WIDTH : _ref2$wMin;
79
110
  var _this$asProps3 = this.asProps,
80
111
  y = _this$asProps3.y,
81
- r = _this$asProps3.r;
112
+ r = _this$asProps3.r,
113
+ scale = _this$asProps3.scale;
114
+ var _scale2 = _slicedToArray(scale, 1),
115
+ xScale = _scale2[0];
82
116
  var seriesIndex = this.series.findIndex(function (s) {
83
117
  return s.key === x;
84
118
  });
85
119
  var series = this.series[seriesIndex];
86
120
  var rBar = series.map(function (s, i) {
87
- return _this2.series.slice(seriesIndex + 1).some(function (bar) {
121
+ return _this3.series.slice(seriesIndex + 1).some(function (bar) {
88
122
  return bar[i][0] !== bar[i][1];
89
123
  }) ? 0 : r;
90
124
  });
125
+ this.offsetBars[seriesIndex] = (_this$offsetBars$seri2 = this.offsetBars[seriesIndex]) !== null && _this$offsetBars$seri2 !== void 0 ? _this$offsetBars$seri2 : [];
126
+ var data = series.map(function (s) {
127
+ var _objectSpread3;
128
+ return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, x, s[1]), _defineProperty(_objectSpread3, XY0, s[0]), _objectSpread3));
129
+ });
130
+ var calcOffset = function calcOffset(i) {
131
+ var _d$XY3, _d$XY4;
132
+ var offset = _this3.offsetBars.reduce(function (offset, offsetBar) {
133
+ var _offsetBar$i2;
134
+ return offset - ((_offsetBar$i2 = offsetBar[i]) !== null && _offsetBar$i2 !== void 0 ? _offsetBar$i2 : 0);
135
+ }, 0);
136
+ var d = data[i];
137
+ var absWidth = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale((_d$XY3 = d[XY0]) !== null && _d$XY3 !== void 0 ? _d$XY3 : 0)));
138
+ _this3.offsetBars[seriesIndex][i] = Number(d[x] - ((_d$XY4 = d[XY0]) !== null && _d$XY4 !== void 0 ? _d$XY4 : 0)) === 0 ? 0 : absWidth >= wMin ? 0 : d[x] > 0 ? -wMin : wMin;
139
+ return [offset, 0];
140
+ };
91
141
  return {
92
- data: series.map(function (s) {
93
- var _objectSpread3;
94
- return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, x, s[1]), _defineProperty(_objectSpread3, XY0, s[0]), _objectSpread3));
95
- }),
96
- wMin: 0,
142
+ data: data,
143
+ wMin: wMin,
97
144
  x0: XY0,
98
145
  y: y,
99
146
  r: rBar,
100
- groupKey: y
147
+ groupKey: y,
148
+ offset: calcOffset
101
149
  };
102
150
  }
103
151
  }, {
@@ -106,6 +154,7 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
106
154
  var Element = this.Element;
107
155
  this.series = this.getSeries();
108
156
  this.asProps.dataHintsHandler.establishDataType('grouped-values');
157
+ this.offsetBars = [];
109
158
  return /*#__PURE__*/React.createElement(Element, {
110
159
  "aria-hidden": true,
111
160
  render: "g",
@@ -1 +1 @@
1
- {"version":3,"file":"StackBar.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getSeries","_this$asProps","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","getBarProps","_ref","_this","_this$asProps2","r","seriesIndex","series","findIndex","s","rBar","map","i","slice","some","bar","_objectSpread2","_objectSpread","_defineProperty","hMin","y0","groupKey","getHorizontalBarProps","_ref2","_this2","_this$asProps3","_objectSpread3","wMin","x0","render","Element","dataHintsHandler","establishDataType"],"sources":["../../src/StackBar.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y }) {\n const { x, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n })),\n hMin: 0,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n })),\n wMin: 0,\n x0: XY0,\n y,\n r: rBar,\n groupKey: y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n return <Element aria-hidden render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"mappings":"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"}
1
+ {"version":3,"file":"StackBar.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","MIN_HEIGHT","HorizontalBar","MIN_WIDTH","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","key","value","getSeries","_this$asProps","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","getBarProps","_ref","_this2","_this$offsetBars$seri","_ref$hMin","hMin","_this$asProps2","r","scale","_scale","_slicedToArray","yScale","seriesIndex","series","findIndex","s","rBar","map","i","slice","some","bar","offsetBars","_objectSpread2","_objectSpread","calcOffset","_d$XY","_d$XY2","offset","offsetBar","_offsetBar$i","d","absHeight","Math","abs","min","domain","Number","y0","groupKey","getHorizontalBarProps","_ref2","_this3","_this$offsetBars$seri2","_ref2$wMin","wMin","_this$asProps3","_scale2","xScale","_objectSpread3","_d$XY3","_d$XY4","_offsetBar$i2","absWidth","max","x0","render","Element","dataHintsHandler","establishDataType"],"sources":["../../src/StackBar.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar, { MIN_HEIGHT } from './Bar';\nimport HorizontalBar, { MIN_WIDTH } from './HorizontalBar';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n offsetBars = [];\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y, hMin = MIN_HEIGHT }) {\n const { x, r, scale } = this.asProps;\n const [, yScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[XY0] ?? 0)),\n );\n this.offsetBars[seriesIndex][i] =\n Number(d[y] - (d[XY0] ?? 0)) === 0 ? 0 : absHeight >= hMin ? 0 : d[y] > 0 ? hMin : -hMin;\n return [0, offset];\n };\n\n return {\n data,\n hMin,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n offset: calcOffset,\n };\n }\n\n getHorizontalBarProps({ x, wMin = MIN_WIDTH }) {\n const { y, r, scale } = this.asProps;\n const [xScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[XY0] ?? 0)),\n );\n this.offsetBars[seriesIndex][i] =\n Number(d[x] - (d[XY0] ?? 0)) === 0 ? 0 : absWidth >= wMin ? 0 : d[x] > 0 ? -wMin : wMin;\n return [offset, 0];\n };\n\n return {\n data,\n wMin,\n x0: XY0,\n y,\n r: rBar,\n groupKey: y,\n offset: calcOffset,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n this.offsetBars = [];\n\n return <Element aria-hidden render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"mappings":"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"}
@@ -21,14 +21,14 @@ import resolveColor from '@semcore/utils/lib/color';
21
21
  import createElement from './createElement';
22
22
  import { CONSTANT } from './utils';
23
23
  /*__reshadow-styles__:"./style/tooltip.shadow.css"*/
24
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___STooltip_1rjpw_gg_{font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);border:1px solid var(--intergalactic-border-secondary, #e0e1e9);box-sizing:border-box;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));padding:var(--intergalactic-spacing-3x, 12px)}.___STitle_1rjpw_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SDotGroup_1rjpw_gg_{display:flex;align-items:center}.___SDot_1rjpw_gg_{width:8px;height:8px;border-radius:50%;margin-right:var(--intergalactic-spacing-2x, 8px);background:var(--intergalactic-icon-secondary-info, #2bb3ff)}.___SDot_1rjpw_gg_.__color_1rjpw_gg_{background:var(--color_1rjpw)}.___SFooter_1rjpw_gg_{background:var(--intergalactic-bg-secondary-neutral, #f4f5f9);padding:var(--intergalactic-spacing-1x, 4px) var(--intergalactic-spacing-3x, 12px);border-radius:0 0 var(--intergalactic-rounded-medium, 6px) var(--intergalactic-rounded-medium, 6px);margin:var(--intergalactic-spacing-3x, 12px) calc(-1*var(--intergalactic-spacing-3x, 12px)) calc(-1*var(--intergalactic-spacing-3x, 12px))}" /*__inner_css_end__*/, "1rjpw_gg_") /*__reshadow_css_end__*/, {
25
- "__STooltip": "___STooltip_1rjpw_gg_",
26
- "__STitle": "___STitle_1rjpw_gg_",
27
- "__SDotGroup": "___SDotGroup_1rjpw_gg_",
28
- "__SDot": "___SDot_1rjpw_gg_",
29
- "_color": "__color_1rjpw_gg_",
30
- "--color": "--color_1rjpw",
31
- "__SFooter": "___SFooter_1rjpw_gg_"
24
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___STooltip_1g2c7_gg_{font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);border:1px solid var(--intergalactic-border-secondary, #e0e1e9);box-sizing:border-box;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));padding:var(--intergalactic-spacing-3x, 12px)}.___STitle_1g2c7_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SDotGroup_1g2c7_gg_{display:flex;align-items:center}.___SDot_1g2c7_gg_{width:8px;height:8px;border-radius:50%;margin-right:var(--intergalactic-spacing-2x, 8px);background:var(--intergalactic-icon-secondary-info, #2bb3ff)}.___SDot_1g2c7_gg_.__color_1g2c7_gg_{background:var(--color_1g2c7)}.___SFooter_1g2c7_gg_{background:var(--intergalactic-bg-secondary-neutral, #f4f5f9);padding:var(--intergalactic-spacing-1x, 4px) var(--intergalactic-spacing-3x, 12px);border-radius:0 0 var(--intergalactic-rounded-medium, 6px) var(--intergalactic-rounded-medium, 6px);margin:var(--intergalactic-spacing-3x, 12px) calc(-1*var(--intergalactic-spacing-3x, 12px)) calc(-1*var(--intergalactic-spacing-3x, 12px))}" /*__inner_css_end__*/, "1g2c7_gg_") /*__reshadow_css_end__*/, {
25
+ "__STooltip": "___STooltip_1g2c7_gg_",
26
+ "__STitle": "___STitle_1g2c7_gg_",
27
+ "__SDotGroup": "___SDotGroup_1g2c7_gg_",
28
+ "__SDot": "___SDot_1g2c7_gg_",
29
+ "_color": "__color_1g2c7_gg_",
30
+ "--color": "--color_1g2c7",
31
+ "__SFooter": "___SFooter_1g2c7_gg_"
32
32
  });
33
33
  var TooltipRoot = /*#__PURE__*/function (_Component) {
34
34
  _inherits(TooltipRoot, _Component);
package/lib/es6/Venn.js CHANGED
@@ -15,13 +15,13 @@ import { FadeInOut } from '@semcore/animation';
15
15
  import createElement from './createElement';
16
16
  import { CONSTANT } from './utils';
17
17
  /*__reshadow-styles__:"./style/venn.shadow.css"*/
18
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCircle_s9tvb_gg_,.___SIntersection_s9tvb_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px}.___SCircle_s9tvb_gg_{fill:var(--intergalactic-chart-palette-order-2, #59ddaa);fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_s9tvb);transition-timing-function:ease-in-out}@media (hover:hover){.___SCircle_s9tvb_gg_:hover{fill-opacity:.7}}.___SCircle_s9tvb_gg_.__color_s9tvb_gg_{fill:var(--color_s9tvb)}.___SCircle_s9tvb_gg_.__transparent_s9tvb_gg_{opacity:.3}.___SIntersection_s9tvb_gg_{fill-opacity:0}@media (hover:hover){.___SIntersection_s9tvb_gg_:hover{fill-opacity:.1}}.___SIntersection_s9tvb_gg_.__transparent_s9tvb_gg_{opacity:.3}" /*__inner_css_end__*/, "s9tvb_gg_") /*__reshadow_css_end__*/, {
19
- "__SCircle": "___SCircle_s9tvb_gg_",
20
- "--duration": "--duration_s9tvb",
21
- "_color": "__color_s9tvb_gg_",
22
- "--color": "--color_s9tvb",
23
- "_transparent": "__transparent_s9tvb_gg_",
24
- "__SIntersection": "___SIntersection_s9tvb_gg_"
18
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCircle_hqtmq_gg_,.___SIntersection_hqtmq_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px}.___SCircle_hqtmq_gg_{fill:var(--intergalactic-chart-palette-order-2, #59ddaa);fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_hqtmq);transition-timing-function:ease-in-out}@media (hover:hover){.___SCircle_hqtmq_gg_:hover{fill-opacity:.7}}.___SCircle_hqtmq_gg_.__color_hqtmq_gg_{fill:var(--color_hqtmq)}.___SCircle_hqtmq_gg_.__transparent_hqtmq_gg_{opacity:.3}.___SIntersection_hqtmq_gg_{fill-opacity:0}@media (hover:hover){.___SIntersection_hqtmq_gg_:hover{fill-opacity:.1}}.___SIntersection_hqtmq_gg_.__transparent_hqtmq_gg_{opacity:.3}" /*__inner_css_end__*/, "hqtmq_gg_") /*__reshadow_css_end__*/, {
19
+ "__SCircle": "___SCircle_hqtmq_gg_",
20
+ "--duration": "--duration_hqtmq",
21
+ "_color": "__color_hqtmq_gg_",
22
+ "--color": "--color_hqtmq",
23
+ "_transparent": "__transparent_hqtmq_gg_",
24
+ "__SIntersection": "___SIntersection_hqtmq_gg_"
25
25
  });
26
26
  var VennRoot = /*#__PURE__*/function (_Component) {
27
27
  _inherits(VennRoot, _Component);
@@ -10,8 +10,8 @@ import { normalizeLocale } from './locale';
10
10
  import { localizedMessages } from './translations/module/__intergalactic-dynamic-locales';
11
11
  import { Root, sstyled } from '@semcore/core';
12
12
  /*__reshadow-styles__:"../style/plotA11yModule.shadow.css"*/
13
- var styles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPlotA11yModule_cowo7_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0}.___SPlotA11yModule_cowo7_gg_:focus{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1}" /*__inner_css_end__*/, "cowo7_gg_") /*__reshadow_css_end__*/, {
14
- "__SPlotA11yModule": "___SPlotA11yModule_cowo7_gg_"
13
+ var styles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPlotA11yModule_1es5c_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0}.___SPlotA11yModule_1es5c_gg_:focus{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1}" /*__inner_css_end__*/, "1es5c_gg_") /*__reshadow_css_end__*/, {
14
+ "__SPlotA11yModule": "___SPlotA11yModule_1es5c_gg_"
15
15
  });
16
16
  import { Context as I18nContext, useI18n } from '@semcore/utils/lib/enhances/WithI18n';
17
17
  import { Box } from '@semcore/flex-box';
@@ -121,8 +121,7 @@ export var PlotA11yModule = function PlotA11yModule(props) {
121
121
  }
122
122
  return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SPlotA11yModule, _ref5.cn("SPlotA11yModule", _objectSpread({}, _assignProps3({
123
123
  "tabIndex": 0,
124
- "onFocus": hadnleHiddenElementsFocus,
125
- "role": 'note'
124
+ "onFocus": hadnleHiddenElementsFocus
126
125
  }, _ref))), t('disabled'));
127
126
  };
128
127
  //# sourceMappingURL=PlotA11yModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlotA11yModule.js","names":["React","normalizeLocale","localizedMessages","Root","sstyled","styles","_sstyled","insert","Context","I18nContext","useI18n","Box","globalWasFocused","globalNavWithKeyboard","PlotA11yModule","props","_ref","arguments[0]","_ref5","SPlotA11yModule","_React$useState","useState","_React$useState2","_slicedToArray","wasFocused","setWasFocused","_React$useState3","_React$useState4","navWithKeyboard","setNavWithKeyboard","_React$useState5","_React$useState6","plotA11yView","setPlotA11yView","hadnleHiddenElementsFocus","useCallback","_React$useState7","_React$useState8","loading","setLoading","_React$useState9","_React$useState10","error","setError","contextLocale","useContext","locale","useMemo","_props$locale","t","useEffect","_props$plotRef$curren","focusListener","plotRef","current","addEventListener","_props$plotRef$curren2","removeEventListener","_document$body","keyboardListener","event","navigationKeys","includes","key","document","body","_document$body2","shouldDisplayView","then","_ref6","PlotA11yView","Component","console","_ref2","createElement","_extends","_ref3","cn","_objectSpread","_assignProps","_ref4","_assignProps2","_assignProps3"],"sources":["../../../src/a11y/PlotA11yModule.tsx"],"sourcesContent":["import React from 'react';\nimport { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { normalizeLocale } from './locale';\nimport { localizedMessages } from './translations/module/__intergalactic-dynamic-locales';\nimport { Root, sstyled } from '@semcore/core';\nimport styles from '../style/plotA11yModule.shadow.css';\nimport { Context as I18nContext, useI18n } from '@semcore/utils/lib/enhances/WithI18n';\nimport { Box } from '@semcore/flex-box';\n\nlet globalWasFocused = false;\nlet globalNavWithKeyboard = false;\n\nexport type A11yViewProps = {\n id: string;\n data: Record<string, unknown>[];\n hints: DataStructureHints;\n plotLabel: string;\n locale: NavigatorLanguage['language'];\n config: PartialDataSummarizationConfig;\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n plotRef: React.RefObject<Element>;\n};\n\nexport const PlotA11yModule: React.FC<A11yViewProps> = (props) => {\n const SPlotA11yModule = Root;\n const [wasFocused, setWasFocused] = React.useState(globalWasFocused);\n const [navWithKeyboard, setNavWithKeyboard] = React.useState(globalNavWithKeyboard);\n const [plotA11yView, setPlotA11yView] = React.useState<{\n Component: React.FC<A11yViewProps>;\n } | null>(null);\n\n const hadnleHiddenElementsFocus = React.useCallback(() => {\n setWasFocused(true);\n setNavWithKeyboard(true);\n }, []);\n\n const [loading, setLoading] = React.useState(false);\n const [error, setError] = React.useState<Error | null>(null);\n\n const contextLocale = React.useContext(I18nContext);\n const locale = React.useMemo(\n () => normalizeLocale(props.locale ?? contextLocale, localizedMessages),\n [props.locale],\n );\n const t = useI18n(localizedMessages, locale);\n\n React.useEffect(() => {\n if (wasFocused) return;\n const focusListener = () => {\n globalWasFocused = true;\n setWasFocused(true);\n };\n\n props.plotRef.current?.addEventListener('focus', focusListener);\n return () => props.plotRef.current?.removeEventListener('focus', focusListener);\n }, [wasFocused, props.plotRef]);\n React.useEffect(() => {\n if (navWithKeyboard) return;\n const keyboardListener = (event: Event) => {\n const navigationKeys = [\n 'Tab',\n 'ArrowUp',\n 'ArrowLeft',\n 'ArrowDown',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowLeft',\n ];\n if ('key' in event && navigationKeys.includes((event as KeyboardEvent).key)) {\n setNavWithKeyboard(true);\n globalNavWithKeyboard = true;\n }\n };\n document.body?.addEventListener('keydown', keyboardListener);\n return () => document.body?.removeEventListener('keydown', keyboardListener);\n }, [navWithKeyboard]);\n\n const shouldDisplayView = wasFocused && navWithKeyboard;\n\n React.useEffect(() => {\n if (!shouldDisplayView) return;\n if (plotA11yView) return;\n if (loading) return;\n\n setLoading(true);\n\n import('./PlotA11yView')\n .then(({ PlotA11yView }) => {\n setPlotA11yView({ Component: PlotA11yView });\n setLoading(false);\n setError(null);\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error(error);\n setError(error);\n });\n }, [plotA11yView, shouldDisplayView, loading, setLoading]);\n\n if (plotA11yView) {\n return sstyled(styles)(\n <plotA11yView.Component {...props} locale={locale!} />,\n ) as React.ReactElement;\n }\n\n if (error) {\n return sstyled(styles)(\n <SPlotA11yModule render={Box} tabIndex={0} aria-live=\"assertive\">\n {t('failed')}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n }\n if (loading) {\n return sstyled(styles)(\n <SPlotA11yModule render={Box} tabIndex={0} aria-live=\"polite\">\n {t('loading')}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n }\n\n return sstyled(styles)(\n <SPlotA11yModule render={Box} tabIndex={0} onFocus={hadnleHiddenElementsFocus} role='note'>\n {t('disabled')}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"PlotA11yModule.js","names":["React","normalizeLocale","localizedMessages","Root","sstyled","styles","_sstyled","insert","Context","I18nContext","useI18n","Box","globalWasFocused","globalNavWithKeyboard","PlotA11yModule","props","_ref","arguments[0]","_ref5","SPlotA11yModule","_React$useState","useState","_React$useState2","_slicedToArray","wasFocused","setWasFocused","_React$useState3","_React$useState4","navWithKeyboard","setNavWithKeyboard","_React$useState5","_React$useState6","plotA11yView","setPlotA11yView","hadnleHiddenElementsFocus","useCallback","_React$useState7","_React$useState8","loading","setLoading","_React$useState9","_React$useState10","error","setError","contextLocale","useContext","locale","useMemo","_props$locale","t","useEffect","_props$plotRef$curren","focusListener","plotRef","current","addEventListener","_props$plotRef$curren2","removeEventListener","_document$body","keyboardListener","event","navigationKeys","includes","key","document","body","_document$body2","shouldDisplayView","then","_ref6","PlotA11yView","Component","console","_ref2","createElement","_extends","_ref3","cn","_objectSpread","_assignProps","_ref4","_assignProps2","_assignProps3"],"sources":["../../../src/a11y/PlotA11yModule.tsx"],"sourcesContent":["import React from 'react';\nimport { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { normalizeLocale } from './locale';\nimport { localizedMessages } from './translations/module/__intergalactic-dynamic-locales';\nimport { Root, sstyled } from '@semcore/core';\nimport styles from '../style/plotA11yModule.shadow.css';\nimport { Context as I18nContext, useI18n } from '@semcore/utils/lib/enhances/WithI18n';\nimport { Box } from '@semcore/flex-box';\n\nlet globalWasFocused = false;\nlet globalNavWithKeyboard = false;\n\nexport type A11yViewProps = {\n id: string;\n data: Record<string, unknown>[];\n hints: DataStructureHints;\n plotLabel: string;\n locale: NavigatorLanguage['language'];\n config: PartialDataSummarizationConfig;\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n plotRef: React.RefObject<Element>;\n};\n\nexport const PlotA11yModule: React.FC<A11yViewProps> = (props) => {\n const SPlotA11yModule = Root;\n const [wasFocused, setWasFocused] = React.useState(globalWasFocused);\n const [navWithKeyboard, setNavWithKeyboard] = React.useState(globalNavWithKeyboard);\n const [plotA11yView, setPlotA11yView] = React.useState<{\n Component: React.FC<A11yViewProps>;\n } | null>(null);\n\n const hadnleHiddenElementsFocus = React.useCallback(() => {\n setWasFocused(true);\n setNavWithKeyboard(true);\n }, []);\n\n const [loading, setLoading] = React.useState(false);\n const [error, setError] = React.useState<Error | null>(null);\n\n const contextLocale = React.useContext(I18nContext);\n const locale = React.useMemo(\n () => normalizeLocale(props.locale ?? contextLocale, localizedMessages),\n [props.locale],\n );\n const t = useI18n(localizedMessages, locale);\n\n React.useEffect(() => {\n if (wasFocused) return;\n const focusListener = () => {\n globalWasFocused = true;\n setWasFocused(true);\n };\n\n props.plotRef.current?.addEventListener('focus', focusListener);\n return () => props.plotRef.current?.removeEventListener('focus', focusListener);\n }, [wasFocused, props.plotRef]);\n React.useEffect(() => {\n if (navWithKeyboard) return;\n const keyboardListener = (event: Event) => {\n const navigationKeys = [\n 'Tab',\n 'ArrowUp',\n 'ArrowLeft',\n 'ArrowDown',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowLeft',\n ];\n if ('key' in event && navigationKeys.includes((event as KeyboardEvent).key)) {\n setNavWithKeyboard(true);\n globalNavWithKeyboard = true;\n }\n };\n document.body?.addEventListener('keydown', keyboardListener);\n return () => document.body?.removeEventListener('keydown', keyboardListener);\n }, [navWithKeyboard]);\n\n const shouldDisplayView = wasFocused && navWithKeyboard;\n\n React.useEffect(() => {\n if (!shouldDisplayView) return;\n if (plotA11yView) return;\n if (loading) return;\n\n setLoading(true);\n\n import('./PlotA11yView')\n .then(({ PlotA11yView }) => {\n setPlotA11yView({ Component: PlotA11yView });\n setLoading(false);\n setError(null);\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error(error);\n setError(error);\n });\n }, [plotA11yView, shouldDisplayView, loading, setLoading]);\n\n if (plotA11yView) {\n return sstyled(styles)(\n <plotA11yView.Component {...props} locale={locale!} />,\n ) as React.ReactElement;\n }\n\n if (error) {\n return sstyled(styles)(\n <SPlotA11yModule render={Box} tabIndex={0} aria-live=\"assertive\">\n {t('failed')}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n }\n if (loading) {\n return sstyled(styles)(\n <SPlotA11yModule render={Box} tabIndex={0} aria-live=\"polite\">\n {t('loading')}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n }\n\n return sstyled(styles)(\n <SPlotA11yModule render={Box} tabIndex={0} onFocus={hadnleHiddenElementsFocus}>\n {t('disabled')}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n};\n"],"mappings":"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"}
@@ -12,9 +12,9 @@ import { getIntl } from './intl';
12
12
  import { summarize } from './summarize';
13
13
  import { Root, sstyled } from '@semcore/core';
14
14
  /*__reshadow-styles__:"../style/plotA11yView.shadow.css"*/
15
- var styles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPlotA11yView_14blm_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);border:3px solid var(--intergalactic-border-primary, #c4c7cf);font-size:var(--intergalactic-fs-50, 10px);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}.___SPlotA11yView_14blm_gg_.__focus-within_14blm_gg_,.___SPlotA11yView_14blm_gg_:focus{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay, 500);position:relative;display:block}.___SPlotA11yView_14blm_gg_:focus,.___SPlotA11yView_14blm_gg_:focus-within{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay, 500);position:relative;display:block}.___SPlotA11yView_14blm_gg_ a{cursor:pointer;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x, 8px);display:block}.___SPlotA11yView_14blm_gg_ table,.___SPlotA11yView_14blm_gg_ td,.___SPlotA11yView_14blm_gg_ th{border:1px solid var(--intergalactic-border-primary, #c4c7cf)}" /*__inner_css_end__*/, "14blm_gg_") /*__reshadow_css_end__*/, {
16
- "__SPlotA11yView": "___SPlotA11yView_14blm_gg_",
17
- "_focus-within": "__focus-within_14blm_gg_"
15
+ var styles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPlotA11yView_1jkba_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);border:3px solid var(--intergalactic-border-primary, #c4c7cf);font-size:var(--intergalactic-fs-50, 10px);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}.___SPlotA11yView_1jkba_gg_.__focus-within_1jkba_gg_,.___SPlotA11yView_1jkba_gg_:focus{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay, 500);position:relative;display:block}.___SPlotA11yView_1jkba_gg_:focus,.___SPlotA11yView_1jkba_gg_:focus-within{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay, 500);position:relative;display:block}.___SPlotA11yView_1jkba_gg_ a{cursor:pointer;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x, 8px);display:block}.___SPlotA11yView_1jkba_gg_ table,.___SPlotA11yView_1jkba_gg_ td,.___SPlotA11yView_1jkba_gg_ th{border:1px solid var(--intergalactic-border-primary, #c4c7cf)}" /*__inner_css_end__*/, "1jkba_gg_") /*__reshadow_css_end__*/, {
16
+ "__SPlotA11yView": "___SPlotA11yView_1jkba_gg_",
17
+ "_focus-within": "__focus-within_1jkba_gg_"
18
18
  });
19
19
  import { Box } from '@semcore/flex-box';
20
20
  import { useAsyncI18nMessages } from '@semcore/utils/lib/enhances/i18nEnhance';
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": "2.13.11",
4
+ "version": "2.13.13",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",