@semcore/d3-chart 17.0.0-prerelease.9 → 17.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 (123) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/lib/cjs/Area.js +11 -11
  3. package/lib/cjs/Axis.js +16 -16
  4. package/lib/cjs/Bar.js +16 -16
  5. package/lib/cjs/Bubble.js +20 -15
  6. package/lib/cjs/Bubble.js.map +1 -1
  7. package/lib/cjs/CompactHorizontalBar.js +16 -16
  8. package/lib/cjs/Donut.js +9 -9
  9. package/lib/cjs/Dots.js +8 -8
  10. package/lib/cjs/HorizontalBar.js +16 -16
  11. package/lib/cjs/Hover.js +3 -3
  12. package/lib/cjs/Line.js +9 -9
  13. package/lib/cjs/Plot.js +2 -2
  14. package/lib/cjs/Radar.js +19 -19
  15. package/lib/cjs/RadialTree.js +12 -12
  16. package/lib/cjs/Reference.js +12 -12
  17. package/lib/cjs/ScatterPlot.js +9 -9
  18. package/lib/cjs/Tooltip.js +9 -9
  19. package/lib/cjs/Venn.js +9 -9
  20. package/lib/cjs/a11y/PlotA11yModule.js +2 -2
  21. package/lib/cjs/a11y/PlotA11yView.js +7 -7
  22. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  23. package/lib/cjs/component/Chart/AbstractChart.js +9 -21
  24. package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  25. package/lib/cjs/component/Chart/CigaretteChart.js +197 -57
  26. package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
  27. package/lib/cjs/component/Chart/CigaretteChart.type.js.map +1 -1
  28. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  29. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  30. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  31. package/lib/cjs/style/bubble.shadow.css +4 -0
  32. package/lib/cjs/utils.js +3 -2
  33. package/lib/cjs/utils.js.map +1 -1
  34. package/lib/es6/Area.js +11 -11
  35. package/lib/es6/Axis.js +16 -16
  36. package/lib/es6/Bar.js +16 -16
  37. package/lib/es6/Bubble.js +20 -15
  38. package/lib/es6/Bubble.js.map +1 -1
  39. package/lib/es6/CompactHorizontalBar.js +16 -16
  40. package/lib/es6/Donut.js +9 -9
  41. package/lib/es6/Dots.js +8 -8
  42. package/lib/es6/HorizontalBar.js +16 -16
  43. package/lib/es6/Hover.js +3 -3
  44. package/lib/es6/Line.js +9 -9
  45. package/lib/es6/Plot.js +2 -2
  46. package/lib/es6/Radar.js +19 -19
  47. package/lib/es6/RadialTree.js +12 -12
  48. package/lib/es6/Reference.js +12 -12
  49. package/lib/es6/ScatterPlot.js +9 -9
  50. package/lib/es6/Tooltip.js +9 -9
  51. package/lib/es6/Venn.js +9 -9
  52. package/lib/es6/a11y/PlotA11yModule.js +2 -2
  53. package/lib/es6/a11y/PlotA11yView.js +6 -5
  54. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  55. package/lib/es6/component/Chart/AbstractChart.js +9 -21
  56. package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  57. package/lib/es6/component/Chart/CigaretteChart.js +199 -59
  58. package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
  59. package/lib/es6/component/Chart/CigaretteChart.type.js.map +1 -1
  60. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  61. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  62. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  63. package/lib/es6/style/bubble.shadow.css +4 -0
  64. package/lib/es6/utils.js +3 -2
  65. package/lib/es6/utils.js.map +1 -1
  66. package/lib/esm/AnimatedClipPath.mjs +1 -1
  67. package/lib/esm/Area.mjs +14 -14
  68. package/lib/esm/Axis.mjs +21 -23
  69. package/lib/esm/Bar.mjs +18 -18
  70. package/lib/esm/Bubble.mjs +24 -20
  71. package/lib/esm/CompactHorizontalBar.mjs +21 -20
  72. package/lib/esm/Donut.mjs +15 -13
  73. package/lib/esm/Dots.mjs +10 -10
  74. package/lib/esm/HorizontalBar.mjs +18 -18
  75. package/lib/esm/Hover.mjs +6 -6
  76. package/lib/esm/Line.mjs +12 -12
  77. package/lib/esm/Pattern.mjs +6 -7
  78. package/lib/esm/Plot.mjs +6 -7
  79. package/lib/esm/Radar.mjs +27 -29
  80. package/lib/esm/RadialTree.mjs +30 -75
  81. package/lib/esm/Reference.mjs +13 -13
  82. package/lib/esm/ResponsiveContainer.mjs +3 -5
  83. package/lib/esm/ScatterPlot.mjs +12 -11
  84. package/lib/esm/StackBar.mjs +2 -2
  85. package/lib/esm/StackedArea.mjs +2 -2
  86. package/lib/esm/Tooltip.mjs +15 -17
  87. package/lib/esm/Venn.mjs +13 -12
  88. package/lib/esm/a11y/DataAccessibilityTable.mjs +2 -4
  89. package/lib/esm/a11y/PlotA11yModule.mjs +5 -4
  90. package/lib/esm/a11y/PlotA11yView.mjs +14 -21
  91. package/lib/esm/a11y/focus.mjs +2 -2
  92. package/lib/esm/a11y/hints.mjs +3 -3
  93. package/lib/esm/a11y/insights.mjs +15 -20
  94. package/lib/esm/a11y/intl.mjs +1 -1
  95. package/lib/esm/a11y/locale.mjs +1 -2
  96. package/lib/esm/a11y/serialize.mjs +17 -17
  97. package/lib/esm/component/Chart/AbstractChart.mjs +25 -38
  98. package/lib/esm/component/Chart/AreaChart.mjs +5 -4
  99. package/lib/esm/component/Chart/BarChart.mjs +4 -3
  100. package/lib/esm/component/Chart/BubbleChart.mjs +8 -8
  101. package/lib/esm/component/Chart/CigaretteChart.mjs +204 -64
  102. package/lib/esm/component/Chart/CompactHorizontalBarChart.mjs +2 -1
  103. package/lib/esm/component/Chart/DonutChart.mjs +3 -2
  104. package/lib/esm/component/Chart/HistogramChart.mjs +5 -4
  105. package/lib/esm/component/Chart/LineChart.mjs +5 -4
  106. package/lib/esm/component/Chart/RadarChart.mjs +4 -5
  107. package/lib/esm/component/Chart/ScatterPlotChart.mjs +3 -2
  108. package/lib/esm/component/Chart/VennChart.mjs +3 -3
  109. package/lib/esm/component/ChartLegend/BaseLegend.mjs +9 -14
  110. package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +6 -6
  111. package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +19 -19
  112. package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +9 -10
  113. package/lib/esm/component/ChartLegend/index.mjs +2 -0
  114. package/lib/esm/component/Cigarette/Cigarette.mjs +1 -2
  115. package/lib/esm/component/StackGroupBar/StackGroupBar.mjs +2 -3
  116. package/lib/esm/createElement.mjs +1 -1
  117. package/lib/esm/index.mjs +1 -0
  118. package/lib/esm/style/bubble.shadow.css +4 -0
  119. package/lib/esm/utils.mjs +3 -3
  120. package/lib/types/a11y/PlotA11yView.d.ts +1 -1
  121. package/lib/types/component/Chart/AbstractChart.d.ts +4 -7
  122. package/lib/types/component/Chart/CigaretteChart.type.d.ts +7 -4
  123. package/package.json +17 -17
package/lib/cjs/Radar.js CHANGED
@@ -21,27 +21,27 @@ var _Pattern = require("./Pattern");
21
21
  var _Tooltip = _interopRequireDefault(require("./Tooltip"));
22
22
  var _utils = require("./utils");
23
23
  /*!__reshadow-styles__:"./style/radar.shadow.css"*/
24
- const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SAxisLine_9qq2r_gg_,.___SAxisTick_9qq2r_gg_,.___SAxis_9qq2r_gg_{stroke:var(--intergalactic-chart-grid-line, #e0e1e9);stroke-width:1;fill:transparent}.___SAxisLine_9qq2r_gg_,.___SAxisTick_9qq2r_gg_{stroke-dasharray:2}.___SAxisLine_9qq2r_gg_.__active_9qq2r_gg_{stroke:var(--intergalactic-chart-grid-y-accent-hover-line, #a9abb6)}.___SAxisLabel_9qq2r_gg_{text-anchor:middle;dominant-baseline:central;font-size:12px}.___SAxisLabel_9qq2r_gg_.__xDirection_9qq2r_gg_{text-anchor:var(--xDirection_9qq2r)}.___SAxisLabel_9qq2r_gg_.__yDirection_9qq2r_gg_{dominant-baseline:var(--yDirection_9qq2r)}.___SPolygonDot_9qq2r_gg_,.___SPolygon_9qq2r_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPolygon_9qq2r_gg_{opacity:.2}.___SPolygon_9qq2r_gg_.__color_9qq2r_gg_{fill:var(--color_9qq2r)}.___SPolygon_9qq2r_gg_.__pattern_9qq2r_gg_.__color_9qq2r_gg_{fill:var(--pattern_9qq2r);stroke:var(--color_9qq2r);stroke-width:1px}.___SPolygonDot_9qq2r_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px}.___SPolygonDot_9qq2r_gg_.__transparent_9qq2r_gg_{opacity:.3}.___SPolygonDot_9qq2r_gg_.__color_9qq2r_gg_{fill:var(--color_9qq2r)}.___SPolygonLine_9qq2r_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SPolygonLine_9qq2r_gg_.__transparent_9qq2r_gg_{opacity:.3}.___SPolygonLine_9qq2r_gg_.__color_9qq2r_gg_{stroke:var(--color_9qq2r)}.___SPieRect_9qq2r_gg_{outline:0;fill:var(--intergalactic-chart-grid-bar-chart-hover, rgba(196, 199, 207, 0.3))}", /*__inner_css_end__*/"9qq2r_gg_"),
24
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SAxisLine_rgkom_gg_,.___SAxisTick_rgkom_gg_,.___SAxis_rgkom_gg_{stroke:var(--intergalactic-chart-grid-line, #e0e1e9);stroke-width:1;fill:transparent}.___SAxisLine_rgkom_gg_,.___SAxisTick_rgkom_gg_{stroke-dasharray:2}.___SAxisLine_rgkom_gg_.__active_rgkom_gg_{stroke:var(--intergalactic-chart-grid-y-accent-hover-line, #a9abb6)}.___SAxisLabel_rgkom_gg_{text-anchor:middle;dominant-baseline:central;font-size:12px}.___SAxisLabel_rgkom_gg_.__xDirection_rgkom_gg_{text-anchor:var(--xDirection_rgkom)}.___SAxisLabel_rgkom_gg_.__yDirection_rgkom_gg_{dominant-baseline:var(--yDirection_rgkom)}.___SPolygonDot_rgkom_gg_,.___SPolygon_rgkom_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPolygon_rgkom_gg_{opacity:.2}.___SPolygon_rgkom_gg_.__color_rgkom_gg_{fill:var(--color_rgkom)}.___SPolygon_rgkom_gg_.__pattern_rgkom_gg_.__color_rgkom_gg_{fill:var(--pattern_rgkom);stroke:var(--color_rgkom);stroke-width:1px}.___SPolygonDot_rgkom_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px}.___SPolygonDot_rgkom_gg_.__transparent_rgkom_gg_{opacity:.3}.___SPolygonDot_rgkom_gg_.__color_rgkom_gg_{fill:var(--color_rgkom)}.___SPolygonLine_rgkom_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SPolygonLine_rgkom_gg_.__transparent_rgkom_gg_{opacity:.3}.___SPolygonLine_rgkom_gg_.__color_rgkom_gg_{stroke:var(--color_rgkom)}.___SPieRect_rgkom_gg_{outline:0;fill:var(--intergalactic-chart-grid-bar-chart-hover, rgba(196, 199, 207, 0.3))}", /*__inner_css_end__*/"rgkom_gg_"),
25
25
  /*__reshadow_css_end__*/
26
26
  {
27
- "__SAxis": "___SAxis_9qq2r_gg_",
28
- "__SAxisLine": "___SAxisLine_9qq2r_gg_",
29
- "__SAxisTick": "___SAxisTick_9qq2r_gg_",
30
- "_active": "__active_9qq2r_gg_",
31
- "__SAxisLabel": "___SAxisLabel_9qq2r_gg_",
32
- "_xDirection": "__xDirection_9qq2r_gg_",
33
- "--xDirection": "--xDirection_9qq2r",
34
- "_yDirection": "__yDirection_9qq2r_gg_",
35
- "--yDirection": "--yDirection_9qq2r",
36
- "__SPolygon": "___SPolygon_9qq2r_gg_",
37
- "_color": "__color_9qq2r_gg_",
38
- "--color": "--color_9qq2r",
39
- "_pattern": "__pattern_9qq2r_gg_",
40
- "--pattern": "--pattern_9qq2r",
41
- "__SPolygonDot": "___SPolygonDot_9qq2r_gg_",
42
- "_transparent": "__transparent_9qq2r_gg_",
43
- "__SPolygonLine": "___SPolygonLine_9qq2r_gg_",
44
- "__SPieRect": "___SPieRect_9qq2r_gg_"
27
+ "__SAxis": "___SAxis_rgkom_gg_",
28
+ "__SAxisLine": "___SAxisLine_rgkom_gg_",
29
+ "__SAxisTick": "___SAxisTick_rgkom_gg_",
30
+ "_active": "__active_rgkom_gg_",
31
+ "__SAxisLabel": "___SAxisLabel_rgkom_gg_",
32
+ "_xDirection": "__xDirection_rgkom_gg_",
33
+ "--xDirection": "--xDirection_rgkom",
34
+ "_yDirection": "__yDirection_rgkom_gg_",
35
+ "--yDirection": "--yDirection_rgkom",
36
+ "__SPolygon": "___SPolygon_rgkom_gg_",
37
+ "_color": "__color_rgkom_gg_",
38
+ "--color": "--color_rgkom",
39
+ "_pattern": "__pattern_rgkom_gg_",
40
+ "--pattern": "--pattern_rgkom",
41
+ "__SPolygonDot": "___SPolygonDot_rgkom_gg_",
42
+ "_transparent": "__transparent_rgkom_gg_",
43
+ "__SPolygonLine": "___SPolygonLine_rgkom_gg_",
44
+ "__SPieRect": "___SPieRect_rgkom_gg_"
45
45
  });
46
46
  const clampAngle = angle => {
47
47
  angle = angle % (2 * Math.PI);
@@ -17,20 +17,20 @@ var _createElement = _interopRequireDefault(require("./createElement"));
17
17
  var _Pattern = require("./Pattern");
18
18
  var _utils = require("./utils");
19
19
  /*!__reshadow-styles__:"./style/radial-tree.shadow.css"*/
20
- const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SRadian_56jyw_gg_{cursor:pointer;fill:var(--intergalactic-text-large-info, #008ff8)}.___SLine_56jyw_gg_{stroke:var(--intergalactic-text-large-info, #008ff8)}.___SLine_56jyw_gg_.__stroke_56jyw_gg_{stroke:var(--stroke_56jyw)}.___SLine_56jyw_gg_.__transparent_56jyw_gg_{opacity:.3}.___SCap_56jyw_gg_{transition:r .1s}.___SCap_56jyw_gg_.__pattern_56jyw_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:1px}.___SCap_56jyw_gg_.__transparent_56jyw_gg_,.___SIcon_56jyw_gg_.__transparent_56jyw_gg_,.___SLabel_56jyw_gg_.__transparent_56jyw_gg_{opacity:.3}.___SLabel_56jyw_gg_{fill:var(--color_56jyw)}@media (hover:hover){.___SRadian_56jyw_gg_:hover .___SLabel_56jyw_gg_{cursor:pointer;filter:brightness(.6)}}@media (prefers-reduced-motion){.___SLineCap_56jyw_gg_{transition:none}}", /*__inner_css_end__*/"56jyw_gg_"),
20
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SRadian_1xb4i_gg_{cursor:pointer;fill:var(--intergalactic-text-large-info, #008ff8)}.___SLine_1xb4i_gg_{stroke:var(--intergalactic-text-large-info, #008ff8)}.___SLine_1xb4i_gg_.__stroke_1xb4i_gg_{stroke:var(--stroke_1xb4i)}.___SLine_1xb4i_gg_.__transparent_1xb4i_gg_{opacity:.3}.___SCap_1xb4i_gg_{transition:r .1s}.___SCap_1xb4i_gg_.__pattern_1xb4i_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:1px}.___SCap_1xb4i_gg_.__transparent_1xb4i_gg_,.___SIcon_1xb4i_gg_.__transparent_1xb4i_gg_,.___SLabel_1xb4i_gg_.__transparent_1xb4i_gg_{opacity:.3}.___SLabel_1xb4i_gg_{fill:var(--color_1xb4i)}@media (hover:hover){.___SRadian_1xb4i_gg_:hover .___SLabel_1xb4i_gg_{cursor:pointer;filter:brightness(.6)}}@media (prefers-reduced-motion){.___SLineCap_1xb4i_gg_{transition:none}}", /*__inner_css_end__*/"1xb4i_gg_"),
21
21
  /*__reshadow_css_end__*/
22
22
  {
23
- "__SRadian": "___SRadian_56jyw_gg_",
24
- "__SLine": "___SLine_56jyw_gg_",
25
- "_stroke": "__stroke_56jyw_gg_",
26
- "--stroke": "--stroke_56jyw",
27
- "_transparent": "__transparent_56jyw_gg_",
28
- "__SCap": "___SCap_56jyw_gg_",
29
- "_pattern": "__pattern_56jyw_gg_",
30
- "__SIcon": "___SIcon_56jyw_gg_",
31
- "__SLabel": "___SLabel_56jyw_gg_",
32
- "--color": "--color_56jyw",
33
- "__SLineCap": "___SLineCap_56jyw_gg_"
23
+ "__SRadian": "___SRadian_1xb4i_gg_",
24
+ "__SLine": "___SLine_1xb4i_gg_",
25
+ "_stroke": "__stroke_1xb4i_gg_",
26
+ "--stroke": "--stroke_1xb4i",
27
+ "_transparent": "__transparent_1xb4i_gg_",
28
+ "__SCap": "___SCap_1xb4i_gg_",
29
+ "_pattern": "__pattern_1xb4i_gg_",
30
+ "__SIcon": "___SIcon_1xb4i_gg_",
31
+ "__SLabel": "___SLabel_1xb4i_gg_",
32
+ "--color": "--color_1xb4i",
33
+ "__SLineCap": "___SLineCap_1xb4i_gg_"
34
34
  });
35
35
  const baseAngle = -Math.PI / 2; // The top vertical line
36
36
 
@@ -12,20 +12,20 @@ var _react = _interopRequireDefault(require("react"));
12
12
  var _createElement = _interopRequireDefault(require("./createElement"));
13
13
  var _utils = require("./utils");
14
14
  /*!__reshadow-styles__:"./style/reference.shadow.css"*/
15
- const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SReferenceLine_1w6r5_gg_{fill:none;stroke:var(--intergalactic-chart-grid-y-accent-hover-line, #a9abb6)}.___STitle_1w6r5_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_1w6r5)}.___STitle_1w6r5_gg_._position_top_1w6r5_gg_{text-anchor:middle}.___STitle_1w6r5_gg_._position_bottom_1w6r5_gg_{text-anchor:middle;dominant-baseline:hanging}.___STitle_1w6r5_gg_._position_left_1w6r5_gg_,.___STitle_1w6r5_gg_._position_right_1w6r5_gg_{transform:rotate(-90deg);text-anchor:middle;dominant-baseline:middle}.___SBackground_1w6r5_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}.___SStripes_1w6r5_gg_{fill:var(--fill_1w6r5)}.___SStripesPatternPath_1w6r5_gg_{stroke:var(--intergalactic-chart-grid-period-pattern, rgba(25, 27, 35, 0.15));stroke-width:1px}", /*__inner_css_end__*/"1w6r5_gg_"),
15
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SReferenceLine_112b5_gg_{fill:none;stroke:var(--intergalactic-chart-grid-y-accent-hover-line, #a9abb6)}.___STitle_112b5_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_112b5)}.___STitle_112b5_gg_._position_top_112b5_gg_{text-anchor:middle}.___STitle_112b5_gg_._position_bottom_112b5_gg_{text-anchor:middle;dominant-baseline:hanging}.___STitle_112b5_gg_._position_left_112b5_gg_,.___STitle_112b5_gg_._position_right_112b5_gg_{transform:rotate(-90deg);text-anchor:middle;dominant-baseline:middle}.___SBackground_112b5_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}.___SStripes_112b5_gg_{fill:var(--fill_112b5)}.___SStripesPatternPath_112b5_gg_{stroke:var(--intergalactic-chart-grid-period-pattern, rgba(25, 27, 35, 0.15));stroke-width:1px}", /*__inner_css_end__*/"112b5_gg_"),
16
16
  /*__reshadow_css_end__*/
17
17
  {
18
- "__SReferenceLine": "___SReferenceLine_1w6r5_gg_",
19
- "__STitle": "___STitle_1w6r5_gg_",
20
- "--transform-origin": "--transform-origin_1w6r5",
21
- "_position_top": "_position_top_1w6r5_gg_",
22
- "_position_bottom": "_position_bottom_1w6r5_gg_",
23
- "_position_right": "_position_right_1w6r5_gg_",
24
- "_position_left": "_position_left_1w6r5_gg_",
25
- "__SBackground": "___SBackground_1w6r5_gg_",
26
- "__SStripes": "___SStripes_1w6r5_gg_",
27
- "--fill": "--fill_1w6r5",
28
- "__SStripesPatternPath": "___SStripesPatternPath_1w6r5_gg_"
18
+ "__SReferenceLine": "___SReferenceLine_112b5_gg_",
19
+ "__STitle": "___STitle_112b5_gg_",
20
+ "--transform-origin": "--transform-origin_112b5",
21
+ "_position_top": "_position_top_112b5_gg_",
22
+ "_position_bottom": "_position_bottom_112b5_gg_",
23
+ "_position_right": "_position_right_112b5_gg_",
24
+ "_position_left": "_position_left_112b5_gg_",
25
+ "__SBackground": "___SBackground_112b5_gg_",
26
+ "__SStripes": "___SStripes_112b5_gg_",
27
+ "--fill": "--fill_112b5",
28
+ "__SStripesPatternPath": "___SStripesPatternPath_112b5_gg_"
29
29
  });
30
30
  const side2direction = {
31
31
  left: 'vertical',
@@ -16,17 +16,17 @@ var _Pattern = require("./Pattern");
16
16
  var _Tooltip = _interopRequireDefault(require("./Tooltip"));
17
17
  var _utils = require("./utils");
18
18
  /*!__reshadow-styles__:"./style/scatterplot.shadow.css"*/
19
- const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SScatterPlot_8h4j7_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_8h4j7);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_8h4j7_gg_:hover{opacity:.8}}.___SScatterPlot_8h4j7_gg_.__color_8h4j7_gg_{fill:var(--color_8h4j7)}.___SScatterPlot_8h4j7_gg_.__pattern_8h4j7_gg_.__color_8h4j7_gg_{fill:var(--pattern_8h4j7);stroke:var(--color_8h4j7);stroke-width:1px}.___SScatterPlot_8h4j7_gg_.__transparent_8h4j7_gg_{opacity:.3}.___SValue_8h4j7_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_8h4j7_gg_.__color_8h4j7_gg_{stroke:var(--color_8h4j7)}.___SValue_8h4j7_gg_.__transparent_8h4j7_gg_{opacity:.3}", /*__inner_css_end__*/"8h4j7_gg_"),
19
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SScatterPlot_1fqya_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_1fqya);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_1fqya_gg_:hover{opacity:.8}}.___SScatterPlot_1fqya_gg_.__color_1fqya_gg_{fill:var(--color_1fqya)}.___SScatterPlot_1fqya_gg_.__pattern_1fqya_gg_.__color_1fqya_gg_{fill:var(--pattern_1fqya);stroke:var(--color_1fqya);stroke-width:1px}.___SScatterPlot_1fqya_gg_.__transparent_1fqya_gg_{opacity:.3}.___SValue_1fqya_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_1fqya_gg_.__color_1fqya_gg_{stroke:var(--color_1fqya)}.___SValue_1fqya_gg_.__transparent_1fqya_gg_{opacity:.3}", /*__inner_css_end__*/"1fqya_gg_"),
20
20
  /*__reshadow_css_end__*/
21
21
  {
22
- "__SScatterPlot": "___SScatterPlot_8h4j7_gg_",
23
- "_color": "__color_8h4j7_gg_",
24
- "--color": "--color_8h4j7",
25
- "_pattern": "__pattern_8h4j7_gg_",
26
- "--pattern": "--pattern_8h4j7",
27
- "_transparent": "__transparent_8h4j7_gg_",
28
- "__SValue": "___SValue_8h4j7_gg_",
29
- "--duration": "--duration_8h4j7"
22
+ "__SScatterPlot": "___SScatterPlot_1fqya_gg_",
23
+ "_color": "__color_1fqya_gg_",
24
+ "--color": "--color_1fqya",
25
+ "_pattern": "__pattern_1fqya_gg_",
26
+ "--pattern": "--pattern_1fqya",
27
+ "_transparent": "__transparent_1fqya_gg_",
28
+ "__SValue": "___SValue_1fqya_gg_",
29
+ "--duration": "--duration_1fqya"
30
30
  });
31
31
  class ScatterPlotRoot extends _core.Component {
32
32
  constructor(...args) {
@@ -15,17 +15,17 @@ var _createElement = _interopRequireDefault(require("./createElement"));
15
15
  var _Pattern = require("./Pattern");
16
16
  var _utils = require("./utils");
17
17
  /*!__reshadow-styles__:"./style/tooltip.shadow.css"*/
18
- const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___STooltip_ieg87_gg_{font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);border:1px solid var(--intergalactic-border-secondary, #e0e1e9);box-sizing:border-box;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));padding:var(--intergalactic-spacing-3x, 12px)}.___STitle_ieg87_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SDotGroup_ieg87_gg_{display:flex;align-items:center}.___SDot_ieg87_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDotCircle_ieg87_gg_.__color_ieg87_gg_{background-color:var(--color_ieg87);width:8px;height:8px;border-radius:50%}.___SFooter_ieg87_gg_{background:var(--intergalactic-bg-secondary-neutral, #f4f5f9);padding:var(--intergalactic-spacing-1x, 4px) var(--intergalactic-spacing-3x, 12px);border-radius:0 0 var(--intergalactic-rounded-medium, 6px) var(--intergalactic-rounded-medium, 6px);margin:var(--intergalactic-spacing-3x, 12px) calc(-1*var(--intergalactic-spacing-3x, 12px)) calc(-1*var(--intergalactic-spacing-3x, 12px))}", /*__inner_css_end__*/"ieg87_gg_"),
18
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___STooltip_942l4_gg_{font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);border:1px solid var(--intergalactic-border-secondary, #e0e1e9);box-sizing:border-box;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));padding:var(--intergalactic-spacing-3x, 12px)}.___STitle_942l4_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SDotGroup_942l4_gg_{display:flex;align-items:center}.___SDot_942l4_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDotCircle_942l4_gg_.__color_942l4_gg_{background-color:var(--color_942l4);width:8px;height:8px;border-radius:50%}.___SFooter_942l4_gg_{background:var(--intergalactic-bg-secondary-neutral, #f4f5f9);padding:var(--intergalactic-spacing-1x, 4px) var(--intergalactic-spacing-3x, 12px);border-radius:0 0 var(--intergalactic-rounded-medium, 6px) var(--intergalactic-rounded-medium, 6px);margin:var(--intergalactic-spacing-3x, 12px) calc(-1*var(--intergalactic-spacing-3x, 12px)) calc(-1*var(--intergalactic-spacing-3x, 12px))}", /*__inner_css_end__*/"942l4_gg_"),
19
19
  /*__reshadow_css_end__*/
20
20
  {
21
- "__STooltip": "___STooltip_ieg87_gg_",
22
- "__STitle": "___STitle_ieg87_gg_",
23
- "__SDotGroup": "___SDotGroup_ieg87_gg_",
24
- "__SDot": "___SDot_ieg87_gg_",
25
- "__SDotCircle": "___SDotCircle_ieg87_gg_",
26
- "_color": "__color_ieg87_gg_",
27
- "--color": "--color_ieg87",
28
- "__SFooter": "___SFooter_ieg87_gg_"
21
+ "__STooltip": "___STooltip_942l4_gg_",
22
+ "__STitle": "___STitle_942l4_gg_",
23
+ "__SDotGroup": "___SDotGroup_942l4_gg_",
24
+ "__SDot": "___SDot_942l4_gg_",
25
+ "__SDotCircle": "___SDotCircle_942l4_gg_",
26
+ "_color": "__color_942l4_gg_",
27
+ "--color": "--color_942l4",
28
+ "__SFooter": "___SFooter_942l4_gg_"
29
29
  });
30
30
  /**
31
31
  * `TooltipDotRenderContext` is a hack to bypass problem that getDotProps doesn't work for D3 tooltip.
package/lib/cjs/Venn.js CHANGED
@@ -19,17 +19,17 @@ var _Pattern = require("./Pattern");
19
19
  var _Tooltip = _interopRequireDefault(require("./Tooltip"));
20
20
  var _utils = require("./utils");
21
21
  /*!__reshadow-styles__:"./style/venn.shadow.css"*/
22
- const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SCircle_1irr3_gg_,.___SIntersection_1irr3_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px}.___SCircle_1irr3_gg_{fill:var(--intergalactic-chart-palette-order-2, #59ddaa);fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_1irr3);transition-timing-function:ease-in-out}@media (hover:hover){.___SCircle_1irr3_gg_:hover{fill-opacity:.7}}.___SCircle_1irr3_gg_.__color_1irr3_gg_{fill:var(--color_1irr3)}.___SCircle_1irr3_gg_.__pattern_1irr3_gg_.__color_1irr3_gg_{fill:var(--pattern_1irr3);fill-opacity:.7;stroke:var(--color_1irr3);stroke-width:1px}@media (hover:hover){.___SCircle_1irr3_gg_.__pattern_1irr3_gg_.__color_1irr3_gg_:hover{fill-opacity:.85}}.___SCircle_1irr3_gg_.__transparent_1irr3_gg_{opacity:.3}.___SIntersection_1irr3_gg_{fill-opacity:0}@media (hover:hover){.___SIntersection_1irr3_gg_:hover{fill-opacity:.1}}.___SIntersection_1irr3_gg_.__transparent_1irr3_gg_{opacity:.3}", /*__inner_css_end__*/"1irr3_gg_"),
22
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SCircle_1pi5b_gg_,.___SIntersection_1pi5b_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px}.___SCircle_1pi5b_gg_{fill:var(--intergalactic-chart-palette-order-2, #59ddaa);fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_1pi5b);transition-timing-function:ease-in-out}@media (hover:hover){.___SCircle_1pi5b_gg_:hover{fill-opacity:.7}}.___SCircle_1pi5b_gg_.__color_1pi5b_gg_{fill:var(--color_1pi5b)}.___SCircle_1pi5b_gg_.__pattern_1pi5b_gg_.__color_1pi5b_gg_{fill:var(--pattern_1pi5b);fill-opacity:.7;stroke:var(--color_1pi5b);stroke-width:1px}@media (hover:hover){.___SCircle_1pi5b_gg_.__pattern_1pi5b_gg_.__color_1pi5b_gg_:hover{fill-opacity:.85}}.___SCircle_1pi5b_gg_.__transparent_1pi5b_gg_{opacity:.3}.___SIntersection_1pi5b_gg_{fill-opacity:0}@media (hover:hover){.___SIntersection_1pi5b_gg_:hover{fill-opacity:.1}}.___SIntersection_1pi5b_gg_.__transparent_1pi5b_gg_{opacity:.3}", /*__inner_css_end__*/"1pi5b_gg_"),
23
23
  /*__reshadow_css_end__*/
24
24
  {
25
- "__SCircle": "___SCircle_1irr3_gg_",
26
- "_color": "__color_1irr3_gg_",
27
- "--color": "--color_1irr3",
28
- "_transparent": "__transparent_1irr3_gg_",
29
- "__SIntersection": "___SIntersection_1irr3_gg_",
30
- "--duration": "--duration_1irr3",
31
- "_pattern": "__pattern_1irr3_gg_",
32
- "--pattern": "--pattern_1irr3"
25
+ "__SCircle": "___SCircle_1pi5b_gg_",
26
+ "_color": "__color_1pi5b_gg_",
27
+ "--color": "--color_1pi5b",
28
+ "_transparent": "__transparent_1pi5b_gg_",
29
+ "__SIntersection": "___SIntersection_1pi5b_gg_",
30
+ "--duration": "--duration_1pi5b",
31
+ "_pattern": "__pattern_1pi5b_gg_",
32
+ "--pattern": "--pattern_1pi5b"
33
33
  });
34
34
  class VennRoot extends _core.Component {
35
35
  constructor(...args) {
@@ -14,10 +14,10 @@ var _react = _interopRequireDefault(require("react"));
14
14
  var _locale = require("./locale");
15
15
  var _intergalacticDynamicLocales = require("./translations/module/__intergalactic-dynamic-locales");
16
16
  /*!__reshadow-styles__:"../style/plotA11yModule.shadow.css"*/
17
- const styles = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPlotA11yModule_18nes_gg_{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0,}", /*__inner_css_end__*/"18nes_gg_"),
17
+ const styles = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPlotA11yModule_1t4qj_gg_{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0,}", /*__inner_css_end__*/"1t4qj_gg_"),
18
18
  /*__reshadow_css_end__*/
19
19
  {
20
- "__SPlotA11yModule": "___SPlotA11yModule_18nes_gg_"
20
+ "__SPlotA11yModule": "___SPlotA11yModule_1t4qj_gg_"
21
21
  });
22
22
  function PlotA11yModule(props) {
23
23
  var _ref = arguments[0],
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.PlotA11yView = void 0;
7
+ exports.PlotA11yView = PlotA11yView;
8
8
  var _core = require("@semcore/core");
9
9
  var _baseComponents = require("@semcore/base-components");
10
10
  var _i18nEnhance = require("@semcore/core/lib/utils/enhances/i18nEnhance");
@@ -16,12 +16,12 @@ var _intl = require("./intl");
16
16
  var _summarize = require("./summarize");
17
17
  var _intergalacticDynamicLocales = require("./translations/view/__intergalactic-dynamic-locales");
18
18
  /*!__reshadow-styles__:"../style/plotA11yView.shadow.css"*/
19
- const styles = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPlotA11yView_9ugu2_gg_{position:relative;display:block;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);border:3px solid var(--intergalactic-border-primary, #c4c7cf);font-size:var(--intergalactic-fs-50, 10px);z-index:var(--intergalactic-z-index-overlay, 500);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}.___SPlotA11yView_9ugu2_gg_ a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x, 8px);display:block}.___SPlotA11yView_9ugu2_gg_ table,.___SPlotA11yView_9ugu2_gg_ td,.___SPlotA11yView_9ugu2_gg_ th{border:1px solid var(--intergalactic-border-primary, #c4c7cf)}", /*__inner_css_end__*/"9ugu2_gg_"),
19
+ const styles = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPlotA11yView_1h3zj_gg_{position:relative;display:block;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);border:3px solid var(--intergalactic-border-primary, #c4c7cf);font-size:var(--intergalactic-fs-50, 10px);z-index:var(--intergalactic-z-index-overlay, 500);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}.___SPlotA11yView_1h3zj_gg_ a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x, 8px);display:block}.___SPlotA11yView_1h3zj_gg_ table,.___SPlotA11yView_1h3zj_gg_ td,.___SPlotA11yView_1h3zj_gg_ th{border:1px solid var(--intergalactic-border-primary, #c4c7cf)}", /*__inner_css_end__*/"1h3zj_gg_"),
20
20
  /*__reshadow_css_end__*/
21
21
  {
22
- "__SPlotA11yView": "___SPlotA11yView_9ugu2_gg_"
22
+ "__SPlotA11yView": "___SPlotA11yView_1h3zj_gg_"
23
23
  });
24
- const PlotA11yView = ({
24
+ function PlotA11yView({
25
25
  id,
26
26
  payload: providedData,
27
27
  hints,
@@ -31,7 +31,7 @@ const PlotA11yView = ({
31
31
  config: providedConfig,
32
32
  locale,
33
33
  onCloseHandler
34
- }) => {
34
+ }) {
35
35
  var _ref = arguments[0],
36
36
  _ref2;
37
37
  const SPlotA11yView = _baseComponents.Box;
@@ -157,6 +157,6 @@ const PlotA11yView = ({
157
157
  "config": config,
158
158
  "intl": intl
159
159
  })));
160
- };
161
- exports.PlotA11yView = PlotA11yView;
160
+ }
161
+ ;
162
162
  //# sourceMappingURL=PlotA11yView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlotA11yView.js","names":["_core","require","_baseComponents","_i18nEnhance","_react","_interopRequireDefault","_DataAccessibilityTable","_focus","_hints","_intl","_summarize","_intergalacticDynamicLocales","styles","sstyled","insert","PlotA11yView","id","payload","providedData","hints","plotLabel","triggerRef","plotRef","config","providedConfig","locale","onCloseHandler","_ref","arguments[0]","_ref2","SPlotA11yView","Box","translations","useAsyncI18nMessages","localizedMessages","intl","React","useMemo","getIntl","makeDataSummarizationConfig","data","Array","isArray","rootRef","useRef","summary","setSummary","useState","generatingSummary","setGeneratingSummary","useEffect","current","focus","focusOutHandler","event","relatedTarget","requestIdleCallback","HTMLElement","contains","addEventListener","removeEventListener","disable","override","setTimeout","summarize","handleClose","useCallback","handleSkip","preventDefault","heavyFindNextFocusableElement","handleSkipKeyboard","key","handleGoToTable","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","default","createElement","cn","assignProps","DataAccessibilityTable","exports"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { Root, sstyled } from '@semcore/core';\nimport { useAsyncI18nMessages } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport React from 'react';\n\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\n\nexport type A11yViewProps = {\n id: string;\n payload: Record<string, unknown>[];\n hints: DataStructureHints;\n plotLabel: string;\n locale: NavigatorLanguage['language'];\n config: PartialDataSummarizationConfig;\n\n plotRef: React.RefObject<HTMLElement>;\n triggerRef: React.RefObject<HTMLElement>;\n onCloseHandler: () => void;\n};\n\nexport const PlotA11yView: React.FC<A11yViewProps> = ({\n id,\n payload: providedData,\n hints,\n plotLabel,\n triggerRef,\n plotRef,\n config: providedConfig,\n locale,\n onCloseHandler,\n}) => {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n rootRef.current?.focus();\n\n function focusOutHandler(event: FocusEvent) {\n if (event.relatedTarget === null) {\n return requestIdleCallback(onCloseHandler);\n }\n\n if (!(event.relatedTarget instanceof HTMLElement)) return;\n\n if (rootRef.current?.contains(event.relatedTarget)) return;\n\n requestIdleCallback(onCloseHandler);\n }\n\n rootRef.current?.addEventListener('focusout', focusOutHandler);\n return () => rootRef.current?.removeEventListener('focusout', focusOutHandler);\n }, []);\n\n React.useEffect(() => {\n if (config.disable) {\n setSummary('');\n setGeneratingSummary(false);\n return;\n }\n if (config.override) {\n setSummary(config.override);\n setGeneratingSummary(false);\n return;\n }\n setTimeout(() => {\n setSummary(summarize(providedData, hints, config, locale, translations, localizedMessages));\n setGeneratingSummary(false);\n }, 0);\n }, [providedData, hints, config, locale, translations, localizedMessages]);\n\n const handleClose = React.useCallback(() => {\n onCloseHandler();\n\n requestIdleCallback(() => {\n triggerRef.current?.focus();\n });\n }, []);\n const handleSkip = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n if (!plotRef.current) return;\n\n heavyFindNextFocusableElement(plotRef.current)?.focus();\n\n onCloseHandler();\n }, []);\n const handleSkipKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleSkip(event);\n },\n [handleSkip],\n );\n const handleGoToTable = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n dataTableRef.current?.focus();\n }, []);\n const handleGoToTableKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleGoToTable(event);\n },\n [handleGoToTable],\n );\n\n const texts = React.useMemo(\n () => ({\n label: intl.formatMessage(\n { id: 'view-label' },\n { plotLabel: plotLabel ?? intl.formatMessage({ id: 'view-default-plot-label' }) },\n ),\n close: intl.formatMessage({ id: 'view-close' }),\n skipPlot: intl.formatMessage({ id: 'view-skip-plot' }),\n goToTable: intl.formatMessage({ id: 'view-go-to-table' }),\n summary: intl.formatMessage({ id: 'view-data-summary' }),\n summaryPlaceholder: intl.formatMessage({ id: 'view-summary-placeholder' }),\n table: intl.formatMessage({ id: 'view-table' }),\n }),\n [intl, plotLabel],\n );\n\n const dataTableRef = React.useRef<HTMLTableElement>(null);\n\n return sstyled(styles)(\n <SPlotA11yView\n render={Box}\n tabIndex={0}\n aria-label={texts.label}\n role='dialog'\n __excludeProps={['data']}\n ref={rootRef}\n >\n <button type='button' onClick={handleClose}>\n {texts.close}\n </button>\n <a href='#' onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\n <a href={`#${id}-data-table`} onKeyDown={handleGoToTableKeyboard} onClick={handleGoToTable}>\n {texts.goToTable}\n </a>\n <strong>\n <label htmlFor={`${id}-data-summary`}>{texts.summary}</label>\n </strong>\n <div id={`${id}-data-summary`} aria-busy={generatingSummary}>\n {generatingSummary ? texts.summaryPlaceholder : summary}\n </div>\n <strong>\n <label htmlFor={`${id}-data-table`}>{texts.table}</label>\n </strong>\n <DataAccessibilityTable\n id={id}\n dataTableRef={dataTableRef}\n data={data}\n hints={hints}\n config={config}\n intl={intl}\n />\n </SPlotA11yView>,\n ) as React.ReactElement;\n};\n"],"mappings":";;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEA,IAAAK,uBAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAEA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AAEA,IAAAU,4BAAA,GAAAV,OAAA;AAAwF;AAAA,MAAAW,MAAA,8BAAAZ,KAAA,CAAAa,OAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;AAAA;AAejF,MAAMC,YAAqC,GAAGA,CAAC;EACpDC,EAAE;EACFC,OAAO,EAAEC,YAAY;EACrBC,KAAK;EACLC,SAAS;EACTC,UAAU;EACVC,OAAO;EACPC,MAAM,EAAEC,cAAc;EACtBC,MAAM;EACNC;AACF,CAAC,KAAK;EAAA,IAAAC,IAAA,GAAAC,YAAA;IAAAC,KAAA;EACJ,MAAMC,aAAa,GA4GPC,mBAAG;EA3Gf,MAAMC,YAAY,GAAG,IAAAC,iCAAoB,EAACC,8CAAiB,EAAET,MAAM,CAAC;EACpE,MAAMU,IAAI,GAAGC,cAAK,CAACC,OAAO,CACxB,MAAM,IAAAC,aAAO,EAACb,MAAM,EAAEO,YAAY,EAAEE,8CAAiB,CAAC,EACtD,CAACT,MAAM,EAAEO,YAAY,EAAEE,8CAAiB,CAC1C,CAAC;EACD,MAAMX,MAAM,GAAGa,cAAK,CAACC,OAAO,CAAC,MAAM,IAAAE,kCAA2B,EAACf,cAAc,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EACjG,MAAMgB,IAAI,GAAGJ,cAAK,CAACC,OAAO,CACxB,MAAOI,KAAK,CAACC,OAAO,CAACxB,YAAY,CAAC,GAAGA,YAAY,GAAG,CAACA,YAAY,CAAE,EACnE,CAACA,YAAY,CACf,CAAC;EACD,MAAMyB,OAAO,GAAGP,cAAK,CAACQ,MAAM,CAAiB,IAAI,CAAC;EAElD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGV,cAAK,CAACW,QAAQ,CAAgB,IAAI,CAAC;EACjE,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGb,cAAK,CAACW,QAAQ,CAAC,IAAI,CAAC;EAEtEX,cAAK,CAACc,SAAS,CAAC,MAAM;IACpBP,OAAO,CAACQ,OAAO,EAAEC,KAAK,CAAC,CAAC;IAExB,SAASC,eAAeA,CAACC,KAAiB,EAAE;MAC1C,IAAIA,KAAK,CAACC,aAAa,KAAK,IAAI,EAAE;QAChC,OAAOC,mBAAmB,CAAC9B,cAAc,CAAC;MAC5C;MAEA,IAAI,EAAE4B,KAAK,CAACC,aAAa,YAAYE,WAAW,CAAC,EAAE;MAEnD,IAAId,OAAO,CAACQ,OAAO,EAAEO,QAAQ,CAACJ,KAAK,CAACC,aAAa,CAAC,EAAE;MAEpDC,mBAAmB,CAAC9B,cAAc,CAAC;IACrC;IAEAiB,OAAO,CAACQ,OAAO,EAAEQ,gBAAgB,CAAC,UAAU,EAAEN,eAAe,CAAC;IAC9D,OAAO,MAAMV,OAAO,CAACQ,OAAO,EAAES,mBAAmB,CAAC,UAAU,EAAEP,eAAe,CAAC;EAChF,CAAC,EAAE,EAAE,CAAC;EAENjB,cAAK,CAACc,SAAS,CAAC,MAAM;IACpB,IAAI3B,MAAM,CAACsC,OAAO,EAAE;MAClBf,UAAU,CAAC,EAAE,CAAC;MACdG,oBAAoB,CAAC,KAAK,CAAC;MAC3B;IACF;IACA,IAAI1B,MAAM,CAACuC,QAAQ,EAAE;MACnBhB,UAAU,CAACvB,MAAM,CAACuC,QAAQ,CAAC;MAC3Bb,oBAAoB,CAAC,KAAK,CAAC;MAC3B;IACF;IACAc,UAAU,CAAC,MAAM;MACfjB,UAAU,CAAC,IAAAkB,oBAAS,EAAC9C,YAAY,EAAEC,KAAK,EAAEI,MAAM,EAAEE,MAAM,EAAEO,YAAY,EAAEE,8CAAiB,CAAC,CAAC;MAC3Fe,oBAAoB,CAAC,KAAK,CAAC;IAC7B,CAAC,EAAE,CAAC,CAAC;EACP,CAAC,EAAE,CAAC/B,YAAY,EAAEC,KAAK,EAAEI,MAAM,EAAEE,MAAM,EAAEO,YAAY,EAAEE,8CAAiB,CAAC,CAAC;EAE1E,MAAM+B,WAAW,GAAG7B,cAAK,CAAC8B,WAAW,CAAC,MAAM;IAC1CxC,cAAc,CAAC,CAAC;IAEhB8B,mBAAmB,CAAC,MAAM;MACxBnC,UAAU,CAAC8B,OAAO,EAAEC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EACN,MAAMe,UAAU,GAAG/B,cAAK,CAAC8B,WAAW,CAAEZ,KAA2B,IAAK;IACpEA,KAAK,CAACc,cAAc,CAAC,CAAC;IACtB,IAAI,CAAC9C,OAAO,CAAC6B,OAAO,EAAE;IAEtB,IAAAkB,oCAA6B,EAAC/C,OAAO,CAAC6B,OAAO,CAAC,EAAEC,KAAK,CAAC,CAAC;IAEvD1B,cAAc,CAAC,CAAC;EAClB,CAAC,EAAE,EAAE,CAAC;EACN,MAAM4C,kBAAkB,GAAGlC,cAAK,CAAC8B,WAAW,CACzCZ,KAA0B,IAAK;IAC9B,IAAI,EAAEA,KAAK,CAACiB,GAAG,KAAK,OAAO,IAAIjB,KAAK,CAACiB,GAAG,KAAK,GAAG,CAAC,EAAE;IAEnDJ,UAAU,CAACb,KAAK,CAAC;EACnB,CAAC,EACD,CAACa,UAAU,CACb,CAAC;EACD,MAAMK,eAAe,GAAGpC,cAAK,CAAC8B,WAAW,CAAEZ,KAA2B,IAAK;IACzEA,KAAK,CAACc,cAAc,CAAC,CAAC;IACtBK,YAAY,CAACtB,OAAO,EAAEC,KAAK,CAAC,CAAC;EAC/B,CAAC,EAAE,EAAE,CAAC;EACN,MAAMsB,uBAAuB,GAAGtC,cAAK,CAAC8B,WAAW,CAC9CZ,KAA0B,IAAK;IAC9B,IAAI,EAAEA,KAAK,CAACiB,GAAG,KAAK,OAAO,IAAIjB,KAAK,CAACiB,GAAG,KAAK,GAAG,CAAC,EAAE;IAEnDC,eAAe,CAAClB,KAAK,CAAC;EACxB,CAAC,EACD,CAACkB,eAAe,CAClB,CAAC;EAED,MAAMG,KAAK,GAAGvC,cAAK,CAACC,OAAO,CACzB,OAAO;IACLuC,KAAK,EAAEzC,IAAI,CAAC0C,aAAa,CACvB;MAAE7D,EAAE,EAAE;IAAa,CAAC,EACpB;MAAEI,SAAS,EAAEA,SAAS,IAAIe,IAAI,CAAC0C,aAAa,CAAC;QAAE7D,EAAE,EAAE;MAA0B,CAAC;IAAE,CAClF,CAAC;IACD8D,KAAK,EAAE3C,IAAI,CAAC0C,aAAa,CAAC;MAAE7D,EAAE,EAAE;IAAa,CAAC,CAAC;IAC/C+D,QAAQ,EAAE5C,IAAI,CAAC0C,aAAa,CAAC;MAAE7D,EAAE,EAAE;IAAiB,CAAC,CAAC;IACtDgE,SAAS,EAAE7C,IAAI,CAAC0C,aAAa,CAAC;MAAE7D,EAAE,EAAE;IAAmB,CAAC,CAAC;IACzD6B,OAAO,EAAEV,IAAI,CAAC0C,aAAa,CAAC;MAAE7D,EAAE,EAAE;IAAoB,CAAC,CAAC;IACxDiE,kBAAkB,EAAE9C,IAAI,CAAC0C,aAAa,CAAC;MAAE7D,EAAE,EAAE;IAA2B,CAAC,CAAC;IAC1EkE,KAAK,EAAE/C,IAAI,CAAC0C,aAAa,CAAC;MAAE7D,EAAE,EAAE;IAAa,CAAC;EAChD,CAAC,CAAC,EACF,CAACmB,IAAI,EAAEf,SAAS,CAClB,CAAC;EAED,MAAMqD,YAAY,GAAGrC,cAAK,CAACQ,MAAM,CAAmB,IAAI,CAAC;EAEzD,OAAAf,KAAA,GAAO,IAAAhB,aAAO,EAACD,MAAM,CAAC,eACpBR,MAAA,CAAA+E,OAAA,CAAAC,aAAA,CAACtD,aAAa,EAAAD,KAAA,CAAAwD,EAAA;IAAA,OAAArF,KAAA,CAAAsF,WAAA;MAAA,YAEF,CAAC;MAAA,cACCX,KAAK,CAACC,KAAK;MAAA,QAClB,QAAQ;MAAA,kBACG,CAAC,MAAM,CAAC;MAAA,OACnBjC;IAAO,GAAAhB,IAAA;EAAA,iBAEZvB,MAAA,CAAA+E,OAAA,CAAAC,aAAA,WAAAvD,KAAA,CAAAwD,EAAA;IAAA,QAAa,QAAQ;IAAA,WAAUpB;EAAW,IACvCU,KAAK,CAACG,KACD,CAAC,eACT1E,MAAA,CAAA+E,OAAA,CAAAC,aAAA,MAAAvD,KAAA,CAAAwD,EAAA;IAAA,QAAQ,GAAG;IAAA,aAAYf,kBAAkB;IAAA,WAAWH;EAAU,IAC3DQ,KAAK,CAACI,QACN,CAAC,eACJ3E,MAAA,CAAA+E,OAAA,CAAAC,aAAA,MAAAvD,KAAA,CAAAwD,EAAA;IAAA,QAAS,IAAIrE,EAAE,aAAa;IAAA,aAAa0D,uBAAuB;IAAA,WAAWF;EAAe,IACvFG,KAAK,CAACK,SACN,CAAC,eACJ5E,MAAA,CAAA+E,OAAA,CAAAC,aAAA,WAAAvD,KAAA,CAAAwD,EAAA,6BACEjF,MAAA,CAAA+E,OAAA,CAAAC,aAAA,UAAAvD,KAAA,CAAAwD,EAAA;IAAA,WAAgB,GAAGrE,EAAE;EAAe,IAAG2D,KAAK,CAAC9B,OAAe,CACtD,CAAC,eACTzC,MAAA,CAAA+E,OAAA,CAAAC,aAAA,QAAAvD,KAAA,CAAAwD,EAAA;IAAA,MAAS,GAAGrE,EAAE,eAAe;IAAA,aAAagC;EAAiB,IACxDA,iBAAiB,GAAG2B,KAAK,CAACM,kBAAkB,GAAGpC,OAC7C,CAAC,eACNzC,MAAA,CAAA+E,OAAA,CAAAC,aAAA,WAAAvD,KAAA,CAAAwD,EAAA,6BACEjF,MAAA,CAAA+E,OAAA,CAAAC,aAAA,UAAAvD,KAAA,CAAAwD,EAAA;IAAA,WAAgB,GAAGrE,EAAE;EAAa,IAAG2D,KAAK,CAACO,KAAa,CAClD,CAAC,eACT9E,MAAA,CAAA+E,OAAA,CAAAC,aAAA,CAAC9E,uBAAA,CAAAiF,sBAAsB,EAAA1D,KAAA,CAAAwD,EAAA;IAAA,MACjBrE,EAAE;IAAA,gBACQyD,YAAY;IAAA,QACpBjC,IAAI;IAAA,SACHrB,KAAK;IAAA,UACJI,MAAM;IAAA,QACRY;EAAI,EACX,CACY,CAAC;AAEpB,CAAC;AAACqD,OAAA,CAAAzE,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"file":"PlotA11yView.js","names":["_core","require","_baseComponents","_i18nEnhance","_react","_interopRequireDefault","_DataAccessibilityTable","_focus","_hints","_intl","_summarize","_intergalacticDynamicLocales","styles","sstyled","insert","PlotA11yView","id","payload","providedData","hints","plotLabel","triggerRef","plotRef","config","providedConfig","locale","onCloseHandler","_ref","arguments[0]","_ref2","SPlotA11yView","Box","translations","useAsyncI18nMessages","localizedMessages","intl","React","useMemo","getIntl","makeDataSummarizationConfig","data","Array","isArray","rootRef","useRef","summary","setSummary","useState","generatingSummary","setGeneratingSummary","useEffect","current","focus","focusOutHandler","event","relatedTarget","requestIdleCallback","HTMLElement","contains","addEventListener","removeEventListener","disable","override","setTimeout","summarize","handleClose","useCallback","handleSkip","preventDefault","heavyFindNextFocusableElement","handleSkipKeyboard","key","handleGoToTable","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","default","createElement","cn","assignProps","DataAccessibilityTable"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { Root, sstyled } from '@semcore/core';\nimport { useAsyncI18nMessages } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport React from 'react';\n\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\n\nexport type A11yViewProps = {\n id: string;\n payload: Record<string, unknown>[];\n hints: DataStructureHints;\n plotLabel: string;\n locale: NavigatorLanguage['language'];\n config: PartialDataSummarizationConfig;\n\n plotRef: React.RefObject<HTMLElement>;\n triggerRef: React.RefObject<HTMLElement>;\n onCloseHandler: () => void;\n};\n\nexport function PlotA11yView({\n id,\n payload: providedData,\n hints,\n plotLabel,\n triggerRef,\n plotRef,\n config: providedConfig,\n locale,\n onCloseHandler,\n}: A11yViewProps) {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n rootRef.current?.focus();\n\n function focusOutHandler(event: FocusEvent) {\n if (event.relatedTarget === null) {\n return requestIdleCallback(onCloseHandler);\n }\n\n if (!(event.relatedTarget instanceof HTMLElement)) return;\n\n if (rootRef.current?.contains(event.relatedTarget)) return;\n\n requestIdleCallback(onCloseHandler);\n }\n\n rootRef.current?.addEventListener('focusout', focusOutHandler);\n return () => rootRef.current?.removeEventListener('focusout', focusOutHandler);\n }, []);\n\n React.useEffect(() => {\n if (config.disable) {\n setSummary('');\n setGeneratingSummary(false);\n return;\n }\n if (config.override) {\n setSummary(config.override);\n setGeneratingSummary(false);\n return;\n }\n setTimeout(() => {\n setSummary(summarize(providedData, hints, config, locale, translations, localizedMessages));\n setGeneratingSummary(false);\n }, 0);\n }, [providedData, hints, config, locale, translations, localizedMessages]);\n\n const handleClose = React.useCallback(() => {\n onCloseHandler();\n\n requestIdleCallback(() => {\n triggerRef.current?.focus();\n });\n }, []);\n const handleSkip = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n if (!plotRef.current) return;\n\n heavyFindNextFocusableElement(plotRef.current)?.focus();\n\n onCloseHandler();\n }, []);\n const handleSkipKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleSkip(event);\n },\n [handleSkip],\n );\n const handleGoToTable = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n dataTableRef.current?.focus();\n }, []);\n const handleGoToTableKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleGoToTable(event);\n },\n [handleGoToTable],\n );\n\n const texts = React.useMemo(\n () => ({\n label: intl.formatMessage(\n { id: 'view-label' },\n { plotLabel: plotLabel ?? intl.formatMessage({ id: 'view-default-plot-label' }) },\n ),\n close: intl.formatMessage({ id: 'view-close' }),\n skipPlot: intl.formatMessage({ id: 'view-skip-plot' }),\n goToTable: intl.formatMessage({ id: 'view-go-to-table' }),\n summary: intl.formatMessage({ id: 'view-data-summary' }),\n summaryPlaceholder: intl.formatMessage({ id: 'view-summary-placeholder' }),\n table: intl.formatMessage({ id: 'view-table' }),\n }),\n [intl, plotLabel],\n );\n\n const dataTableRef = React.useRef<HTMLTableElement>(null);\n\n return sstyled(styles)(\n <SPlotA11yView\n render={Box}\n tabIndex={0}\n aria-label={texts.label}\n role='dialog'\n __excludeProps={['data']}\n ref={rootRef}\n >\n <button type='button' onClick={handleClose}>\n {texts.close}\n </button>\n <a href='#' onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\n <a href={`#${id}-data-table`} onKeyDown={handleGoToTableKeyboard} onClick={handleGoToTable}>\n {texts.goToTable}\n </a>\n <strong>\n <label htmlFor={`${id}-data-summary`}>{texts.summary}</label>\n </strong>\n <div id={`${id}-data-summary`} aria-busy={generatingSummary}>\n {generatingSummary ? texts.summaryPlaceholder : summary}\n </div>\n <strong>\n <label htmlFor={`${id}-data-table`}>{texts.table}</label>\n </strong>\n <DataAccessibilityTable\n id={id}\n dataTableRef={dataTableRef}\n data={data}\n hints={hints}\n config={config}\n intl={intl}\n />\n </SPlotA11yView>,\n ) as React.ReactElement;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -20,12 +20,12 @@ var _ChartLegend = _interopRequireWildcard(require("../ChartLegend"));
20
20
  // @ts-ignore
21
21
  // @ts-ignore
22
22
  /*!__reshadow-styles__:"../../style/abstract-chart.shadow.css"*/
23
- const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___STooltipChildrenWrapper_135h8_gg_{display:grid;grid-column-gap:var(--intergalactic-spacing-2x, 8px);-moz-column-gap:var(--intergalactic-spacing-2x, 8px);column-gap:var(--intergalactic-spacing-2x, 8px)}.___STooltipChildrenWrapper_135h8_gg_._columnsCount_2_135h8_gg_{grid-template-columns:auto minmax(28px,max-content)}.___STooltipChildrenWrapper_135h8_gg_._columnsCount_3_135h8_gg_{grid-template-columns:auto minmax(28px,max-content) minmax(28px,max-content)}", /*__inner_css_end__*/"135h8_gg_"),
23
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___STooltipChildrenWrapper_16iik_gg_{display:grid;grid-column-gap:var(--intergalactic-spacing-2x, 8px);-moz-column-gap:var(--intergalactic-spacing-2x, 8px);column-gap:var(--intergalactic-spacing-2x, 8px)}.___STooltipChildrenWrapper_16iik_gg_._columnsCount_2_16iik_gg_{grid-template-columns:auto minmax(28px,max-content)}.___STooltipChildrenWrapper_16iik_gg_._columnsCount_3_16iik_gg_{grid-template-columns:auto minmax(28px,max-content) minmax(28px,max-content)}", /*__inner_css_end__*/"16iik_gg_"),
24
24
  /*__reshadow_css_end__*/
25
25
  {
26
- "__STooltipChildrenWrapper": "___STooltipChildrenWrapper_135h8_gg_",
27
- "_columnsCount_2": "_columnsCount_2_135h8_gg_",
28
- "_columnsCount_3": "_columnsCount_3_135h8_gg_"
26
+ "__STooltipChildrenWrapper": "___STooltipChildrenWrapper_16iik_gg_",
27
+ "_columnsCount_2": "_columnsCount_2_16iik_gg_",
28
+ "_columnsCount_3": "_columnsCount_3_16iik_gg_"
29
29
  });
30
30
  const NOT_A_VALUE = exports.NOT_A_VALUE = 'n/a';
31
31
  class AbstractChart extends _core.Component {
@@ -36,11 +36,6 @@ class AbstractChart extends _core.Component {
36
36
  */
37
37
  (0, _defineProperty2.default)(this, "plotPadding", 6);
38
38
  (0, _defineProperty2.default)(this, "dataHints", (0, _hints.makeDataHintsContainer)());
39
- (0, _defineProperty2.default)(this, "state", {
40
- dataDefinitions: this.getDefaultDataDefinitions(),
41
- highlightedLine: -1,
42
- withTrend: false
43
- });
44
39
  this.setHighlightedLine = this.setHighlightedLine.bind(this);
45
40
  this.handleChangeVisible = this.handleChangeVisible.bind(this);
46
41
  this.handleMouseEnter = this.handleMouseEnter.bind(this);
@@ -48,6 +43,11 @@ class AbstractChart extends _core.Component {
48
43
  this.resolveColor = this.resolveColor.bind(this);
49
44
  this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);
50
45
  this.handleWithTrendChange = this.handleWithTrendChange.bind(this);
46
+ this.state = {
47
+ dataDefinitions: this.getDefaultDataDefinitions(),
48
+ highlightedLine: -1,
49
+ withTrend: false
50
+ };
51
51
  }
52
52
  componentDidUpdate(prevProps) {
53
53
  if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {
@@ -236,18 +236,6 @@ class AbstractChart extends _core.Component {
236
236
  }
237
237
  return total;
238
238
  }
239
- percentValue(data, key) {
240
- const total = this.totalValue(data);
241
- const value = data[key];
242
- if (typeof value === 'number' && total !== 0) {
243
- const percent = Math.round(100 * value / total);
244
- return `${percent}%`;
245
- }
246
- if (value === null) {
247
- return `0%`;
248
- }
249
- return NOT_A_VALUE;
250
- }
251
239
  getValueScale(values) {
252
240
  const max = Math.max(...values);
253
241
  const min = Math.min(...values);
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractChart.js","names":["_core","require","_baseComponents","_ariaProps","_assignProps3","_typography","_react","_interopRequireWildcard","_","_hints","_utils","_ChartLegend","style","sstyled","insert","NOT_A_VALUE","exports","AbstractChart","Component","constructor","props","_defineProperty2","default","makeDataHintsContainer","dataDefinitions","getDefaultDataDefinitions","highlightedLine","withTrend","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","componentDidUpdate","prevProps","data","legendProps","setState","dataKeys","map","key","index","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","value","dataValue","Map","get","interpolateValue","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","Text","use","groupKey","keys","filter","xTicks","invertAxis","xTicksCount","yTicksCount","asProps","scale","xScale","ticks","yTicks","yScale","flatValues","result","item","add","entries","forEach","Set","maxStackedValue","max","val","barSum","Date","isNaN","getMilliseconds","totalValue","state","allNotAValue","legendItem","NaN","percentValue","Math","round","getValueScale","min","avg","log10","valueScale","isVisible","prevState","findIndex","line","colorMap","toDateString","toString","defaultLegendProps","legendType","renderLegend","direction","showLegend","patterns","length","lProps","commonLegendProps","dataHints","size","shape","w","h","disableSelectItems","callAllEventHandlers","onChangeVisibleItem","disableHoverItems","onMouseEnterItem","onMouseLeaveItem","getLegendAriaLabel","ChartLegendTable","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","multilineXTicks","multilineYTicks","childrenX","children","childrenY","Fragment","YAxis","Ticks","multiline","Grid","XAxis","getTooltipChildren","options","_ref","_ref3","STooltipChildrenWrapper","Box","Tooltip","dataItem","styles","title","Flex","cn","Title","assignProps","Dot","mr","textAlign","bold","renderTooltipTotalLine","showTotalInTooltip","mt","render","_ref2","_ref4","SChart","plotWidth","plotHeight","a11yAltTextConfig","duration","eventEmitter","showTooltip","extractedAriaProps","extractAriaProps","Plot","renderTooltip","renderChart"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { Flex, Box } from '@semcore/base-components';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { Text } from '@semcore/typography';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport React, { Fragment } from 'react';\n\nimport type { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\n// @ts-ignore\nimport type { HoverLine, HoverRect } from '../..';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { makeDataHintsContainer } from '../../a11y/hints';\nimport style from '../../style/abstract-chart.shadow.css';\nimport { interpolateValue } from '../../utils';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport type { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\nimport type { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport type { LegendTableProps } from '../ChartLegend/LegendTable/LegendTable.type';\n\ntype ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport const NOT_A_VALUE = 'n/a';\n\nexport abstract class AbstractChart<\n D extends ListData | ObjectData,\n T extends BaseChartProps<D>,\n E extends readonly ((...args: any[]) => any)[] = [],\n> extends Component<T, E, Readonly<{}>, {}, ChartState> {\n public static style = style;\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n public state: ChartState = {\n dataDefinitions: this.getDefaultDataDefinitions(),\n highlightedLine: -1,\n withTrend: false,\n };\n\n constructor(props: T) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n }\n\n public componentDidUpdate(prevProps: T) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.getDefaultDataDefinitions() });\n }\n }\n\n protected getDefaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n let value: number | undefined = undefined;\n let dataValue = data[key];\n\n if (data instanceof Map) {\n dataValue = data.get(key);\n }\n\n if (dataValue !== interpolateValue) {\n value = Number(dataValue);\n }\n\n const total = Object.values(data).reduce<number>((sum, i) => {\n if (i !== interpolateValue) {\n return sum + Number(i);\n }\n\n return sum;\n }, 0);\n const percent = value !== undefined ? ((value / total) * 100).toFixed(2) : undefined;\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use='secondary'>\n {percent !== undefined ? `${percent}%` : ''}\n </Text>,\n <Text key={`${key}_value`} use={value ? 'primary' : 'secondary'}>\n {value ?? NOT_A_VALUE}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract getLegendAriaLabel(): string;\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n let allNotAValue = true;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (item === null) {\n allNotAValue = false;\n return sum;\n }\n\n if (typeof item === 'number') {\n allNotAValue = false;\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n allNotAValue = false;\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (allNotAValue) {\n return Number.NaN;\n }\n\n return total;\n }\n\n protected percentValue(data: ObjectData, key: string): string {\n const total = this.totalValue(data);\n\n const value = data[key];\n\n if (typeof value === 'number' && total !== 0) {\n const percent = Math.round((100 * value) / total);\n\n return `${percent}%`;\n }\n\n if (value === null) {\n return `0%`;\n }\n\n return NOT_A_VALUE;\n }\n\n protected getValueScale(values: number[]): number {\n const max = Math.max(...values);\n const min = Math.min(...values);\n\n const avg = (max + min) / 2;\n const count = Math.round(Math.log10(avg));\n\n const valueScale = 100 / 10 ** count;\n\n return valueScale;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return NOT_A_VALUE;\n }\n\n if (value === null) {\n return '0';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend, patterns } = this.asProps;\n\n if (\n // we hide Legend for one item on chart except not manually set to show.\n showLegend === undefined && this.dataKeys.length === 1 ||\n showLegend === false\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps: LegendFlexProps | LegendTableProps = {\n 'dataHints': this.dataHints,\n 'items': dataDefinitions,\n 'size': lProps.size,\n 'shape': lProps.shape,\n 'w': lProps.w,\n 'h': lProps.h,\n patterns,\n 'direction':\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n 'onChangeVisibleItem': lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n 'onMouseEnterItem': lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n 'onMouseLeaveItem': lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n 'aria-label': this.getLegendAriaLabel(),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...(commonLegendProps as LegendTableProps)} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...(flexLegendProps as LegendFlexProps)} />;\n }\n\n return <ChartLegend {...(commonLegendProps as LegendFlexProps)} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const {\n invertAxis,\n showXAxis,\n showYAxis,\n data,\n axisXValueFormatter,\n axisYValueFormatter,\n multilineXTicks,\n multilineYTicks,\n } = this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks\n ? (\n <YAxis.Ticks multiline={multilineYTicks} ticks={yTicks}>{childrenY}</YAxis.Ticks>\n )\n : (\n <YAxis.Ticks multiline={multilineYTicks}>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks\n ? (\n <XAxis.Ticks multiline={multilineXTicks} ticks={xTicks}>{childrenX}</XAxis.Ticks>\n )\n : (\n <XAxis.Ticks multiline={multilineXTicks}>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n protected getTooltipChildren<D extends ObjectData>(options: {\n Tooltip: typeof HoverLine['Tooltip'] | typeof HoverRect['Tooltip'];\n dataItem: D;\n }) {\n const STooltipChildrenWrapper = Root;\n const { Tooltip, dataItem } = options;\n\n const { styles, groupKey } = this.asProps;\n const { dataDefinitions } = this.state;\n const title = dataItem[groupKey as keyof D]?.toString();\n\n return sstyled(styles)(\n <Flex direction='column'>\n { title && <Tooltip.Title>{title}</Tooltip.Title> }\n\n <STooltipChildrenWrapper\n render={Box}\n columnsCount='2'\n __excludeProps={['data']}\n >\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Fragment key={item.id}>\n <Tooltip.Dot mr={2} color={item.color}>\n {item.label}\n </Tooltip.Dot>\n <Text textAlign='end' bold>{this.tooltipValueFormatter(dataItem[item.id] as string)}</Text>\n </Fragment>\n )\n );\n })}\n\n {this.renderTooltipTotalLine(dataItem)}\n </STooltipChildrenWrapper>\n </Flex>,\n );\n }\n\n protected renderTooltipTotalLine<D extends ObjectData>(dataItem: D) {\n const { showTotalInTooltip } = this.asProps;\n\n if (!showTotalInTooltip) {\n return null;\n }\n\n const total = this.totalValue(dataItem);\n\n return (\n <>\n <Box mt={2} mr={2}>Total</Box>\n <Text mt={2} textAlign='end' bold>{Number.isNaN(total) ? NOT_A_VALUE : total}</Text>\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns, a11yAltTextConfig, duration, eventEmitter, showTooltip } =\n this.asProps;\n\n const { extractedAriaProps } = extractAriaProps(this.asProps);\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5} __excludeProps={['data', 'eventEmitter']} role='group'>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n a11yAltTextConfig={a11yAltTextConfig}\n patterns={patterns}\n duration={duration}\n eventEmitter={eventEmitter}\n {...extractedAriaProps}\n >\n {this.renderAxis()}\n {!showTooltip ? null : this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AbstractChart.js","names":["_core","require","_baseComponents","_ariaProps","_assignProps3","_typography","_react","_interopRequireWildcard","_","_hints","_utils","_ChartLegend","style","sstyled","insert","NOT_A_VALUE","exports","AbstractChart","Component","constructor","props","_defineProperty2","default","makeDataHintsContainer","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","state","dataDefinitions","getDefaultDataDefinitions","highlightedLine","withTrend","componentDidUpdate","prevProps","data","legendProps","setState","dataKeys","map","key","index","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","value","dataValue","Map","get","interpolateValue","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","Text","use","groupKey","keys","filter","xTicks","invertAxis","xTicksCount","yTicksCount","asProps","scale","xScale","ticks","yTicks","yScale","flatValues","result","item","add","entries","forEach","Set","maxStackedValue","max","val","barSum","Date","isNaN","getMilliseconds","totalValue","allNotAValue","legendItem","NaN","getValueScale","Math","min","avg","round","log10","valueScale","isVisible","prevState","findIndex","line","colorMap","toDateString","toString","defaultLegendProps","legendType","renderLegend","direction","showLegend","patterns","length","lProps","commonLegendProps","dataHints","size","shape","w","h","disableSelectItems","callAllEventHandlers","onChangeVisibleItem","disableHoverItems","onMouseEnterItem","onMouseLeaveItem","getLegendAriaLabel","ChartLegendTable","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","multilineXTicks","multilineYTicks","childrenX","children","childrenY","Fragment","YAxis","Ticks","multiline","Grid","XAxis","getTooltipChildren","options","_ref","_ref3","STooltipChildrenWrapper","Box","Tooltip","dataItem","styles","title","Flex","cn","Title","assignProps","Dot","mr","textAlign","bold","renderTooltipTotalLine","showTotalInTooltip","mt","render","_ref2","_ref4","SChart","plotWidth","plotHeight","a11yAltTextConfig","duration","eventEmitter","showTooltip","extractedAriaProps","extractAriaProps","Plot","renderTooltip","renderChart"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { Flex, Box } from '@semcore/base-components';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { Text } from '@semcore/typography';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport React, { Fragment } from 'react';\n\nimport type { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\n// @ts-ignore\nimport type { HoverLine, HoverRect } from '../..';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { makeDataHintsContainer } from '../../a11y/hints';\nimport style from '../../style/abstract-chart.shadow.css';\nimport { interpolateValue } from '../../utils';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport type { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\nimport type { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport type { LegendTableProps } from '../ChartLegend/LegendTable/LegendTable.type';\n\nexport type ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport const NOT_A_VALUE = 'n/a';\n\nexport abstract class AbstractChart<\n Data extends ListData | ObjectData,\n Props extends BaseChartProps<Data>,\n Enhancers extends readonly ((...args: any[]) => any)[] = [],\n DefaultProps = {},\n State extends ChartState = ChartState,\n> extends Component<Props, Enhancers, Readonly<{}>, DefaultProps, State> {\n public static style = style;\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n constructor(props: Props) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n\n this.state = {\n dataDefinitions: this.getDefaultDataDefinitions(),\n highlightedLine: -1,\n withTrend: false,\n } as State;\n }\n\n public componentDidUpdate(prevProps: Props) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.getDefaultDataDefinitions() });\n }\n }\n\n protected getDefaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n let value: number | undefined = undefined;\n let dataValue = data[key];\n\n if (data instanceof Map) {\n dataValue = data.get(key);\n }\n\n if (dataValue !== interpolateValue) {\n value = Number(dataValue);\n }\n\n const total = Object.values(data).reduce<number>((sum, i) => {\n if (i !== interpolateValue) {\n return sum + Number(i);\n }\n\n return sum;\n }, 0);\n const percent = value !== undefined ? ((value / total) * 100).toFixed(2) : undefined;\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use='secondary'>\n {percent !== undefined ? `${percent}%` : ''}\n </Text>,\n <Text key={`${key}_value`} use={value ? 'primary' : 'secondary'}>\n {value ?? NOT_A_VALUE}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract getLegendAriaLabel(): string;\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n let allNotAValue = true;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (item === null) {\n allNotAValue = false;\n return sum;\n }\n\n if (typeof item === 'number') {\n allNotAValue = false;\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n allNotAValue = false;\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (allNotAValue) {\n return Number.NaN;\n }\n\n return total;\n }\n\n protected getValueScale(values: number[]): number {\n const max = Math.max(...values);\n const min = Math.min(...values);\n\n const avg = (max + min) / 2;\n const count = Math.round(Math.log10(avg));\n\n const valueScale = 100 / 10 ** count;\n\n return valueScale;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return NOT_A_VALUE;\n }\n\n if (value === null) {\n return '0';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend, patterns } = this.asProps;\n\n if (\n // we hide Legend for one item on chart except not manually set to show.\n showLegend === undefined && this.dataKeys.length === 1 ||\n showLegend === false\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps: LegendFlexProps | LegendTableProps = {\n 'dataHints': this.dataHints,\n 'items': dataDefinitions,\n 'size': lProps.size,\n 'shape': lProps.shape,\n 'w': lProps.w,\n 'h': lProps.h,\n patterns,\n 'direction':\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n 'onChangeVisibleItem': lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n 'onMouseEnterItem': lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n 'onMouseLeaveItem': lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n 'aria-label': this.getLegendAriaLabel(),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...(commonLegendProps as LegendTableProps)} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...(flexLegendProps as LegendFlexProps)} />;\n }\n\n return <ChartLegend {...(commonLegendProps as LegendFlexProps)} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const {\n invertAxis,\n showXAxis,\n showYAxis,\n data,\n axisXValueFormatter,\n axisYValueFormatter,\n multilineXTicks,\n multilineYTicks,\n } = this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks\n ? (\n <YAxis.Ticks multiline={multilineYTicks} ticks={yTicks}>{childrenY}</YAxis.Ticks>\n )\n : (\n <YAxis.Ticks multiline={multilineYTicks}>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks\n ? (\n <XAxis.Ticks multiline={multilineXTicks} ticks={xTicks}>{childrenX}</XAxis.Ticks>\n )\n : (\n <XAxis.Ticks multiline={multilineXTicks}>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n protected getTooltipChildren<D extends ObjectData>(options: {\n Tooltip: typeof HoverLine['Tooltip'] | typeof HoverRect['Tooltip'];\n dataItem: D;\n }) {\n const STooltipChildrenWrapper = Root;\n const { Tooltip, dataItem } = options;\n\n const { styles, groupKey } = this.asProps;\n const { dataDefinitions } = this.state;\n const title = dataItem[groupKey as keyof D]?.toString();\n\n return sstyled(styles)(\n <Flex direction='column'>\n { title && <Tooltip.Title>{title}</Tooltip.Title> }\n\n <STooltipChildrenWrapper\n render={Box}\n columnsCount='2'\n __excludeProps={['data']}\n >\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Fragment key={item.id}>\n <Tooltip.Dot mr={2} color={item.color}>\n {item.label}\n </Tooltip.Dot>\n <Text textAlign='end' bold>{this.tooltipValueFormatter(dataItem[item.id] as string)}</Text>\n </Fragment>\n )\n );\n })}\n\n {this.renderTooltipTotalLine(dataItem)}\n </STooltipChildrenWrapper>\n </Flex>,\n );\n }\n\n protected renderTooltipTotalLine<D extends ObjectData>(dataItem: D) {\n const { showTotalInTooltip } = this.asProps;\n\n if (!showTotalInTooltip) {\n return null;\n }\n\n const total = this.totalValue(dataItem);\n\n return (\n <>\n <Box mt={2} mr={2}>Total</Box>\n <Text mt={2} textAlign='end' bold>{Number.isNaN(total) ? NOT_A_VALUE : total}</Text>\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns, a11yAltTextConfig, duration, eventEmitter, showTooltip } =\n this.asProps;\n\n const { extractedAriaProps } = extractAriaProps(this.asProps);\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5} __excludeProps={['data', 'eventEmitter']} role='group'>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n a11yAltTextConfig={a11yAltTextConfig}\n patterns={patterns}\n duration={duration}\n eventEmitter={eventEmitter}\n {...extractedAriaProps}\n >\n {this.renderAxis()}\n {!showTooltip ? null : this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}