@semcore/d3-chart 2.2.6 → 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 (217) hide show
  1. package/CHANGELOG.md +3 -9
  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/ResponsiveContainer.js +0 -1
  30. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  31. package/lib/cjs/ScatterPlot.js +17 -8
  32. package/lib/cjs/ScatterPlot.js.map +1 -1
  33. package/lib/cjs/StackBar.js +12 -8
  34. package/lib/cjs/StackBar.js.map +1 -1
  35. package/lib/cjs/StackedArea.js +8 -7
  36. package/lib/cjs/StackedArea.js.map +1 -1
  37. package/lib/cjs/Tooltip.js +8 -8
  38. package/lib/cjs/Venn.js +25 -9
  39. package/lib/cjs/Venn.js.map +1 -1
  40. package/lib/cjs/a11y/PlotA11yModule.js +185 -0
  41. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -0
  42. package/lib/cjs/a11y/PlotA11yView.js +285 -0
  43. package/lib/cjs/a11y/PlotA11yView.js.map +1 -0
  44. package/lib/cjs/a11y/bezier.js +44 -0
  45. package/lib/cjs/a11y/bezier.js.map +1 -0
  46. package/lib/cjs/a11y/datasets/charts-a11y.js +591 -0
  47. package/lib/cjs/a11y/datasets/charts-a11y.js.map +1 -0
  48. package/lib/cjs/a11y/datasets/gold.json +7961 -0
  49. package/lib/cjs/a11y/datasets/imdb.json +10002 -0
  50. package/lib/cjs/a11y/datasets/readme.md +5 -0
  51. package/lib/cjs/a11y/datasets/stores.json +6274 -0
  52. package/lib/cjs/a11y/datasets/titanic.json +5436 -0
  53. package/lib/cjs/a11y/focus.js +57 -0
  54. package/lib/cjs/a11y/focus.js.map +1 -0
  55. package/lib/cjs/a11y/hints.js +141 -0
  56. package/lib/cjs/a11y/hints.js.map +1 -0
  57. package/lib/cjs/a11y/insights.js +785 -0
  58. package/lib/cjs/a11y/insights.js.map +1 -0
  59. package/lib/cjs/a11y/intl.js +31 -0
  60. package/lib/cjs/a11y/intl.js.map +1 -0
  61. package/lib/cjs/a11y/locale.js +48 -0
  62. package/lib/cjs/a11y/locale.js.map +1 -0
  63. package/lib/cjs/a11y/serialize.js +439 -0
  64. package/lib/cjs/a11y/serialize.js.map +1 -0
  65. package/lib/cjs/a11y/summarize.js +21 -0
  66. package/lib/cjs/a11y/summarize.js.map +1 -0
  67. package/lib/cjs/a11y/translations/module/de.json +5 -0
  68. package/lib/cjs/a11y/translations/module/en.json +5 -0
  69. package/lib/cjs/a11y/translations/module/es.json +5 -0
  70. package/lib/cjs/a11y/translations/module/fr.json +5 -0
  71. package/lib/cjs/a11y/translations/module/it.json +5 -0
  72. package/lib/cjs/a11y/translations/module/ja.json +5 -0
  73. package/lib/cjs/a11y/translations/module/ko.json +5 -0
  74. package/lib/cjs/a11y/translations/module/pt.json +5 -0
  75. package/lib/cjs/a11y/translations/module/tr.json +5 -0
  76. package/lib/cjs/a11y/translations/module/translations.js +46 -0
  77. package/lib/cjs/a11y/translations/module/translations.js.map +1 -0
  78. package/lib/cjs/a11y/translations/module/vi.json +5 -0
  79. package/lib/cjs/a11y/translations/module/zh.json +5 -0
  80. package/lib/cjs/a11y/translations/view/de.json +42 -0
  81. package/lib/cjs/a11y/translations/view/en.csv +41 -0
  82. package/lib/cjs/a11y/translations/view/en.json +42 -0
  83. package/lib/cjs/a11y/translations/view/es.json +42 -0
  84. package/lib/cjs/a11y/translations/view/fr.json +42 -0
  85. package/lib/cjs/a11y/translations/view/it.json +42 -0
  86. package/lib/cjs/a11y/translations/view/ja.json +42 -0
  87. package/lib/cjs/a11y/translations/view/ko.json +42 -0
  88. package/lib/cjs/a11y/translations/view/pt.json +42 -0
  89. package/lib/cjs/a11y/translations/view/tr.json +42 -0
  90. package/lib/cjs/a11y/translations/view/translations.js +46 -0
  91. package/lib/cjs/a11y/translations/view/translations.js.map +1 -0
  92. package/lib/cjs/a11y/translations/view/vi.json +42 -0
  93. package/lib/cjs/a11y/translations/view/zh.json +42 -0
  94. package/lib/cjs/createElement.js +3 -1
  95. package/lib/cjs/createElement.js.map +1 -1
  96. package/lib/cjs/style/plot.shadow.css +10 -0
  97. package/lib/cjs/style/plotA11yModule.shadow.css +13 -0
  98. package/lib/cjs/style/plotA11yView.shadow.css +39 -0
  99. package/lib/cjs/types/Plot.d.ts +75 -0
  100. package/lib/cjs/utils.js +9 -1
  101. package/lib/cjs/utils.js.map +1 -1
  102. package/lib/es6/Area.js +16 -9
  103. package/lib/es6/Area.js.map +1 -1
  104. package/lib/es6/Axis.js +56 -17
  105. package/lib/es6/Axis.js.map +1 -1
  106. package/lib/es6/Bar.js +20 -9
  107. package/lib/es6/Bar.js.map +1 -1
  108. package/lib/es6/Bubble.js +20 -11
  109. package/lib/es6/Bubble.js.map +1 -1
  110. package/lib/es6/ClipPath.js +1 -0
  111. package/lib/es6/ClipPath.js.map +1 -1
  112. package/lib/es6/Donut.js +22 -12
  113. package/lib/es6/Donut.js.map +1 -1
  114. package/lib/es6/Dots.js +10 -9
  115. package/lib/es6/Dots.js.map +1 -1
  116. package/lib/es6/GroupBar.js +12 -8
  117. package/lib/es6/GroupBar.js.map +1 -1
  118. package/lib/es6/HorizontalBar.js +20 -9
  119. package/lib/es6/HorizontalBar.js.map +1 -1
  120. package/lib/es6/Hover.js +8 -4
  121. package/lib/es6/Hover.js.map +1 -1
  122. package/lib/es6/Line.js +15 -9
  123. package/lib/es6/Line.js.map +1 -1
  124. package/lib/es6/Plot.js +48 -9
  125. package/lib/es6/Plot.js.map +1 -1
  126. package/lib/es6/RadialTree.js +25 -13
  127. package/lib/es6/RadialTree.js.map +1 -1
  128. package/lib/es6/ReferenceLine.js +10 -10
  129. package/lib/es6/ResponsiveContainer.js +0 -1
  130. package/lib/es6/ResponsiveContainer.js.map +1 -1
  131. package/lib/es6/ScatterPlot.js +17 -8
  132. package/lib/es6/ScatterPlot.js.map +1 -1
  133. package/lib/es6/StackBar.js +12 -8
  134. package/lib/es6/StackBar.js.map +1 -1
  135. package/lib/es6/StackedArea.js +8 -7
  136. package/lib/es6/StackedArea.js.map +1 -1
  137. package/lib/es6/Tooltip.js +8 -8
  138. package/lib/es6/Venn.js +25 -9
  139. package/lib/es6/Venn.js.map +1 -1
  140. package/lib/es6/a11y/PlotA11yModule.js +160 -0
  141. package/lib/es6/a11y/PlotA11yModule.js.map +1 -0
  142. package/lib/es6/a11y/PlotA11yView.js +254 -0
  143. package/lib/es6/a11y/PlotA11yView.js.map +1 -0
  144. package/lib/es6/a11y/bezier.js +35 -0
  145. package/lib/es6/a11y/bezier.js.map +1 -0
  146. package/lib/es6/a11y/datasets/charts-a11y.js +590 -0
  147. package/lib/es6/a11y/datasets/charts-a11y.js.map +1 -0
  148. package/lib/es6/a11y/datasets/gold.json +7961 -0
  149. package/lib/es6/a11y/datasets/imdb.json +10002 -0
  150. package/lib/es6/a11y/datasets/readme.md +5 -0
  151. package/lib/es6/a11y/datasets/stores.json +6274 -0
  152. package/lib/es6/a11y/datasets/titanic.json +5436 -0
  153. package/lib/es6/a11y/focus.js +48 -0
  154. package/lib/es6/a11y/focus.js.map +1 -0
  155. package/lib/es6/a11y/hints.js +123 -0
  156. package/lib/es6/a11y/hints.js.map +1 -0
  157. package/lib/es6/a11y/insights.js +779 -0
  158. package/lib/es6/a11y/insights.js.map +1 -0
  159. package/lib/es6/a11y/intl.js +18 -0
  160. package/lib/es6/a11y/intl.js.map +1 -0
  161. package/lib/es6/a11y/locale.js +36 -0
  162. package/lib/es6/a11y/locale.js.map +1 -0
  163. package/lib/es6/a11y/serialize.js +423 -0
  164. package/lib/es6/a11y/serialize.js.map +1 -0
  165. package/lib/es6/a11y/summarize.js +10 -0
  166. package/lib/es6/a11y/summarize.js.map +1 -0
  167. package/lib/es6/a11y/translations/module/de.json +5 -0
  168. package/lib/es6/a11y/translations/module/en.json +5 -0
  169. package/lib/es6/a11y/translations/module/es.json +5 -0
  170. package/lib/es6/a11y/translations/module/fr.json +5 -0
  171. package/lib/es6/a11y/translations/module/it.json +5 -0
  172. package/lib/es6/a11y/translations/module/ja.json +5 -0
  173. package/lib/es6/a11y/translations/module/ko.json +5 -0
  174. package/lib/es6/a11y/translations/module/pt.json +5 -0
  175. package/lib/es6/a11y/translations/module/tr.json +5 -0
  176. package/lib/es6/a11y/translations/module/translations.js +25 -0
  177. package/lib/es6/a11y/translations/module/translations.js.map +1 -0
  178. package/lib/es6/a11y/translations/module/vi.json +5 -0
  179. package/lib/es6/a11y/translations/module/zh.json +5 -0
  180. package/lib/es6/a11y/translations/view/de.json +42 -0
  181. package/lib/es6/a11y/translations/view/en.csv +41 -0
  182. package/lib/es6/a11y/translations/view/en.json +42 -0
  183. package/lib/es6/a11y/translations/view/es.json +42 -0
  184. package/lib/es6/a11y/translations/view/fr.json +42 -0
  185. package/lib/es6/a11y/translations/view/it.json +42 -0
  186. package/lib/es6/a11y/translations/view/ja.json +42 -0
  187. package/lib/es6/a11y/translations/view/ko.json +42 -0
  188. package/lib/es6/a11y/translations/view/pt.json +42 -0
  189. package/lib/es6/a11y/translations/view/tr.json +42 -0
  190. package/lib/es6/a11y/translations/view/translations.js +25 -0
  191. package/lib/es6/a11y/translations/view/translations.js.map +1 -0
  192. package/lib/es6/a11y/translations/view/vi.json +42 -0
  193. package/lib/es6/a11y/translations/view/zh.json +42 -0
  194. package/lib/es6/createElement.js +3 -1
  195. package/lib/es6/createElement.js.map +1 -1
  196. package/lib/es6/style/plot.shadow.css +10 -0
  197. package/lib/es6/style/plotA11yModule.shadow.css +13 -0
  198. package/lib/es6/style/plotA11yView.shadow.css +39 -0
  199. package/lib/es6/types/Plot.d.ts +75 -0
  200. package/lib/es6/utils.js +5 -0
  201. package/lib/es6/utils.js.map +1 -1
  202. package/lib/types/Plot.d.ts +75 -0
  203. package/lib/types/a11y/PlotA11yModule.d.ts +12 -0
  204. package/lib/types/a11y/PlotA11yView.d.ts +3 -0
  205. package/lib/types/a11y/bezier.d.ts +8 -0
  206. package/lib/types/a11y/datasets/charts-a11y.d.ts +0 -0
  207. package/lib/types/a11y/focus.d.ts +5 -0
  208. package/lib/types/a11y/hints.d.ts +99 -0
  209. package/lib/types/a11y/insights.d.ts +54 -0
  210. package/lib/types/a11y/intl.d.ts +8 -0
  211. package/lib/types/a11y/locale.d.ts +3 -0
  212. package/lib/types/a11y/serialize.d.ts +16 -0
  213. package/lib/types/a11y/summarize.d.ts +2 -0
  214. package/lib/types/a11y/translations/module/translations.d.ts +5 -0
  215. package/lib/types/a11y/translations/view/translations.d.ts +5 -0
  216. package/lib/types/utils.d.ts +1 -0
  217. package/package.json +3 -2
@@ -29,16 +29,16 @@ var style = (
29
29
  /*__reshadow_css_start__*/
30
30
  _sstyled.insert(
31
31
  /*__inner_css_start__*/
32
- ".___SScatterPlot_zn4vq_gg_{fill:#2bb3ff;transition-property:cx,cy;transition-duration:var(--duration_zn4vq);transition-timing-function:ease-in-out;opacity:.5}.___SScatterPlot_zn4vq_gg_:hover{opacity:.8}.___SScatterPlot_zn4vq_gg_.__color_zn4vq_gg_{fill:var(--color_zn4vq)}.___SValue_zn4vq_gg_{text-anchor:middle;font-size:10px;stroke:#008ff8}.___SValue_zn4vq_gg_.__color_zn4vq_gg_{stroke:var(--color_zn4vq)}"
32
+ ".___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)}"
33
33
  /*__inner_css_end__*/
34
- , "zn4vq_gg_")
34
+ , "v1s0r_gg_")
35
35
  /*__reshadow_css_end__*/
36
36
  , {
37
- "__SScatterPlot": "___SScatterPlot_zn4vq_gg_",
38
- "--duration": "--duration_zn4vq",
39
- "_color": "__color_zn4vq_gg_",
40
- "--color": "--color_zn4vq",
41
- "__SValue": "___SValue_zn4vq_gg_"
37
+ "__SScatterPlot": "___SScatterPlot_v1s0r_gg_",
38
+ "--duration": "--duration_v1s0r",
39
+ "_color": "__color_v1s0r_gg_",
40
+ "--color": "--color_v1s0r",
41
+ "__SValue": "___SValue_v1s0r_gg_"
42
42
  });
43
43
  import ClipPath from './ClipPath';
44
44
 
@@ -141,6 +141,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
141
141
  var SScatterPlot = this.Element;
142
142
  var SValue = 'text';
143
143
  return _ref = sstyled(styles), /*#__PURE__*/React.createElement("g", _ref.cn("g", {
144
+ "aria-hidden": true,
144
145
  "key": "circle(#".concat(i, ")"),
145
146
  "onMouseMove": this.bindHandlerTooltip(true, _objectSpread(_objectSpread({}, this.props), {}, {
146
147
  xIndex: i
@@ -149,6 +150,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
149
150
  xIndex: i
150
151
  }))
151
152
  }), /*#__PURE__*/React.createElement(SScatterPlot, _ref.cn("SScatterPlot", {
153
+ "aria-hidden": true,
152
154
  "id": "".concat(uid).concat(i),
153
155
  "index": i,
154
156
  "render": "circle",
@@ -159,6 +161,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
159
161
  "r": r,
160
162
  "use:duration": "".concat(duration, "ms")
161
163
  })), d[value] && /*#__PURE__*/React.createElement(SValue, _ref.cn("SValue", {
164
+ "aria-hidden": true,
162
165
  "x": xScale(d[x]) + offset[0],
163
166
  "y": yScale(d[y]) + offset[1],
164
167
  "dy": ".3em",
@@ -172,7 +175,10 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
172
175
  var _this$asProps3 = this.asProps,
173
176
  data = _this$asProps3.data,
174
177
  uid = _this$asProps3.uid,
175
- scale = _this$asProps3.scale;
178
+ scale = _this$asProps3.scale,
179
+ x = _this$asProps3.x,
180
+ y = _this$asProps3.y,
181
+ value = _this$asProps3.value;
176
182
 
177
183
  var _scale2 = _slicedToArray(scale, 2),
178
184
  xScale = _scale2[0],
@@ -182,7 +188,10 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
182
188
  var ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);
183
189
  var xMargin = Math.min(xScale.range()[0], xScale.range()[1]);
184
190
  var yMargin = Math.min(yScale.range()[0], yScale.range()[1]);
191
+ this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);
192
+ this.asProps.dataHintsHandler.establishDataType('points-cloud');
185
193
  return /*#__PURE__*/React.createElement(React.Fragment, null, data.map(this.renderCircle.bind(this)), /*#__PURE__*/React.createElement(ClipPath, {
194
+ "aria-hidden": true,
186
195
  id: uid,
187
196
  x: xMargin,
188
197
  y: yMargin,
@@ -1 +1 @@
1
- {"version":3,"file":"ScatterPlot.js","names":["React","Component","sstyled","canUseDOM","CONSTANT","createElement","uniqueIDEnhancement","transition","ClipPath","ScatterPlotRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","r","value","radius","selectRect","selection","selectAll","attr","selectRectNode","node","animationCircle","d","i","color","scale","offset","styles","valueColor","xScale","yScale","SScatterPlot","Element","SValue","bindHandlerTooltip","xIndex","data","xSize","Math","abs","range","ySize","xMargin","min","yMargin","map","renderCircle","bind","style","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":["React","Component","sstyled","canUseDOM","CONSTANT","createElement","uniqueIDEnhancement","transition","ClipPath","ScatterPlotRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","r","value","radius","selectRect","selection","selectAll","attr","selectRectNode","node","animationCircle","d","i","color","scale","offset","styles","valueColor","xScale","yScale","SScatterPlot","Element","SValue","bindHandlerTooltip","xIndex","data","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","map","renderCircle","bind","style","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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"}
@@ -27,15 +27,15 @@ var _ref = (
27
27
  /*__reshadow_css_start__*/
28
28
  __css__(
29
29
  /*__inner_css_start__*/
30
- ".___SBar_1bkqa_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_1bkqa_gg_.__color_1bkqa_gg_{fill:var(--color)}.___SBar_1bkqa_gg_.__hide_1bkqa_gg_{display:none}.___SBackground_1bkqa_gg_{fill:#c4c7cf}"
30
+ ".___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}"
31
31
  /*__inner_css_end__*/
32
- , "158m8ci_gg_")
32
+ , "1iyvh36_gg_")
33
33
  /*__reshadow_css_end__*/
34
34
  , {
35
- "__SBar": "___SBar_1bkqa_gg_",
36
- "_color": "__color_1bkqa_gg_",
37
- "_hide": "__hide_1bkqa_gg_",
38
- "__SBackground": "___SBackground_1bkqa_gg_"
35
+ "__SBar": "___SBar_dgtls_gg_",
36
+ "_color": "__color_dgtls_gg_",
37
+ "_hide": "__hide_dgtls_gg_",
38
+ "__SBackground": "___SBackground_dgtls_gg_"
39
39
  }),
40
40
  style = _extends({}, _ref);
41
41
 
@@ -105,7 +105,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
105
105
  }),
106
106
  y0: XY0,
107
107
  x: x,
108
- r: rBar
108
+ r: rBar,
109
+ groupKey: x
109
110
  };
110
111
  }
111
112
  }, {
@@ -134,7 +135,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
134
135
  }),
135
136
  x0: XY0,
136
137
  y: y,
137
- r: rBar
138
+ r: rBar,
139
+ groupKey: y
138
140
  };
139
141
  }
140
142
  }, {
@@ -142,7 +144,9 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
142
144
  value: function render() {
143
145
  var Element = this.Element;
144
146
  this.series = this.getSeries();
147
+ this.asProps.dataHintsHandler.establishDataType('grouped-values');
145
148
  return /*#__PURE__*/React.createElement(Element, {
149
+ "aria-hidden": true,
146
150
  render: "g",
147
151
  series: this.series
148
152
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StackBar.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","y0","x0","Element","getSeries","style"],"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":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","y0","groupKey","x0","Element","getSeries","dataHintsHandler","establishDataType","style"],"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":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAK,IAAIC,OAAlB,QAAiC,UAAjC;AACA,SAASC,SAAT,sBAA0B,eAA1B;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,GAAP,MAAgB,OAAhB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;;;;;;;;;;;;;;;;;;;AAIA,IAAMC,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,GAAG,GAAGD,MAAM,CAAC,KAAD,CAAlB;;IAEME,Y;;;;;;;;;;;;;WAWJ,qBAAY;MACV,oBAAkC,KAAKC,OAAvC;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,IAAlB,iBAAkBA,IAAlB;MAAA,IAAwBb,KAAxB,iBAAwBA,KAAxB;;MAEA,IAAIA,KAAK,CAACO,gBAAD,CAAT,EAA6B;QAC3B,IAAMO,IAAI,GAAGf,KAAK,CAACa,QAAN,CAAeG,OAAf,CAAuBZ,iBAAiB,CAACS,QAAD,CAAxC,EAAoDI,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;UACtF,IAAI,cAAAnB,KAAK,CAACoB,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,QAAQ,CAAChB,GAAvD,IAA8D,CAACa,KAAK,CAACI,KAAN,CAAYC,IAA/E,EAAqF;YACnFN,GAAG,CAACO,IAAJ,CAASN,KAAK,CAACI,KAAN,CAAYG,CAArB;UACD;;UACD,IACE,cAAA1B,KAAK,CAACoB,cAAN,CAAqBD,KAArB,KACAA,KAAK,CAACE,IAAN,KAAeC,QAAQ,CAACf,aADxB,IAEA,CAACY,KAAK,CAACI,KAAN,CAAYC,IAHf,EAIE;YACAN,GAAG,CAACO,IAAJ,CAASN,KAAK,CAACI,KAAN,CAAYI,CAArB;UACD;;UACD,OAAOT,GAAP;QACD,CAZY,EAYV,EAZU,CAAb;QAaAjB,KAAK,CAACc,IAAN,CAAWA,IAAX;MACD;;MAED,OAAOd,KAAK,CAACa,IAAD,CAAZ;IACD;;;WAED,4BAAmB;MAAA;;MAAA,IAALY,CAAK,SAALA,CAAK;MACjB,qBAAiB,KAAKd,OAAtB;MAAA,IAAQe,CAAR,kBAAQA,CAAR;MAAA,IAAWC,CAAX,kBAAWA,CAAX;MAEA,IAAMC,WAAW,GAAG,KAAKC,MAAL,CAAYC,SAAZ,CAAsB,UAACC,CAAD;QAAA,OAAOA,CAAC,CAACC,GAAF,KAAUP,CAAjB;MAAA,CAAtB,CAApB,CAHiB,CAIjB;;MACA,IAAMI,MAAM,GAAG,KAAKA,MAAL,CAAYD,WAAZ,KAA4B,EAA3C;MAEA,IAAMK,IAAI,GAAGJ,MAAM,CAACK,GAAP,CAAW,UAACH,CAAD,EAAII,CAAJ;QAAA,OACtB,KAAI,CAACN,MAAL,CAAYO,KAAZ,CAAkBR,WAAW,GAAG,CAAhC,EAAmCS,IAAnC,CAAwC,UAACC,GAAD;UAAA,OAASA,GAAG,CAACH,CAAD,CAAH,CAAO,CAAP,MAAcG,GAAG,CAACH,CAAD,CAAH,CAAO,CAAP,CAAvB;QAAA,CAAxC,IAA4E,CAA5E,GAAgFR,CAD1D;MAAA,CAAX,CAAb;MAIA,OAAO;QACLd,IAAI,EAAEgB,MAAM,CAACK,GAAP,CAAW,UAACH,CAAD;UAAA;;UAAA,uCACZA,CAAC,CAAClB,IADU,6DAEdY,CAFc,EAEVM,CAAC,CAAC,CAAD,CAFS,mCAGdtB,GAHc,EAGRsB,CAAC,CAAC,CAAD,CAHO;QAAA,CAAX,CADD;QAMLQ,EAAE,EAAE9B,GANC;QAOLiB,CAAC,EAADA,CAPK;QAQLC,CAAC,EAAEM,IARE;QASLO,QAAQ,EAAEd;MATL,CAAP;IAWD;;;WAED,sCAA6B;MAAA;;MAAA,IAALA,CAAK,SAALA,CAAK;MAC3B,qBAAiB,KAAKf,OAAtB;MAAA,IAAQc,CAAR,kBAAQA,CAAR;MAAA,IAAWE,CAAX,kBAAWA,CAAX;MAEA,IAAMC,WAAW,GAAG,KAAKC,MAAL,CAAYC,SAAZ,CAAsB,UAACC,CAAD;QAAA,OAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;MAAA,CAAtB,CAApB;MACA,IAAMG,MAAM,GAAG,KAAKA,MAAL,CAAYD,WAAZ,CAAf;MAEA,IAAMK,IAAI,GAAGJ,MAAM,CAACK,GAAP,CAAW,UAACH,CAAD,EAAII,CAAJ;QAAA,OACtB,MAAI,CAACN,MAAL,CAAYO,KAAZ,CAAkBR,WAAW,GAAG,CAAhC,EAAmCS,IAAnC,CAAwC,UAACC,GAAD;UAAA,OAASA,GAAG,CAACH,CAAD,CAAH,CAAO,CAAP,MAAcG,GAAG,CAACH,CAAD,CAAH,CAAO,CAAP,CAAvB;QAAA,CAAxC,IAA4E,CAA5E,GAAgFR,CAD1D;MAAA,CAAX,CAAb;MAIA,OAAO;QACLd,IAAI,EAAEgB,MAAM,CAACK,GAAP,CAAW,UAACH,CAAD;UAAA;;UAAA,uCACZA,CAAC,CAAClB,IADU,6DAEda,CAFc,EAEVK,CAAC,CAAC,CAAD,CAFS,mCAGdtB,GAHc,EAGRsB,CAAC,CAAC,CAAD,CAHO;QAAA,CAAX,CADD;QAMLU,EAAE,EAAEhC,GANC;QAOLgB,CAAC,EAADA,CAPK;QAQLE,CAAC,EAAEM,IARE;QASLO,QAAQ,EAAEf;MATL,CAAP;IAWD;;;WAED,kBAAS;MACP,IAAMiB,OAAO,GAAG,KAAKA,OAArB;MACA,KAAKb,MAAL,GAAc,KAAKc,SAAL,EAAd;MAEA,KAAKhC,OAAL,CAAaiC,gBAAb,CAA8BC,iBAA9B,CAAgD,gBAAhD;MAEA,oBAAO,oBAAC,OAAD;QAAS,mBAAT;QAAqB,MAAM,EAAC,GAA5B;QAAgC,MAAM,EAAE,KAAKhB;MAA7C,EAAP;IACD;;;;EAxFwB3B,S;;gBAArBQ,Y,iBACiB,U;;gBADjBA,Y,WAGWoC,K;;gBAHXpC,Y,kBAKkB,YAAM;EAC1B,IAAMV,KAAK,GAAGC,OAAO,EAArB;EACAD,KAAK,CAACO,gBAAD,CAAL,GAA0B,IAA1B;EACA,OAAO;IAAEP,KAAK,EAALA,KAAF;IAAS2B,CAAC,EAAE;EAAZ,CAAP;AACD,C;;AAkFH,IAAMN,QAAQ,GAAGjB,aAAa,CAACM,YAAD,EAAe;EAC3CL,GAAG,EAAHA,GAD2C;EAE3CC,aAAa,EAAbA;AAF2C,CAAf,CAA9B;AAKA,eAAee,QAAf"}
@@ -26,16 +26,16 @@ var _ref = (
26
26
  /*__reshadow_css_start__*/
27
27
  __css__(
28
28
  /*__inner_css_start__*/
29
- ".___SArea_p6m4i_gg_{fill:#2bb3ff;fill-opacity:.2}.___SArea_p6m4i_gg_.__color_p6m4i_gg_{fill:var(--color)}.___SAreaLine_p6m4i_gg_{stroke:#2bb3ff;stroke-width:3;fill:transparent}.___SAreaLine_p6m4i_gg_.__color_p6m4i_gg_{stroke:var(--color)}.___SArea_p6m4i_gg_,.___SAreaLine_p6m4i_gg_{transition-property:d;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SNull_p6m4i_gg_{fill:transparent;stroke:#8a8e9b;stroke-dasharray:4}.___SNull_p6m4i_gg_.__hide_p6m4i_gg_{display:none}"
29
+ ".___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}"
30
30
  /*__inner_css_end__*/
31
- , "1qt1yd_gg_")
31
+ , "mp0j3b_gg_")
32
32
  /*__reshadow_css_end__*/
33
33
  , {
34
- "__SArea": "___SArea_p6m4i_gg_",
35
- "_color": "__color_p6m4i_gg_",
36
- "__SAreaLine": "___SAreaLine_p6m4i_gg_",
37
- "__SNull": "___SNull_p6m4i_gg_",
38
- "_hide": "__hide_p6m4i_gg_"
34
+ "__SArea": "___SArea_3afcc_gg_",
35
+ "_color": "__color_3afcc_gg_",
36
+ "__SAreaLine": "___SAreaLine_3afcc_gg_",
37
+ "__SNull": "___SNull_3afcc_gg_",
38
+ "_hide": "__hide_3afcc_gg_"
39
39
  }),
40
40
  style = _extends({}, _ref);
41
41
 
@@ -99,6 +99,7 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
99
99
  var Element = this.Element;
100
100
  this.series = this.getSeries();
101
101
  return /*#__PURE__*/React.createElement(Element, {
102
+ "aria-hidden": true,
102
103
  render: "g",
103
104
  series: this.series
104
105
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StackedArea.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","style"],"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,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAK,IAAIC,OAAlB,QAAiC,UAAjC;AACA,SAASC,SAAT,sBAA0B,eAA1B;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;AAIA,IAAMC,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,IAAwBZ,KAAxB,iBAAwBA,KAAxB;;MAEA,IAAIA,KAAK,CAACM,gBAAD,CAAT,EAA6B;QAC3B,IAAMO,IAAI,GAAGd,KAAK,CAACY,QAAN,CAAeG,OAAf,CAAuBX,iBAAiB,CAACQ,QAAD,CAAxC,EAAoDI,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;UACtF,IAAI,cAAAlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACf,IAA1D,IAAkE,CAACY,KAAK,CAACI,KAAN,CAAYC,IAAnF,EAAyF;YACvFN,GAAG,CAACO,IAAJ,CAASN,KAAK,CAACI,KAAN,CAAYG,CAArB;UACD;;UACD,OAAOR,GAAP;QACD,CALY,EAKV,EALU,CAAb;QAMAhB,KAAK,CAACa,IAAN,CAAWA,IAAI,CAACY,OAAL,EAAX;MACD;;MAED,OAAOzB,KAAK,CAACY,IAAD,CAAZ;IACD;;;WAED,6BAAoB;MAAA,IAALY,CAAK,SAALA,CAAK;MAClB,IAAQE,CAAR,GAAc,KAAKhB,OAAnB,CAAQgB,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;QACLZ,IAAI,EAAEe,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;UAAA;;UAAA,uCACZA,CAAC,CAACjB,IADU,6DAGdY,CAHc,EAGVK,CAAC,CAACjB,IAAF,CAAOY,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,mCAIdrB,EAJc,EAITqB,CAAC,CAAC,CAAD,CAJQ;QAAA,CAAX,CADD;QAOLG,EAAE,EAAExB,EAPC;QAQLkB,CAAC,EAADA;MARK,CAAP;IAUD;;;WAED,kBAAS;MACP,IAAMO,OAAO,GAAG,KAAKA,OAArB;MACA,KAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;MACA,oBAAO,oBAAC,OAAD;QAAS,MAAM,EAAC,GAAhB;QAAoB,MAAM,EAAE,KAAKP;MAAjC,EAAP;IACD;;;;EA/C2BzB,S;;gBAAxBO,e,iBACiB,a;;gBADjBA,e,WAGW0B,K;;gBAHX1B,e,kBAKkB,YAAM;EAC1B,IAAMT,KAAK,GAAGC,OAAO,EAArB;EACAD,KAAK,CAACM,gBAAD,CAAL,GAA0B,IAA1B;EACA,OAAO;IAAEN,KAAK,EAALA;EAAF,CAAP;AACD,C;;AAyCH,IAAMoB,WAAW,GAAGhB,aAAa,CAACK,eAAD,EAAkB;EAAEJ,IAAI,EAAJA;AAAF,CAAlB,CAAjC;AAEA,eAAee,WAAf"}
1
+ {"version":3,"file":"StackedArea.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","style"],"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,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAK,IAAIC,OAAlB,QAAiC,UAAjC;AACA,SAASC,SAAT,sBAA0B,eAA1B;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;AAIA,IAAMC,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,IAAwBZ,KAAxB,iBAAwBA,KAAxB;;MAEA,IAAIA,KAAK,CAACM,gBAAD,CAAT,EAA6B;QAC3B,IAAMO,IAAI,GAAGd,KAAK,CAACY,QAAN,CAAeG,OAAf,CAAuBX,iBAAiB,CAACQ,QAAD,CAAxC,EAAoDI,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;UACtF,IAAI,cAAAlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACf,IAA1D,IAAkE,CAACY,KAAK,CAACI,KAAN,CAAYC,IAAnF,EAAyF;YACvFN,GAAG,CAACO,IAAJ,CAASN,KAAK,CAACI,KAAN,CAAYG,CAArB;UACD;;UACD,OAAOR,GAAP;QACD,CALY,EAKV,EALU,CAAb;QAMAhB,KAAK,CAACa,IAAN,CAAWA,IAAI,CAACY,OAAL,EAAX;MACD;;MAED,OAAOzB,KAAK,CAACY,IAAD,CAAZ;IACD;;;WAED,6BAAoB;MAAA,IAALY,CAAK,SAALA,CAAK;MAClB,IAAQE,CAAR,GAAc,KAAKhB,OAAnB,CAAQgB,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;QACLZ,IAAI,EAAEe,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;UAAA;;UAAA,uCACZA,CAAC,CAACjB,IADU,6DAGdY,CAHc,EAGVK,CAAC,CAACjB,IAAF,CAAOY,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,mCAIdrB,EAJc,EAITqB,CAAC,CAAC,CAAD,CAJQ;QAAA,CAAX,CADD;QAOLG,EAAE,EAAExB,EAPC;QAQLkB,CAAC,EAADA;MARK,CAAP;IAUD;;;WAED,kBAAS;MACP,IAAMO,OAAO,GAAG,KAAKA,OAArB;MACA,KAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;MACA,oBAAO,oBAAC,OAAD;QAAS,mBAAT;QAAqB,MAAM,EAAC,GAA5B;QAAgC,MAAM,EAAE,KAAKP;MAA7C,EAAP;IACD;;;;EA/C2BzB,S;;gBAAxBO,e,iBACiB,a;;gBADjBA,e,WAGW0B,K;;gBAHX1B,e,kBAKkB,YAAM;EAC1B,IAAMT,KAAK,GAAGC,OAAO,EAArB;EACAD,KAAK,CAACM,gBAAD,CAAL,GAA0B,IAA1B;EACA,OAAO;IAAEN,KAAK,EAALA;EAAF,CAAP;AACD,C;;AAyCH,IAAMoB,WAAW,GAAGhB,aAAa,CAACK,eAAD,EAAkB;EAAEJ,IAAI,EAAJA;AAAF,CAAlB,CAAjC;AAEA,eAAee,WAAf"}
@@ -34,17 +34,17 @@ var style = (
34
34
  /*__reshadow_css_start__*/
35
35
  _sstyled.insert(
36
36
  /*__inner_css_start__*/
37
- ".___STooltip_8jky4_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_8jky4_gg_{color:#6c6e79;margin-bottom:8px}.___SDotGroup_8jky4_gg_{display:flex;align-items:center}.___SDot_8jky4_gg_{width:8px;height:8px;border-radius:50%;margin-right:8px;background:#2bb3ff}.___SDot_8jky4_gg_.__color_8jky4_gg_{background:var(--color_8jky4)}"
37
+ ".___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)}"
38
38
  /*__inner_css_end__*/
39
- , "8jky4_gg_")
39
+ , "c3mpf_gg_")
40
40
  /*__reshadow_css_end__*/
41
41
  , {
42
- "__STooltip": "___STooltip_8jky4_gg_",
43
- "__STitle": "___STitle_8jky4_gg_",
44
- "__SDotGroup": "___SDotGroup_8jky4_gg_",
45
- "__SDot": "___SDot_8jky4_gg_",
46
- "_color": "__color_8jky4_gg_",
47
- "--color": "--color_8jky4"
42
+ "__STooltip": "___STooltip_c3mpf_gg_",
43
+ "__STitle": "___STitle_c3mpf_gg_",
44
+ "__SDotGroup": "___SDotGroup_c3mpf_gg_",
45
+ "__SDot": "___SDot_c3mpf_gg_",
46
+ "_color": "__color_c3mpf_gg_",
47
+ "--color": "--color_c3mpf"
48
48
  });
49
49
 
50
50
  var TooltipRoot = /*#__PURE__*/function (_Component) {
package/lib/es6/Venn.js CHANGED
@@ -26,16 +26,16 @@ var style = (
26
26
  /*__reshadow_css_start__*/
27
27
  _sstyled.insert(
28
28
  /*__inner_css_start__*/
29
- ".___SCircle_bavzt_gg_{fill:#59ddaa;stroke:#fff;stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_bavzt);transition-timing-function:ease-in-out}.___SCircle_bavzt_gg_:hover{fill-opacity:.7}.___SCircle_bavzt_gg_.__color_bavzt_gg_{fill:var(--color_bavzt)}.___SIntersection_bavzt_gg_{stroke:#fff;stroke-width:2px;fill-opacity:0}.___SIntersection_bavzt_gg_:hover{fill-opacity:.1}"
29
+ ".___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}"
30
30
  /*__inner_css_end__*/
31
- , "bavzt_gg_")
31
+ , "1ny5s_gg_")
32
32
  /*__reshadow_css_end__*/
33
33
  , {
34
- "__SCircle": "___SCircle_bavzt_gg_",
35
- "--duration": "--duration_bavzt",
36
- "_color": "__color_bavzt_gg_",
37
- "--color": "--color_bavzt",
38
- "__SIntersection": "___SIntersection_bavzt_gg_"
34
+ "__SCircle": "___SCircle_1ny5s_gg_",
35
+ "--duration": "--duration_1ny5s",
36
+ "_color": "__color_1ny5s_gg_",
37
+ "--color": "--color_1ny5s",
38
+ "__SIntersection": "___SIntersection_1ny5s_gg_"
39
39
  });
40
40
 
41
41
  var VennRoot = /*#__PURE__*/function (_Component) {
@@ -69,6 +69,7 @@ var VennRoot = /*#__PURE__*/function (_Component) {
69
69
 
70
70
  _defineProperty(_assertThisInitialized(_this), "renderElement", /*#__PURE__*/React.forwardRef(function (props, ref) {
71
71
  return /*#__PURE__*/React.createElement(FadeInOut, _extends({
72
+ "aria-hidden": true,
72
73
  ref: ref,
73
74
  tag: "g",
74
75
  visible: true
@@ -125,6 +126,7 @@ var VennRoot = /*#__PURE__*/function (_Component) {
125
126
  return {
126
127
  duration: this.asProps.duration,
127
128
  data: this.vennData[props.dataKey],
129
+ originalData: this.asProps.data[props.dataKey],
128
130
  onMouseMove: this.bindHandlerTooltip(true, props),
129
131
  onMouseLeave: this.bindHandlerTooltip(false, props)
130
132
  };
@@ -140,6 +142,7 @@ var VennRoot = /*#__PURE__*/function (_Component) {
140
142
  data: Object.values(this.vennData).filter(function (d) {
141
143
  return dataKeys.includes(d.setid);
142
144
  }),
145
+ originalData: this.asProps.data[props.dataKey],
143
146
  onMouseMove: this.bindHandlerTooltip(true, props),
144
147
  onMouseLeave: this.bindHandlerTooltip(false, props)
145
148
  };
@@ -148,8 +151,10 @@ var VennRoot = /*#__PURE__*/function (_Component) {
148
151
  key: "render",
149
152
  value: function render() {
150
153
  var Element = this.Element;
154
+ this.asProps.dataHintsHandler.establishDataType('values-set');
151
155
  this.vennData = this.getVennData();
152
156
  return /*#__PURE__*/React.createElement(Element, {
157
+ "aria-hidden": true,
153
158
  render: this.renderElement,
154
159
  childrenPosition: "inside",
155
160
  vennData: this.vennData
@@ -179,8 +184,13 @@ function Circle(_ref6) {
179
184
  styles = _ref6.styles,
180
185
  color = _ref6.color,
181
186
  data = _ref6.data,
182
- duration = _ref6.duration;
187
+ duration = _ref6.duration,
188
+ name = _ref6.name,
189
+ dataKey = _ref6.dataKey,
190
+ dataHintsHandler = _ref6.dataHintsHandler;
191
+ dataHintsHandler.describeValueEntity(dataKey, name);
183
192
  return _ref = sstyled(styles), /*#__PURE__*/React.createElement(SCircle, _ref.cn("SCircle", {
193
+ "aria-hidden": true,
184
194
  "render": "circle",
185
195
  "color": color,
186
196
  "cx": data.x,
@@ -195,15 +205,21 @@ function Intersection(props) {
195
205
 
196
206
  var SIntersection = props.Element,
197
207
  styles = props.styles,
198
- data = props.data;
208
+ data = props.data,
209
+ name = props.name,
210
+ dataKey = props.dataKey,
211
+ dataHintsHandler = props.dataHintsHandler;
212
+ dataHintsHandler.describeValueEntity(dataKey, name);
199
213
  var renderIntersection = React.useCallback( /*#__PURE__*/React.forwardRef(function (props, ref) {
200
214
  return /*#__PURE__*/React.createElement(FadeInOut, _extends({
215
+ "aria-hidden": true,
201
216
  ref: ref,
202
217
  tag: "path",
203
218
  visible: true
204
219
  }, props));
205
220
  }), [props]);
206
221
  return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SIntersection, _ref2.cn("SIntersection", {
222
+ "aria-hidden": true,
207
223
  "render": renderIntersection,
208
224
  "d": intersectionAreaPath(data)
209
225
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"Venn.js","names":["React","venn","normalizeSolution","scaleSolution","intersectionAreaPath","Component","sstyled","canUseDOM","FadeInOut","createElement","CONSTANT","VennRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","forwardRef","ref","width","height","top","right","bottom","left","data","orientation","orientationOrder","size","vennData","Object","entries","map","dataKey","sets","split","duration","onMouseMove","bindHandlerTooltip","onMouseLeave","dataKeys","delay","values","filter","d","includes","setid","Element","getVennData","renderElement","style","Math","PI","c1","c2","radius","Circle","SCircle","styles","color","Intersection","SIntersection","renderIntersection","useCallback","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":";;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,iBAAf,EAAkCC,aAAlC,EAAiDC,oBAAjD,QAA6E,kBAA7E;AACA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,eAAnC;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,SAASC,QAAT,QAAyB,SAAzB;;;;;;;;;;;;;;;;;;;IAIMC,Q;;;;;;;;;;;;;;;;qEAUaJ,SAAS,KAAKK,QAAQ,CAACH,aAAT,CAAuB,KAAvB,CAAL,GAAqC,E;;yEAO7D,UAACI,OAAD,EAAUC,KAAV;MAAA,OACA,iBAAgC;QAAA,IAApBC,CAAoB,SAA7BC,OAA6B;QAAA,IAARC,CAAQ,SAAjBC,OAAiB;QAC9B,IAAQC,YAAR,GAAyB,MAAKC,OAA9B,CAAQD,YAAR;QACA,MAAKE,cAAL,CAAoBC,qBAApB,GAA4C,MAAKC,6BAAL,CAAmCR,CAAnC,EAAsCE,CAAtC,CAA5C;QACA,MAAKI,cAAL,CAAoBX,QAAQ,CAACc,eAA7B,IAAgD,IAAhD;QACAL,YAAY,CAACM,IAAb,CAAkB,kBAAlB,EAAsCZ,OAAtC,EAA+CC,KAA/C,EAAsD,MAAKO,cAA3D;MACD,CAND;IAAA,C;;iFA4CcrB,KAAK,CAAC0B,UAAN,CAAiB,UAACZ,KAAD,EAAQa,GAAR,EAAgB;MAC/C,oBAAO,oBAAC,SAAD;QAAW,GAAG,EAAEA,GAAhB;QAAqB,GAAG,EAAC,GAAzB;QAA6B,OAAO;MAApC,GAAyCb,KAAzC,EAAP;IACD,CAFe,C;;;;;;;WAjDhB,yCAA4C;MAAA,IAAdC,CAAc,uEAAV,CAAU;MAAA,IAAPE,CAAO,uEAAH,CAAG;MAC1C,OAAO;QAAA,OAAO;UAAEW,KAAK,EAAE,CAAT;UAAYC,MAAM,EAAE,CAApB;UAAuBC,GAAG,EAAEb,CAA5B;UAA+Bc,KAAK,EAAEhB,CAAtC;UAAyCiB,MAAM,EAAEf,CAAjD;UAAoDgB,IAAI,EAAElB;QAA1D,CAAP;MAAA,CAAP;IACD;;;WAWD,uBAAc;MACZ,oBAAsD,KAAKK,OAA3D;MAAA,IAAQc,IAAR,iBAAQA,IAAR;MAAA,IAAcC,WAAd,iBAAcA,WAAd;MAAA,IAA2BC,gBAA3B,iBAA2BA,gBAA3B;MAAA,IAA6CC,IAA7C,iBAA6CA,IAA7C;;MACA,2BAAwBA,IAAxB;MAAA,IAAOT,KAAP;MAAA,IAAcC,MAAd;;MACA,IAAMS,QAAQ,GAAGC,MAAM,CAACC,OAAP,CAAeN,IAAf,EAAqBO,GAArB,CAAyB;QAAA;QAAA,IAAEC,OAAF;QAAA,IAAWL,IAAX;;QAAA,OAAsB;UAC9DM,IAAI,EAAED,OAAO,CAACE,KAAR,CAAc,GAAd,CADwD;UAE9DP,IAAI,EAAJA;QAF8D,CAAtB;MAAA,CAAzB,CAAjB;MAIA,OAAOlC,aAAa,CAClBD,iBAAiB,CAACD,IAAI,CAACqC,QAAD,CAAL,EAAiBH,WAAjB,EAA8BC,gBAA9B,CADC,EAElBR,KAFkB,EAGlBC,MAHkB,EAIlB,EAJkB,CAApB;IAMD;;;WAED,wBAAef,KAAf,EAAsB;MACpB,OAAO;QACL+B,QAAQ,EAAE,KAAKzB,OAAL,CAAayB,QADlB;QAELX,IAAI,EAAE,KAAKI,QAAL,CAAcxB,KAAK,CAAC4B,OAApB,CAFD;QAGLI,WAAW,EAAE,KAAKC,kBAAL,CAAwB,IAAxB,EAA8BjC,KAA9B,CAHR;QAILkC,YAAY,EAAE,KAAKD,kBAAL,CAAwB,KAAxB,EAA+BjC,KAA/B;MAJT,CAAP;IAMD;;;WAED,8BAAqBA,KAArB,EAA4B;MAC1B,IAAQ+B,QAAR,GAAqB,KAAKzB,OAA1B,CAAQyB,QAAR;MACA,IAAMI,QAAQ,GAAGnC,KAAK,CAAC4B,OAAN,CAAcE,KAAd,CAAoB,GAApB,CAAjB;MACA,OAAO;QACLC,QAAQ,EAARA,QADK;QAELK,KAAK,EAAEL,QAFF;QAGLX,IAAI,EAAEK,MAAM,CAACY,MAAP,CAAc,KAAKb,QAAnB,EAA6Bc,MAA7B,CAAoC,UAACC,CAAD;UAAA,OAAOJ,QAAQ,CAACK,QAAT,CAAkBD,CAAC,CAACE,KAApB,CAAP;QAAA,CAApC,CAHD;QAILT,WAAW,EAAE,KAAKC,kBAAL,CAAwB,IAAxB,EAA8BjC,KAA9B,CAJR;QAKLkC,YAAY,EAAE,KAAKD,kBAAL,CAAwB,KAAxB,EAA+BjC,KAA/B;MALT,CAAP;IAOD;;;WAMD,kBAAS;MACP,IAAM0C,OAAO,GAAG,KAAKA,OAArB;MACA,KAAKlB,QAAL,GAAgB,KAAKmB,WAAL,EAAhB;MACA,oBACE,oBAAC,OAAD;QAAS,MAAM,EAAE,KAAKC,aAAtB;QAAqC,gBAAgB,EAAC,QAAtD;QAA+D,QAAQ,EAAE,KAAKpB;MAA9E,EADF;IAGD;;;;EAvEoBjC,S;;gBAAjBM,Q,iBACiB,M;;gBADjBA,Q,WAEWgD,K;;gBAFXhD,Q,kBAIkB;EACpBwB,WAAW,EAAEyB,IAAI,CAACC,EAAL,GAAU,CADH;EAEpBzB,gBAAgB,EAAE,0BAAC0B,EAAD,EAAKC,EAAL;IAAA,OAAYA,EAAE,CAACC,MAAH,GAAYF,EAAE,CAACE,MAA3B;EAAA,CAFE;EAGpBnB,QAAQ,EAAE;AAHU,C;;AAsExB,SAASoB,MAAT,QAAqE;EAAA;;EAAA,IAA1CC,OAA0C,SAAnDV,OAAmD;EAAA,IAAjCW,MAAiC,SAAjCA,MAAiC;EAAA,IAAzBC,KAAyB,SAAzBA,KAAyB;EAAA,IAAlBlC,IAAkB,SAAlBA,IAAkB;EAAA,IAAZW,QAAY,SAAZA,QAAY;EACnE,cAAOvC,OAAO,CAAC6D,MAAD,CAAd,eACE,oBAAC,OAAD;IAAA,UACS,QADT;IAAA,SAESC,KAFT;IAAA,MAGMlC,IAAI,CAACnB,CAHX;IAAA,MAIMmB,IAAI,CAACjB,CAJX;IAAA,KAKKiB,IAAI,CAAC8B,MALV;IAAA,0BAMmBnB,QANnB;EAAA,GADF;AAUD;;AAED,SAASwB,YAAT,CAAsBvD,KAAtB,EAA6B;EAAA;;EAC3B,IAAiBwD,aAAjB,GAAiDxD,KAAjD,CAAQ0C,OAAR;EAAA,IAAgCW,MAAhC,GAAiDrD,KAAjD,CAAgCqD,MAAhC;EAAA,IAAwCjC,IAAxC,GAAiDpB,KAAjD,CAAwCoB,IAAxC;EACA,IAAMqC,kBAAkB,GAAGvE,KAAK,CAACwE,WAAN,eACzBxE,KAAK,CAAC0B,UAAN,CAAiB,UAACZ,KAAD,EAAQa,GAAR,EAAgB;IAC/B,oBAAO,oBAAC,SAAD;MAAW,GAAG,EAAEA,GAAhB;MAAqB,GAAG,EAAC,MAAzB;MAAgC,OAAO;IAAvC,GAA4Cb,KAA5C,EAAP;EACD,CAFD,CADyB,EAIzB,CAACA,KAAD,CAJyB,CAA3B;EAMA,eAAOR,OAAO,CAAC6D,MAAD,CAAd,eACE,oBAAC,aAAD;IAAA,UAAuBI,kBAAvB;IAAA,KAA8CnE,oBAAoB,CAAC8B,IAAD;EAAlE,GADF;AAGD;;AAED,IAAMuC,IAAI,GAAGhE,aAAa,CAACE,QAAD,EAAW;EAAEsD,MAAM,EAANA,MAAF;EAAUI,YAAY,EAAZA;AAAV,CAAX,CAA1B;AAEA,eAAeI,IAAf"}
1
+ {"version":3,"file":"Venn.js","names":["React","venn","normalizeSolution","scaleSolution","intersectionAreaPath","Component","sstyled","canUseDOM","FadeInOut","createElement","CONSTANT","VennRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","forwardRef","ref","width","height","top","right","bottom","left","data","orientation","orientationOrder","size","vennData","Object","entries","map","dataKey","sets","split","duration","originalData","onMouseMove","bindHandlerTooltip","onMouseLeave","dataKeys","delay","values","filter","d","includes","setid","Element","dataHintsHandler","establishDataType","getVennData","renderElement","style","Math","PI","c1","c2","radius","Circle","SCircle","styles","color","name","describeValueEntity","Intersection","SIntersection","renderIntersection","useCallback","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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"}
@@ -0,0 +1,160 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import { sstyled as _sstyled } from "@semcore/core";
4
+ import { assignProps as _assignProps3 } from "@semcore/core";
5
+ import { assignProps as _assignProps2 } from "@semcore/core";
6
+ import { assignProps as _assignProps } from "@semcore/core";
7
+
8
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
+
10
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
+
12
+ import React from 'react';
13
+ import { normalizeLocale } from './locale';
14
+ import { translations } from './translations/module/translations';
15
+ import { Root, sstyled } from '@semcore/core';
16
+
17
+ /*__reshadow-styles__:"../style/plotA11yModule.shadow.css"*/
18
+ var styles = (
19
+ /*__reshadow_css_start__*/
20
+ _sstyled.insert(
21
+ /*__inner_css_start__*/
22
+ ".___SPlotA11yModule_1c5bq_gg_{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;opacity:0}.___SPlotA11yModule_1c5bq_gg_:focus{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;pointer-events:all;opacity:1}"
23
+ /*__inner_css_end__*/
24
+ , "1c5bq_gg_")
25
+ /*__reshadow_css_end__*/
26
+ , {
27
+ "__SPlotA11yModule": "___SPlotA11yModule_1c5bq_gg_"
28
+ });
29
+ var globalWasFocused = false;
30
+ var globalNavWithKeyboard = false;
31
+ export var PlotA11yModule = function PlotA11yModule(props) {
32
+ var _ref = arguments[0],
33
+ _ref5;
34
+
35
+ var SPlotA11yModule = 'div';
36
+
37
+ var _React$useState = React.useState(globalWasFocused),
38
+ _React$useState2 = _slicedToArray(_React$useState, 2),
39
+ wasFocused = _React$useState2[0],
40
+ setWasFocused = _React$useState2[1];
41
+
42
+ var _React$useState3 = React.useState(globalNavWithKeyboard),
43
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
44
+ navWithKeyboard = _React$useState4[0],
45
+ setNavWithKeyboard = _React$useState4[1];
46
+
47
+ var _React$useState5 = React.useState(null),
48
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
49
+ plotA11yView = _React$useState6[0],
50
+ setPlotA11yView = _React$useState6[1];
51
+
52
+ var hadnleHiddenElementsFocus = React.useCallback(function () {
53
+ setWasFocused(true);
54
+ setNavWithKeyboard(true);
55
+ }, []);
56
+
57
+ var _React$useState7 = React.useState(false),
58
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
59
+ loading = _React$useState8[0],
60
+ setLoading = _React$useState8[1];
61
+
62
+ var _React$useState9 = React.useState(null),
63
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
64
+ error = _React$useState10[0],
65
+ setError = _React$useState10[1];
66
+
67
+ var locale = React.useMemo(function () {
68
+ return normalizeLocale(props.locale, translations);
69
+ }, [props.locale]);
70
+ var texts = React.useMemo(function () {
71
+ return locale ? translations[locale] : {};
72
+ }, [locale]);
73
+ React.useEffect(function () {
74
+ var _props$plotRef$curren;
75
+
76
+ if (wasFocused) return;
77
+
78
+ var focusListener = function focusListener() {
79
+ globalWasFocused = true;
80
+ setWasFocused(true);
81
+ };
82
+
83
+ (_props$plotRef$curren = props.plotRef.current) === null || _props$plotRef$curren === void 0 ? void 0 : _props$plotRef$curren.addEventListener('focus', focusListener);
84
+ return function () {
85
+ var _props$plotRef$curren2;
86
+
87
+ return (_props$plotRef$curren2 = props.plotRef.current) === null || _props$plotRef$curren2 === void 0 ? void 0 : _props$plotRef$curren2.removeEventListener('focus', focusListener);
88
+ };
89
+ }, [wasFocused, props.plotRef]);
90
+ React.useEffect(function () {
91
+ var _document$body;
92
+
93
+ if (navWithKeyboard) return;
94
+
95
+ var keyboardListener = function keyboardListener(event) {
96
+ var navigationKeys = ['Tab', 'ArrowUp', 'ArrowLeft', 'ArrowDown', 'ArrowRight', 'ArrowUp', 'ArrowLeft'];
97
+
98
+ if ('key' in event && navigationKeys.includes(event.key)) {
99
+ setNavWithKeyboard(true);
100
+ globalNavWithKeyboard = true;
101
+ }
102
+ };
103
+
104
+ (_document$body = document.body) === null || _document$body === void 0 ? void 0 : _document$body.addEventListener('keydown', keyboardListener);
105
+ return function () {
106
+ var _document$body2;
107
+
108
+ return (_document$body2 = document.body) === null || _document$body2 === void 0 ? void 0 : _document$body2.removeEventListener('keydown', keyboardListener);
109
+ };
110
+ }, [navWithKeyboard]);
111
+ var shouldDisplayView = wasFocused && navWithKeyboard;
112
+ React.useEffect(function () {
113
+ if (!shouldDisplayView) return;
114
+ if (plotA11yView) return;
115
+ if (loading) return;
116
+ setLoading(true);
117
+ import('./PlotA11yView').then(function (_ref6) {
118
+ var PlotA11yView = _ref6.PlotA11yView;
119
+ setPlotA11yView({
120
+ Component: PlotA11yView
121
+ });
122
+ setLoading(false);
123
+ setError(null);
124
+ })["catch"](function (error) {
125
+ // eslint-disable-next-line no-console
126
+ console.error(error);
127
+ setError(error);
128
+ });
129
+ }, [plotA11yView, shouldDisplayView, loading, setLoading]);
130
+
131
+ if (plotA11yView) {
132
+ var _ref2;
133
+
134
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(plotA11yView.Component, props);
135
+ }
136
+
137
+ if (error) {
138
+ var _ref3;
139
+
140
+ return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SPlotA11yModule, _ref3.cn("SPlotA11yModule", _objectSpread({}, _assignProps({
141
+ "tabIndex": 0,
142
+ "aria-live": "assertive"
143
+ }, _ref))), texts.failed);
144
+ }
145
+
146
+ if (loading) {
147
+ var _ref4;
148
+
149
+ return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SPlotA11yModule, _ref4.cn("SPlotA11yModule", _objectSpread({}, _assignProps2({
150
+ "tabIndex": 0,
151
+ "aria-live": "polite"
152
+ }, _ref))), texts.loading);
153
+ }
154
+
155
+ return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SPlotA11yModule, _ref5.cn("SPlotA11yModule", _objectSpread({}, _assignProps3({
156
+ "tabIndex": 0,
157
+ "onFocus": hadnleHiddenElementsFocus
158
+ }, _ref))), texts.disabled);
159
+ };
160
+ //# sourceMappingURL=PlotA11yModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlotA11yModule.js","names":["React","normalizeLocale","translations","Root","sstyled","globalWasFocused","globalNavWithKeyboard","PlotA11yModule","props","SPlotA11yModule","useState","wasFocused","setWasFocused","navWithKeyboard","setNavWithKeyboard","plotA11yView","setPlotA11yView","hadnleHiddenElementsFocus","useCallback","loading","setLoading","error","setError","locale","useMemo","texts","useEffect","focusListener","plotRef","current","addEventListener","removeEventListener","keyboardListener","event","navigationKeys","includes","key","document","body","shouldDisplayView","then","PlotA11yView","Component","console","styles","failed","disabled"],"sources":["../../../src/a11y/PlotA11yModule.tsx"],"sourcesContent":["import React from 'react';\nimport { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { normalizeLocale } from './locale';\nimport { translations } from './translations/module/translations';\nimport { Root, sstyled } from '@semcore/core';\nimport styles from '../style/plotA11yModule.shadow.css';\n\nlet globalWasFocused = false;\nlet globalNavWithKeyboard = false;\n\nexport type A11yViewProps = {\n id: string;\n data: Record<string, unknown>[];\n hints: DataStructureHints;\n plotLabel: string;\n locale: NavigatorLanguage['language'];\n config: PartialDataSummarizationConfig;\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n plotRef: React.RefObject<Element>;\n};\n\nexport const PlotA11yModule: React.FC<A11yViewProps> = (props) => {\n const SPlotA11yModule = Root;\n const [wasFocused, setWasFocused] = React.useState(globalWasFocused);\n const [navWithKeyboard, setNavWithKeyboard] = React.useState(globalNavWithKeyboard);\n const [plotA11yView, setPlotA11yView] = React.useState<{\n Component: React.FC<A11yViewProps>;\n } | null>(null);\n\n const hadnleHiddenElementsFocus = React.useCallback(() => {\n setWasFocused(true);\n setNavWithKeyboard(true);\n }, []);\n\n const [loading, setLoading] = React.useState(false);\n const [error, setError] = React.useState<Error | null>(null);\n\n const locale = React.useMemo(() => normalizeLocale(props.locale, translations), [props.locale]);\n const texts = React.useMemo(() => (locale ? translations[locale] : {}), [locale]);\n\n React.useEffect(() => {\n if (wasFocused) return;\n const focusListener = () => {\n globalWasFocused = true;\n setWasFocused(true);\n };\n\n props.plotRef.current?.addEventListener('focus', focusListener);\n return () => props.plotRef.current?.removeEventListener('focus', focusListener);\n }, [wasFocused, props.plotRef]);\n React.useEffect(() => {\n if (navWithKeyboard) return;\n const keyboardListener = (event: Event) => {\n const navigationKeys = [\n 'Tab',\n 'ArrowUp',\n 'ArrowLeft',\n 'ArrowDown',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowLeft',\n ];\n if ('key' in event && navigationKeys.includes((event as KeyboardEvent).key)) {\n setNavWithKeyboard(true);\n globalNavWithKeyboard = true;\n }\n };\n document.body?.addEventListener('keydown', keyboardListener);\n return () => document.body?.removeEventListener('keydown', keyboardListener);\n }, [navWithKeyboard]);\n\n const shouldDisplayView = wasFocused && navWithKeyboard;\n\n React.useEffect(() => {\n if (!shouldDisplayView) return;\n if (plotA11yView) return;\n if (loading) return;\n\n setLoading(true);\n\n import('./PlotA11yView')\n .then(({ PlotA11yView }) => {\n setPlotA11yView({ Component: PlotA11yView });\n setLoading(false);\n setError(null);\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error(error);\n setError(error);\n });\n }, [plotA11yView, shouldDisplayView, loading, setLoading]);\n\n if (plotA11yView) {\n return sstyled(styles)(<plotA11yView.Component {...props} />) as React.ReactElement;\n }\n\n if (error) {\n return sstyled(styles)(\n <SPlotA11yModule render={'div'} tabIndex={0} aria-live=\"assertive\">\n {texts.failed}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n }\n if (loading) {\n return sstyled(styles)(\n <SPlotA11yModule render={'div'} tabIndex={0} aria-live=\"polite\">\n {texts.loading}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n }\n\n return sstyled(styles)(\n <SPlotA11yModule render={'div'} tabIndex={0} onFocus={hadnleHiddenElementsFocus}>\n {texts.disabled}\n </SPlotA11yModule>,\n ) as React.ReactElement;\n};\n"],"mappings":"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"}