@semcore/d3-chart 2.2.6 → 2.3.0

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 (198) hide show
  1. package/CHANGELOG.md +12 -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 +197 -0
  39. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -0
  40. package/lib/cjs/a11y/PlotA11yView.js +287 -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/focus.js +57 -0
  45. package/lib/cjs/a11y/focus.js.map +1 -0
  46. package/lib/cjs/a11y/hints.js +141 -0
  47. package/lib/cjs/a11y/hints.js.map +1 -0
  48. package/lib/cjs/a11y/insights.js +785 -0
  49. package/lib/cjs/a11y/insights.js.map +1 -0
  50. package/lib/cjs/a11y/intl.js +31 -0
  51. package/lib/cjs/a11y/intl.js.map +1 -0
  52. package/lib/cjs/a11y/locale.js +52 -0
  53. package/lib/cjs/a11y/locale.js.map +1 -0
  54. package/lib/cjs/a11y/serialize.js +439 -0
  55. package/lib/cjs/a11y/serialize.js.map +1 -0
  56. package/lib/cjs/a11y/summarize.js +21 -0
  57. package/lib/cjs/a11y/summarize.js.map +1 -0
  58. package/lib/cjs/a11y/translations/module/de.json +5 -0
  59. package/lib/cjs/a11y/translations/module/en.json +5 -0
  60. package/lib/cjs/a11y/translations/module/es.json +5 -0
  61. package/lib/cjs/a11y/translations/module/fr.json +5 -0
  62. package/lib/cjs/a11y/translations/module/it.json +5 -0
  63. package/lib/cjs/a11y/translations/module/ja.json +5 -0
  64. package/lib/cjs/a11y/translations/module/ko.json +5 -0
  65. package/lib/cjs/a11y/translations/module/pt.json +5 -0
  66. package/lib/cjs/a11y/translations/module/tr.json +5 -0
  67. package/lib/cjs/a11y/translations/module/translations.js +46 -0
  68. package/lib/cjs/a11y/translations/module/translations.js.map +1 -0
  69. package/lib/cjs/a11y/translations/module/vi.json +5 -0
  70. package/lib/cjs/a11y/translations/module/zh.json +5 -0
  71. package/lib/cjs/a11y/translations/view/de.json +42 -0
  72. package/lib/cjs/a11y/translations/view/en.csv +41 -0
  73. package/lib/cjs/a11y/translations/view/en.json +42 -0
  74. package/lib/cjs/a11y/translations/view/es.json +42 -0
  75. package/lib/cjs/a11y/translations/view/fr.json +42 -0
  76. package/lib/cjs/a11y/translations/view/it.json +42 -0
  77. package/lib/cjs/a11y/translations/view/ja.json +42 -0
  78. package/lib/cjs/a11y/translations/view/ko.json +42 -0
  79. package/lib/cjs/a11y/translations/view/pt.json +42 -0
  80. package/lib/cjs/a11y/translations/view/tr.json +42 -0
  81. package/lib/cjs/a11y/translations/view/translations.js +46 -0
  82. package/lib/cjs/a11y/translations/view/translations.js.map +1 -0
  83. package/lib/cjs/a11y/translations/view/vi.json +42 -0
  84. package/lib/cjs/a11y/translations/view/zh.json +42 -0
  85. package/lib/cjs/createElement.js +3 -1
  86. package/lib/cjs/createElement.js.map +1 -1
  87. package/lib/cjs/style/plot.shadow.css +10 -0
  88. package/lib/cjs/style/plotA11yModule.shadow.css +13 -0
  89. package/lib/cjs/style/plotA11yView.shadow.css +39 -0
  90. package/lib/cjs/types/Plot.d.ts +75 -0
  91. package/lib/cjs/utils.js +9 -1
  92. package/lib/cjs/utils.js.map +1 -1
  93. package/lib/es6/Area.js +16 -9
  94. package/lib/es6/Area.js.map +1 -1
  95. package/lib/es6/Axis.js +56 -17
  96. package/lib/es6/Axis.js.map +1 -1
  97. package/lib/es6/Bar.js +20 -9
  98. package/lib/es6/Bar.js.map +1 -1
  99. package/lib/es6/Bubble.js +20 -11
  100. package/lib/es6/Bubble.js.map +1 -1
  101. package/lib/es6/ClipPath.js +1 -0
  102. package/lib/es6/ClipPath.js.map +1 -1
  103. package/lib/es6/Donut.js +22 -12
  104. package/lib/es6/Donut.js.map +1 -1
  105. package/lib/es6/Dots.js +10 -9
  106. package/lib/es6/Dots.js.map +1 -1
  107. package/lib/es6/GroupBar.js +12 -8
  108. package/lib/es6/GroupBar.js.map +1 -1
  109. package/lib/es6/HorizontalBar.js +20 -9
  110. package/lib/es6/HorizontalBar.js.map +1 -1
  111. package/lib/es6/Hover.js +8 -4
  112. package/lib/es6/Hover.js.map +1 -1
  113. package/lib/es6/Line.js +15 -9
  114. package/lib/es6/Line.js.map +1 -1
  115. package/lib/es6/Plot.js +48 -9
  116. package/lib/es6/Plot.js.map +1 -1
  117. package/lib/es6/RadialTree.js +25 -13
  118. package/lib/es6/RadialTree.js.map +1 -1
  119. package/lib/es6/ReferenceLine.js +10 -10
  120. package/lib/es6/ScatterPlot.js +17 -8
  121. package/lib/es6/ScatterPlot.js.map +1 -1
  122. package/lib/es6/StackBar.js +12 -8
  123. package/lib/es6/StackBar.js.map +1 -1
  124. package/lib/es6/StackedArea.js +8 -7
  125. package/lib/es6/StackedArea.js.map +1 -1
  126. package/lib/es6/Tooltip.js +8 -8
  127. package/lib/es6/Venn.js +25 -9
  128. package/lib/es6/Venn.js.map +1 -1
  129. package/lib/es6/a11y/PlotA11yModule.js +168 -0
  130. package/lib/es6/a11y/PlotA11yModule.js.map +1 -0
  131. package/lib/es6/a11y/PlotA11yView.js +255 -0
  132. package/lib/es6/a11y/PlotA11yView.js.map +1 -0
  133. package/lib/es6/a11y/bezier.js +35 -0
  134. package/lib/es6/a11y/bezier.js.map +1 -0
  135. package/lib/es6/a11y/focus.js +48 -0
  136. package/lib/es6/a11y/focus.js.map +1 -0
  137. package/lib/es6/a11y/hints.js +123 -0
  138. package/lib/es6/a11y/hints.js.map +1 -0
  139. package/lib/es6/a11y/insights.js +779 -0
  140. package/lib/es6/a11y/insights.js.map +1 -0
  141. package/lib/es6/a11y/intl.js +18 -0
  142. package/lib/es6/a11y/intl.js.map +1 -0
  143. package/lib/es6/a11y/locale.js +40 -0
  144. package/lib/es6/a11y/locale.js.map +1 -0
  145. package/lib/es6/a11y/serialize.js +423 -0
  146. package/lib/es6/a11y/serialize.js.map +1 -0
  147. package/lib/es6/a11y/summarize.js +10 -0
  148. package/lib/es6/a11y/summarize.js.map +1 -0
  149. package/lib/es6/a11y/translations/module/de.json +5 -0
  150. package/lib/es6/a11y/translations/module/en.json +5 -0
  151. package/lib/es6/a11y/translations/module/es.json +5 -0
  152. package/lib/es6/a11y/translations/module/fr.json +5 -0
  153. package/lib/es6/a11y/translations/module/it.json +5 -0
  154. package/lib/es6/a11y/translations/module/ja.json +5 -0
  155. package/lib/es6/a11y/translations/module/ko.json +5 -0
  156. package/lib/es6/a11y/translations/module/pt.json +5 -0
  157. package/lib/es6/a11y/translations/module/tr.json +5 -0
  158. package/lib/es6/a11y/translations/module/translations.js +25 -0
  159. package/lib/es6/a11y/translations/module/translations.js.map +1 -0
  160. package/lib/es6/a11y/translations/module/vi.json +5 -0
  161. package/lib/es6/a11y/translations/module/zh.json +5 -0
  162. package/lib/es6/a11y/translations/view/de.json +42 -0
  163. package/lib/es6/a11y/translations/view/en.csv +41 -0
  164. package/lib/es6/a11y/translations/view/en.json +42 -0
  165. package/lib/es6/a11y/translations/view/es.json +42 -0
  166. package/lib/es6/a11y/translations/view/fr.json +42 -0
  167. package/lib/es6/a11y/translations/view/it.json +42 -0
  168. package/lib/es6/a11y/translations/view/ja.json +42 -0
  169. package/lib/es6/a11y/translations/view/ko.json +42 -0
  170. package/lib/es6/a11y/translations/view/pt.json +42 -0
  171. package/lib/es6/a11y/translations/view/tr.json +42 -0
  172. package/lib/es6/a11y/translations/view/translations.js +25 -0
  173. package/lib/es6/a11y/translations/view/translations.js.map +1 -0
  174. package/lib/es6/a11y/translations/view/vi.json +42 -0
  175. package/lib/es6/a11y/translations/view/zh.json +42 -0
  176. package/lib/es6/createElement.js +3 -1
  177. package/lib/es6/createElement.js.map +1 -1
  178. package/lib/es6/style/plot.shadow.css +10 -0
  179. package/lib/es6/style/plotA11yModule.shadow.css +13 -0
  180. package/lib/es6/style/plotA11yView.shadow.css +39 -0
  181. package/lib/es6/types/Plot.d.ts +75 -0
  182. package/lib/es6/utils.js +5 -0
  183. package/lib/es6/utils.js.map +1 -1
  184. package/lib/types/Plot.d.ts +75 -0
  185. package/lib/types/a11y/PlotA11yModule.d.ts +12 -0
  186. package/lib/types/a11y/PlotA11yView.d.ts +3 -0
  187. package/lib/types/a11y/bezier.d.ts +8 -0
  188. package/lib/types/a11y/focus.d.ts +5 -0
  189. package/lib/types/a11y/hints.d.ts +78 -0
  190. package/lib/types/a11y/insights.d.ts +54 -0
  191. package/lib/types/a11y/intl.d.ts +8 -0
  192. package/lib/types/a11y/locale.d.ts +3 -0
  193. package/lib/types/a11y/serialize.d.ts +16 -0
  194. package/lib/types/a11y/summarize.d.ts +2 -0
  195. package/lib/types/a11y/translations/module/translations.d.ts +5 -0
  196. package/lib/types/a11y/translations/view/translations.d.ts +5 -0
  197. package/lib/types/utils.d.ts +5 -4
  198. package/package.json +2 -1
package/lib/cjs/Hover.js CHANGED
@@ -44,13 +44,13 @@ var style = (
44
44
  /*__reshadow_css_start__*/
45
45
  _core.sstyled.insert(
46
46
  /*__inner_css_start__*/
47
- ".___SHoverLine_lcyrq_gg_{stroke:#a9abb6}.___SHoverRect_lcyrq_gg_{fill:rgba(196,199,207,.3)}"
47
+ ".___SHoverLine_1bggt_gg_{stroke:#a9abb6}.___SHoverRect_1bggt_gg_{fill:rgba(196,199,207,.3)}"
48
48
  /*__inner_css_end__*/
49
- , "lcyrq_gg_")
49
+ , "1bggt_gg_")
50
50
  /*__reshadow_css_end__*/
51
51
  , {
52
- "__SHoverLine": "___SHoverLine_lcyrq_gg_",
53
- "__SHoverRect": "___SHoverRect_lcyrq_gg_"
52
+ "__SHoverLine": "___SHoverLine_1bggt_gg_",
53
+ "__SHoverRect": "___SHoverRect_1bggt_gg_"
54
54
  });
55
55
 
56
56
  var Hover = /*#__PURE__*/function (_Component) {
@@ -202,6 +202,7 @@ var HoverLineRoot = /*#__PURE__*/function (_Hover) {
202
202
  var x1 = xIndex !== null ? (0, _utils.scaleOfBandwidth)(xScale, data[xIndex][x]) : undefined;
203
203
  var y1 = yIndex !== null ? (0, _utils.scaleOfBandwidth)(yScale, data[yIndex][y]) : undefined;
204
204
  return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, xIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverLine, _ref.cn("SHoverLine", {
205
+ "aria-hidden": true,
205
206
  "render": "line",
206
207
  "index": xIndex,
207
208
  "x1": x1,
@@ -209,6 +210,7 @@ var HoverLineRoot = /*#__PURE__*/function (_Hover) {
209
210
  "x2": x1,
210
211
  "y2": yRange[1]
211
212
  })) : null, yIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverLine, _ref.cn("SHoverLine", {
213
+ "aria-hidden": true,
212
214
  "render": "line",
213
215
  "index": yIndex,
214
216
  "x1": xRange[0],
@@ -256,6 +258,7 @@ var HoverRectRoot = /*#__PURE__*/function (_Hover2) {
256
258
  var xRange = xScale.range();
257
259
  var yRange = yScale.range();
258
260
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, xIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverRect, _ref2.cn("SHoverRect", {
261
+ "aria-hidden": true,
259
262
  "render": "rect",
260
263
  "index": xIndex,
261
264
  "width": xScale.step() - xScale.paddingInner() / 2,
@@ -263,6 +266,7 @@ var HoverRectRoot = /*#__PURE__*/function (_Hover2) {
263
266
  "x": xScale(data[xIndex][x]) - xScale.step() * xScale.paddingInner() / 2,
264
267
  "y": yRange[1]
265
268
  })) : null, yIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverRect, _ref2.cn("SHoverRect", {
269
+ "aria-hidden": true,
266
270
  "render": "rect",
267
271
  "index": yIndex,
268
272
  "width": xRange[1] - xRange[0],
@@ -1 +1 @@
1
- {"version":3,"file":"Hover.js","names":["Hover","xIndex","yIndex","canUseDOM","document","createElement","trottle","e","asProps","eventEmitter","data","scale","x","y","rootRef","clientX","clientY","xScale","yScale","eventToPoint","current","pX","pY","vX","invert","vY","undefined","getIndexFromData","state","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","setState","emit","width","height","top","right","bottom","left","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","Component","style","HoverLineRoot","SHoverLine","Element","styles","xRange","range","yRange","x1","scaleOfBandwidth","y1","sstyled","HoverRectRoot","SHoverRect","step","paddingInner","HoverLine","HoverRect"],"sources":["../../src/Hover.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/hover.shadow.css';\n\nclass Hover extends Component {\n static style = style;\n\n state = {\n xIndex: null,\n yIndex: null,\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 handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const { clientX, clientY } = e;\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const vY = invert(yScale, pY);\n const xIndex =\n x === undefined || vX === undefined ? null : getIndexFromData(data, xScale, x, vX);\n const yIndex =\n y === undefined || vY === undefined ? null : getIndexFromData(data, yScale, y, vY);\n const state = { xIndex, yIndex };\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n state,\n this.virtualElement,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n const state = {\n xIndex: null,\n yIndex: null,\n };\n this.setState(state, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, state);\n });\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n}\n\nclass HoverLineRoot extends Hover {\n static displayName = 'HoverLine';\n\n render() {\n const SHoverLine = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n const x1 = xIndex !== null ? scaleOfBandwidth(xScale, data[xIndex][x]) : undefined;\n const y1 = yIndex !== null ? scaleOfBandwidth(yScale, data[yIndex][y]) : undefined;\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverLine render=\"line\" index={xIndex} x1={x1} y1={yRange[0]} x2={x1} y2={yRange[1]} />\n ) : null}\n {yIndex !== null ? (\n <SHoverLine render=\"line\" index={yIndex} x1={xRange[0]} y1={y1} x2={xRange[1]} y2={y1} />\n ) : null}\n </>,\n );\n }\n}\n\nclass HoverRectRoot extends Hover {\n static displayName = 'HoverRect';\n\n render() {\n const SHoverRect = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverRect\n render=\"rect\"\n index={xIndex}\n width={xScale.step() - xScale.paddingInner() / 2}\n height={yRange[0] - yRange[1]}\n x={xScale(data[xIndex][x]) - (xScale.step() * xScale.paddingInner()) / 2}\n y={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverRect\n render=\"rect\"\n index={yIndex}\n width={xRange[1] - xRange[0]}\n height={yScale.step() - yScale.paddingInner() / 2}\n x={xRange[0]}\n y={yScale(data[yIndex][y]) - (yScale.step() * yScale.paddingInner()) / 2}\n />\n ) : null}\n </>,\n );\n }\n}\n\nconst HoverLine = createElement(HoverLineRoot);\nconst HoverRect = createElement(HoverRectRoot);\n\nexport { HoverLine, HoverRect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;IAIMA,K;;;;;;;;;;;;;;;8FAGI;MACNC,MAAM,EAAE,IADF;MAENC,MAAM,EAAE;IAFF,C;uGAKS,IAAAC,qBAAA,MAAcC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAd,GAA8C,E;6GAMxC,IAAAC,sBAAA,EAAQ,UAACC,CAAD,EAAO;MACpC,oBAAqD,MAAKC,OAA1D;MAAA,IAAQC,YAAR,iBAAQA,YAAR;MAAA,IAAsBC,IAAtB,iBAAsBA,IAAtB;MAAA,IAA4BC,KAA5B,iBAA4BA,KAA5B;MAAA,IAAmCC,CAAnC,iBAAmCA,CAAnC;MAAA,IAAsCC,CAAtC,iBAAsCA,CAAtC;MAAA,IAAyCC,OAAzC,iBAAyCA,OAAzC;MACA,IAAQC,OAAR,GAA6BR,CAA7B,CAAQQ,OAAR;MAAA,IAAiBC,OAAjB,GAA6BT,CAA7B,CAAiBS,OAAjB;;MACA,6CAAyBL,KAAzB;MAAA,IAAOM,MAAP;MAAA,IAAeC,MAAf;;MACA,oBAAiB,IAAAC,mBAAA,EAAaZ,CAAb,EAAgBO,OAAO,CAACM,OAAxB,CAAjB;MAAA;MAAA,IAAOC,EAAP;MAAA,IAAWC,EAAX;;MACA,IAAMC,EAAE,GAAG,IAAAC,aAAA,EAAOP,MAAP,EAAeI,EAAf,CAAX;MACA,IAAMI,EAAE,GAAG,IAAAD,aAAA,EAAON,MAAP,EAAeI,EAAf,CAAX;MACA,IAAMrB,MAAM,GACVW,CAAC,KAAKc,SAAN,IAAmBH,EAAE,KAAKG,SAA1B,GAAsC,IAAtC,GAA6C,IAAAC,uBAAA,EAAiBjB,IAAjB,EAAuBO,MAAvB,EAA+BL,CAA/B,EAAkCW,EAAlC,CAD/C;MAEA,IAAMrB,MAAM,GACVW,CAAC,KAAKa,SAAN,IAAmBD,EAAE,KAAKC,SAA1B,GAAsC,IAAtC,GAA6C,IAAAC,uBAAA,EAAiBjB,IAAjB,EAAuBQ,MAAvB,EAA+BL,CAA/B,EAAkCY,EAAlC,CAD/C;MAEA,IAAMG,KAAK,GAAG;QAAE3B,MAAM,EAANA,MAAF;QAAUC,MAAM,EAANA;MAAV,CAAd;MACA,MAAK2B,cAAL,CAAoBC,qBAApB,GAA4C,MAAKC,6BAAL,CAC1ChB,OAD0C,EAE1CC,OAF0C,CAA5C;MAIA,MAAKa,cAAL,CAAoBG,eAAA,CAASC,eAA7B,IAAgD,IAAhD;;MAEA,MAAKC,QAAL,CAAcN,KAAd,EAAqB,YAAM;QACzBnB,YAAY,CAAC0B,IAAb,CACE,kBADF,EAEElC,MAAM,KAAK,IAAX,IAAmBC,MAAM,KAAK,IAFhC,EAGE0B,KAHF,EAIE,MAAKC,cAJP;MAMD,CAPD;IAQD,CA1BsB,C;8GA4BC,IAAAvB,sBAAA,EAAQ,YAAM;MACpC,IAAMsB,KAAK,GAAG;QACZ3B,MAAM,EAAE,IADI;QAEZC,MAAM,EAAE;MAFI,CAAd;;MAIA,MAAKgC,QAAL,CAAcN,KAAd,EAAqB,YAAM;QACzB,MAAKpB,OAAL,CAAaC,YAAb,CAA0B0B,IAA1B,CAA+B,kBAA/B,EAAmD,KAAnD,EAA0DP,KAA1D;MACD,CAFD;IAGD,CARuB,C;;;;;;WAhCxB,yCAA4C;MAAA,IAAdhB,CAAc,uEAAV,CAAU;MAAA,IAAPC,CAAO,uEAAH,CAAG;MAC1C,OAAO;QAAA,OAAO;UAAEuB,KAAK,EAAE,CAAT;UAAYC,MAAM,EAAE,CAApB;UAAuBC,GAAG,EAAEzB,CAA5B;UAA+B0B,KAAK,EAAE3B,CAAtC;UAAyC4B,MAAM,EAAE3B,CAAjD;UAAoD4B,IAAI,EAAE7B;QAA1D,CAAP;MAAA,CAAP;IACD;;;WAwCD,6BAAoB;MAAA;;MAClB,IAAQH,YAAR,GAAyB,KAAKD,OAA9B,CAAQC,YAAR;MACA,KAAKiC,wBAAL,GAAgCjC,YAAY,CAACkC,SAAb,CAAuB,kBAAvB,EAA2C,UAACpC,CAAD,EAAO;QAChFA,CAAC,CAACqC,OAAF;;QACA,MAAI,CAACC,oBAAL,CAA0BtC,CAA1B;MACD,CAH+B,CAAhC;MAIA,KAAKuC,yBAAL,GAAiCrC,YAAY,CAACkC,SAAb,CAC/B,mBAD+B,EAE/B,KAAKI,qBAF0B,CAAjC;IAID;;;WAED,gCAAuB;MACrB,IAAI,KAAKL,wBAAT,EAAmC;QACjC,KAAKA,wBAAL;MACD;;MACD,IAAI,KAAKI,yBAAT,EAAoC;QAClC,KAAKA,yBAAL;MACD;IACF;;;EAvEiBE,e;;iCAAdhD,K,WACWiD,K;;IAyEXC,a;;;;;;;;;;;;WAGJ,kBAAS;MAAA;;MACP,IAAMC,UAAU,GAAG,KAAKC,OAAxB;MACA,qBAAsC,KAAK5C,OAA3C;MAAA,IAAQ6C,MAAR,kBAAQA,MAAR;MAAA,IAAgBzC,CAAhB,kBAAgBA,CAAhB;MAAA,IAAmBC,CAAnB,kBAAmBA,CAAnB;MAAA,IAAsBH,IAAtB,kBAAsBA,IAAtB;MAAA,IAA4BC,KAA5B,kBAA4BA,KAA5B;MACA,kBAA2B,KAAKiB,KAAhC;MAAA,IAAQ3B,MAAR,eAAQA,MAAR;MAAA,IAAgBC,MAAhB,eAAgBA,MAAhB;;MACA,8CAAyBS,KAAzB;MAAA,IAAOM,MAAP;MAAA,IAAeC,MAAf;;MAEA,IAAMoC,MAAM,GAAGrC,MAAM,CAACsC,KAAP,EAAf;MACA,IAAMC,MAAM,GAAGtC,MAAM,CAACqC,KAAP,EAAf;MACA,IAAME,EAAE,GAAGxD,MAAM,KAAK,IAAX,GAAkB,IAAAyD,uBAAA,EAAiBzC,MAAjB,EAAyBP,IAAI,CAACT,MAAD,CAAJ,CAAaW,CAAb,CAAzB,CAAlB,GAA8Dc,SAAzE;MACA,IAAMiC,EAAE,GAAGzD,MAAM,KAAK,IAAX,GAAkB,IAAAwD,uBAAA,EAAiBxC,MAAjB,EAAyBR,IAAI,CAACR,MAAD,CAAJ,CAAaW,CAAb,CAAzB,CAAlB,GAA8Da,SAAzE;MAEA,cAAO,IAAAkC,aAAA,EAAQP,MAAR,CAAP,eACE,kEACGpD,MAAM,KAAK,IAAX,gBACC,gCAAC,UAAD;QAAA,UAAmB,MAAnB;QAAA,SAAiCA,MAAjC;QAAA,MAA6CwD,EAA7C;QAAA,MAAqDD,MAAM,CAAC,CAAD,CAA3D;QAAA,MAAoEC,EAApE;QAAA,MAA4ED,MAAM,CAAC,CAAD;MAAlF,GADD,GAEG,IAHN,EAIGtD,MAAM,KAAK,IAAX,gBACC,gCAAC,UAAD;QAAA,UAAmB,MAAnB;QAAA,SAAiCA,MAAjC;QAAA,MAA6CoD,MAAM,CAAC,CAAD,CAAnD;QAAA,MAA4DK,EAA5D;QAAA,MAAoEL,MAAM,CAAC,CAAD,CAA1E;QAAA,MAAmFK;MAAnF,GADD,GAEG,IANN,CADF;IAUD;;;EAxByB3D,K;;iCAAtBkD,a,iBACiB,W;;IA0BjBW,a;;;;;;;;;;;;WAGJ,kBAAS;MAAA;;MACP,IAAMC,UAAU,GAAG,KAAKV,OAAxB;MACA,qBAAsC,KAAK5C,OAA3C;MAAA,IAAQ6C,MAAR,kBAAQA,MAAR;MAAA,IAAgBzC,CAAhB,kBAAgBA,CAAhB;MAAA,IAAmBC,CAAnB,kBAAmBA,CAAnB;MAAA,IAAsBH,IAAtB,kBAAsBA,IAAtB;MAAA,IAA4BC,KAA5B,kBAA4BA,KAA5B;MACA,mBAA2B,KAAKiB,KAAhC;MAAA,IAAQ3B,MAAR,gBAAQA,MAAR;MAAA,IAAgBC,MAAhB,gBAAgBA,MAAhB;;MACA,8CAAyBS,KAAzB;MAAA,IAAOM,MAAP;MAAA,IAAeC,MAAf;;MAEA,IAAMoC,MAAM,GAAGrC,MAAM,CAACsC,KAAP,EAAf;MACA,IAAMC,MAAM,GAAGtC,MAAM,CAACqC,KAAP,EAAf;MAEA,eAAO,IAAAK,aAAA,EAAQP,MAAR,CAAP,eACE,kEACGpD,MAAM,KAAK,IAAX,gBACC,gCAAC,UAAD;QAAA,UACS,MADT;QAAA,SAESA,MAFT;QAAA,SAGSgB,MAAM,CAAC8C,IAAP,KAAgB9C,MAAM,CAAC+C,YAAP,KAAwB,CAHjD;QAAA,UAIUR,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAJ5B;QAAA,KAKKvC,MAAM,CAACP,IAAI,CAACT,MAAD,CAAJ,CAAaW,CAAb,CAAD,CAAN,GAA2BK,MAAM,CAAC8C,IAAP,KAAgB9C,MAAM,CAAC+C,YAAP,EAAjB,GAA0C,CALzE;QAAA,KAMKR,MAAM,CAAC,CAAD;MANX,GADD,GASG,IAVN,EAWGtD,MAAM,KAAK,IAAX,gBACC,gCAAC,UAAD;QAAA,UACS,MADT;QAAA,SAESA,MAFT;QAAA,SAGSoD,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAH3B;QAAA,UAIUpC,MAAM,CAAC6C,IAAP,KAAgB7C,MAAM,CAAC8C,YAAP,KAAwB,CAJlD;QAAA,KAKKV,MAAM,CAAC,CAAD,CALX;QAAA,KAMKpC,MAAM,CAACR,IAAI,CAACR,MAAD,CAAJ,CAAaW,CAAb,CAAD,CAAN,GAA2BK,MAAM,CAAC6C,IAAP,KAAgB7C,MAAM,CAAC8C,YAAP,EAAjB,GAA0C;MANzE,GADD,GASG,IApBN,CADF;IAwBD;;;EApCyBhE,K;;iCAAtB6D,a,iBACiB,W;AAsCvB,IAAMI,SAAS,GAAG,IAAA5D,yBAAA,EAAc6C,aAAd,CAAlB;;AACA,IAAMgB,SAAS,GAAG,IAAA7D,yBAAA,EAAcwD,aAAd,CAAlB"}
1
+ {"version":3,"file":"Hover.js","names":["Hover","xIndex","yIndex","canUseDOM","document","createElement","trottle","e","asProps","eventEmitter","data","scale","x","y","rootRef","clientX","clientY","xScale","yScale","eventToPoint","current","pX","pY","vX","invert","vY","undefined","getIndexFromData","state","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","setState","emit","width","height","top","right","bottom","left","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","Component","style","HoverLineRoot","SHoverLine","Element","styles","xRange","range","yRange","x1","scaleOfBandwidth","y1","sstyled","HoverRectRoot","SHoverRect","step","paddingInner","HoverLine","HoverRect"],"sources":["../../src/Hover.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/hover.shadow.css';\n\nclass Hover extends Component {\n static style = style;\n\n state = {\n xIndex: null,\n yIndex: null,\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 handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const { clientX, clientY } = e;\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const vY = invert(yScale, pY);\n const xIndex =\n x === undefined || vX === undefined ? null : getIndexFromData(data, xScale, x, vX);\n const yIndex =\n y === undefined || vY === undefined ? null : getIndexFromData(data, yScale, y, vY);\n const state = { xIndex, yIndex };\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n state,\n this.virtualElement,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n const state = {\n xIndex: null,\n yIndex: null,\n };\n this.setState(state, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, state);\n });\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n}\n\nclass HoverLineRoot extends Hover {\n static displayName = 'HoverLine';\n\n render() {\n const SHoverLine = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n const x1 = xIndex !== null ? scaleOfBandwidth(xScale, data[xIndex][x]) : undefined;\n const y1 = yIndex !== null ? scaleOfBandwidth(yScale, data[yIndex][y]) : undefined;\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverLine\n aria-hidden\n render=\"line\"\n index={xIndex}\n x1={x1}\n y1={yRange[0]}\n x2={x1}\n y2={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverLine\n aria-hidden\n render=\"line\"\n index={yIndex}\n x1={xRange[0]}\n y1={y1}\n x2={xRange[1]}\n y2={y1}\n />\n ) : null}\n </>,\n );\n }\n}\n\nclass HoverRectRoot extends Hover {\n static displayName = 'HoverRect';\n\n render() {\n const SHoverRect = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverRect\n aria-hidden\n render=\"rect\"\n index={xIndex}\n width={xScale.step() - xScale.paddingInner() / 2}\n height={yRange[0] - yRange[1]}\n x={xScale(data[xIndex][x]) - (xScale.step() * xScale.paddingInner()) / 2}\n y={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverRect\n aria-hidden\n render=\"rect\"\n index={yIndex}\n width={xRange[1] - xRange[0]}\n height={yScale.step() - yScale.paddingInner() / 2}\n x={xRange[0]}\n y={yScale(data[yIndex][y]) - (yScale.step() * yScale.paddingInner()) / 2}\n />\n ) : null}\n </>,\n );\n }\n}\n\nconst HoverLine = createElement(HoverLineRoot);\nconst HoverRect = createElement(HoverRectRoot);\n\nexport { HoverLine, HoverRect };\n"],"mappings":"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"}
package/lib/cjs/Line.js CHANGED
@@ -46,17 +46,17 @@ var style = (
46
46
  /*__reshadow_css_start__*/
47
47
  _core.sstyled.insert(
48
48
  /*__inner_css_start__*/
49
- ".___SLine_1w8zx_gg_{fill:transparent;stroke-width:3;stroke:#2bb3ff;transition-property:d;transition-duration:var(--duration_1w8zx);transition-timing-function:ease-in-out}.___SLine_1w8zx_gg_.__color_1w8zx_gg_{stroke:var(--color_1w8zx)}.___SLine_1w8zx_gg_.__hide_1w8zx_gg_{display:none}.___SNull_1w8zx_gg_{fill:transparent;stroke:#c4c7cf;stroke-dasharray:4}.___SNull_1w8zx_gg_.__hide_1w8zx_gg_{display:none}"
49
+ ".___SLine_9w56p_gg_{fill:transparent;stroke-width:3;stroke:#2bb3ff;transition-property:d;transition-duration:var(--duration_9w56p);transition-timing-function:ease-in-out}.___SLine_9w56p_gg_.__color_9w56p_gg_{stroke:var(--color_9w56p)}.___SLine_9w56p_gg_.__hide_9w56p_gg_{display:none}.___SNull_9w56p_gg_{fill:transparent;stroke:#c4c7cf;stroke-dasharray:4}.___SNull_9w56p_gg_.__hide_9w56p_gg_{display:none}"
50
50
  /*__inner_css_end__*/
51
- , "1w8zx_gg_")
51
+ , "9w56p_gg_")
52
52
  /*__reshadow_css_end__*/
53
53
  , {
54
- "__SLine": "___SLine_1w8zx_gg_",
55
- "--duration": "--duration_1w8zx",
56
- "_color": "__color_1w8zx_gg_",
57
- "--color": "--color_1w8zx",
58
- "_hide": "__hide_1w8zx_gg_",
59
- "__SNull": "___SNull_1w8zx_gg_"
54
+ "__SLine": "___SLine_9w56p_gg_",
55
+ "--duration": "--duration_9w56p",
56
+ "_color": "__color_9w56p_gg_",
57
+ "--color": "--color_9w56p",
58
+ "_hide": "__hide_9w56p_gg_",
59
+ "__SNull": "___SNull_9w56p_gg_"
60
60
  });
61
61
 
62
62
  var LineRoot = /*#__PURE__*/function (_Component) {
@@ -116,8 +116,13 @@ var LineRoot = /*#__PURE__*/function (_Component) {
116
116
  size = _this$asProps3.size,
117
117
  d3 = _this$asProps3.d3,
118
118
  data = _this$asProps3.data,
119
- duration = _this$asProps3.duration;
119
+ duration = _this$asProps3.duration,
120
+ x = _this$asProps3.x,
121
+ y = _this$asProps3.y;
122
+ this.asProps.dataHintsHandler.specifyDataRowFields(x, y);
123
+ this.asProps.dataHintsHandler.establishDataType('time-series');
120
124
  return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SLine, _ref.cn("SLine", {
125
+ "aria-hidden": true,
121
126
  "clipPath": "url(#".concat(uid, ")"),
122
127
  "render": "path",
123
128
  "hide": hide,
@@ -125,6 +130,7 @@ var LineRoot = /*#__PURE__*/function (_Component) {
125
130
  "d": d3(data),
126
131
  "use:duration": "".concat(duration, "ms")
127
132
  })), duration && /*#__PURE__*/_react["default"].createElement(_ClipPath["default"], _ref.cn("ClipPath", {
133
+ "aria-hidden": true,
128
134
  "setAttributeTag": function setAttributeTag(rect) {
129
135
  rect.setAttribute('width', size[0]);
130
136
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Line.js","names":["LineRoot","asProps","x","y","d3","color","duration","data","getNullData","definedNullData","SLine","Element","styles","hide","uid","size","sstyled","rect","setAttribute","Component","style","uniqueIDEnhancement","$rootProps","curve","curveLinear","scale","xScale","yScale","d3Line","defined","definedData","p","scaleOfBandwidth","Null","props","SNull","createElement","Dots"],"sources":["../../src/Line.jsx"],"sourcesContent":["import React from 'react';\nimport { curveLinear, line as d3Line } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { definedData, definedNullData, scaleOfBandwidth, getNullData } from './utils';\nimport Dots from './Dots';\nimport ClipPath from './ClipPath';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/line.shadow.css';\n\nclass LineRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, $rootProps, curve = curveLinear, scale }) => {\n const [xScale, yScale] = scale || $rootProps.scale;\n return {\n d3: d3Line()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y((p) => scaleOfBandwidth(yScale, p[y])),\n duration: 500,\n };\n };\n\n getDotsProps() {\n const { x, y, d3, color, duration } = this.asProps;\n return {\n x,\n y,\n d3,\n color,\n duration,\n };\n }\n\n getNullProps() {\n const { x, y, d3, color, data } = this.asProps;\n return {\n d3,\n // TODO: vertical\n data: getNullData(data, definedNullData(x, y), y),\n color,\n };\n }\n\n render() {\n const SLine = this.Element;\n const { styles, hide, color, uid, size, d3, data, duration } = this.asProps;\n return sstyled(styles)(\n <>\n <SLine\n clipPath={`url(#${uid})`}\n render=\"path\"\n hide={hide}\n color={color}\n d={d3(data)}\n use:duration={`${duration}ms`}\n />\n {duration && (\n <ClipPath\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>,\n );\n }\n}\n\nfunction Null(props) {\n const { Element: SNull, styles, d3, data, hide } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} />);\n}\n\nexport default createElement(LineRoot, {\n Dots,\n Null,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"Line.js","names":["LineRoot","asProps","x","y","d3","color","duration","data","getNullData","definedNullData","SLine","Element","styles","hide","uid","size","dataHintsHandler","specifyDataRowFields","establishDataType","sstyled","rect","setAttribute","Component","style","uniqueIDEnhancement","$rootProps","curve","curveLinear","scale","xScale","yScale","d3Line","defined","definedData","p","scaleOfBandwidth","Null","props","SNull","createElement","Dots"],"sources":["../../src/Line.jsx"],"sourcesContent":["import React from 'react';\nimport { curveLinear, line as d3Line } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { definedData, definedNullData, scaleOfBandwidth, getNullData } from './utils';\nimport Dots from './Dots';\nimport ClipPath from './ClipPath';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/line.shadow.css';\n\nclass LineRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, $rootProps, curve = curveLinear, scale }) => {\n const [xScale, yScale] = scale || $rootProps.scale;\n return {\n d3: d3Line()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y((p) => scaleOfBandwidth(yScale, p[y])),\n duration: 500,\n };\n };\n\n getDotsProps() {\n const { x, y, d3, color, duration } = this.asProps;\n return {\n x,\n y,\n d3,\n color,\n duration,\n };\n }\n\n getNullProps() {\n const { x, y, d3, color, data } = this.asProps;\n return {\n d3,\n // TODO: vertical\n data: getNullData(data, definedNullData(x, y), y),\n color,\n };\n }\n\n render() {\n const SLine = this.Element;\n const { styles, hide, color, uid, size, d3, data, duration, x, y } = this.asProps;\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y);\n this.asProps.dataHintsHandler.establishDataType('time-series');\n\n return sstyled(styles)(\n <>\n <SLine\n aria-hidden\n clipPath={`url(#${uid})`}\n render=\"path\"\n hide={hide}\n color={color}\n d={d3(data)}\n use:duration={`${duration}ms`}\n />\n {duration && (\n <ClipPath\n aria-hidden\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>,\n );\n }\n}\n\nfunction Null(props) {\n const { Element: SNull, styles, d3, data, hide } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} />);\n}\n\nexport default createElement(LineRoot, {\n Dots,\n Null,\n});\n"],"mappings":"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"}
package/lib/cjs/Plot.js CHANGED
@@ -35,6 +35,12 @@ var _eventEmitter = _interopRequireDefault(require("@semcore/utils/lib/eventEmit
35
35
 
36
36
  var _utils = require("./utils");
37
37
 
38
+ var _PlotA11yModule = require("./a11y/PlotA11yModule");
39
+
40
+ var _hints = require("./a11y/hints");
41
+
42
+ var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/keyboardFocusEnhance"));
43
+
38
44
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
45
 
40
46
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -52,12 +58,13 @@ var style = (
52
58
  /*__reshadow_css_start__*/
53
59
  _core.sstyled.insert(
54
60
  /*__inner_css_start__*/
55
- ".___SPlot_1tnah_gg_{overflow:hidden}"
61
+ ".___SPlot_191w8_gg_{overflow:hidden}.___SPlot_191w8_gg_:active,.___SPlot_191w8_gg_:focus{outline:0;text-decoration:none}.___SPlot_191w8_gg_.__keyboardFocused_191w8_gg_{border:1px solid #008ff8;box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}"
56
62
  /*__inner_css_end__*/
57
- , "1tnah_gg_")
63
+ , "191w8_gg_")
58
64
  /*__reshadow_css_end__*/
59
65
  , {
60
- "__SPlot": "___SPlot_1tnah_gg_"
66
+ "__SPlot": "___SPlot_191w8_gg_",
67
+ "_keyboardFocused": "__keyboardFocused_191w8_gg_"
61
68
  });
62
69
 
63
70
  var PlotRoot = /*#__PURE__*/function (_Component) {
@@ -70,7 +77,10 @@ var PlotRoot = /*#__PURE__*/function (_Component) {
70
77
 
71
78
  (0, _classCallCheck2["default"])(this, PlotRoot);
72
79
  _this = _super.call(this, props);
80
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "plotId", (0, _utils.uniqueId)());
73
81
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rootRef", /*#__PURE__*/_react["default"].createRef());
82
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dataStructureHints", (0, _hints.makeDataHintsContainer)());
83
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dataHintsHandler", (0, _hints.makeDataHintsHandlers)(_this.dataStructureHints));
74
84
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlerMouseMove", function (e) {
75
85
  var scale = _this.asProps.scale;
76
86
 
@@ -115,18 +125,27 @@ var PlotRoot = /*#__PURE__*/function (_Component) {
115
125
  (0, _createClass2["default"])(PlotRoot, [{
116
126
  key: "setContext",
117
127
  value: function setContext() {
128
+ var _scale$, _scale$$domain;
129
+
118
130
  var _this$asProps = this.asProps,
119
131
  scale = _this$asProps.scale,
120
132
  data = _this$asProps.data,
121
133
  width = _this$asProps.width,
122
134
  height = _this$asProps.height;
135
+ var yScaleDomain = scale === null || scale === void 0 ? void 0 : (_scale$ = scale[1]) === null || _scale$ === void 0 ? void 0 : (_scale$$domain = _scale$.domain) === null || _scale$$domain === void 0 ? void 0 : _scale$$domain.call(_scale$);
136
+
137
+ if (yScaleDomain !== null && yScaleDomain !== void 0 && yScaleDomain.length && data !== null && data !== void 0 && data.length) {
138
+ this.dataHintsHandler.setPointsDensity(data.length / width, Math.abs(yScaleDomain[1] - yScaleDomain[0]) / height);
139
+ }
140
+
123
141
  return {
124
142
  $rootProps: {
125
143
  size: [width, height],
126
144
  data: data,
127
145
  scale: scale,
128
146
  eventEmitter: this.eventEmitter,
129
- rootRef: this.rootRef
147
+ rootRef: this.rootRef,
148
+ dataHintsHandler: this.dataHintsHandler
130
149
  }
131
150
  };
132
151
  }
@@ -140,15 +159,33 @@ var PlotRoot = /*#__PURE__*/function (_Component) {
140
159
  var _this$asProps2 = this.asProps,
141
160
  styles = _this$asProps2.styles,
142
161
  width = _this$asProps2.width,
143
- height = _this$asProps2.height;
162
+ height = _this$asProps2.height,
163
+ Children = _this$asProps2.Children,
164
+ data = _this$asProps2.data,
165
+ a11yAltTextConfig = _this$asProps2.a11yAltTextConfig,
166
+ label = _this$asProps2.label,
167
+ locale = _this$asProps2.locale;
144
168
  if (!width || !height) return null;
145
- return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPlot, _ref2.cn("SPlot", _objectSpread({}, (0, _core.assignProps)({
169
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SPlot, _ref2.cn("SPlot", _objectSpread({}, (0, _core.assignProps)({
146
170
  "tag": "svg",
147
171
  "__excludeProps": ['data', 'scale'],
148
172
  "ref": this.rootRef,
149
173
  "onMouseMove": this.handlerMouseMove,
150
- "onMouseLeave": this.handlerMouseLeave
151
- }, _ref))));
174
+ "onMouseLeave": this.handlerMouseLeave,
175
+ "aria-label": label,
176
+ "tabIndex": 0
177
+ }, _ref))), /*#__PURE__*/_react["default"].createElement(Children, _ref2.cn("Children", {})), /*#__PURE__*/_react["default"].createElement("foreignObject", _ref2.cn("foreignObject", {
178
+ "width": "100%",
179
+ "height": "100%"
180
+ }), /*#__PURE__*/_react["default"].createElement(_PlotA11yModule.PlotA11yModule, _ref2.cn("PlotA11yModule", {
181
+ "id": this.plotId,
182
+ "data": data,
183
+ "plotLabel": label,
184
+ "locale": locale,
185
+ "plotRef": this.rootRef,
186
+ "hints": this.dataStructureHints,
187
+ "config": a11yAltTextConfig
188
+ })))));
152
189
  }
153
190
  }]);
154
191
  return PlotRoot;
@@ -162,6 +199,7 @@ var PlotRoot = /*#__PURE__*/function (_Component) {
162
199
  height: 0
163
200
  };
164
201
  });
202
+ (0, _defineProperty2["default"])(PlotRoot, "enhance", [(0, _keyboardFocusEnhance["default"])()]);
165
203
 
166
204
  var _default = (0, _core["default"])(PlotRoot);
167
205
 
@@ -1 +1 @@
1
- {"version":3,"file":"Plot.js","names":["PlotRoot","props","React","createRef","e","scale","asProps","eventEmitter","emit","xScale","yScale","eventToPoint","rootRef","current","pX","pY","range","minX","maxX","maxY","minY","EventEmitter","data","width","height","$rootProps","size","SPlot","Box","styles","sstyled","handlerMouseMove","handlerMouseLeave","Component","style","createComponent"],"sources":["../../src/Plot.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport EventEmitter from '@semcore/utils/lib/eventEmitter';\nimport { eventToPoint } from './utils';\nimport style from './style/plot.shadow.css';\n\nclass PlotRoot extends Component {\n static displayName = 'Plot';\n static style = style;\n\n constructor(props) {\n super(props);\n this.eventEmitter = props.eventEmitter || new EventEmitter();\n }\n\n static defaultProps = () => ({\n width: 0,\n height: 0,\n });\n\n rootRef = React.createRef();\n\n handlerMouseMove = (e) => {\n const { scale } = this.asProps;\n this.eventEmitter.emit(`onMouseMoveRoot`, e);\n\n if (scale) {\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, this.rootRef.current);\n const [minX, maxX] = xScale.range();\n const [maxY, minY] = yScale.range();\n\n if (pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) {\n this.eventEmitter.emit('onMouseMoveChart', e);\n } else {\n this.eventEmitter.emit('onMouseLeaveChart', e);\n }\n }\n };\n\n handlerMouseLeave = (e) => {\n this.eventEmitter.emit(`onMouseLeaveRoot`, e);\n this.eventEmitter.emit('onMouseLeaveChart', e);\n };\n\n setContext() {\n const { scale, data, width, height } = this.asProps;\n return {\n $rootProps: {\n size: [width, height],\n data: data,\n scale: scale,\n eventEmitter: this.eventEmitter,\n rootRef: this.rootRef,\n },\n };\n }\n\n render() {\n const SPlot = Root;\n const { styles, width, height } = this.asProps;\n\n if (!width || !height) return null;\n\n return sstyled(styles)(\n <SPlot\n render={Box}\n tag=\"svg\"\n __excludeProps={['data', 'scale']}\n ref={this.rootRef}\n onMouseMove={this.handlerMouseMove}\n onMouseLeave={this.handlerMouseLeave}\n />,\n );\n }\n}\n\nexport default createComponent(PlotRoot);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Plot.js","names":["PlotRoot","props","uniqueId","React","createRef","makeDataHintsContainer","makeDataHintsHandlers","dataStructureHints","e","scale","asProps","eventEmitter","emit","xScale","yScale","eventToPoint","rootRef","current","pX","pY","range","minX","maxX","maxY","minY","EventEmitter","data","width","height","yScaleDomain","domain","length","dataHintsHandler","setPointsDensity","Math","abs","$rootProps","size","SPlot","Box","styles","Children","a11yAltTextConfig","label","locale","sstyled","handlerMouseMove","handlerMouseLeave","plotId","Component","style","keyboardFocusEnhance","createComponent"],"sources":["../../src/Plot.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport EventEmitter from '@semcore/utils/lib/eventEmitter';\nimport { eventToPoint, uniqueId } from './utils';\nimport style from './style/plot.shadow.css';\nimport { PlotA11yModule } from './a11y/PlotA11yModule';\nimport { makeDataHintsHandlers, makeDataHintsContainer } from './a11y/hints';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nclass PlotRoot extends Component {\n static displayName = 'Plot';\n static style = style;\n\n constructor(props) {\n super(props);\n this.eventEmitter = props.eventEmitter || new EventEmitter();\n }\n\n static defaultProps = () => ({\n width: 0,\n height: 0,\n });\n\n static enhance = [keyboardFocusEnhance()];\n\n plotId = uniqueId();\n\n rootRef = React.createRef();\n\n dataStructureHints = makeDataHintsContainer();\n dataHintsHandler = makeDataHintsHandlers(this.dataStructureHints);\n\n handlerMouseMove = (e) => {\n const { scale } = this.asProps;\n this.eventEmitter.emit(`onMouseMoveRoot`, e);\n\n if (scale) {\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, this.rootRef.current);\n const [minX, maxX] = xScale.range();\n const [maxY, minY] = yScale.range();\n\n if (pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) {\n this.eventEmitter.emit('onMouseMoveChart', e);\n } else {\n this.eventEmitter.emit('onMouseLeaveChart', e);\n }\n }\n };\n\n handlerMouseLeave = (e) => {\n this.eventEmitter.emit(`onMouseLeaveRoot`, e);\n this.eventEmitter.emit('onMouseLeaveChart', e);\n };\n\n setContext() {\n const { scale, data, width, height } = this.asProps;\n\n const yScaleDomain = scale?.[1]?.domain?.();\n if (yScaleDomain?.length && data?.length) {\n this.dataHintsHandler.setPointsDensity(\n data.length / width,\n Math.abs(yScaleDomain[1] - yScaleDomain[0]) / height,\n );\n }\n\n return {\n $rootProps: {\n size: [width, height],\n data: data,\n scale: scale,\n eventEmitter: this.eventEmitter,\n rootRef: this.rootRef,\n dataHintsHandler: this.dataHintsHandler,\n },\n };\n }\n\n render() {\n const SPlot = Root;\n const { styles, width, height, Children, data, a11yAltTextConfig, label, locale } =\n this.asProps;\n\n if (!width || !height) return null;\n\n return sstyled(styles)(\n <>\n <SPlot\n render={Box}\n tag=\"svg\"\n __excludeProps={['data', 'scale']}\n ref={this.rootRef}\n onMouseMove={this.handlerMouseMove}\n onMouseLeave={this.handlerMouseLeave}\n aria-label={label}\n tabIndex={0}\n >\n <Children />\n <foreignObject width=\"100%\" height=\"100%\">\n <PlotA11yModule\n id={this.plotId}\n data={data}\n plotLabel={label}\n locale={locale}\n plotRef={this.rootRef}\n hints={this.dataStructureHints}\n config={a11yAltTextConfig}\n />\n </foreignObject>\n </SPlot>\n </>,\n );\n }\n}\n\nexport default createComponent(PlotRoot);\n"],"mappings":"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"}
@@ -60,20 +60,20 @@ var style = (
60
60
  /*__reshadow_css_start__*/
61
61
  _core.sstyled.insert(
62
62
  /*__inner_css_start__*/
63
- ".___SRadian_1lxvy_gg_{cursor:pointer;fill:#008ff8}.___SLine_1lxvy_gg_{stroke:#008ff8}.___SLine_1lxvy_gg_.__color_1lxvy_gg_{stroke:var(--color_1lxvy)}.___SCap_1lxvy_gg_{transition:r .1s}.___SLabel_1lxvy_gg_{fill:var(--color_1lxvy);cursor:var(--text-cursor_1lxvy)}.___SRadian_1lxvy_gg_:hover .___SLabel_1lxvy_gg_{fill:var(--color-hovered_1lxvy)}@media (prefers-reduced-motion){.___SLineCap_1lxvy_gg_{transition:none}}"
63
+ ".___SRadian_ou6di_gg_{cursor:pointer;fill:#008ff8}.___SLine_ou6di_gg_{stroke:#008ff8}.___SLine_ou6di_gg_.__color_ou6di_gg_{stroke:var(--color_ou6di)}.___SCap_ou6di_gg_{transition:r .1s}.___SLabel_ou6di_gg_{fill:var(--color_ou6di);cursor:var(--text-cursor_ou6di)}.___SRadian_ou6di_gg_:hover .___SLabel_ou6di_gg_{fill:var(--color-hovered_ou6di)}@media (prefers-reduced-motion){.___SLineCap_ou6di_gg_{transition:none}}"
64
64
  /*__inner_css_end__*/
65
- , "1lxvy_gg_")
65
+ , "ou6di_gg_")
66
66
  /*__reshadow_css_end__*/
67
67
  , {
68
- "__SRadian": "___SRadian_1lxvy_gg_",
69
- "__SLine": "___SLine_1lxvy_gg_",
70
- "_color": "__color_1lxvy_gg_",
71
- "--color": "--color_1lxvy",
72
- "__SCap": "___SCap_1lxvy_gg_",
73
- "__SLabel": "___SLabel_1lxvy_gg_",
74
- "--text-cursor": "--text-cursor_1lxvy",
75
- "--color-hovered": "--color-hovered_1lxvy",
76
- "__SLineCap": "___SLineCap_1lxvy_gg_"
68
+ "__SRadian": "___SRadian_ou6di_gg_",
69
+ "__SLine": "___SLine_ou6di_gg_",
70
+ "_color": "__color_ou6di_gg_",
71
+ "--color": "--color_ou6di",
72
+ "__SCap": "___SCap_ou6di_gg_",
73
+ "__SLabel": "___SLabel_ou6di_gg_",
74
+ "--text-cursor": "--text-cursor_ou6di",
75
+ "--color-hovered": "--color-hovered_ou6di",
76
+ "__SLineCap": "___SLineCap_ou6di_gg_"
77
77
  });
78
78
  var baseAngle = -Math.PI / 2; // The top vertical line
79
79
 
@@ -324,6 +324,7 @@ var RadialTreeBase = /*#__PURE__*/function (_Component) {
324
324
 
325
325
  var SRadialTree = this.Element;
326
326
  var Children = this.asProps.Children;
327
+ this.asProps.dataHintsHandler.establishDataType('values-set');
327
328
  return _ref = (0, _core.sstyled)(this.asProps.styles), /*#__PURE__*/_react["default"].createElement(SRadialTree, _ref.cn("SRadialTree", {
328
329
  "render": "g"
329
330
  }), /*#__PURE__*/_react["default"].createElement(Children, _ref.cn("Children", {})));
@@ -556,11 +557,13 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
556
557
  var mergedProps = (0, _assignProps["default"])(children(this.asProps), this.asProps);
557
558
  children = mergedProps.children;
558
559
  mergedProps.children = _child;
559
- } // hidden from publicly typed export
560
+ }
560
561
 
562
+ this.asProps.dataHintsHandler.describeValueEntity("".concat(index, ".").concat(data.label), data.label); // hidden from publicly typed export
561
563
 
562
564
  var InteractiveArea = RadialTree.Radian.InteractiveArea;
563
565
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRadian, _ref2.cn("SRadian", {
566
+ "aria-hidden": true,
564
567
  "key": key,
565
568
  "onClick": onRadianClick(key)
566
569
  }), /*#__PURE__*/_react["default"].createElement(InteractiveArea, _ref2.cn("InteractiveArea", {})), children);
@@ -679,6 +682,7 @@ var Label = function Label(_ref24) {
679
682
  'text-cursor': isHorizontal ? 'text' : 'vertical-text'
680
683
  });
681
684
  return /*#__PURE__*/_react["default"].createElement(SLabel, {
685
+ "aria-hidden": true,
682
686
  render: "text",
683
687
  textAnchor: "middle",
684
688
  dominantBaseline: "central",
@@ -709,12 +713,20 @@ var Title = function Title(_ref25) {
709
713
 
710
714
  var STitle = _ref25.Element,
711
715
  Children = _ref25.Children,
716
+ children = _ref25.children,
712
717
  styles = _ref25.styles,
713
718
  textSize = _ref25.textSize,
714
719
  color = _ref25.color,
715
720
  x = _ref25.x,
716
- y = _ref25.y;
721
+ y = _ref25.y,
722
+ dataHintsHandler = _ref25.dataHintsHandler;
723
+
724
+ if (typeof children === 'string') {
725
+ dataHintsHandler.setTitle('vertical', children);
726
+ }
727
+
717
728
  return _ref8 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(STitle, _ref8.cn("STitle", {
729
+ "aria-hidden": true,
718
730
  "render": "text",
719
731
  "textAnchor": "middle",
720
732
  "dominantBaseline": "central",