@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.
Files changed (152) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/Area.js +59 -97
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +76 -143
  5. package/lib/cjs/Axis.js.map +1 -1
  6. package/lib/cjs/Bar.js +49 -96
  7. package/lib/cjs/Bar.js.map +1 -1
  8. package/lib/cjs/Bubble.js +39 -81
  9. package/lib/cjs/Bubble.js.map +1 -1
  10. package/lib/cjs/ClipPath.js +9 -35
  11. package/lib/cjs/ClipPath.js.map +1 -1
  12. package/lib/cjs/Donut.js +77 -152
  13. package/lib/cjs/Donut.js.map +1 -1
  14. package/lib/cjs/Dots.js +29 -57
  15. package/lib/cjs/Dots.js.map +1 -1
  16. package/lib/cjs/GroupBar.js +5 -26
  17. package/lib/cjs/GroupBar.js.map +1 -1
  18. package/lib/cjs/HorizontalBar.js +43 -84
  19. package/lib/cjs/HorizontalBar.js.map +1 -1
  20. package/lib/cjs/Hover.js +33 -88
  21. package/lib/cjs/Hover.js.map +1 -1
  22. package/lib/cjs/Line.js +42 -78
  23. package/lib/cjs/Line.js.map +1 -1
  24. package/lib/cjs/Plot.js +27 -73
  25. package/lib/cjs/Plot.js.map +1 -1
  26. package/lib/cjs/Radar.js +152 -277
  27. package/lib/cjs/Radar.js.map +1 -1
  28. package/lib/cjs/RadialTree.js +105 -211
  29. package/lib/cjs/RadialTree.js.map +1 -1
  30. package/lib/cjs/ReferenceLine.js +45 -87
  31. package/lib/cjs/ReferenceLine.js.map +1 -1
  32. package/lib/cjs/ResponsiveContainer.js +9 -38
  33. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  34. package/lib/cjs/ScatterPlot.js +34 -74
  35. package/lib/cjs/ScatterPlot.js.map +1 -1
  36. package/lib/cjs/StackBar.js +9 -38
  37. package/lib/cjs/StackBar.js.map +1 -1
  38. package/lib/cjs/StackedArea.js +5 -29
  39. package/lib/cjs/StackedArea.js.map +1 -1
  40. package/lib/cjs/Tooltip.js +27 -76
  41. package/lib/cjs/Tooltip.js.map +1 -1
  42. package/lib/cjs/Venn.js +32 -75
  43. package/lib/cjs/Venn.js.map +1 -1
  44. package/lib/cjs/a11y/PlotA11yModule.js +18 -71
  45. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  46. package/lib/cjs/a11y/PlotA11yView.js +19 -83
  47. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  48. package/lib/cjs/a11y/bezier.js +0 -7
  49. package/lib/cjs/a11y/bezier.js.map +1 -1
  50. package/lib/cjs/a11y/focus.js +2 -11
  51. package/lib/cjs/a11y/focus.js.map +1 -1
  52. package/lib/cjs/a11y/hints.js +0 -13
  53. package/lib/cjs/a11y/hints.js.map +1 -1
  54. package/lib/cjs/a11y/insights.js +21 -132
  55. package/lib/cjs/a11y/insights.js.map +1 -1
  56. package/lib/cjs/a11y/intl.js +0 -6
  57. package/lib/cjs/a11y/intl.js.map +1 -1
  58. package/lib/cjs/a11y/locale.js +4 -22
  59. package/lib/cjs/a11y/locale.js.map +1 -1
  60. package/lib/cjs/a11y/serialize.js +23 -83
  61. package/lib/cjs/a11y/serialize.js.map +1 -1
  62. package/lib/cjs/a11y/summarize.js +0 -4
  63. package/lib/cjs/a11y/summarize.js.map +1 -1
  64. package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js +0 -13
  65. package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
  66. package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js +0 -13
  67. package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
  68. package/lib/cjs/color.js +0 -3
  69. package/lib/cjs/color.js.map +1 -1
  70. package/lib/cjs/createElement.js +18 -47
  71. package/lib/cjs/createElement.js.map +1 -1
  72. package/lib/cjs/index.js +0 -23
  73. package/lib/cjs/index.js.map +1 -1
  74. package/lib/cjs/types/Plot.d.js.map +1 -1
  75. package/lib/cjs/types/index.d.js +0 -39
  76. package/lib/cjs/types/index.d.js.map +1 -1
  77. package/lib/cjs/utils.js +7 -59
  78. package/lib/cjs/utils.js.map +1 -1
  79. package/lib/es6/Area.js +59 -86
  80. package/lib/es6/Area.js.map +1 -1
  81. package/lib/es6/Axis.js +76 -135
  82. package/lib/es6/Axis.js.map +1 -1
  83. package/lib/es6/Bar.js +49 -86
  84. package/lib/es6/Bar.js.map +1 -1
  85. package/lib/es6/Bubble.js +39 -70
  86. package/lib/es6/Bubble.js.map +1 -1
  87. package/lib/es6/ClipPath.js +9 -23
  88. package/lib/es6/ClipPath.js.map +1 -1
  89. package/lib/es6/Donut.js +77 -141
  90. package/lib/es6/Donut.js.map +1 -1
  91. package/lib/es6/Dots.js +29 -46
  92. package/lib/es6/Dots.js.map +1 -1
  93. package/lib/es6/GroupBar.js +5 -15
  94. package/lib/es6/GroupBar.js.map +1 -1
  95. package/lib/es6/HorizontalBar.js +43 -75
  96. package/lib/es6/HorizontalBar.js.map +1 -1
  97. package/lib/es6/Hover.js +33 -85
  98. package/lib/es6/Hover.js.map +1 -1
  99. package/lib/es6/Line.js +42 -67
  100. package/lib/es6/Line.js.map +1 -1
  101. package/lib/es6/Plot.js +27 -66
  102. package/lib/es6/Plot.js.map +1 -1
  103. package/lib/es6/Radar.js +152 -281
  104. package/lib/es6/Radar.js.map +1 -1
  105. package/lib/es6/RadialTree.js +105 -203
  106. package/lib/es6/RadialTree.js.map +1 -1
  107. package/lib/es6/ReferenceLine.js +45 -79
  108. package/lib/es6/ReferenceLine.js.map +1 -1
  109. package/lib/es6/ResponsiveContainer.js +9 -28
  110. package/lib/es6/ResponsiveContainer.js.map +1 -1
  111. package/lib/es6/ScatterPlot.js +34 -65
  112. package/lib/es6/ScatterPlot.js.map +1 -1
  113. package/lib/es6/StackBar.js +9 -26
  114. package/lib/es6/StackBar.js.map +1 -1
  115. package/lib/es6/StackedArea.js +5 -18
  116. package/lib/es6/StackedArea.js.map +1 -1
  117. package/lib/es6/Tooltip.js +27 -63
  118. package/lib/es6/Tooltip.js.map +1 -1
  119. package/lib/es6/Venn.js +32 -64
  120. package/lib/es6/Venn.js.map +1 -1
  121. package/lib/es6/a11y/PlotA11yModule.js +18 -52
  122. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  123. package/lib/es6/a11y/PlotA11yView.js +19 -53
  124. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  125. package/lib/es6/a11y/bezier.js +0 -5
  126. package/lib/es6/a11y/bezier.js.map +1 -1
  127. package/lib/es6/a11y/focus.js +2 -9
  128. package/lib/es6/a11y/focus.js.map +1 -1
  129. package/lib/es6/a11y/hints.js +0 -3
  130. package/lib/es6/a11y/hints.js.map +1 -1
  131. package/lib/es6/a11y/insights.js +21 -133
  132. package/lib/es6/a11y/insights.js.map +1 -1
  133. package/lib/es6/a11y/intl.js +0 -1
  134. package/lib/es6/a11y/intl.js.map +1 -1
  135. package/lib/es6/a11y/locale.js +4 -18
  136. package/lib/es6/a11y/locale.js.map +1 -1
  137. package/lib/es6/a11y/serialize.js +23 -74
  138. package/lib/es6/a11y/serialize.js.map +1 -1
  139. package/lib/es6/a11y/summarize.js.map +1 -1
  140. package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
  141. package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
  142. package/lib/es6/color.js +0 -1
  143. package/lib/es6/color.js.map +1 -1
  144. package/lib/es6/createElement.js +18 -34
  145. package/lib/es6/createElement.js.map +1 -1
  146. package/lib/es6/index.js.map +1 -1
  147. package/lib/es6/types/Plot.d.js.map +1 -1
  148. package/lib/es6/types/index.d.js +5 -3
  149. package/lib/es6/types/index.d.js.map +1 -1
  150. package/lib/es6/utils.js +7 -28
  151. package/lib/es6/utils.js.map +1 -1
  152. package/package.json +1 -1
package/lib/cjs/utils.js CHANGED
@@ -1,84 +1,61 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.uniqueId = exports.scaleOfBandwidth = exports.roundedPath = exports.minMax = exports.memoize = exports.measureText = exports.invert = exports.getNullData = exports.getIndexFromData = exports.getBandwidth = exports.eventToPoint = exports.definedNullData = exports.definedData = exports.CONSTANT = void 0;
9
-
10
8
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
11
-
12
9
  var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
11
  var _d3Array = require("d3-array");
17
-
18
12
  var _d3Scale = require("d3-scale");
19
-
20
13
  var CONSTANT = {
21
14
  VIRTUAL_ELEMENT: Symbol('VIRTUAL_ELEMENT')
22
15
  };
23
16
  exports.CONSTANT = CONSTANT;
24
-
25
17
  var eventToPoint = function eventToPoint(event, svgRoot) {
26
18
  var node = event.currentTarget || event.target;
27
19
  var rect = svgRoot.getBoundingClientRect();
28
20
  return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];
29
21
  };
30
-
31
22
  exports.eventToPoint = eventToPoint;
32
-
33
23
  var invert = function invert(scale, value) {
34
24
  if ('invert' in scale && scale.invert) return scale.invert(value);
35
25
  var range = scale.range();
36
26
  var domain = scale.domain();
37
-
38
27
  if ('paddingOuter' in scale) {
39
28
  range[0] += scale.paddingOuter() * scale.step();
40
29
  range[1] -= scale.paddingOuter() * scale.step();
41
30
  }
42
-
43
31
  return (0, _d3Scale.scaleQuantize)().domain(range[0] <= range[1] ? range : range.slice().reverse()).range(range[0] <= range[1] ? domain : domain.slice().reverse())(value);
44
32
  };
45
-
46
33
  exports.invert = invert;
47
-
48
34
  var definedNullData = function definedNullData(x, y) {
49
35
  return function (plot) {
50
36
  return plot[x] !== null && plot[y] !== null;
51
37
  };
52
38
  };
53
-
54
39
  exports.definedNullData = definedNullData;
55
-
56
40
  var definedData = function definedData(x, y) {
57
41
  return function (plot) {
58
42
  return plot[x] !== null && plot[x] !== undefined && plot[y] !== null && plot[y] !== undefined;
59
43
  };
60
44
  };
61
-
62
45
  exports.definedData = definedData;
63
-
64
46
  var scaleOfBandwidth = function scaleOfBandwidth(scale, value) {
65
47
  return scale.bandwidth ? scale(value) + scale.bandwidth() / 2 : scale(value);
66
48
  };
67
-
68
49
  exports.scaleOfBandwidth = scaleOfBandwidth;
69
-
70
50
  var minMax = function minMax(data, key) {
71
51
  if (typeof key === 'string') {
72
52
  return (0, _d3Array.extent)(data, function (d) {
73
53
  return d[key];
74
54
  });
75
55
  }
76
-
77
56
  return (0, _d3Array.extent)(data, key);
78
57
  };
79
-
80
58
  exports.minMax = minMax;
81
-
82
59
  var getNullData = function getNullData(data, defined, name) {
83
60
  return data.reduce(function (acc, d, i, data) {
84
61
  if (defined(d)) {
@@ -86,34 +63,29 @@ var getNullData = function getNullData(data, defined, name) {
86
63
  } else {
87
64
  var prev = data[i - 1];
88
65
  var next = data[i + 1];
89
-
90
66
  if (i === 0) {
91
67
  var defNext = data.find(defined);
92
68
  acc.push((0, _objectSpread4["default"])((0, _objectSpread4["default"])({}, d), {}, (0, _defineProperty2["default"])({}, name, defNext ? defNext[name] : null)));
93
- } // prev
94
-
69
+ }
95
70
 
71
+ // prev
96
72
  if (prev && defined(prev)) {
97
73
  acc.push(prev);
98
- } // next
99
-
74
+ }
100
75
 
76
+ // next
101
77
  if (next && defined(next)) {
102
78
  acc.push(next);
103
79
  }
104
-
105
80
  if (data.length - 1 === i) {
106
81
  var defPrev = data.slice().reverse().find(defined);
107
82
  acc.push((0, _objectSpread4["default"])((0, _objectSpread4["default"])({}, d), {}, (0, _defineProperty2["default"])({}, name, defPrev ? defPrev[name] : null)));
108
83
  }
109
84
  }
110
-
111
85
  return acc;
112
86
  }, []);
113
87
  };
114
-
115
88
  exports.getNullData = getNullData;
116
-
117
89
  var getIndexFromData = function getIndexFromData(data, scale, key, value) {
118
90
  // detect line chart
119
91
  if ('invert' in scale && typeof scale.invert === 'function') {
@@ -121,7 +93,8 @@ var getIndexFromData = function getIndexFromData(data, scale, key, value) {
121
93
  return d[key];
122
94
  }).center;
123
95
  return bisect(data, value);
124
- } // detect bar chart
96
+ }
97
+ // detect bar chart
125
98
  else if ('step' in scale && typeof scale.step !== 'undefined') {
126
99
  // console.log({ key, scale, value });
127
100
  var index = data.findIndex(function (d) {
@@ -134,9 +107,7 @@ var getIndexFromData = function getIndexFromData(data, scale, key, value) {
134
107
  return null;
135
108
  }
136
109
  };
137
-
138
110
  exports.getIndexFromData = getIndexFromData;
139
-
140
111
  var roundedPath = function roundedPath(x, y, w, h, r) {
141
112
  var tl = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
142
113
  var tr = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
@@ -144,88 +115,68 @@ var roundedPath = function roundedPath(x, y, w, h, r) {
144
115
  var br = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
145
116
  var result = 'M' + (x + r) + ',' + y;
146
117
  result += 'h' + (w - 2 * r);
147
-
148
118
  if (tr) {
149
119
  result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + r;
150
120
  } else {
151
121
  result += 'h' + r;
152
122
  result += 'v' + r;
153
123
  }
154
-
155
124
  result += 'v' + (h - 2 * r);
156
-
157
125
  if (br) {
158
126
  result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + r;
159
127
  } else {
160
128
  result += 'v' + r;
161
129
  result += 'h' + -r;
162
130
  }
163
-
164
131
  result += 'h' + (2 * r - w);
165
-
166
132
  if (bl) {
167
133
  result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + -r;
168
134
  } else {
169
135
  result += 'h' + -r;
170
136
  result += 'v' + -r;
171
137
  }
172
-
173
138
  result += 'v' + (2 * r - h);
174
-
175
139
  if (tl) {
176
140
  result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + -r;
177
141
  } else {
178
142
  result += 'v' + -r;
179
143
  result += 'h' + r;
180
144
  }
181
-
182
145
  result += 'z';
183
146
  return result;
184
147
  };
185
-
186
148
  exports.roundedPath = roundedPath;
187
-
188
149
  var getBandwidth = function getBandwidth(scale) {
189
150
  if ('bandwidth' in scale) {
190
151
  return scale.bandwidth();
191
152
  }
192
-
193
153
  var range = scale.range();
194
154
  var domain = scale.domain();
195
155
  return Math.abs(range[range.length - 1] - range[0]) / domain.length;
196
156
  };
197
-
198
157
  exports.getBandwidth = getBandwidth;
199
-
200
158
  var memoize = function memoize(func) {
201
159
  var results = {};
202
160
  return function () {
203
161
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
204
162
  args[_key] = arguments[_key];
205
163
  }
206
-
207
164
  var argsKey = args.join(',');
208
-
209
165
  if (!results[argsKey]) {
210
166
  results[argsKey] = func.apply(void 0, args);
211
167
  }
212
-
213
168
  return results[argsKey];
214
169
  };
215
170
  };
216
-
217
171
  exports.memoize = memoize;
218
172
  var measureText = memoize(function (text, fontSize) {
219
173
  if (!text) return 0;
220
174
  var span = document.createElement('span');
221
-
222
175
  if (fontSize) {
223
176
  span.style.fontSize = "".concat(fontSize, "px");
224
177
  }
225
-
226
178
  var _iterator = (0, _createForOfIteratorHelper2["default"])(text.split('\n')),
227
- _step;
228
-
179
+ _step;
229
180
  try {
230
181
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
231
182
  var line = _step.value;
@@ -237,7 +188,6 @@ var measureText = memoize(function (text, fontSize) {
237
188
  } finally {
238
189
  _iterator.f();
239
190
  }
240
-
241
191
  span.style.display = 'inline-block';
242
192
  document.body.append(span);
243
193
  var textWidth = span.offsetWidth;
@@ -247,11 +197,9 @@ var measureText = memoize(function (text, fontSize) {
247
197
  });
248
198
  exports.measureText = measureText;
249
199
  var idCounter = 0;
250
-
251
200
  var uniqueId = function uniqueId() {
252
201
  var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'id-';
253
202
  return "".concat(prefix).concat(idCounter++);
254
203
  };
255
-
256
204
  exports.uniqueId = uniqueId;
257
205
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["CONSTANT","VIRTUAL_ELEMENT","Symbol","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","paddingOuter","step","scaleQuantize","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","extent","d","getNullData","defined","name","reduce","acc","i","push","prev","next","defNext","find","length","defPrev","getIndexFromData","bisect","bisector","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":["_d3Array","require","_d3Scale","CONSTANT","VIRTUAL_ELEMENT","Symbol","exports","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","paddingOuter","step","scaleQuantize","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","extent","d","getNullData","defined","name","reduce","acc","i","push","_defineProperty2","prev","next","defNext","find","_objectSpread4","length","defPrev","getIndexFromData","bisect","bisector","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","_createForOfIteratorHelper2","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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"}
package/lib/es6/Area.js CHANGED
@@ -14,48 +14,34 @@ import Dots from './Dots';
14
14
  import createElement from './createElement';
15
15
  import { definedData, scaleOfBandwidth, getNullData, definedNullData } from './utils';
16
16
  import ClipPath from './ClipPath';
17
-
18
17
  /*__reshadow-styles__:"./style/area.shadow.css"*/
19
- var style = (
20
- /*__reshadow_css_start__*/
21
- _sstyled.insert(
22
- /*__inner_css_start__*/
23
- ".___SArea_fuzdt_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);fill-opacity:.2}.___SArea_fuzdt_gg_.__color_fuzdt_gg_{fill:var(--color_fuzdt)}.___SArea_fuzdt_gg_.__transparent_fuzdt_gg_{opacity:.3}.___SAreaLine_fuzdt_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SAreaLine_fuzdt_gg_.__color_fuzdt_gg_{stroke:var(--color_fuzdt)}.___SAreaLine_fuzdt_gg_.__transparent_fuzdt_gg_{opacity:.3}.___SAreaLine_fuzdt_gg_,.___SArea_fuzdt_gg_{transition-property:d;transition-duration:var(--duration_fuzdt);transition-timing-function:ease-in-out}.___SNull_fuzdt_gg_{fill:transparent;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf);stroke-dasharray:4}.___SNull_fuzdt_gg_.__hide_fuzdt_gg_{display:none}"
24
- /*__inner_css_end__*/
25
- , "fuzdt_gg_")
26
- /*__reshadow_css_end__*/
27
- , {
28
- "__SArea": "___SArea_fuzdt_gg_",
29
- "_color": "__color_fuzdt_gg_",
30
- "--color": "--color_fuzdt",
31
- "_transparent": "__transparent_fuzdt_gg_",
32
- "__SAreaLine": "___SAreaLine_fuzdt_gg_",
33
- "--duration": "--duration_fuzdt",
34
- "__SNull": "___SNull_fuzdt_gg_",
35
- "_hide": "__hide_fuzdt_gg_"
18
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SArea_15342_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);fill-opacity:.2}.___SArea_15342_gg_.__color_15342_gg_{fill:var(--color_15342)}.___SArea_15342_gg_.__transparent_15342_gg_{opacity:.3}.___SAreaLine_15342_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SAreaLine_15342_gg_.__color_15342_gg_{stroke:var(--color_15342)}.___SAreaLine_15342_gg_.__transparent_15342_gg_{opacity:.3}.___SAreaLine_15342_gg_,.___SArea_15342_gg_{transition-property:d;transition-duration:var(--duration_15342);transition-timing-function:ease-in-out}.___SNull_15342_gg_{fill:transparent;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf);stroke-dasharray:4}.___SNull_15342_gg_.__hide_15342_gg_{display:none}" /*__inner_css_end__*/, "15342_gg_") /*__reshadow_css_end__*/, {
19
+ "__SArea": "___SArea_15342_gg_",
20
+ "_color": "__color_15342_gg_",
21
+ "--color": "--color_15342",
22
+ "_transparent": "__transparent_15342_gg_",
23
+ "__SAreaLine": "___SAreaLine_15342_gg_",
24
+ "--duration": "--duration_15342",
25
+ "__SNull": "___SNull_15342_gg_",
26
+ "_hide": "__hide_15342_gg_"
36
27
  });
37
-
38
28
  var AreaRoot = /*#__PURE__*/function (_Component) {
39
29
  _inherits(AreaRoot, _Component);
40
-
41
30
  var _super = _createSuper(AreaRoot);
42
-
43
31
  function AreaRoot() {
44
32
  _classCallCheck(this, AreaRoot);
45
-
46
33
  return _super.apply(this, arguments);
47
34
  }
48
-
49
35
  _createClass(AreaRoot, [{
50
36
  key: "getDotsProps",
51
37
  value: function getDotsProps() {
52
38
  var _this$asProps = this.asProps,
53
- x = _this$asProps.x,
54
- y = _this$asProps.y,
55
- color = _this$asProps.color,
56
- data = _this$asProps.data,
57
- d3Line = _this$asProps.d3Line,
58
- transparent = _this$asProps.transparent;
39
+ x = _this$asProps.x,
40
+ y = _this$asProps.y,
41
+ color = _this$asProps.color,
42
+ data = _this$asProps.data,
43
+ d3Line = _this$asProps.d3Line,
44
+ transparent = _this$asProps.transparent;
59
45
  return {
60
46
  x: x,
61
47
  y: y,
@@ -69,11 +55,11 @@ var AreaRoot = /*#__PURE__*/function (_Component) {
69
55
  key: "getNullProps",
70
56
  value: function getNullProps() {
71
57
  var _this$asProps2 = this.asProps,
72
- x = _this$asProps2.x,
73
- y = _this$asProps2.y,
74
- color = _this$asProps2.color,
75
- data = _this$asProps2.data,
76
- d3Line = _this$asProps2.d3Line;
58
+ x = _this$asProps2.x,
59
+ y = _this$asProps2.y,
60
+ color = _this$asProps2.color,
61
+ data = _this$asProps2.data,
62
+ d3Line = _this$asProps2.d3Line;
77
63
  return {
78
64
  data: getNullData(data, definedNullData(x, y), y),
79
65
  d3: d3Line,
@@ -84,11 +70,11 @@ var AreaRoot = /*#__PURE__*/function (_Component) {
84
70
  key: "getLineProps",
85
71
  value: function getLineProps() {
86
72
  var _this$asProps3 = this.asProps,
87
- duration = _this$asProps3.duration,
88
- color = _this$asProps3.color,
89
- data = _this$asProps3.data,
90
- d3Line = _this$asProps3.d3Line,
91
- uid = _this$asProps3.uid;
73
+ duration = _this$asProps3.duration,
74
+ color = _this$asProps3.color,
75
+ data = _this$asProps3.data,
76
+ d3Line = _this$asProps3.d3Line,
77
+ uid = _this$asProps3.uid;
92
78
  return {
93
79
  uid: uid,
94
80
  data: data,
@@ -101,23 +87,22 @@ var AreaRoot = /*#__PURE__*/function (_Component) {
101
87
  key: "render",
102
88
  value: function render() {
103
89
  var _ref;
104
-
105
90
  var SArea = this.Element;
106
91
  var SAreaLine = 'path';
107
92
  var _this$asProps4 = this.asProps,
108
- styles = _this$asProps4.styles,
109
- hide = _this$asProps4.hide,
110
- d3 = _this$asProps4.d3,
111
- d3Line = _this$asProps4.d3Line,
112
- data = _this$asProps4.data,
113
- color = _this$asProps4.color,
114
- uid = _this$asProps4.uid,
115
- size = _this$asProps4.size,
116
- duration = _this$asProps4.duration,
117
- x = _this$asProps4.x,
118
- y = _this$asProps4.y,
119
- Children = _this$asProps4.Children,
120
- transparent = _this$asProps4.transparent;
93
+ styles = _this$asProps4.styles,
94
+ hide = _this$asProps4.hide,
95
+ d3 = _this$asProps4.d3,
96
+ d3Line = _this$asProps4.d3Line,
97
+ data = _this$asProps4.data,
98
+ color = _this$asProps4.color,
99
+ uid = _this$asProps4.uid,
100
+ size = _this$asProps4.size,
101
+ duration = _this$asProps4.duration,
102
+ x = _this$asProps4.x,
103
+ y = _this$asProps4.y,
104
+ Children = _this$asProps4.Children,
105
+ transparent = _this$asProps4.transparent;
121
106
  var advanceMode = !!findComponent(Children, [Area.Line.displayName]);
122
107
  this.asProps.dataHintsHandler.specifyDataRowFields(x, y);
123
108
  this.asProps.dataHintsHandler.establishDataType('time-series');
@@ -151,30 +136,23 @@ var AreaRoot = /*#__PURE__*/function (_Component) {
151
136
  })));
152
137
  }
153
138
  }]);
154
-
155
139
  return AreaRoot;
156
140
  }(Component);
157
-
158
141
  _defineProperty(AreaRoot, "displayName", 'Area');
159
-
160
142
  _defineProperty(AreaRoot, "style", style);
161
-
162
143
  _defineProperty(AreaRoot, "enhance", [uniqueIDEnhancement()]);
163
-
164
144
  _defineProperty(AreaRoot, "defaultProps", function (_ref4) {
165
145
  var x = _ref4.x,
166
- y = _ref4.y,
167
- y0 = _ref4.y0,
168
- $rootProps = _ref4.$rootProps,
169
- _ref4$curve = _ref4.curve,
170
- curve = _ref4$curve === void 0 ? curveLinear : _ref4$curve,
171
- scale = _ref4.scale;
172
-
146
+ y = _ref4.y,
147
+ y0 = _ref4.y0,
148
+ $rootProps = _ref4.$rootProps,
149
+ _ref4$curve = _ref4.curve,
150
+ curve = _ref4$curve === void 0 ? curveLinear : _ref4$curve,
151
+ scale = _ref4.scale;
173
152
  var _ref5 = scale || $rootProps.scale,
174
- _ref6 = _slicedToArray(_ref5, 2),
175
- xScale = _ref6[0],
176
- yScale = _ref6[1];
177
-
153
+ _ref6 = _slicedToArray(_ref5, 2),
154
+ xScale = _ref6[0],
155
+ yScale = _ref6[1];
178
156
  var yRange = yScale.range();
179
157
  return {
180
158
  d3: area().defined(definedData(x, y)).curve(curve).x(function (p) {
@@ -192,18 +170,16 @@ _defineProperty(AreaRoot, "defaultProps", function (_ref4) {
192
170
  duration: 500
193
171
  };
194
172
  });
195
-
196
173
  function Line(props) {
197
174
  var _ref2;
198
-
199
175
  var SAreaLine = props.Element,
200
- styles = props.styles,
201
- d3 = props.d3,
202
- data = props.data,
203
- color = props.color,
204
- duration = props.duration,
205
- uid = props.uid,
206
- transparent = props.transparent;
176
+ styles = props.styles,
177
+ d3 = props.d3,
178
+ data = props.data,
179
+ color = props.color,
180
+ duration = props.duration,
181
+ uid = props.uid,
182
+ transparent = props.transparent;
207
183
  return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SAreaLine, _ref2.cn("SAreaLine", {
208
184
  "render": "path",
209
185
  "clipPath": "url(#".concat(uid, ")"),
@@ -213,16 +189,14 @@ function Line(props) {
213
189
  "transparent": transparent
214
190
  }));
215
191
  }
216
-
217
192
  function Null(props) {
218
193
  var _ref3;
219
-
220
194
  var SNull = props.Element,
221
- styles = props.styles,
222
- d3 = props.d3,
223
- data = props.data,
224
- hide = props.hide,
225
- color = props.color;
195
+ styles = props.styles,
196
+ d3 = props.d3,
197
+ data = props.data,
198
+ hide = props.hide,
199
+ color = props.color;
226
200
  return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SNull, _ref3.cn("SNull", {
227
201
  "render": "path",
228
202
  "d": d3(data),
@@ -230,7 +204,6 @@ function Null(props) {
230
204
  "color": color
231
205
  }));
232
206
  }
233
-
234
207
  var Area = createElement(AreaRoot, {
235
208
  Dots: Dots,
236
209
  Null: Null,
@@ -1 +1 @@
1
- {"version":3,"file":"Area.js","names":["React","area","curveLinear","line","Component","sstyled","uniqueIDEnhancement","findComponent","Dots","createElement","definedData","scaleOfBandwidth","getNullData","definedNullData","ClipPath","AreaRoot","asProps","x","y","color","data","d3Line","transparent","d3","duration","uid","SArea","Element","SAreaLine","styles","hide","size","Children","advanceMode","Area","Line","displayName","dataHintsHandler","specifyDataRowFields","establishDataType","rect","setAttribute","style","y0","$rootProps","curve","scale","xScale","yScale","yRange","range","defined","p","y1","props","Null","SNull"],"sources":["../../src/Area.jsx"],"sourcesContent":["import React from 'react';\nimport { area, curveLinear, line } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport Dots from './Dots';\nimport createElement from './createElement';\nimport { definedData, scaleOfBandwidth, getNullData, definedNullData } from './utils';\nimport ClipPath from './ClipPath';\n\nimport style from './style/area.shadow.css';\n\nclass AreaRoot extends Component {\n static displayName = 'Area';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, y0, $rootProps, curve = curveLinear, scale }) => {\n const [xScale, yScale] = scale || $rootProps.scale;\n const yRange = yScale.range();\n\n return {\n d3: area()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y0((p) => (p[y0] ? scaleOfBandwidth(yScale, p[y0]) : yRange[0]))\n .y1((p) => scaleOfBandwidth(yScale, p[y])),\n d3Line: line()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y((p) => scaleOfBandwidth(yScale, p[y])),\n duration: 500,\n };\n };\n\n getDotsProps() {\n const { x, y, color, data, d3Line, transparent } = this.asProps;\n\n return {\n x,\n y,\n data,\n d3: d3Line,\n color,\n transparent,\n };\n }\n\n getNullProps() {\n const { x, y, color, data, d3Line } = this.asProps;\n return {\n data: getNullData(data, definedNullData(x, y), y),\n d3: d3Line,\n color,\n };\n }\n\n getLineProps() {\n const { duration, color, data, d3Line, uid } = this.asProps;\n\n return {\n uid,\n data,\n d3: d3Line,\n color,\n duration,\n };\n }\n\n render() {\n const SArea = this.Element;\n const SAreaLine = 'path';\n const {\n styles,\n hide,\n d3,\n d3Line,\n data,\n color,\n uid,\n size,\n duration,\n x,\n y,\n Children,\n transparent,\n } = this.asProps;\n const advanceMode = !!findComponent(Children, [Area.Line.displayName]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y);\n this.asProps.dataHintsHandler.establishDataType('time-series');\n\n return sstyled(styles)(\n <>\n {!advanceMode && (\n <SAreaLine\n aria-hidden\n clipPath={`url(#${uid})`}\n d={d3Line(data)}\n color={color}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n )}\n <SArea\n aria-hidden\n clipPath={`url(#${uid})`}\n render=\"path\"\n d={d3(data)}\n hide={hide}\n color={color}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {duration && (\n <ClipPath\n aria-hidden\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>,\n );\n }\n}\n\nfunction Line(props) {\n const { Element: SAreaLine, styles, d3, data, color, duration, uid, transparent } = props;\n return sstyled(styles)(\n <SAreaLine\n render=\"path\"\n clipPath={`url(#${uid})`}\n d={d3(data)}\n color={color}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />,\n );\n}\n\nfunction Null(props) {\n const { Element: SNull, styles, d3, data, hide, color } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} color={color} />);\n}\n\nconst Area = createElement(AreaRoot, {\n Dots,\n Null,\n Line,\n});\n\nexport default Area;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Area.js","names":["React","area","curveLinear","line","Component","sstyled","uniqueIDEnhancement","findComponent","Dots","createElement","definedData","scaleOfBandwidth","getNullData","definedNullData","ClipPath","style","_sstyled","insert","AreaRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getDotsProps","_this$asProps","asProps","x","y","color","data","d3Line","transparent","d3","getNullProps","_this$asProps2","getLineProps","_this$asProps3","duration","uid","render","_ref","SArea","Element","SAreaLine","_this$asProps4","styles","hide","size","Children","advanceMode","Area","Line","displayName","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","cn","concat","setAttributeTag","rect","setAttribute","_defineProperty","_ref4","y0","$rootProps","_ref4$curve","curve","scale","_ref5","_ref6","_slicedToArray","xScale","yScale","yRange","range","defined","p","y1","props","_ref2","Null","_ref3","SNull"],"sources":["../../src/Area.jsx"],"sourcesContent":["import React from 'react';\nimport { area, curveLinear, line } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport Dots from './Dots';\nimport createElement from './createElement';\nimport { definedData, scaleOfBandwidth, getNullData, definedNullData } from './utils';\nimport ClipPath from './ClipPath';\n\nimport style from './style/area.shadow.css';\n\nclass AreaRoot extends Component {\n static displayName = 'Area';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, y0, $rootProps, curve = curveLinear, scale }) => {\n const [xScale, yScale] = scale || $rootProps.scale;\n const yRange = yScale.range();\n\n return {\n d3: area()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y0((p) => (p[y0] ? scaleOfBandwidth(yScale, p[y0]) : yRange[0]))\n .y1((p) => scaleOfBandwidth(yScale, p[y])),\n d3Line: line()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y((p) => scaleOfBandwidth(yScale, p[y])),\n duration: 500,\n };\n };\n\n getDotsProps() {\n const { x, y, color, data, d3Line, transparent } = this.asProps;\n\n return {\n x,\n y,\n data,\n d3: d3Line,\n color,\n transparent,\n };\n }\n\n getNullProps() {\n const { x, y, color, data, d3Line } = this.asProps;\n return {\n data: getNullData(data, definedNullData(x, y), y),\n d3: d3Line,\n color,\n };\n }\n\n getLineProps() {\n const { duration, color, data, d3Line, uid } = this.asProps;\n\n return {\n uid,\n data,\n d3: d3Line,\n color,\n duration,\n };\n }\n\n render() {\n const SArea = this.Element;\n const SAreaLine = 'path';\n const {\n styles,\n hide,\n d3,\n d3Line,\n data,\n color,\n uid,\n size,\n duration,\n x,\n y,\n Children,\n transparent,\n } = this.asProps;\n const advanceMode = !!findComponent(Children, [Area.Line.displayName]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y);\n this.asProps.dataHintsHandler.establishDataType('time-series');\n\n return sstyled(styles)(\n <>\n {!advanceMode && (\n <SAreaLine\n aria-hidden\n clipPath={`url(#${uid})`}\n d={d3Line(data)}\n color={color}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n )}\n <SArea\n aria-hidden\n clipPath={`url(#${uid})`}\n render=\"path\"\n d={d3(data)}\n hide={hide}\n color={color}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {duration && (\n <ClipPath\n aria-hidden\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>,\n );\n }\n}\n\nfunction Line(props) {\n const { Element: SAreaLine, styles, d3, data, color, duration, uid, transparent } = props;\n return sstyled(styles)(\n <SAreaLine\n render=\"path\"\n clipPath={`url(#${uid})`}\n d={d3(data)}\n color={color}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />,\n );\n}\n\nfunction Null(props) {\n const { Element: SNull, styles, d3, data, hide, color } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} color={color} />);\n}\n\nconst Area = createElement(AreaRoot, {\n Dots,\n Null,\n Line,\n});\n\nexport default Area;\n"],"mappings":"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"}