@semcore/d3-chart 2.2.4 → 2.3.0-1

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 (213) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/Area.js +16 -9
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +56 -17
  5. package/lib/cjs/Axis.js.map +1 -1
  6. package/lib/cjs/Bar.js +20 -9
  7. package/lib/cjs/Bar.js.map +1 -1
  8. package/lib/cjs/Bubble.js +20 -11
  9. package/lib/cjs/Bubble.js.map +1 -1
  10. package/lib/cjs/ClipPath.js +1 -0
  11. package/lib/cjs/ClipPath.js.map +1 -1
  12. package/lib/cjs/Donut.js +22 -12
  13. package/lib/cjs/Donut.js.map +1 -1
  14. package/lib/cjs/Dots.js +10 -9
  15. package/lib/cjs/Dots.js.map +1 -1
  16. package/lib/cjs/GroupBar.js +12 -8
  17. package/lib/cjs/GroupBar.js.map +1 -1
  18. package/lib/cjs/HorizontalBar.js +20 -9
  19. package/lib/cjs/HorizontalBar.js.map +1 -1
  20. package/lib/cjs/Hover.js +8 -4
  21. package/lib/cjs/Hover.js.map +1 -1
  22. package/lib/cjs/Line.js +15 -9
  23. package/lib/cjs/Line.js.map +1 -1
  24. package/lib/cjs/Plot.js +46 -8
  25. package/lib/cjs/Plot.js.map +1 -1
  26. package/lib/cjs/RadialTree.js +25 -13
  27. package/lib/cjs/RadialTree.js.map +1 -1
  28. package/lib/cjs/ReferenceLine.js +10 -10
  29. package/lib/cjs/ScatterPlot.js +17 -8
  30. package/lib/cjs/ScatterPlot.js.map +1 -1
  31. package/lib/cjs/StackBar.js +12 -8
  32. package/lib/cjs/StackBar.js.map +1 -1
  33. package/lib/cjs/StackedArea.js +8 -7
  34. package/lib/cjs/StackedArea.js.map +1 -1
  35. package/lib/cjs/Tooltip.js +8 -8
  36. package/lib/cjs/Venn.js +25 -9
  37. package/lib/cjs/Venn.js.map +1 -1
  38. package/lib/cjs/a11y/PlotA11yModule.js +185 -0
  39. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -0
  40. package/lib/cjs/a11y/PlotA11yView.js +285 -0
  41. package/lib/cjs/a11y/PlotA11yView.js.map +1 -0
  42. package/lib/cjs/a11y/bezier.js +44 -0
  43. package/lib/cjs/a11y/bezier.js.map +1 -0
  44. package/lib/cjs/a11y/datasets/charts-a11y.js +591 -0
  45. package/lib/cjs/a11y/datasets/charts-a11y.js.map +1 -0
  46. package/lib/cjs/a11y/datasets/gold.json +7961 -0
  47. package/lib/cjs/a11y/datasets/imdb.json +10002 -0
  48. package/lib/cjs/a11y/datasets/readme.md +5 -0
  49. package/lib/cjs/a11y/datasets/stores.json +6274 -0
  50. package/lib/cjs/a11y/datasets/titanic.json +5436 -0
  51. package/lib/cjs/a11y/focus.js +57 -0
  52. package/lib/cjs/a11y/focus.js.map +1 -0
  53. package/lib/cjs/a11y/hints.js +141 -0
  54. package/lib/cjs/a11y/hints.js.map +1 -0
  55. package/lib/cjs/a11y/insights.js +785 -0
  56. package/lib/cjs/a11y/insights.js.map +1 -0
  57. package/lib/cjs/a11y/intl.js +31 -0
  58. package/lib/cjs/a11y/intl.js.map +1 -0
  59. package/lib/cjs/a11y/locale.js +48 -0
  60. package/lib/cjs/a11y/locale.js.map +1 -0
  61. package/lib/cjs/a11y/serialize.js +439 -0
  62. package/lib/cjs/a11y/serialize.js.map +1 -0
  63. package/lib/cjs/a11y/summarize.js +21 -0
  64. package/lib/cjs/a11y/summarize.js.map +1 -0
  65. package/lib/cjs/a11y/translations/module/de.json +5 -0
  66. package/lib/cjs/a11y/translations/module/en.json +5 -0
  67. package/lib/cjs/a11y/translations/module/es.json +5 -0
  68. package/lib/cjs/a11y/translations/module/fr.json +5 -0
  69. package/lib/cjs/a11y/translations/module/it.json +5 -0
  70. package/lib/cjs/a11y/translations/module/ja.json +5 -0
  71. package/lib/cjs/a11y/translations/module/ko.json +5 -0
  72. package/lib/cjs/a11y/translations/module/pt.json +5 -0
  73. package/lib/cjs/a11y/translations/module/tr.json +5 -0
  74. package/lib/cjs/a11y/translations/module/translations.js +46 -0
  75. package/lib/cjs/a11y/translations/module/translations.js.map +1 -0
  76. package/lib/cjs/a11y/translations/module/vi.json +5 -0
  77. package/lib/cjs/a11y/translations/module/zh.json +5 -0
  78. package/lib/cjs/a11y/translations/view/de.json +42 -0
  79. package/lib/cjs/a11y/translations/view/en.csv +41 -0
  80. package/lib/cjs/a11y/translations/view/en.json +42 -0
  81. package/lib/cjs/a11y/translations/view/es.json +42 -0
  82. package/lib/cjs/a11y/translations/view/fr.json +42 -0
  83. package/lib/cjs/a11y/translations/view/it.json +42 -0
  84. package/lib/cjs/a11y/translations/view/ja.json +42 -0
  85. package/lib/cjs/a11y/translations/view/ko.json +42 -0
  86. package/lib/cjs/a11y/translations/view/pt.json +42 -0
  87. package/lib/cjs/a11y/translations/view/tr.json +42 -0
  88. package/lib/cjs/a11y/translations/view/translations.js +46 -0
  89. package/lib/cjs/a11y/translations/view/translations.js.map +1 -0
  90. package/lib/cjs/a11y/translations/view/vi.json +42 -0
  91. package/lib/cjs/a11y/translations/view/zh.json +42 -0
  92. package/lib/cjs/createElement.js +3 -1
  93. package/lib/cjs/createElement.js.map +1 -1
  94. package/lib/cjs/style/plot.shadow.css +10 -0
  95. package/lib/cjs/style/plotA11yModule.shadow.css +13 -0
  96. package/lib/cjs/style/plotA11yView.shadow.css +39 -0
  97. package/lib/cjs/types/Plot.d.ts +75 -0
  98. package/lib/cjs/utils.js +9 -1
  99. package/lib/cjs/utils.js.map +1 -1
  100. package/lib/es6/Area.js +16 -9
  101. package/lib/es6/Area.js.map +1 -1
  102. package/lib/es6/Axis.js +56 -17
  103. package/lib/es6/Axis.js.map +1 -1
  104. package/lib/es6/Bar.js +20 -9
  105. package/lib/es6/Bar.js.map +1 -1
  106. package/lib/es6/Bubble.js +20 -11
  107. package/lib/es6/Bubble.js.map +1 -1
  108. package/lib/es6/ClipPath.js +1 -0
  109. package/lib/es6/ClipPath.js.map +1 -1
  110. package/lib/es6/Donut.js +22 -12
  111. package/lib/es6/Donut.js.map +1 -1
  112. package/lib/es6/Dots.js +10 -9
  113. package/lib/es6/Dots.js.map +1 -1
  114. package/lib/es6/GroupBar.js +12 -8
  115. package/lib/es6/GroupBar.js.map +1 -1
  116. package/lib/es6/HorizontalBar.js +20 -9
  117. package/lib/es6/HorizontalBar.js.map +1 -1
  118. package/lib/es6/Hover.js +8 -4
  119. package/lib/es6/Hover.js.map +1 -1
  120. package/lib/es6/Line.js +15 -9
  121. package/lib/es6/Line.js.map +1 -1
  122. package/lib/es6/Plot.js +48 -9
  123. package/lib/es6/Plot.js.map +1 -1
  124. package/lib/es6/RadialTree.js +25 -13
  125. package/lib/es6/RadialTree.js.map +1 -1
  126. package/lib/es6/ReferenceLine.js +10 -10
  127. package/lib/es6/ScatterPlot.js +17 -8
  128. package/lib/es6/ScatterPlot.js.map +1 -1
  129. package/lib/es6/StackBar.js +12 -8
  130. package/lib/es6/StackBar.js.map +1 -1
  131. package/lib/es6/StackedArea.js +8 -7
  132. package/lib/es6/StackedArea.js.map +1 -1
  133. package/lib/es6/Tooltip.js +8 -8
  134. package/lib/es6/Venn.js +25 -9
  135. package/lib/es6/Venn.js.map +1 -1
  136. package/lib/es6/a11y/PlotA11yModule.js +160 -0
  137. package/lib/es6/a11y/PlotA11yModule.js.map +1 -0
  138. package/lib/es6/a11y/PlotA11yView.js +254 -0
  139. package/lib/es6/a11y/PlotA11yView.js.map +1 -0
  140. package/lib/es6/a11y/bezier.js +35 -0
  141. package/lib/es6/a11y/bezier.js.map +1 -0
  142. package/lib/es6/a11y/datasets/charts-a11y.js +590 -0
  143. package/lib/es6/a11y/datasets/charts-a11y.js.map +1 -0
  144. package/lib/es6/a11y/datasets/gold.json +7961 -0
  145. package/lib/es6/a11y/datasets/imdb.json +10002 -0
  146. package/lib/es6/a11y/datasets/readme.md +5 -0
  147. package/lib/es6/a11y/datasets/stores.json +6274 -0
  148. package/lib/es6/a11y/datasets/titanic.json +5436 -0
  149. package/lib/es6/a11y/focus.js +48 -0
  150. package/lib/es6/a11y/focus.js.map +1 -0
  151. package/lib/es6/a11y/hints.js +123 -0
  152. package/lib/es6/a11y/hints.js.map +1 -0
  153. package/lib/es6/a11y/insights.js +779 -0
  154. package/lib/es6/a11y/insights.js.map +1 -0
  155. package/lib/es6/a11y/intl.js +18 -0
  156. package/lib/es6/a11y/intl.js.map +1 -0
  157. package/lib/es6/a11y/locale.js +36 -0
  158. package/lib/es6/a11y/locale.js.map +1 -0
  159. package/lib/es6/a11y/serialize.js +423 -0
  160. package/lib/es6/a11y/serialize.js.map +1 -0
  161. package/lib/es6/a11y/summarize.js +10 -0
  162. package/lib/es6/a11y/summarize.js.map +1 -0
  163. package/lib/es6/a11y/translations/module/de.json +5 -0
  164. package/lib/es6/a11y/translations/module/en.json +5 -0
  165. package/lib/es6/a11y/translations/module/es.json +5 -0
  166. package/lib/es6/a11y/translations/module/fr.json +5 -0
  167. package/lib/es6/a11y/translations/module/it.json +5 -0
  168. package/lib/es6/a11y/translations/module/ja.json +5 -0
  169. package/lib/es6/a11y/translations/module/ko.json +5 -0
  170. package/lib/es6/a11y/translations/module/pt.json +5 -0
  171. package/lib/es6/a11y/translations/module/tr.json +5 -0
  172. package/lib/es6/a11y/translations/module/translations.js +25 -0
  173. package/lib/es6/a11y/translations/module/translations.js.map +1 -0
  174. package/lib/es6/a11y/translations/module/vi.json +5 -0
  175. package/lib/es6/a11y/translations/module/zh.json +5 -0
  176. package/lib/es6/a11y/translations/view/de.json +42 -0
  177. package/lib/es6/a11y/translations/view/en.csv +41 -0
  178. package/lib/es6/a11y/translations/view/en.json +42 -0
  179. package/lib/es6/a11y/translations/view/es.json +42 -0
  180. package/lib/es6/a11y/translations/view/fr.json +42 -0
  181. package/lib/es6/a11y/translations/view/it.json +42 -0
  182. package/lib/es6/a11y/translations/view/ja.json +42 -0
  183. package/lib/es6/a11y/translations/view/ko.json +42 -0
  184. package/lib/es6/a11y/translations/view/pt.json +42 -0
  185. package/lib/es6/a11y/translations/view/tr.json +42 -0
  186. package/lib/es6/a11y/translations/view/translations.js +25 -0
  187. package/lib/es6/a11y/translations/view/translations.js.map +1 -0
  188. package/lib/es6/a11y/translations/view/vi.json +42 -0
  189. package/lib/es6/a11y/translations/view/zh.json +42 -0
  190. package/lib/es6/createElement.js +3 -1
  191. package/lib/es6/createElement.js.map +1 -1
  192. package/lib/es6/style/plot.shadow.css +10 -0
  193. package/lib/es6/style/plotA11yModule.shadow.css +13 -0
  194. package/lib/es6/style/plotA11yView.shadow.css +39 -0
  195. package/lib/es6/types/Plot.d.ts +75 -0
  196. package/lib/es6/utils.js +5 -0
  197. package/lib/es6/utils.js.map +1 -1
  198. package/lib/types/Plot.d.ts +75 -0
  199. package/lib/types/a11y/PlotA11yModule.d.ts +12 -0
  200. package/lib/types/a11y/PlotA11yView.d.ts +3 -0
  201. package/lib/types/a11y/bezier.d.ts +8 -0
  202. package/lib/types/a11y/datasets/charts-a11y.d.ts +0 -0
  203. package/lib/types/a11y/focus.d.ts +5 -0
  204. package/lib/types/a11y/hints.d.ts +99 -0
  205. package/lib/types/a11y/insights.d.ts +54 -0
  206. package/lib/types/a11y/intl.d.ts +8 -0
  207. package/lib/types/a11y/locale.d.ts +3 -0
  208. package/lib/types/a11y/serialize.d.ts +16 -0
  209. package/lib/types/a11y/summarize.d.ts +2 -0
  210. package/lib/types/a11y/translations/module/translations.d.ts +5 -0
  211. package/lib/types/a11y/translations/view/translations.d.ts +5 -0
  212. package/lib/types/utils.d.ts +1 -0
  213. package/package.json +2 -1
@@ -42,19 +42,19 @@ var style = (
42
42
  /*__reshadow_css_start__*/
43
43
  _core.sstyled.insert(
44
44
  /*__inner_css_start__*/
45
- ".___SReferenceLine_1cfvk_gg_{fill:none;stroke:#a9abb6}.___STitle_1cfvk_gg_{font-size:12px;fill:#6c6e79;transform-origin:var(--transform-origin_1cfvk)}.___STitle_1cfvk_gg_._position_top_1cfvk_gg_{text-anchor:middle}.___STitle_1cfvk_gg_._position_bottom_1cfvk_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_1cfvk_gg_._position_right_1cfvk_gg_{transform:rotate(-90deg);alignment-baseline:middle;text-anchor:middle}.___STitle_1cfvk_gg_._position_left_1cfvk_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_1cfvk_gg_{fill:rgba(196,199,207,.2)}"
45
+ ".___SReferenceLine_jmd9c_gg_{fill:none;stroke:#a9abb6}.___STitle_jmd9c_gg_{font-size:12px;fill:#6c6e79;transform-origin:var(--transform-origin_jmd9c)}.___STitle_jmd9c_gg_._position_top_jmd9c_gg_{text-anchor:middle}.___STitle_jmd9c_gg_._position_bottom_jmd9c_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_jmd9c_gg_._position_right_jmd9c_gg_{transform:rotate(-90deg);alignment-baseline:middle;text-anchor:middle}.___STitle_jmd9c_gg_._position_left_jmd9c_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_jmd9c_gg_{fill:rgba(196,199,207,.2)}"
46
46
  /*__inner_css_end__*/
47
- , "1cfvk_gg_")
47
+ , "jmd9c_gg_")
48
48
  /*__reshadow_css_end__*/
49
49
  , {
50
- "__SReferenceLine": "___SReferenceLine_1cfvk_gg_",
51
- "__STitle": "___STitle_1cfvk_gg_",
52
- "--transform-origin": "--transform-origin_1cfvk",
53
- "_position_top": "_position_top_1cfvk_gg_",
54
- "_position_bottom": "_position_bottom_1cfvk_gg_",
55
- "_position_right": "_position_right_1cfvk_gg_",
56
- "_position_left": "_position_left_1cfvk_gg_",
57
- "__SBackground": "___SBackground_1cfvk_gg_"
50
+ "__SReferenceLine": "___SReferenceLine_jmd9c_gg_",
51
+ "__STitle": "___STitle_jmd9c_gg_",
52
+ "--transform-origin": "--transform-origin_jmd9c",
53
+ "_position_top": "_position_top_jmd9c_gg_",
54
+ "_position_bottom": "_position_bottom_jmd9c_gg_",
55
+ "_position_right": "_position_right_jmd9c_gg_",
56
+ "_position_left": "_position_left_jmd9c_gg_",
57
+ "__SBackground": "___SBackground_jmd9c_gg_"
58
58
  });
59
59
  var MAP_ORIENTATION = {
60
60
  left: 'vertical',
@@ -52,16 +52,16 @@ var style = (
52
52
  /*__reshadow_css_start__*/
53
53
  _core.sstyled.insert(
54
54
  /*__inner_css_start__*/
55
- ".___SScatterPlot_xemf4_gg_{fill:#2bb3ff;transition-property:cx,cy;transition-duration:var(--duration_xemf4);transition-timing-function:ease-in-out;opacity:.5}.___SScatterPlot_xemf4_gg_:hover{opacity:.8}.___SScatterPlot_xemf4_gg_.__color_xemf4_gg_{fill:var(--color_xemf4)}.___SValue_xemf4_gg_{text-anchor:middle;font-size:10px;stroke:#008ff8}.___SValue_xemf4_gg_.__color_xemf4_gg_{stroke:var(--color_xemf4)}"
55
+ ".___SScatterPlot_v1s0r_gg_{fill:#2bb3ff;transition-property:cx,cy;transition-duration:var(--duration_v1s0r);transition-timing-function:ease-in-out;opacity:.5}.___SScatterPlot_v1s0r_gg_:hover{opacity:.8}.___SScatterPlot_v1s0r_gg_.__color_v1s0r_gg_{fill:var(--color_v1s0r)}.___SValue_v1s0r_gg_{text-anchor:middle;font-size:10px;stroke:#008ff8}.___SValue_v1s0r_gg_.__color_v1s0r_gg_{stroke:var(--color_v1s0r)}"
56
56
  /*__inner_css_end__*/
57
- , "xemf4_gg_")
57
+ , "v1s0r_gg_")
58
58
  /*__reshadow_css_end__*/
59
59
  , {
60
- "__SScatterPlot": "___SScatterPlot_xemf4_gg_",
61
- "--duration": "--duration_xemf4",
62
- "_color": "__color_xemf4_gg_",
63
- "--color": "--color_xemf4",
64
- "__SValue": "___SValue_xemf4_gg_"
60
+ "__SScatterPlot": "___SScatterPlot_v1s0r_gg_",
61
+ "--duration": "--duration_v1s0r",
62
+ "_color": "__color_v1s0r_gg_",
63
+ "--color": "--color_v1s0r",
64
+ "__SValue": "___SValue_v1s0r_gg_"
65
65
  });
66
66
 
67
67
  var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
@@ -160,6 +160,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
160
160
  var SScatterPlot = this.Element;
161
161
  var SValue = 'text';
162
162
  return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement("g", _ref.cn("g", {
163
+ "aria-hidden": true,
163
164
  "key": "circle(#".concat(i, ")"),
164
165
  "onMouseMove": this.bindHandlerTooltip(true, _objectSpread(_objectSpread({}, this.props), {}, {
165
166
  xIndex: i
@@ -168,6 +169,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
168
169
  xIndex: i
169
170
  }))
170
171
  }), /*#__PURE__*/_react["default"].createElement(SScatterPlot, _ref.cn("SScatterPlot", {
172
+ "aria-hidden": true,
171
173
  "id": "".concat(uid).concat(i),
172
174
  "index": i,
173
175
  "render": "circle",
@@ -178,6 +180,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
178
180
  "r": r,
179
181
  "use:duration": "".concat(duration, "ms")
180
182
  })), d[value] && /*#__PURE__*/_react["default"].createElement(SValue, _ref.cn("SValue", {
183
+ "aria-hidden": true,
181
184
  "x": xScale(d[x]) + offset[0],
182
185
  "y": yScale(d[y]) + offset[1],
183
186
  "dy": ".3em",
@@ -191,7 +194,10 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
191
194
  var _this$asProps3 = this.asProps,
192
195
  data = _this$asProps3.data,
193
196
  uid = _this$asProps3.uid,
194
- scale = _this$asProps3.scale;
197
+ scale = _this$asProps3.scale,
198
+ x = _this$asProps3.x,
199
+ y = _this$asProps3.y,
200
+ value = _this$asProps3.value;
195
201
 
196
202
  var _scale2 = (0, _slicedToArray2["default"])(scale, 2),
197
203
  xScale = _scale2[0],
@@ -201,7 +207,10 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
201
207
  var ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);
202
208
  var xMargin = Math.min(xScale.range()[0], xScale.range()[1]);
203
209
  var yMargin = Math.min(yScale.range()[0], yScale.range()[1]);
210
+ this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);
211
+ this.asProps.dataHintsHandler.establishDataType('points-cloud');
204
212
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, data.map(this.renderCircle.bind(this)), /*#__PURE__*/_react["default"].createElement(_ClipPath["default"], {
213
+ "aria-hidden": true,
205
214
  id: uid,
206
215
  x: xMargin,
207
216
  y: yMargin,
@@ -1 +1 @@
1
- {"version":3,"file":"ScatterPlot.js","names":["ScatterPlotRoot","canUseDOM","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","r","value","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","animationCircle","d","i","color","scale","offset","styles","valueColor","xScale","yScale","SScatterPlot","Element","SValue","sstyled","bindHandlerTooltip","xIndex","data","xSize","Math","abs","range","ySize","xMargin","min","yMargin","map","renderCircle","bind","Component","style","uniqueIDEnhancement","ScatterPlot"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/scatterplot.shadow.css';\nimport ClipPath from './ClipPath';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : value ? 12 : 5.5;\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const { color, scale, x, y, r, offset, styles, uid, duration, value, valueColor } =\n this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n <SScatterPlot\n id={`${uid}${i}`}\n index={i}\n render=\"circle\"\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={color}\n r={r}\n use:duration={`${duration}ms`}\n />\n {d[value] && (\n <SValue\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n color={valueColor}\n >\n {d[value]}\n </SValue>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n <ClipPath id={uid} x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </>\n );\n }\n}\n\nconst ScatterPlot = createElement(ScatterPlotRoot);\n\nexport default ScatterPlot;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ScatterPlot.js","names":["ScatterPlotRoot","canUseDOM","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","r","value","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","animationCircle","d","i","color","scale","offset","styles","valueColor","xScale","yScale","SScatterPlot","Element","SValue","sstyled","bindHandlerTooltip","xIndex","data","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","map","renderCircle","bind","Component","style","uniqueIDEnhancement","ScatterPlot"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/scatterplot.shadow.css';\nimport ClipPath from './ClipPath';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : value ? 12 : 5.5;\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const { color, scale, x, y, r, offset, styles, uid, duration, value, valueColor } =\n this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\n index={i}\n render=\"circle\"\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={color}\n r={r}\n use:duration={`${duration}ms`}\n />\n {d[value] && (\n <SValue\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n color={valueColor}\n >\n {d[value]}\n </SValue>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst ScatterPlot = createElement(ScatterPlotRoot);\n\nexport default ScatterPlot;\n"],"mappings":"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"}
@@ -48,15 +48,15 @@ var _ref = (
48
48
  /*__reshadow_css_start__*/
49
49
  (0, _core.__css__)(
50
50
  /*__inner_css_start__*/
51
- ".___SBar_1q35l_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_1q35l_gg_.__color_1q35l_gg_{fill:var(--color)}.___SBar_1q35l_gg_.__hide_1q35l_gg_{display:none}.___SBackground_1q35l_gg_{fill:#c4c7cf}"
51
+ ".___SBar_dgtls_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_dgtls_gg_.__color_dgtls_gg_{fill:var(--color)}.___SBar_dgtls_gg_.__hide_dgtls_gg_{display:none}.___SBackground_dgtls_gg_{fill:#c4c7cf}"
52
52
  /*__inner_css_end__*/
53
- , "g0grya_gg_")
53
+ , "1iyvh36_gg_")
54
54
  /*__reshadow_css_end__*/
55
55
  , {
56
- "__SBar": "___SBar_1q35l_gg_",
57
- "_color": "__color_1q35l_gg_",
58
- "_hide": "__hide_1q35l_gg_",
59
- "__SBackground": "___SBackground_1q35l_gg_"
56
+ "__SBar": "___SBar_dgtls_gg_",
57
+ "_color": "__color_dgtls_gg_",
58
+ "_hide": "__hide_dgtls_gg_",
59
+ "__SBackground": "___SBackground_dgtls_gg_"
60
60
  }),
61
61
  style = (0, _extends2["default"])({}, _ref);
62
62
 
@@ -126,7 +126,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
126
126
  }),
127
127
  y0: XY0,
128
128
  x: x,
129
- r: rBar
129
+ r: rBar,
130
+ groupKey: x
130
131
  };
131
132
  }
132
133
  }, {
@@ -155,7 +156,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
155
156
  }),
156
157
  x0: XY0,
157
158
  y: y,
158
- r: rBar
159
+ r: rBar,
160
+ groupKey: y
159
161
  };
160
162
  }
161
163
  }, {
@@ -163,7 +165,9 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
163
165
  value: function render() {
164
166
  var Element = this.Element;
165
167
  this.series = this.getSeries();
168
+ this.asProps.dataHintsHandler.establishDataType('grouped-values');
166
169
  return /*#__PURE__*/_react["default"].createElement(Element, {
170
+ "aria-hidden": true,
167
171
  render: "g",
168
172
  series: this.series
169
173
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StackBar.js","names":["DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackBar","Bar","props","hide","push","y","HorizontalBar","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","y0","x0","Element","getSeries","Component","style","d3Stack","createElement"],"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\nimport style from './style/bar.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static style = style;\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 y0: XY0,\n x,\n r: rBar,\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 x0: XY0,\n y,\n r: rBar,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element 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":["DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackBar","Bar","props","hide","push","y","HorizontalBar","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","y0","groupKey","x0","Element","getSeries","dataHintsHandler","establishDataType","Component","style","d3Stack","createElement"],"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\nimport style from './style/bar.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static style = style;\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 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 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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"}
@@ -46,16 +46,16 @@ var _ref = (
46
46
  /*__reshadow_css_start__*/
47
47
  (0, _core.__css__)(
48
48
  /*__inner_css_start__*/
49
- ".___SArea_jpjdp_gg_{fill:#2bb3ff;fill-opacity:.2}.___SArea_jpjdp_gg_.__color_jpjdp_gg_{fill:var(--color)}.___SAreaLine_jpjdp_gg_{stroke:#2bb3ff;stroke-width:3;fill:transparent}.___SAreaLine_jpjdp_gg_.__color_jpjdp_gg_{stroke:var(--color)}.___SArea_jpjdp_gg_,.___SAreaLine_jpjdp_gg_{transition-property:d;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SNull_jpjdp_gg_{fill:transparent;stroke:#8a8e9b;stroke-dasharray:4}.___SNull_jpjdp_gg_.__hide_jpjdp_gg_{display:none}"
49
+ ".___SArea_3afcc_gg_{fill:#2bb3ff;fill-opacity:.2}.___SArea_3afcc_gg_.__color_3afcc_gg_{fill:var(--color)}.___SAreaLine_3afcc_gg_{stroke:#2bb3ff;stroke-width:3;fill:transparent}.___SAreaLine_3afcc_gg_.__color_3afcc_gg_{stroke:var(--color)}.___SArea_3afcc_gg_,.___SAreaLine_3afcc_gg_{transition-property:d;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SNull_3afcc_gg_{fill:transparent;stroke:#8a8e9b;stroke-dasharray:4}.___SNull_3afcc_gg_.__hide_3afcc_gg_{display:none}"
50
50
  /*__inner_css_end__*/
51
- , "j81c8n_gg_")
51
+ , "mp0j3b_gg_")
52
52
  /*__reshadow_css_end__*/
53
53
  , {
54
- "__SArea": "___SArea_jpjdp_gg_",
55
- "_color": "__color_jpjdp_gg_",
56
- "__SAreaLine": "___SAreaLine_jpjdp_gg_",
57
- "__SNull": "___SNull_jpjdp_gg_",
58
- "_hide": "__hide_jpjdp_gg_"
54
+ "__SArea": "___SArea_3afcc_gg_",
55
+ "_color": "__color_3afcc_gg_",
56
+ "__SAreaLine": "___SAreaLine_3afcc_gg_",
57
+ "__SNull": "___SNull_3afcc_gg_",
58
+ "_hide": "__hide_3afcc_gg_"
59
59
  }),
60
60
  style = (0, _extends2["default"])({}, _ref);
61
61
 
@@ -119,6 +119,7 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
119
119
  var Element = this.Element;
120
120
  this.series = this.getSeries();
121
121
  return /*#__PURE__*/_react["default"].createElement(Element, {
122
+ "aria-hidden": true,
122
123
  render: "g",
123
124
  series: this.series
124
125
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StackedArea.js","names":["DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackedArea","Area","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","Component","style","d3Stack","createElement"],"sources":["../../src/StackedArea.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 Area from './Area';\n\nimport style from './style/area.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\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 === StackedArea.Area && !child.props.hide) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }) {\n const { x } = this.asProps;\n // or [] if hide area\n const series = this.series.find((s) => s.key === y) || [];\n return {\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,EAAE,GAAGD,MAAM,CAAC,IAAD,CAAjB;;IAEME,e;;;;;;;;;;;;WAWJ,qBAAY;MACV,oBAAkC,KAAKC,OAAvC;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,IAAlB,iBAAkBA,IAAlB;MAAA,IAAwBC,KAAxB,iBAAwBA,KAAxB;;MAEA,IAAIA,KAAK,CAACP,gBAAD,CAAT,EAA6B;QAC3B,IAAMQ,IAAI,GAAGC,iBAAA,CAAMJ,QAAN,CAAeK,OAAf,CAAuB,IAAAC,6BAAA,EAAkBN,QAAlB,CAAvB,EAAoDO,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;UACtF,IAAI,cAAAL,iBAAA,CAAMM,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACC,IAA1D,IAAkE,CAACJ,KAAK,CAACK,KAAN,CAAYC,IAAnF,EAAyF;YACvFP,GAAG,CAACQ,IAAJ,CAASP,KAAK,CAACK,KAAN,CAAYG,CAArB;UACD;;UACD,OAAOT,GAAP;QACD,CALY,EAKV,EALU,CAAb;;QAMAN,KAAK,CAACC,IAAN,CAAWA,IAAI,CAACe,OAAL,EAAX;MACD;;MAED,OAAOhB,KAAK,CAACD,IAAD,CAAZ;IACD;;;WAED,6BAAoB;MAAA,IAALgB,CAAK,SAALA,CAAK;MAClB,IAAQE,CAAR,GAAc,KAAKpB,OAAnB,CAAQoB,CAAR,CADkB,CAElB;;MACA,IAAMC,MAAM,GAAG,KAAKA,MAAL,CAAYC,IAAZ,CAAiB,UAACC,CAAD;QAAA,OAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;MAAA,CAAjB,KAAwC,EAAvD;MACA,OAAO;QACLhB,IAAI,EAAEmB,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;UAAA;;UAAA,uCACZA,CAAC,CAACrB,IADU,8EAGdgB,CAHc,EAGVK,CAAC,CAACrB,IAAF,CAAOgB,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,oDAIdzB,EAJc,EAITyB,CAAC,CAAC,CAAD,CAJQ;QAAA,CAAX,CADD;QAOLG,EAAE,EAAE5B,EAPC;QAQLsB,CAAC,EAADA;MARK,CAAP;IAUD;;;WAED,kBAAS;MACP,IAAMO,OAAO,GAAG,KAAKA,OAArB;MACA,KAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;MACA,oBAAO,gCAAC,OAAD;QAAS,MAAM,EAAC,GAAhB;QAAoB,MAAM,EAAE,KAAKP;MAAjC,EAAP;IACD;;;EA/C2BQ,e;;iCAAxB9B,e,iBACiB,a;iCADjBA,e,WAGW+B,K;iCAHX/B,e,kBAKkB,YAAM;EAC1B,IAAMI,KAAK,GAAG,IAAA4B,cAAA,GAAd;EACA5B,KAAK,CAACP,gBAAD,CAAL,GAA0B,IAA1B;EACA,OAAO;IAAEO,KAAK,EAALA;EAAF,CAAP;AACD,C;AAyCH,IAAMU,WAAW,GAAG,IAAAmB,yBAAA,EAAcjC,eAAd,EAA+B;EAAEe,IAAI,EAAJA;AAAF,CAA/B,CAApB;eAEeD,W"}
1
+ {"version":3,"file":"StackedArea.js","names":["DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackedArea","Area","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","Component","style","d3Stack","createElement"],"sources":["../../src/StackedArea.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 Area from './Area';\n\nimport style from './style/area.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\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 === StackedArea.Area && !child.props.hide) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }) {\n const { x } = this.asProps;\n // or [] if hide area\n const series = this.series.find((s) => s.key === y) || [];\n return {\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element aria-hidden render=\"g\" series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,EAAE,GAAGD,MAAM,CAAC,IAAD,CAAjB;;IAEME,e;;;;;;;;;;;;WAWJ,qBAAY;MACV,oBAAkC,KAAKC,OAAvC;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,IAAlB,iBAAkBA,IAAlB;MAAA,IAAwBC,KAAxB,iBAAwBA,KAAxB;;MAEA,IAAIA,KAAK,CAACP,gBAAD,CAAT,EAA6B;QAC3B,IAAMQ,IAAI,GAAGC,iBAAA,CAAMJ,QAAN,CAAeK,OAAf,CAAuB,IAAAC,6BAAA,EAAkBN,QAAlB,CAAvB,EAAoDO,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;UACtF,IAAI,cAAAL,iBAAA,CAAMM,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACC,IAA1D,IAAkE,CAACJ,KAAK,CAACK,KAAN,CAAYC,IAAnF,EAAyF;YACvFP,GAAG,CAACQ,IAAJ,CAASP,KAAK,CAACK,KAAN,CAAYG,CAArB;UACD;;UACD,OAAOT,GAAP;QACD,CALY,EAKV,EALU,CAAb;;QAMAN,KAAK,CAACC,IAAN,CAAWA,IAAI,CAACe,OAAL,EAAX;MACD;;MAED,OAAOhB,KAAK,CAACD,IAAD,CAAZ;IACD;;;WAED,6BAAoB;MAAA,IAALgB,CAAK,SAALA,CAAK;MAClB,IAAQE,CAAR,GAAc,KAAKpB,OAAnB,CAAQoB,CAAR,CADkB,CAElB;;MACA,IAAMC,MAAM,GAAG,KAAKA,MAAL,CAAYC,IAAZ,CAAiB,UAACC,CAAD;QAAA,OAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;MAAA,CAAjB,KAAwC,EAAvD;MACA,OAAO;QACLhB,IAAI,EAAEmB,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;UAAA;;UAAA,uCACZA,CAAC,CAACrB,IADU,8EAGdgB,CAHc,EAGVK,CAAC,CAACrB,IAAF,CAAOgB,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,oDAIdzB,EAJc,EAITyB,CAAC,CAAC,CAAD,CAJQ;QAAA,CAAX,CADD;QAOLG,EAAE,EAAE5B,EAPC;QAQLsB,CAAC,EAADA;MARK,CAAP;IAUD;;;WAED,kBAAS;MACP,IAAMO,OAAO,GAAG,KAAKA,OAArB;MACA,KAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;MACA,oBAAO,gCAAC,OAAD;QAAS,mBAAT;QAAqB,MAAM,EAAC,GAA5B;QAAgC,MAAM,EAAE,KAAKP;MAA7C,EAAP;IACD;;;EA/C2BQ,e;;iCAAxB9B,e,iBACiB,a;iCADjBA,e,WAGW+B,K;iCAHX/B,e,kBAKkB,YAAM;EAC1B,IAAMI,KAAK,GAAG,IAAA4B,cAAA,GAAd;EACA5B,KAAK,CAACP,gBAAD,CAAL,GAA0B,IAA1B;EACA,OAAO;IAAEO,KAAK,EAALA;EAAF,CAAP;AACD,C;AAyCH,IAAMU,WAAW,GAAG,IAAAmB,yBAAA,EAAcjC,eAAd,EAA+B;EAAEe,IAAI,EAAJA;AAAF,CAA/B,CAApB;eAEeD,W"}
@@ -60,17 +60,17 @@ var style = (
60
60
  /*__reshadow_css_start__*/
61
61
  _core.sstyled.insert(
62
62
  /*__inner_css_start__*/
63
- ".___STooltip_1lzve_gg_{font-size:12px;line-height:1.33;position:relative;background-color:#fff;border-radius:6px;border:1px solid #e0e1e9;box-sizing:border-box;box-shadow:0px 1px 12px 0px rgba(25, 27, 35, 0.15);padding:12px}.___STitle_1lzve_gg_{color:#6c6e79;margin-bottom:8px}.___SDotGroup_1lzve_gg_{display:flex;align-items:center}.___SDot_1lzve_gg_{width:8px;height:8px;border-radius:50%;margin-right:8px;background:#2bb3ff}.___SDot_1lzve_gg_.__color_1lzve_gg_{background:var(--color_1lzve)}"
63
+ ".___STooltip_c3mpf_gg_{font-size:12px;line-height:1.33;position:relative;background-color:#fff;border-radius:6px;border:1px solid #e0e1e9;box-sizing:border-box;box-shadow:0px 1px 12px 0px rgba(25, 27, 35, 0.15);padding:12px}.___STitle_c3mpf_gg_{color:#6c6e79;margin-bottom:8px}.___SDotGroup_c3mpf_gg_{display:flex;align-items:center}.___SDot_c3mpf_gg_{width:8px;height:8px;border-radius:50%;margin-right:8px;background:#2bb3ff}.___SDot_c3mpf_gg_.__color_c3mpf_gg_{background:var(--color_c3mpf)}"
64
64
  /*__inner_css_end__*/
65
- , "1lzve_gg_")
65
+ , "c3mpf_gg_")
66
66
  /*__reshadow_css_end__*/
67
67
  , {
68
- "__STooltip": "___STooltip_1lzve_gg_",
69
- "__STitle": "___STitle_1lzve_gg_",
70
- "__SDotGroup": "___SDotGroup_1lzve_gg_",
71
- "__SDot": "___SDot_1lzve_gg_",
72
- "_color": "__color_1lzve_gg_",
73
- "--color": "--color_1lzve"
68
+ "__STooltip": "___STooltip_c3mpf_gg_",
69
+ "__STitle": "___STitle_c3mpf_gg_",
70
+ "__SDotGroup": "___SDotGroup_c3mpf_gg_",
71
+ "__SDot": "___SDot_c3mpf_gg_",
72
+ "_color": "__color_c3mpf_gg_",
73
+ "--color": "--color_c3mpf"
74
74
  });
75
75
 
76
76
  var TooltipRoot = /*#__PURE__*/function (_Component) {
package/lib/cjs/Venn.js CHANGED
@@ -48,16 +48,16 @@ var style = (
48
48
  /*__reshadow_css_start__*/
49
49
  _core.sstyled.insert(
50
50
  /*__inner_css_start__*/
51
- ".___SCircle_15r3k_gg_{fill:#59ddaa;stroke:#fff;stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_15r3k);transition-timing-function:ease-in-out}.___SCircle_15r3k_gg_:hover{fill-opacity:.7}.___SCircle_15r3k_gg_.__color_15r3k_gg_{fill:var(--color_15r3k)}.___SIntersection_15r3k_gg_{stroke:#fff;stroke-width:2px;fill-opacity:0}.___SIntersection_15r3k_gg_:hover{fill-opacity:.1}"
51
+ ".___SCircle_1ny5s_gg_{fill:#59ddaa;stroke:#fff;stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_1ny5s);transition-timing-function:ease-in-out}.___SCircle_1ny5s_gg_:hover{fill-opacity:.7}.___SCircle_1ny5s_gg_.__color_1ny5s_gg_{fill:var(--color_1ny5s)}.___SIntersection_1ny5s_gg_{stroke:#fff;stroke-width:2px;fill-opacity:0}.___SIntersection_1ny5s_gg_:hover{fill-opacity:.1}"
52
52
  /*__inner_css_end__*/
53
- , "15r3k_gg_")
53
+ , "1ny5s_gg_")
54
54
  /*__reshadow_css_end__*/
55
55
  , {
56
- "__SCircle": "___SCircle_15r3k_gg_",
57
- "--duration": "--duration_15r3k",
58
- "_color": "__color_15r3k_gg_",
59
- "--color": "--color_15r3k",
60
- "__SIntersection": "___SIntersection_15r3k_gg_"
56
+ "__SCircle": "___SCircle_1ny5s_gg_",
57
+ "--duration": "--duration_1ny5s",
58
+ "_color": "__color_1ny5s_gg_",
59
+ "--color": "--color_1ny5s",
60
+ "__SIntersection": "___SIntersection_1ny5s_gg_"
61
61
  });
62
62
 
63
63
  var VennRoot = /*#__PURE__*/function (_Component) {
@@ -88,6 +88,7 @@ var VennRoot = /*#__PURE__*/function (_Component) {
88
88
  });
89
89
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "renderElement", /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
90
90
  return /*#__PURE__*/_react["default"].createElement(_animation.FadeInOut, (0, _extends2["default"])({
91
+ "aria-hidden": true,
91
92
  ref: ref,
92
93
  tag: "g",
93
94
  visible: true
@@ -143,6 +144,7 @@ var VennRoot = /*#__PURE__*/function (_Component) {
143
144
  return {
144
145
  duration: this.asProps.duration,
145
146
  data: this.vennData[props.dataKey],
147
+ originalData: this.asProps.data[props.dataKey],
146
148
  onMouseMove: this.bindHandlerTooltip(true, props),
147
149
  onMouseLeave: this.bindHandlerTooltip(false, props)
148
150
  };
@@ -158,6 +160,7 @@ var VennRoot = /*#__PURE__*/function (_Component) {
158
160
  data: Object.values(this.vennData).filter(function (d) {
159
161
  return dataKeys.includes(d.setid);
160
162
  }),
163
+ originalData: this.asProps.data[props.dataKey],
161
164
  onMouseMove: this.bindHandlerTooltip(true, props),
162
165
  onMouseLeave: this.bindHandlerTooltip(false, props)
163
166
  };
@@ -166,8 +169,10 @@ var VennRoot = /*#__PURE__*/function (_Component) {
166
169
  key: "render",
167
170
  value: function render() {
168
171
  var Element = this.Element;
172
+ this.asProps.dataHintsHandler.establishDataType('values-set');
169
173
  this.vennData = this.getVennData();
170
174
  return /*#__PURE__*/_react["default"].createElement(Element, {
175
+ "aria-hidden": true,
171
176
  render: this.renderElement,
172
177
  childrenPosition: "inside",
173
178
  vennData: this.vennData
@@ -194,8 +199,13 @@ function Circle(_ref6) {
194
199
  styles = _ref6.styles,
195
200
  color = _ref6.color,
196
201
  data = _ref6.data,
197
- duration = _ref6.duration;
202
+ duration = _ref6.duration,
203
+ name = _ref6.name,
204
+ dataKey = _ref6.dataKey,
205
+ dataHintsHandler = _ref6.dataHintsHandler;
206
+ dataHintsHandler.describeValueEntity(dataKey, name);
198
207
  return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCircle, _ref.cn("SCircle", {
208
+ "aria-hidden": true,
199
209
  "render": "circle",
200
210
  "color": color,
201
211
  "cx": data.x,
@@ -210,10 +220,15 @@ function Intersection(props) {
210
220
 
211
221
  var SIntersection = props.Element,
212
222
  styles = props.styles,
213
- data = props.data;
223
+ data = props.data,
224
+ name = props.name,
225
+ dataKey = props.dataKey,
226
+ dataHintsHandler = props.dataHintsHandler;
227
+ dataHintsHandler.describeValueEntity(dataKey, name);
214
228
 
215
229
  var renderIntersection = _react["default"].useCallback( /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
216
230
  return /*#__PURE__*/_react["default"].createElement(_animation.FadeInOut, (0, _extends2["default"])({
231
+ "aria-hidden": true,
217
232
  ref: ref,
218
233
  tag: "path",
219
234
  visible: true
@@ -221,6 +236,7 @@ function Intersection(props) {
221
236
  }), [props]);
222
237
 
223
238
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SIntersection, _ref2.cn("SIntersection", {
239
+ "aria-hidden": true,
224
240
  "render": renderIntersection,
225
241
  "d": (0, _venn.intersectionAreaPath)(data)
226
242
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"Venn.js","names":["VennRoot","canUseDOM","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","React","forwardRef","ref","width","height","top","right","bottom","left","data","orientation","orientationOrder","size","vennData","Object","entries","map","dataKey","sets","split","scaleSolution","normalizeSolution","venn","duration","onMouseMove","bindHandlerTooltip","onMouseLeave","dataKeys","delay","values","filter","d","includes","setid","Element","getVennData","renderElement","Component","style","Math","PI","c1","c2","radius","Circle","SCircle","styles","color","sstyled","Intersection","SIntersection","renderIntersection","useCallback","intersectionAreaPath","Venn"],"sources":["../../src/Venn.jsx"],"sourcesContent":["import React from 'react';\nimport { venn, normalizeSolution, scaleSolution, intersectionAreaPath } from '@upsetjs/venn.js';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { FadeInOut } from '@semcore/animation';\n\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/venn.shadow.css';\n\nclass VennRoot extends Component {\n static displayName = 'Venn';\n static style = style;\n\n static defaultProps = {\n orientation: Math.PI / 2,\n orientationOrder: (c1, c2) => c2.radius - c1.radius,\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n getVennData() {\n const { data, orientation, orientationOrder, size } = this.asProps;\n const [width, height] = size;\n const vennData = Object.entries(data).map(([dataKey, size]) => ({\n sets: dataKey.split('/'),\n size,\n }));\n return scaleSolution(\n normalizeSolution(venn(vennData), orientation, orientationOrder),\n width,\n height,\n 10,\n );\n }\n\n getCircleProps(props) {\n return {\n duration: this.asProps.duration,\n data: this.vennData[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n getIntersectionProps(props) {\n const { duration } = this.asProps;\n const dataKeys = props.dataKey.split('/');\n return {\n duration,\n delay: duration,\n data: Object.values(this.vennData).filter((d) => dataKeys.includes(d.setid)),\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n renderElement = React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"g\" visible {...props} />;\n });\n\n render() {\n const Element = this.Element;\n this.vennData = this.getVennData();\n return (\n <Element render={this.renderElement} childrenPosition=\"inside\" vennData={this.vennData} />\n );\n }\n}\n\nfunction Circle({ Element: SCircle, styles, color, data, duration }) {\n return sstyled(styles)(\n <SCircle\n render=\"circle\"\n color={color}\n cx={data.x}\n cy={data.y}\n r={data.radius}\n use:duration={`${duration}ms`}\n />,\n );\n}\n\nfunction Intersection(props) {\n const { Element: SIntersection, styles, data } = props;\n const renderIntersection = React.useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"path\" visible {...props} />;\n }),\n [props],\n );\n return sstyled(styles)(\n <SIntersection render={renderIntersection} d={intersectionAreaPath(data)} />,\n );\n}\n\nconst Venn = createElement(VennRoot, { Circle, Intersection });\n\nexport default Venn;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Venn.js","names":["VennRoot","canUseDOM","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","React","forwardRef","ref","width","height","top","right","bottom","left","data","orientation","orientationOrder","size","vennData","Object","entries","map","dataKey","sets","split","scaleSolution","normalizeSolution","venn","duration","originalData","onMouseMove","bindHandlerTooltip","onMouseLeave","dataKeys","delay","values","filter","d","includes","setid","Element","dataHintsHandler","establishDataType","getVennData","renderElement","Component","style","Math","PI","c1","c2","radius","Circle","SCircle","styles","color","name","describeValueEntity","sstyled","Intersection","SIntersection","renderIntersection","useCallback","intersectionAreaPath","Venn"],"sources":["../../src/Venn.jsx"],"sourcesContent":["import React from 'react';\nimport { venn, normalizeSolution, scaleSolution, intersectionAreaPath } from '@upsetjs/venn.js';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { FadeInOut } from '@semcore/animation';\n\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/venn.shadow.css';\n\nclass VennRoot extends Component {\n static displayName = 'Venn';\n static style = style;\n\n static defaultProps = {\n orientation: Math.PI / 2,\n orientationOrder: (c1, c2) => c2.radius - c1.radius,\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n getVennData() {\n const { data, orientation, orientationOrder, size } = this.asProps;\n const [width, height] = size;\n const vennData = Object.entries(data).map(([dataKey, size]) => ({\n sets: dataKey.split('/'),\n size,\n }));\n return scaleSolution(\n normalizeSolution(venn(vennData), orientation, orientationOrder),\n width,\n height,\n 10,\n );\n }\n\n getCircleProps(props) {\n return {\n duration: this.asProps.duration,\n data: this.vennData[props.dataKey],\n originalData: this.asProps.data[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n getIntersectionProps(props) {\n const { duration } = this.asProps;\n const dataKeys = props.dataKey.split('/');\n return {\n duration,\n delay: duration,\n data: Object.values(this.vennData).filter((d) => dataKeys.includes(d.setid)),\n originalData: this.asProps.data[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n renderElement = React.forwardRef((props, ref) => {\n return <FadeInOut aria-hidden ref={ref} tag=\"g\" visible {...props} />;\n });\n\n render() {\n const Element = this.Element;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n this.vennData = this.getVennData();\n return (\n <Element\n aria-hidden\n render={this.renderElement}\n childrenPosition=\"inside\"\n vennData={this.vennData}\n />\n );\n }\n}\n\nfunction Circle({\n Element: SCircle,\n styles,\n color,\n data,\n duration,\n name,\n dataKey,\n dataHintsHandler,\n}) {\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SCircle\n aria-hidden\n render=\"circle\"\n color={color}\n cx={data.x}\n cy={data.y}\n r={data.radius}\n use:duration={`${duration}ms`}\n />,\n );\n}\n\nfunction Intersection(props) {\n const { Element: SIntersection, styles, data, name, dataKey, dataHintsHandler } = props;\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n const renderIntersection = React.useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut aria-hidden ref={ref} tag=\"path\" visible {...props} />;\n }),\n [props],\n );\n return sstyled(styles)(\n <SIntersection aria-hidden render={renderIntersection} d={intersectionAreaPath(data)} />,\n );\n}\n\nconst Venn = createElement(VennRoot, { Circle, Intersection });\n\nexport default Venn;\n"],"mappings":"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"}