@semcore/d3-chart 17.2.0 → 17.3.0-prerelease.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 (128) hide show
  1. package/CHANGELOG.md +12 -0
  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 +14 -14
  6. package/lib/cjs/CompactHorizontalBar.js +16 -16
  7. package/lib/cjs/Donut.js +9 -9
  8. package/lib/cjs/Dots.js +8 -8
  9. package/lib/cjs/HorizontalBar.js +16 -16
  10. package/lib/cjs/Hover.js +3 -3
  11. package/lib/cjs/Line.js +9 -9
  12. package/lib/cjs/Plot.js +2 -2
  13. package/lib/cjs/Radar.js +20 -20
  14. package/lib/cjs/Radar.js.map +1 -1
  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 +2 -2
  22. package/lib/cjs/a11y/serialize.js +6 -1
  23. package/lib/cjs/a11y/serialize.js.map +1 -1
  24. package/lib/cjs/component/Chart/AbstractChart.js +85 -11
  25. package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  26. package/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
  27. package/lib/cjs/component/Chart/AreaChart.js +6 -2
  28. package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
  29. package/lib/cjs/component/Chart/BarChart.js +8 -4
  30. package/lib/cjs/component/Chart/BarChart.js.map +1 -1
  31. package/lib/cjs/component/Chart/BubbleChart.js +6 -2
  32. package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
  33. package/lib/cjs/component/Chart/CigaretteChart.js +22 -12
  34. package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
  35. package/lib/cjs/component/Chart/CompactHorizontalBarChart.js +7 -3
  36. package/lib/cjs/component/Chart/CompactHorizontalBarChart.js.map +1 -1
  37. package/lib/cjs/component/Chart/HistogramChart.js +8 -4
  38. package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
  39. package/lib/cjs/component/Chart/LineChart.js +7 -3
  40. package/lib/cjs/component/Chart/LineChart.js.map +1 -1
  41. package/lib/cjs/component/Chart/ScatterPlotChart.js +6 -2
  42. package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
  43. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  44. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  45. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  46. package/lib/cjs/style/abstract-chart.shadow.css +7 -0
  47. package/lib/es6/Area.js +11 -11
  48. package/lib/es6/Axis.js +16 -16
  49. package/lib/es6/Bar.js +16 -16
  50. package/lib/es6/Bubble.js +14 -14
  51. package/lib/es6/CompactHorizontalBar.js +16 -16
  52. package/lib/es6/Donut.js +9 -9
  53. package/lib/es6/Dots.js +8 -8
  54. package/lib/es6/HorizontalBar.js +16 -16
  55. package/lib/es6/Hover.js +3 -3
  56. package/lib/es6/Line.js +9 -9
  57. package/lib/es6/Plot.js +2 -2
  58. package/lib/es6/Radar.js +20 -20
  59. package/lib/es6/Radar.js.map +1 -1
  60. package/lib/es6/RadialTree.js +12 -12
  61. package/lib/es6/Reference.js +12 -12
  62. package/lib/es6/ScatterPlot.js +9 -9
  63. package/lib/es6/Tooltip.js +9 -9
  64. package/lib/es6/Venn.js +9 -9
  65. package/lib/es6/a11y/PlotA11yModule.js +2 -2
  66. package/lib/es6/a11y/PlotA11yView.js +2 -2
  67. package/lib/es6/a11y/serialize.js +6 -1
  68. package/lib/es6/a11y/serialize.js.map +1 -1
  69. package/lib/es6/component/Chart/AbstractChart.js +85 -11
  70. package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  71. package/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
  72. package/lib/es6/component/Chart/AreaChart.js +6 -2
  73. package/lib/es6/component/Chart/AreaChart.js.map +1 -1
  74. package/lib/es6/component/Chart/BarChart.js +8 -4
  75. package/lib/es6/component/Chart/BarChart.js.map +1 -1
  76. package/lib/es6/component/Chart/BubbleChart.js +6 -2
  77. package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
  78. package/lib/es6/component/Chart/CigaretteChart.js +22 -12
  79. package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
  80. package/lib/es6/component/Chart/CompactHorizontalBarChart.js +7 -3
  81. package/lib/es6/component/Chart/CompactHorizontalBarChart.js.map +1 -1
  82. package/lib/es6/component/Chart/HistogramChart.js +8 -4
  83. package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
  84. package/lib/es6/component/Chart/LineChart.js +7 -3
  85. package/lib/es6/component/Chart/LineChart.js.map +1 -1
  86. package/lib/es6/component/Chart/ScatterPlotChart.js +6 -2
  87. package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
  88. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  89. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  90. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  91. package/lib/es6/style/abstract-chart.shadow.css +7 -0
  92. package/lib/esm/Area.mjs +12 -12
  93. package/lib/esm/Axis.mjs +17 -17
  94. package/lib/esm/Bar.mjs +17 -17
  95. package/lib/esm/Bubble.mjs +15 -15
  96. package/lib/esm/CompactHorizontalBar.mjs +17 -17
  97. package/lib/esm/Donut.mjs +10 -10
  98. package/lib/esm/Dots.mjs +9 -9
  99. package/lib/esm/HorizontalBar.mjs +17 -17
  100. package/lib/esm/Hover.mjs +4 -4
  101. package/lib/esm/Line.mjs +10 -10
  102. package/lib/esm/Plot.mjs +3 -3
  103. package/lib/esm/Radar.mjs +21 -21
  104. package/lib/esm/RadialTree.mjs +13 -13
  105. package/lib/esm/Reference.mjs +13 -13
  106. package/lib/esm/ScatterPlot.mjs +10 -10
  107. package/lib/esm/Tooltip.mjs +10 -10
  108. package/lib/esm/Venn.mjs +10 -10
  109. package/lib/esm/a11y/PlotA11yModule.mjs +3 -3
  110. package/lib/esm/a11y/PlotA11yView.mjs +3 -3
  111. package/lib/esm/a11y/serialize.mjs +6 -1
  112. package/lib/esm/component/Chart/AbstractChart.mjs +86 -12
  113. package/lib/esm/component/Chart/AreaChart.mjs +6 -2
  114. package/lib/esm/component/Chart/BarChart.mjs +8 -4
  115. package/lib/esm/component/Chart/BubbleChart.mjs +6 -2
  116. package/lib/esm/component/Chart/CigaretteChart.mjs +22 -12
  117. package/lib/esm/component/Chart/CompactHorizontalBarChart.mjs +7 -3
  118. package/lib/esm/component/Chart/HistogramChart.mjs +8 -4
  119. package/lib/esm/component/Chart/LineChart.mjs +7 -3
  120. package/lib/esm/component/Chart/ScatterPlotChart.mjs +6 -2
  121. package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +5 -5
  122. package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +18 -18
  123. package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +7 -7
  124. package/lib/esm/style/abstract-chart.shadow.css +7 -0
  125. package/lib/types/component/Chart/AbstractChart.d.ts +14 -0
  126. package/lib/types/component/Chart/AbstractChart.type.d.ts +11 -2
  127. package/package.json +16 -16
  128. package/vitest.config.mts +17 -0
@@ -10,20 +10,20 @@ import React from 'react';
10
10
  import createElement from './createElement';
11
11
  import { PatternSymbol, getPatternSymbolSize } from './Pattern';
12
12
  /*!__reshadow-styles__:"./style/radial-tree.shadow.css"*/
13
- const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SRadian_mwmal_gg_{cursor:pointer;fill:var(--intergalactic-text-large-info,#5c5cc4)}.___SLine_mwmal_gg_{stroke:var(--intergalactic-text-large-info,#5c5cc4)}.___SLine_mwmal_gg_.__stroke_mwmal_gg_{stroke:var(--stroke_mwmal)}.___SLine_mwmal_gg_.__transparent_mwmal_gg_{opacity:.3}.___SCap_mwmal_gg_{transition:r .1s}.___SCap_mwmal_gg_.__pattern_mwmal_gg_{stroke:var(--intergalactic-chart-grid-border,#fff);stroke-width:1px}.___SCap_mwmal_gg_.__transparent_mwmal_gg_,.___SIcon_mwmal_gg_.__transparent_mwmal_gg_{opacity:.3}.___SLabel_mwmal_gg_{fill:var(--color_mwmal)}.___SLabel_mwmal_gg_.__transparent_mwmal_gg_{opacity:.3}@media (hover:hover){.___SRadian_mwmal_gg_:hover .___SLabel_mwmal_gg_{cursor:pointer;filter:brightness(.6)}}@media (prefers-reduced-motion){.___SLineCap_mwmal_gg_{transition:none}}", /*__inner_css_end__*/"mwmal_gg_"),
13
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SRadian_oatm9_gg_{cursor:pointer;fill:var(--intergalactic-text-large-info,oklch(.53 .157 279.2))}.___SLine_oatm9_gg_{stroke:var(--intergalactic-text-large-info,oklch(.53 .157 279.2))}.___SLine_oatm9_gg_.__stroke_oatm9_gg_{stroke:var(--stroke_oatm9)}.___SLine_oatm9_gg_.__transparent_oatm9_gg_{opacity:.3}.___SCap_oatm9_gg_{transition:r .1s}.___SCap_oatm9_gg_.__pattern_oatm9_gg_{stroke:var(--intergalactic-chart-grid-border,#fff);stroke-width:1px}.___SCap_oatm9_gg_.__transparent_oatm9_gg_,.___SIcon_oatm9_gg_.__transparent_oatm9_gg_{opacity:.3}.___SLabel_oatm9_gg_{fill:var(--color_oatm9)}.___SLabel_oatm9_gg_.__transparent_oatm9_gg_{opacity:.3}@media (hover:hover){.___SRadian_oatm9_gg_:hover .___SLabel_oatm9_gg_{cursor:pointer;filter:brightness(.6)}}@media (prefers-reduced-motion){.___SLineCap_oatm9_gg_{transition:none}}", /*__inner_css_end__*/"oatm9_gg_"),
14
14
  /*__reshadow_css_end__*/
15
15
  {
16
- "__SRadian": "___SRadian_mwmal_gg_",
17
- "__SLine": "___SLine_mwmal_gg_",
18
- "_stroke": "__stroke_mwmal_gg_",
19
- "--stroke": "--stroke_mwmal",
20
- "_transparent": "__transparent_mwmal_gg_",
21
- "__SCap": "___SCap_mwmal_gg_",
22
- "_pattern": "__pattern_mwmal_gg_",
23
- "__SIcon": "___SIcon_mwmal_gg_",
24
- "__SLabel": "___SLabel_mwmal_gg_",
25
- "--color": "--color_mwmal",
26
- "__SLineCap": "___SLineCap_mwmal_gg_"
16
+ "__SRadian": "___SRadian_oatm9_gg_",
17
+ "__SLine": "___SLine_oatm9_gg_",
18
+ "_stroke": "__stroke_oatm9_gg_",
19
+ "--stroke": "--stroke_oatm9",
20
+ "_transparent": "__transparent_oatm9_gg_",
21
+ "__SCap": "___SCap_oatm9_gg_",
22
+ "_pattern": "__pattern_oatm9_gg_",
23
+ "__SIcon": "___SIcon_oatm9_gg_",
24
+ "__SLabel": "___SLabel_oatm9_gg_",
25
+ "--color": "--color_oatm9",
26
+ "__SLineCap": "___SLineCap_oatm9_gg_"
27
27
  });
28
28
  import { getChartDefaultColorName, measureText } from './utils';
29
29
  const baseAngle = -Math.PI / 2; // The top vertical line
@@ -5,20 +5,20 @@ import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
5
5
  import React from 'react';
6
6
  import createElement from './createElement';
7
7
  /*!__reshadow-styles__:"./style/reference.shadow.css"*/
8
- const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SReferenceLine_1j9xa_gg_{fill:none;stroke:var(--intergalactic-chart-grid-y-accent-hover-line,#d6d8d7)}.___STitle_1j9xa_gg_{font-size:var(--intergalactic-fs-100,12px);fill:var(--intergalactic-chart-grid-text-label,#00030095);transform-origin:var(--transform-origin_1j9xa)}@supports (color:color(display-p3 0 0 0%)){.___STitle_1j9xa_gg_{fill:var(--intergalactic-chart-grid-text-label,#00030095)}@media (color-gamut:p3){.___STitle_1j9xa_gg_{fill:var(--intergalactic-chart-grid-text-label,color(display-p3 .00228 .01289 .00252/.583))}}}.___STitle_1j9xa_gg_._position_top_1j9xa_gg_{text-anchor:middle}.___STitle_1j9xa_gg_._position_bottom_1j9xa_gg_{text-anchor:middle;dominant-baseline:hanging}.___STitle_1j9xa_gg_._position_left_1j9xa_gg_,.___STitle_1j9xa_gg_._position_right_1j9xa_gg_{transform:rotate(-90deg);dominant-baseline:middle;text-anchor:middle}.___SBackground_1j9xa_gg_{fill:var(--intergalactic-chart-grid-period-bg,#f1f2f2)}.___SStripes_1j9xa_gg_{fill:var(--fill_1j9xa)}.___SStripesPatternPath_1j9xa_gg_{stroke:var(--intergalactic-chart-grid-period-pattern,#edefee);stroke-width:1px}", /*__inner_css_end__*/"1j9xa_gg_"),
8
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SReferenceLine_1dvur_gg_{fill:none;stroke:var(--intergalactic-chart-grid-y-accent-hover-line,oklch(.88 .002 175.6))}.___STitle_1dvur_gg_{font-size:var(--intergalactic-fs-100,12px);fill:var(--intergalactic-chart-grid-text-label,#00030095);transform-origin:var(--transform-origin_1dvur)}@media (color-gamut:p3){.___STitle_1dvur_gg_{fill:var(--intergalactic-chart-grid-text-label,oklch(.088 .026 147.7/.583))}}.___STitle_1dvur_gg_._position_top_1dvur_gg_{text-anchor:middle}.___STitle_1dvur_gg_._position_bottom_1dvur_gg_{text-anchor:middle;dominant-baseline:hanging}.___STitle_1dvur_gg_._position_left_1dvur_gg_,.___STitle_1dvur_gg_._position_right_1dvur_gg_{transform:rotate(-90deg);dominant-baseline:middle;text-anchor:middle}.___SBackground_1dvur_gg_{fill:var(--intergalactic-chart-grid-period-bg,oklch(.96 .001 180))}.___SStripes_1dvur_gg_{fill:var(--fill_1dvur)}.___SStripesPatternPath_1dvur_gg_{stroke:var(--intergalactic-chart-grid-period-pattern,oklch(.95 .002 180));stroke-width:1px}", /*__inner_css_end__*/"1dvur_gg_"),
9
9
  /*__reshadow_css_end__*/
10
10
  {
11
- "__SReferenceLine": "___SReferenceLine_1j9xa_gg_",
12
- "__STitle": "___STitle_1j9xa_gg_",
13
- "--transform-origin": "--transform-origin_1j9xa",
14
- "_position_top": "_position_top_1j9xa_gg_",
15
- "_position_bottom": "_position_bottom_1j9xa_gg_",
16
- "_position_right": "_position_right_1j9xa_gg_",
17
- "_position_left": "_position_left_1j9xa_gg_",
18
- "__SBackground": "___SBackground_1j9xa_gg_",
19
- "__SStripes": "___SStripes_1j9xa_gg_",
20
- "--fill": "--fill_1j9xa",
21
- "__SStripesPatternPath": "___SStripesPatternPath_1j9xa_gg_"
11
+ "__SReferenceLine": "___SReferenceLine_1dvur_gg_",
12
+ "__STitle": "___STitle_1dvur_gg_",
13
+ "--transform-origin": "--transform-origin_1dvur",
14
+ "_position_top": "_position_top_1dvur_gg_",
15
+ "_position_bottom": "_position_bottom_1dvur_gg_",
16
+ "_position_right": "_position_right_1dvur_gg_",
17
+ "_position_left": "_position_left_1dvur_gg_",
18
+ "__SBackground": "___SBackground_1dvur_gg_",
19
+ "__SStripes": "___SStripes_1dvur_gg_",
20
+ "--fill": "--fill_1dvur",
21
+ "__SStripesPatternPath": "___SStripesPatternPath_1dvur_gg_"
22
22
  });
23
23
  import { scaleOfBandwidth } from './utils';
24
24
  const side2direction = {
@@ -9,17 +9,17 @@ import React from 'react';
9
9
  import createElement from './createElement';
10
10
  import { PatternFill } from './Pattern';
11
11
  /*!__reshadow-styles__:"./style/scatterplot.shadow.css"*/
12
- const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SScatterPlot_15u7e_gg_{fill:var(--intergalactic-chart-palette-order-1,#666bdb);transition-property:cx,cy;transition-duration:var(--duration_15u7e);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_15u7e_gg_:hover{opacity:.8}}.___SScatterPlot_15u7e_gg_.__color_15u7e_gg_{fill:var(--color_15u7e)}.___SScatterPlot_15u7e_gg_.__pattern_15u7e_gg_.__color_15u7e_gg_{fill:var(--pattern_15u7e);stroke:var(--color_15u7e);stroke-width:1px}.___SScatterPlot_15u7e_gg_.__transparent_15u7e_gg_{opacity:.3}.___SValue_15u7e_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50,10px);stroke:var(--intergalactic-chart-palette-order-9,#5c5cc4)}.___SValue_15u7e_gg_.__color_15u7e_gg_{stroke:var(--color_15u7e)}.___SValue_15u7e_gg_.__transparent_15u7e_gg_{opacity:.3}", /*__inner_css_end__*/"15u7e_gg_"),
12
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SScatterPlot_14241_gg_{fill:var(--intergalactic-chart-palette-order-1,oklch(.58 .168 278.2));transition-property:cx,cy;transition-duration:var(--duration_14241);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_14241_gg_:hover{opacity:.8}}.___SScatterPlot_14241_gg_.__color_14241_gg_{fill:var(--color_14241)}.___SScatterPlot_14241_gg_.__pattern_14241_gg_.__color_14241_gg_{fill:var(--pattern_14241);stroke:var(--color_14241);stroke-width:1px}.___SScatterPlot_14241_gg_.__transparent_14241_gg_{opacity:.3}.___SValue_14241_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50,10px);stroke:var(--intergalactic-chart-palette-order-9,oklch(.53 .157 279.2))}.___SValue_14241_gg_.__color_14241_gg_{stroke:var(--color_14241)}.___SValue_14241_gg_.__transparent_14241_gg_{opacity:.3}", /*__inner_css_end__*/"14241_gg_"),
13
13
  /*__reshadow_css_end__*/
14
14
  {
15
- "__SScatterPlot": "___SScatterPlot_15u7e_gg_",
16
- "_color": "__color_15u7e_gg_",
17
- "--color": "--color_15u7e",
18
- "_pattern": "__pattern_15u7e_gg_",
19
- "--pattern": "--pattern_15u7e",
20
- "_transparent": "__transparent_15u7e_gg_",
21
- "__SValue": "___SValue_15u7e_gg_",
22
- "--duration": "--duration_15u7e"
15
+ "__SScatterPlot": "___SScatterPlot_14241_gg_",
16
+ "_color": "__color_14241_gg_",
17
+ "--color": "--color_14241",
18
+ "_pattern": "__pattern_14241_gg_",
19
+ "--pattern": "--pattern_14241",
20
+ "_transparent": "__transparent_14241_gg_",
21
+ "__SValue": "___SValue_14241_gg_",
22
+ "--duration": "--duration_14241"
23
23
  });
24
24
  import Tooltip from './Tooltip';
25
25
  import { getScatterPlotRadius } from './utils';
@@ -13,17 +13,17 @@ import React from 'react';
13
13
  import createElement from './createElement';
14
14
  import { PatternSymbol } from './Pattern';
15
15
  /*!__reshadow-styles__:"./style/tooltip.shadow.css"*/
16
- const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___STooltip_123dv_gg_{font-size:var(--intergalactic-fs-100,12px);line-height:var(--intergalactic-lh-100,133%);position:relative;background-color:var(--intergalactic-bg-primary-neutral,#fff);border-radius:var(--intergalactic-popper-rounded,6px);border:1px solid var(--intergalactic-border-secondary,#00151012);box-sizing:border-box;box-shadow:var(--intergalactic-box-shadow-popper,1px 1px 10px 0 #00151012);padding:var(--intergalactic-spacing-3x,12px)}@supports (color:color(display-p3 0 0 0%)){.___STooltip_123dv_gg_{border:1px solid var(--intergalactic-border-secondary,#00151012);box-shadow:var(--intergalactic-box-shadow-popper,1px 1px 10px 0 #00151012)}@media (color-gamut:p3){.___STooltip_123dv_gg_{border:1px solid var(--intergalactic-border-secondary,color(display-p3 .01753 .08157 .06372/.07));box-shadow:var(--intergalactic-box-shadow-popper,1px 1px 10px 0 color(display-p3 .01753 .08157 .06372/.07))}}}.___STitle_123dv_gg_{color:var(--intergalactic-text-secondary,#00030095);margin-bottom:var(--intergalactic-spacing-2x,8px)}@supports (color:color(display-p3 0 0 0%)){.___STitle_123dv_gg_{color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___STitle_123dv_gg_{color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}.___SDotGroup_123dv_gg_{display:flex;align-items:center}.___SDot_123dv_gg_{margin-right:var(--intergalactic-spacing-2x,8px)}.___SDotCircle_123dv_gg_.__color_123dv_gg_{background-color:var(--color_123dv);width:8px;height:8px;border-radius:50%}.___SFooter_123dv_gg_{background:var(--intergalactic-bg-secondary-neutral,#f8f9f8);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(var(--intergalactic-spacing-3x, 12px)*-1) calc(var(--intergalactic-spacing-3x, 12px)*-1)}", /*__inner_css_end__*/"123dv_gg_"),
16
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___STooltip_j5bmf_gg_{font-size:var(--intergalactic-fs-100,12px);line-height:var(--intergalactic-lh-100,133%);position:relative;background-color:var(--intergalactic-bg-primary-neutral,oklch(1 0 0));border-radius:var(--intergalactic-popper-rounded,6px);border:1px solid var(--intergalactic-border-secondary,#00151012);box-sizing:border-box;box-shadow:var(--intergalactic-box-shadow-popper,1px 1px 10px 0 #00151012);padding:var(--intergalactic-spacing-3x,12px)}@media (color-gamut:p3){.___STooltip_j5bmf_gg_{border:1px solid var(--intergalactic-border-secondary,oklch(.176 .033 175.7/.07));box-shadow:var(--intergalactic-box-shadow-popper,1px 1px 10px 0 oklch(.176 .033 175.7/.07))}}.___STitle_j5bmf_gg_{color:var(--intergalactic-text-secondary,#00030095);margin-bottom:var(--intergalactic-spacing-2x,8px)}@media (color-gamut:p3){.___STitle_j5bmf_gg_{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___SDotGroup_j5bmf_gg_{display:flex;align-items:center}.___SDot_j5bmf_gg_{margin-right:var(--intergalactic-spacing-2x,8px)}.___SDotCircle_j5bmf_gg_.__color_j5bmf_gg_{background-color:var(--color_j5bmf);width:8px;height:8px;border-radius:50%}.___SFooter_j5bmf_gg_{background:var(--intergalactic-bg-secondary-neutral,oklch(.98 .001 180));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(var(--intergalactic-spacing-3x, 12px)*-1) calc(var(--intergalactic-spacing-3x, 12px)*-1)}", /*__inner_css_end__*/"j5bmf_gg_"),
17
17
  /*__reshadow_css_end__*/
18
18
  {
19
- "__STooltip": "___STooltip_123dv_gg_",
20
- "__STitle": "___STitle_123dv_gg_",
21
- "__SDotGroup": "___SDotGroup_123dv_gg_",
22
- "__SDot": "___SDot_123dv_gg_",
23
- "__SDotCircle": "___SDotCircle_123dv_gg_",
24
- "_color": "__color_123dv_gg_",
25
- "--color": "--color_123dv",
26
- "__SFooter": "___SFooter_123dv_gg_"
19
+ "__STooltip": "___STooltip_j5bmf_gg_",
20
+ "__STitle": "___STitle_j5bmf_gg_",
21
+ "__SDotGroup": "___SDotGroup_j5bmf_gg_",
22
+ "__SDot": "___SDot_j5bmf_gg_",
23
+ "__SDotCircle": "___SDotCircle_j5bmf_gg_",
24
+ "_color": "__color_j5bmf_gg_",
25
+ "--color": "--color_j5bmf",
26
+ "__SFooter": "___SFooter_j5bmf_gg_"
27
27
  });
28
28
  import { getChartDefaultColorName } from './utils';
29
29
 
package/lib/es6/Venn.js CHANGED
@@ -12,17 +12,17 @@ import React from 'react';
12
12
  import createElement from './createElement';
13
13
  import { PatternFill } from './Pattern';
14
14
  /*!__reshadow-styles__:"./style/venn.shadow.css"*/
15
- const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SCircle_iobh3_gg_{fill:var(--intergalactic-chart-palette-order-2,#38e3b5);stroke:var(--intergalactic-chart-grid-border,#fff);stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_iobh3);transition-timing-function:ease-in-out}@media (hover:hover){.___SCircle_iobh3_gg_:hover{fill-opacity:.7}}.___SCircle_iobh3_gg_.__color_iobh3_gg_{fill:var(--color_iobh3)}.___SCircle_iobh3_gg_.__pattern_iobh3_gg_.__color_iobh3_gg_{fill:var(--pattern_iobh3);fill-opacity:.7;stroke:var(--color_iobh3);stroke-width:1px}@media (hover:hover){.___SCircle_iobh3_gg_.__pattern_iobh3_gg_.__color_iobh3_gg_:hover{fill-opacity:.85}}.___SCircle_iobh3_gg_.__transparent_iobh3_gg_{opacity:.3}.___SIntersection_iobh3_gg_{stroke:var(--intergalactic-chart-grid-border,#fff);stroke-width:2px;fill-opacity:0}@media (hover:hover){.___SIntersection_iobh3_gg_:hover{fill-opacity:.1}}.___SIntersection_iobh3_gg_.__transparent_iobh3_gg_{opacity:.3}", /*__inner_css_end__*/"iobh3_gg_"),
15
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SCircle_1gs70_gg_{fill:var(--intergalactic-chart-palette-order-2,oklch(.82 .15 170));stroke:var(--intergalactic-chart-grid-border,#fff);stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_1gs70);transition-timing-function:ease-in-out}@media (hover:hover){.___SCircle_1gs70_gg_:hover{fill-opacity:.7}}.___SCircle_1gs70_gg_.__color_1gs70_gg_{fill:var(--color_1gs70)}.___SCircle_1gs70_gg_.__pattern_1gs70_gg_.__color_1gs70_gg_{fill:var(--pattern_1gs70);fill-opacity:.7;stroke:var(--color_1gs70);stroke-width:1px}@media (hover:hover){.___SCircle_1gs70_gg_.__pattern_1gs70_gg_.__color_1gs70_gg_:hover{fill-opacity:.85}}.___SCircle_1gs70_gg_.__transparent_1gs70_gg_{opacity:.3}.___SIntersection_1gs70_gg_{stroke:var(--intergalactic-chart-grid-border,#fff);stroke-width:2px;fill-opacity:0}@media (hover:hover){.___SIntersection_1gs70_gg_:hover{fill-opacity:.1}}.___SIntersection_1gs70_gg_.__transparent_1gs70_gg_{opacity:.3}", /*__inner_css_end__*/"1gs70_gg_"),
16
16
  /*__reshadow_css_end__*/
17
17
  {
18
- "__SCircle": "___SCircle_iobh3_gg_",
19
- "_color": "__color_iobh3_gg_",
20
- "--color": "--color_iobh3",
21
- "_transparent": "__transparent_iobh3_gg_",
22
- "__SIntersection": "___SIntersection_iobh3_gg_",
23
- "--duration": "--duration_iobh3",
24
- "_pattern": "__pattern_iobh3_gg_",
25
- "--pattern": "--pattern_iobh3"
18
+ "__SCircle": "___SCircle_1gs70_gg_",
19
+ "_color": "__color_1gs70_gg_",
20
+ "--color": "--color_1gs70",
21
+ "_transparent": "__transparent_1gs70_gg_",
22
+ "__SIntersection": "___SIntersection_1gs70_gg_",
23
+ "--duration": "--duration_1gs70",
24
+ "_pattern": "__pattern_1gs70_gg_",
25
+ "--pattern": "--pattern_1gs70"
26
26
  });
27
27
  import Tooltip from './Tooltip';
28
28
  import { getChartDefaultColorName } from './utils';
@@ -7,10 +7,10 @@ import { Context as I18nContext, useI18n } from '@semcore/core/lib/utils/enhance
7
7
  import React from 'react';
8
8
  import { normalizeLocale } from './locale';
9
9
  /*!__reshadow-styles__:"../style/plotA11yModule.shadow.css"*/
10
- const styles = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPlotA11yModule_19nt6_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__*/"19nt6_gg_"),
10
+ const styles = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPlotA11yModule_18sta_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__*/"18sta_gg_"),
11
11
  /*__reshadow_css_end__*/
12
12
  {
13
- "__SPlotA11yModule": "___SPlotA11yModule_19nt6_gg_"
13
+ "__SPlotA11yModule": "___SPlotA11yModule_18sta_gg_"
14
14
  });
15
15
  import { localizedMessages } from './translations/module/__intergalactic-dynamic-locales';
16
16
  export function PlotA11yModule(props) {
@@ -10,10 +10,10 @@ import { makeDataSummarizationConfig } from './hints';
10
10
  import { getIntl } from './intl';
11
11
  import { summarize } from './summarize';
12
12
  /*!__reshadow-styles__:"../style/plotA11yView.shadow.css"*/
13
- const styles = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPlotA11yView_ufc1r_gg_{position:relative;display:block;background-color:var(--intergalactic-bg-primary-neutral,#fff);color:var(--intergalactic-text-primary,#010500e5);border:3px solid var(--intergalactic-border-primary,#000c0829);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}@supports (color:color(display-p3 0 0 0%)){.___SPlotA11yView_ufc1r_gg_{border:3px solid var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPlotA11yView_ufc1r_gg_{border:3px solid var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161))}}}.___SPlotA11yView_ufc1r_gg_ a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x,8px);display:block}.___SPlotA11yView_ufc1r_gg_ :is(table,td,th){border:1px solid var(--intergalactic-border-primary,#000c0829)}@supports (color:color(display-p3 0 0 0%)){.___SPlotA11yView_ufc1r_gg_ :is(table,td,th){border:1px solid var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPlotA11yView_ufc1r_gg_ :is(table,td,th){border:1px solid var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161))}}}", /*__inner_css_end__*/"ufc1r_gg_"),
13
+ const styles = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPlotA11yView_1hm9h_gg_{position:relative;display:block;background-color:var(--intergalactic-bg-primary-neutral,oklch(1 0 0));color:var(--intergalactic-text-primary,oklch(.1 .03 137/.899));border:3px solid var(--intergalactic-border-primary,#000c0829);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}@media (color-gamut:p3){.___SPlotA11yView_1hm9h_gg_{border:3px solid var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161))}}.___SPlotA11yView_1hm9h_gg_ a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x,8px);display:block}.___SPlotA11yView_1hm9h_gg_ :is(table,td,th){border:1px solid var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPlotA11yView_1hm9h_gg_ :is(table,td,th){border:1px solid var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161))}}", /*__inner_css_end__*/"1hm9h_gg_"),
14
14
  /*__reshadow_css_end__*/
15
15
  {
16
- "__SPlotA11yView": "___SPlotA11yView_ufc1r_gg_"
16
+ "__SPlotA11yView": "___SPlotA11yView_1hm9h_gg_"
17
17
  });
18
18
  import { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';
19
19
  export function PlotA11yView({
@@ -236,7 +236,12 @@ export const serialize = ({
236
236
  minSize
237
237
  });
238
238
  const entitiesList = biggestClusters.map(clusterInsight => {
239
- const labels = formatLimitedSizeList(clusterInsight.labels.map(label => titlesFormatter?.(label) ?? label), intl, maxListSymbols);
239
+ const labels = formatLimitedSizeList(clusterInsight.labels.reduce((acc, label) => {
240
+ if (typeof label === 'string') {
241
+ acc.push(titlesFormatter?.(label) ?? label);
242
+ }
243
+ return acc;
244
+ }, []), intl, maxListSymbols);
240
245
  const anonymous = clusterInsight.labels.length === 0 || labels === String(clusterInsight.size);
241
246
  return intl.formatMessage({
242
247
  id: anonymous ? 'entity-type-clusters-label-anonymous' : 'entity-type-clusters-label'
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","names":["getIntl","formatLimitedSizeList","items","intl","maxFinalStringLength","includeEllipsis","limit","length","stringifyList","cutItems","slice","push","formatMessage","id","leftCount","formatList","formattedList","overflowRatio","Math","floor","maxIncreaseAttempts","i","newLimitFormattedList","isReactComponent","obj","displayName","guessNumberAsTimestampMinDate","Date","getTime","defaultValueFormatter","value","siblingsTimeMark","maxListSymbols","datesWithTime","formatNumber","abs","formatDate","dateStyle","timeStyle","Array","isArray","formattedValues","map","subValue","String","undefined","formatValuesList","values","result","rawValue","label","serialize","insights","dataType","dataRange","dataTitle","entitiesCount","clustersLimit","valuesLimit","groupsLimit","titlesFormatter","valuesFormatter","locale","translations","availableLocales","dataRangeSummary","range","from","to","trendsInsights","trendsByDataKey","insight","dataKey","entities","count","entitiesList","Object","entries","generalTrend","find","type","localTrends","filter","primaryTrend","secondaryTrends","summaryDataKey","mainSummary","trend","change","strength","secondarySummaries","general","locals","summary","clustersInsights","biggestClusters","maxSize","size","minSize","clusterInsight","labels","anonymous","relativeSize","x","center","xLabel","y","yLabel","valuesInsight","groupInsights","valueCounts","group","minValuesCount","min","maxValuesCount","max","groupsCount","valuesCount"],"sources":["../../../src/a11y/serialize.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { DataSummarizationConfig } from './hints';\nimport type { AnalyzedData, ClusterNode, ComparisonNode, GeneralTrendNode, TrendNode } from './insights';\nimport { getIntl, type Intl } from './intl';\n\nconst formatLimitedSizeList = (\n items: unknown[],\n intl: Intl,\n maxFinalStringLength = 100,\n includeEllipsis = true,\n) => {\n let limit = items.length;\n const stringifyList = () => {\n const cutItems = items.slice(0, limit);\n if (items.length > limit && includeEllipsis) {\n cutItems.push(intl.formatMessage({ id: 'ellipsis' }, { leftCount: limit - items.length }));\n }\n\n return intl.formatList(cutItems);\n };\n\n let formattedList = stringifyList();\n if (formattedList.length <= maxFinalStringLength) {\n return formattedList;\n }\n\n const overflowRatio = formattedList.length / maxFinalStringLength;\n limit = Math.floor(limit / overflowRatio);\n if (limit === 0) {\n limit = 1;\n return stringifyList();\n }\n\n formattedList = stringifyList();\n\n const maxIncreaseAttempts = 4;\n for (let i = 0; i < maxIncreaseAttempts; i++) {\n limit++;\n const newLimitFormattedList = stringifyList();\n\n if (newLimitFormattedList.length > maxFinalStringLength) {\n return formattedList;\n }\n\n formattedList = newLimitFormattedList;\n }\n\n return formattedList;\n};\n\nconst isReactComponent = (obj: any) =>\n typeof obj === 'object' && obj && 'displayName' in obj && typeof obj.displayName === 'string';\n\nconst guessNumberAsTimestampMinDate = new Date('1975').getTime();\n\nexport const defaultValueFormatter = (\n intl: Intl,\n value: unknown,\n {\n siblingsTimeMark,\n maxListSymbols,\n datesWithTime,\n }: {\n siblingsTimeMark?: unknown;\n maxListSymbols?: number;\n datesWithTime?: boolean;\n } = {},\n): string => {\n if (typeof value === 'number') {\n if (value >= guessNumberAsTimestampMinDate) {\n return defaultValueFormatter(intl, new Date(value), {\n siblingsTimeMark,\n maxListSymbols,\n datesWithTime,\n });\n }\n return intl.formatNumber(value);\n }\n if (value instanceof Date) {\n if (\n datesWithTime ||\n (siblingsTimeMark &&\n siblingsTimeMark instanceof Date &&\n Math.abs(value.getTime() - siblingsTimeMark.getTime()) < 1000 * 60 * 60 * 24 * 5)\n ) {\n return intl.formatDate(value, { dateStyle: 'medium', timeStyle: 'medium' });\n }\n return intl.formatDate(value, { dateStyle: 'medium' });\n }\n\n if (Array.isArray(value)) {\n const formattedValues = value.map((subValue) =>\n defaultValueFormatter(intl, subValue, { siblingsTimeMark, maxListSymbols, datesWithTime }),\n );\n\n return formatLimitedSizeList(formattedValues, intl, maxListSymbols);\n }\n\n if (isReactComponent(value)) {\n return String((value as React.FC).displayName);\n }\n\n if (value === undefined || value === null) {\n return intl.formatMessage({ id: 'data-not-available' });\n }\n\n return String(value);\n};\n\nconst formatValuesList = (\n values: { label: string; value: unknown }[],\n {\n intl,\n limit,\n datesWithTime,\n maxListSymbols,\n }: { intl: Intl; limit: number; datesWithTime?: boolean; maxListSymbols: number },\n) => {\n const result = values.slice(0, limit).map(({ value: rawValue, label }) => {\n if (rawValue === undefined) return label;\n\n const value = defaultValueFormatter(intl, rawValue, { datesWithTime, maxListSymbols });\n\n if (String(value) === String(label)) return value;\n\n return intl.formatMessage({ id: 'value-labeled' }, { label, value });\n });\n if (values.length > limit) {\n result.push(\n intl.formatMessage({ id: 'ellipsis' }, { leftCount: limit - values.values.length }),\n );\n }\n\n return intl.formatList(result);\n};\n\nexport const serialize = (\n { insights, dataType, dataRange, dataTitle, entitiesCount }: AnalyzedData,\n {\n datesWithTime,\n maxListSymbols,\n clustersLimit,\n valuesLimit,\n groupsLimit,\n titlesFormatter,\n valuesFormatter,\n }: DataSummarizationConfig,\n {\n locale,\n translations,\n availableLocales,\n }: {\n locale: string;\n translations?: { [messageId: string]: string };\n availableLocales?: { [localeId: string]: any };\n },\n): string | null => {\n if (insights.length === 0) return null;\n\n const intl = getIntl(locale, translations!, availableLocales!);\n\n const dataRangeSummary = intl.formatList(\n dataRange.map((range) => {\n const from =\n valuesFormatter?.(range.from, range.label) ??\n defaultValueFormatter(intl, range.from, {\n siblingsTimeMark: range.to,\n datesWithTime,\n maxListSymbols,\n });\n const to =\n valuesFormatter?.(range.to, range.label) ??\n defaultValueFormatter(intl, range.to, {\n siblingsTimeMark: range.from,\n datesWithTime,\n maxListSymbols,\n });\n\n return intl.formatMessage(\n { id: range.label ? 'additional-axe' : 'additional-axe-no-label' },\n { from, to, label: titlesFormatter?.(range.label) ?? range.label },\n );\n }),\n );\n\n if (dataType === 'time-series') {\n const trendsInsights = insights as (GeneralTrendNode | TrendNode)[];\n const trendsByDataKey: { [label: string]: (GeneralTrendNode | TrendNode)[] } = {};\n for (const insight of trendsInsights) {\n trendsByDataKey[insight.dataKey] = trendsByDataKey[insight.dataKey] ?? [];\n trendsByDataKey[insight.dataKey].push(insight);\n }\n\n const entities = intl.formatMessage(\n { id: 'entity-type-time-series' },\n { count: entitiesCount },\n );\n const entitiesList = Object.entries(trendsByDataKey).map(([dataKey, insights]) => {\n const generalTrend = insights.find((insight) => insight.type === 'general-trend');\n const localTrends = insights.filter((insight) => insight !== generalTrend);\n const primaryTrend = generalTrend ?? localTrends[0];\n const secondaryTrends: (TrendNode | GeneralTrendNode)[] = insights.filter(\n (insight) => insight !== primaryTrend,\n );\n const summaryDataKey = entitiesCount !== 1 ? primaryTrend.label ?? dataKey : '';\n const mainSummary: string = intl.formatMessage(\n { id: 'time-series-general-trend' },\n {\n dataKey: titlesFormatter?.(summaryDataKey) ?? summaryDataKey,\n trend: intl.formatMessage({ id: `trend-${primaryTrend.change.strength}` }),\n from:\n valuesFormatter?.(primaryTrend.change.from, dataKey) ??\n intl.formatNumber(primaryTrend.change.from),\n to:\n valuesFormatter?.(primaryTrend.change.to, dataKey) ??\n intl.formatNumber(primaryTrend.change.to),\n },\n );\n const secondarySummaries = secondaryTrends.map((trend) =>\n intl.formatMessage(\n { id: 'time-series-local-trend' },\n {\n trend: intl.formatMessage({ id: `trend-${trend.change.strength}` }),\n from:\n valuesFormatter?.(trend.from, trend.dataKey) ??\n defaultValueFormatter(intl, trend.from, {\n siblingsTimeMark: trend.to,\n datesWithTime,\n maxListSymbols,\n }),\n to:\n valuesFormatter?.(trend.to, trend.dataKey) ??\n defaultValueFormatter(intl, trend.to, {\n siblingsTimeMark: trend.from,\n datesWithTime,\n maxListSymbols,\n }),\n },\n ),\n );\n\n if (secondarySummaries.length === 0) {\n return mainSummary;\n }\n\n return intl.formatMessage(\n {\n id: 'time-series-detailed-trend',\n },\n {\n general: mainSummary,\n locals: formatLimitedSizeList(secondarySummaries, intl, 400, false),\n },\n );\n });\n\n const summary = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n {\n entities,\n entitiesList: intl.formatList(entitiesList),\n label: titlesFormatter?.(dataTitle!) ?? dataTitle,\n },\n );\n\n if (dataRangeSummary.length > 0) {\n return `${summary}\\n${dataRangeSummary}`;\n }\n\n return summary;\n } else if (dataType === 'points-cloud') {\n const clustersInsights = insights as ClusterNode[];\n const biggestClusters = clustersInsights.slice(0, clustersLimit);\n\n const maxSize = clustersInsights[0].size;\n const minSize = clustersInsights[clustersInsights.length - 1].size;\n const entities =\n maxSize === minSize\n ? intl.formatMessage(\n { id: 'entity-type-clusters-single-size' },\n { count: entitiesCount, size: maxSize },\n )\n : intl.formatMessage(\n { id: 'entity-type-clusters-multiple-size' },\n { count: entitiesCount, maxSize, minSize },\n );\n const entitiesList = biggestClusters.map((clusterInsight) => {\n const labels = formatLimitedSizeList(\n clusterInsight.labels.map((label) => titlesFormatter?.(label as string) ?? label),\n intl,\n maxListSymbols,\n );\n const anonymous =\n clusterInsight.labels.length === 0 || labels === String(clusterInsight.size);\n\n return intl.formatMessage(\n {\n id: anonymous ? 'entity-type-clusters-label-anonymous' : 'entity-type-clusters-label',\n },\n {\n relativeSize: intl.formatMessage({ id: `relative-size-${clusterInsight.relativeSize}` }),\n labels,\n size: clusterInsight.size,\n x:\n valuesFormatter?.(clusterInsight.center.x, clusterInsight.labels as any) ??\n intl.formatNumber(clusterInsight.center.x),\n xLabel: titlesFormatter?.(clusterInsight.center.xLabel) ?? clusterInsight.center.xLabel,\n y:\n valuesFormatter?.(clusterInsight.center.y, clusterInsight.labels as any) ??\n intl.formatNumber(clusterInsight.center.y),\n yLabel: titlesFormatter?.(clusterInsight.center.yLabel) ?? clusterInsight.center.yLabel,\n },\n );\n });\n if (insights.length > clustersLimit) {\n entitiesList.push(\n intl.formatMessage({ id: 'ellipsis' }, { leftCount: insights.length - clustersLimit }),\n );\n }\n\n const summary = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n {\n entities,\n entitiesList: intl.formatList(entitiesList),\n label: titlesFormatter?.(dataTitle!) ?? dataTitle,\n },\n );\n\n if (dataRangeSummary.length > 0) {\n return `${summary}\\n${dataRangeSummary}`;\n }\n\n return summary;\n } else if (dataType === 'values-set') {\n const [valuesInsight] = insights as [ComparisonNode];\n const entities = intl.formatMessage({ id: 'entity-type-values' }, { count: entitiesCount });\n const entitiesList = formatValuesList(valuesInsight.values, {\n intl,\n limit: valuesLimit,\n datesWithTime,\n maxListSymbols,\n });\n\n return intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n { entities, entitiesList: entitiesList, label: titlesFormatter?.(dataTitle!) ?? dataTitle },\n );\n } else if (dataType === 'grouped-values' || dataType === 'indexed-groups') {\n const groupInsights = insights as ComparisonNode[];\n const valueCounts = groupInsights.map((group) => group.values.length);\n const minValuesCount = Math.min(...valueCounts);\n const maxValuesCount = Math.max(...valueCounts);\n\n const entities =\n minValuesCount === maxValuesCount\n ? intl.formatMessage(\n { id: 'entity-type-grouped-values-single-size' },\n { groupsCount: groupInsights.length, valuesCount: valueCounts[0] },\n )\n : intl.formatMessage(\n { id: 'entity-type-grouped-values-multiple-size' },\n { groupsCount: groupInsights.length, minValuesCount, maxValuesCount },\n );\n const entitiesList = groupInsights.slice(0, groupsLimit).map(({ label, values }) => {\n const formattedValues = formatValuesList(values, {\n intl,\n limit: valuesLimit,\n datesWithTime,\n maxListSymbols,\n });\n return intl.formatMessage({ id: 'values-group' }, { label, values: formattedValues });\n });\n if (groupInsights.values.length > groupsLimit) {\n entitiesList.push(\n intl.formatMessage(\n { id: 'ellipsis' },\n { leftCount: groupInsights.values.length - groupsLimit },\n ),\n );\n }\n\n const summary = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n {\n entities,\n entitiesList: intl.formatList(entitiesList),\n label: titlesFormatter?.(dataTitle!) ?? dataTitle,\n },\n );\n\n return summary;\n }\n\n return null;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"serialize.js","names":["getIntl","formatLimitedSizeList","items","intl","maxFinalStringLength","includeEllipsis","limit","length","stringifyList","cutItems","slice","push","formatMessage","id","leftCount","formatList","formattedList","overflowRatio","Math","floor","maxIncreaseAttempts","i","newLimitFormattedList","isReactComponent","obj","displayName","guessNumberAsTimestampMinDate","Date","getTime","defaultValueFormatter","value","siblingsTimeMark","maxListSymbols","datesWithTime","formatNumber","abs","formatDate","dateStyle","timeStyle","Array","isArray","formattedValues","map","subValue","String","undefined","formatValuesList","values","result","rawValue","label","serialize","insights","dataType","dataRange","dataTitle","entitiesCount","clustersLimit","valuesLimit","groupsLimit","titlesFormatter","valuesFormatter","locale","translations","availableLocales","dataRangeSummary","range","from","to","trendsInsights","trendsByDataKey","insight","dataKey","entities","count","entitiesList","Object","entries","generalTrend","find","type","localTrends","filter","primaryTrend","secondaryTrends","summaryDataKey","mainSummary","trend","change","strength","secondarySummaries","general","locals","summary","clustersInsights","biggestClusters","maxSize","size","minSize","clusterInsight","labels","reduce","acc","anonymous","relativeSize","x","center","xLabel","y","yLabel","valuesInsight","groupInsights","valueCounts","group","minValuesCount","min","maxValuesCount","max","groupsCount","valuesCount"],"sources":["../../../src/a11y/serialize.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { DataSummarizationConfig } from './hints';\nimport type { AnalyzedData, ClusterNode, ComparisonNode, GeneralTrendNode, TrendNode } from './insights';\nimport { getIntl, type Intl } from './intl';\n\nconst formatLimitedSizeList = (\n items: string[],\n intl: Intl,\n maxFinalStringLength = 100,\n includeEllipsis = true,\n) => {\n let limit = items.length;\n const stringifyList = () => {\n const cutItems = items.slice(0, limit);\n if (items.length > limit && includeEllipsis) {\n cutItems.push(intl.formatMessage({ id: 'ellipsis' }, { leftCount: limit - items.length }));\n }\n\n return intl.formatList(cutItems);\n };\n\n let formattedList = stringifyList();\n if (formattedList.length <= maxFinalStringLength) {\n return formattedList;\n }\n\n const overflowRatio = formattedList.length / maxFinalStringLength;\n limit = Math.floor(limit / overflowRatio);\n if (limit === 0) {\n limit = 1;\n return stringifyList();\n }\n\n formattedList = stringifyList();\n\n const maxIncreaseAttempts = 4;\n for (let i = 0; i < maxIncreaseAttempts; i++) {\n limit++;\n const newLimitFormattedList = stringifyList();\n\n if (newLimitFormattedList.length > maxFinalStringLength) {\n return formattedList;\n }\n\n formattedList = newLimitFormattedList;\n }\n\n return formattedList;\n};\n\nconst isReactComponent = (obj: any) =>\n typeof obj === 'object' && obj && 'displayName' in obj && typeof obj.displayName === 'string';\n\nconst guessNumberAsTimestampMinDate = new Date('1975').getTime();\n\nexport const defaultValueFormatter = (\n intl: Intl,\n value: unknown,\n {\n siblingsTimeMark,\n maxListSymbols,\n datesWithTime,\n }: {\n siblingsTimeMark?: unknown;\n maxListSymbols?: number;\n datesWithTime?: boolean;\n } = {},\n): string => {\n if (typeof value === 'number') {\n if (value >= guessNumberAsTimestampMinDate) {\n return defaultValueFormatter(intl, new Date(value), {\n siblingsTimeMark,\n maxListSymbols,\n datesWithTime,\n });\n }\n return intl.formatNumber(value);\n }\n if (value instanceof Date) {\n if (\n datesWithTime ||\n (siblingsTimeMark &&\n siblingsTimeMark instanceof Date &&\n Math.abs(value.getTime() - siblingsTimeMark.getTime()) < 1000 * 60 * 60 * 24 * 5)\n ) {\n return intl.formatDate(value, { dateStyle: 'medium', timeStyle: 'medium' });\n }\n return intl.formatDate(value, { dateStyle: 'medium' });\n }\n\n if (Array.isArray(value)) {\n const formattedValues = value.map((subValue) =>\n defaultValueFormatter(intl, subValue, { siblingsTimeMark, maxListSymbols, datesWithTime }),\n );\n\n return formatLimitedSizeList(formattedValues, intl, maxListSymbols);\n }\n\n if (isReactComponent(value)) {\n return String((value as React.FC).displayName);\n }\n\n if (value === undefined || value === null) {\n return intl.formatMessage({ id: 'data-not-available' });\n }\n\n return String(value);\n};\n\nconst formatValuesList = (\n values: { label: string; value: unknown }[],\n {\n intl,\n limit,\n datesWithTime,\n maxListSymbols,\n }: { intl: Intl; limit: number; datesWithTime?: boolean; maxListSymbols: number },\n) => {\n const result = values.slice(0, limit).map(({ value: rawValue, label }) => {\n if (rawValue === undefined) return label;\n\n const value = defaultValueFormatter(intl, rawValue, { datesWithTime, maxListSymbols });\n\n if (String(value) === String(label)) return value;\n\n return intl.formatMessage({ id: 'value-labeled' }, { label, value });\n });\n if (values.length > limit) {\n result.push(\n intl.formatMessage({ id: 'ellipsis' }, { leftCount: limit - values.values.length }),\n );\n }\n\n return intl.formatList(result);\n};\n\nexport const serialize = (\n { insights, dataType, dataRange, dataTitle, entitiesCount }: AnalyzedData,\n {\n datesWithTime,\n maxListSymbols,\n clustersLimit,\n valuesLimit,\n groupsLimit,\n titlesFormatter,\n valuesFormatter,\n }: DataSummarizationConfig,\n {\n locale,\n translations,\n availableLocales,\n }: {\n locale: string;\n translations?: { [messageId: string]: string };\n availableLocales?: { [localeId: string]: any };\n },\n): string | null => {\n if (insights.length === 0) return null;\n\n const intl = getIntl(locale, translations!, availableLocales!);\n\n const dataRangeSummary = intl.formatList(\n dataRange.map((range) => {\n const from =\n valuesFormatter?.(range.from, range.label) ??\n defaultValueFormatter(intl, range.from, {\n siblingsTimeMark: range.to,\n datesWithTime,\n maxListSymbols,\n });\n const to =\n valuesFormatter?.(range.to, range.label) ??\n defaultValueFormatter(intl, range.to, {\n siblingsTimeMark: range.from,\n datesWithTime,\n maxListSymbols,\n });\n\n return intl.formatMessage(\n { id: range.label ? 'additional-axe' : 'additional-axe-no-label' },\n { from, to, label: titlesFormatter?.(range.label) ?? range.label },\n );\n }),\n );\n\n if (dataType === 'time-series') {\n const trendsInsights = insights as (GeneralTrendNode | TrendNode)[];\n const trendsByDataKey: { [label: string]: (GeneralTrendNode | TrendNode)[] } = {};\n for (const insight of trendsInsights) {\n trendsByDataKey[insight.dataKey] = trendsByDataKey[insight.dataKey] ?? [];\n trendsByDataKey[insight.dataKey].push(insight);\n }\n\n const entities = intl.formatMessage(\n { id: 'entity-type-time-series' },\n { count: entitiesCount },\n );\n const entitiesList = Object.entries(trendsByDataKey).map(([dataKey, insights]) => {\n const generalTrend = insights.find((insight) => insight.type === 'general-trend');\n const localTrends = insights.filter((insight) => insight !== generalTrend);\n const primaryTrend = generalTrend ?? localTrends[0];\n const secondaryTrends: (TrendNode | GeneralTrendNode)[] = insights.filter(\n (insight) => insight !== primaryTrend,\n );\n const summaryDataKey = entitiesCount !== 1 ? primaryTrend.label ?? dataKey : '';\n const mainSummary: string = intl.formatMessage(\n { id: 'time-series-general-trend' },\n {\n dataKey: titlesFormatter?.(summaryDataKey) ?? summaryDataKey,\n trend: intl.formatMessage({ id: `trend-${primaryTrend.change.strength}` }),\n from:\n valuesFormatter?.(primaryTrend.change.from, dataKey) ??\n intl.formatNumber(primaryTrend.change.from),\n to:\n valuesFormatter?.(primaryTrend.change.to, dataKey) ??\n intl.formatNumber(primaryTrend.change.to),\n },\n );\n const secondarySummaries = secondaryTrends.map((trend) =>\n intl.formatMessage(\n { id: 'time-series-local-trend' },\n {\n trend: intl.formatMessage({ id: `trend-${trend.change.strength}` }),\n from:\n valuesFormatter?.(trend.from, trend.dataKey) ??\n defaultValueFormatter(intl, trend.from, {\n siblingsTimeMark: trend.to,\n datesWithTime,\n maxListSymbols,\n }),\n to:\n valuesFormatter?.(trend.to, trend.dataKey) ??\n defaultValueFormatter(intl, trend.to, {\n siblingsTimeMark: trend.from,\n datesWithTime,\n maxListSymbols,\n }),\n },\n ),\n );\n\n if (secondarySummaries.length === 0) {\n return mainSummary;\n }\n\n return intl.formatMessage(\n {\n id: 'time-series-detailed-trend',\n },\n {\n general: mainSummary,\n locals: formatLimitedSizeList(secondarySummaries, intl, 400, false),\n },\n );\n });\n\n const summary = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n {\n entities,\n entitiesList: intl.formatList(entitiesList),\n label: titlesFormatter?.(dataTitle!) ?? dataTitle,\n },\n );\n\n if (dataRangeSummary.length > 0) {\n return `${summary}\\n${dataRangeSummary}`;\n }\n\n return summary;\n } else if (dataType === 'points-cloud') {\n const clustersInsights = insights as ClusterNode[];\n const biggestClusters = clustersInsights.slice(0, clustersLimit);\n\n const maxSize = clustersInsights[0].size;\n const minSize = clustersInsights[clustersInsights.length - 1].size;\n const entities =\n maxSize === minSize\n ? intl.formatMessage(\n { id: 'entity-type-clusters-single-size' },\n { count: entitiesCount, size: maxSize },\n )\n : intl.formatMessage(\n { id: 'entity-type-clusters-multiple-size' },\n { count: entitiesCount, maxSize, minSize },\n );\n const entitiesList = biggestClusters.map((clusterInsight) => {\n const labels = formatLimitedSizeList(\n clusterInsight.labels.reduce<string[]>((acc, label) => {\n if (typeof label === 'string') {\n acc.push(titlesFormatter?.(label) ?? label);\n }\n return acc;\n }, []),\n intl,\n maxListSymbols,\n );\n const anonymous =\n clusterInsight.labels.length === 0 || labels === String(clusterInsight.size);\n\n return intl.formatMessage(\n {\n id: anonymous ? 'entity-type-clusters-label-anonymous' : 'entity-type-clusters-label',\n },\n {\n relativeSize: intl.formatMessage({ id: `relative-size-${clusterInsight.relativeSize}` }),\n labels,\n size: clusterInsight.size,\n x:\n valuesFormatter?.(clusterInsight.center.x, clusterInsight.labels as any) ??\n intl.formatNumber(clusterInsight.center.x),\n xLabel: titlesFormatter?.(clusterInsight.center.xLabel) ?? clusterInsight.center.xLabel,\n y:\n valuesFormatter?.(clusterInsight.center.y, clusterInsight.labels as any) ??\n intl.formatNumber(clusterInsight.center.y),\n yLabel: titlesFormatter?.(clusterInsight.center.yLabel) ?? clusterInsight.center.yLabel,\n },\n );\n });\n if (insights.length > clustersLimit) {\n entitiesList.push(\n intl.formatMessage({ id: 'ellipsis' }, { leftCount: insights.length - clustersLimit }),\n );\n }\n\n const summary = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n {\n entities,\n entitiesList: intl.formatList(entitiesList),\n label: titlesFormatter?.(dataTitle!) ?? dataTitle,\n },\n );\n\n if (dataRangeSummary.length > 0) {\n return `${summary}\\n${dataRangeSummary}`;\n }\n\n return summary;\n } else if (dataType === 'values-set') {\n const [valuesInsight] = insights as [ComparisonNode];\n const entities = intl.formatMessage({ id: 'entity-type-values' }, { count: entitiesCount });\n const entitiesList = formatValuesList(valuesInsight.values, {\n intl,\n limit: valuesLimit,\n datesWithTime,\n maxListSymbols,\n });\n\n return intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n { entities, entitiesList: entitiesList, label: titlesFormatter?.(dataTitle!) ?? dataTitle },\n );\n } else if (dataType === 'grouped-values' || dataType === 'indexed-groups') {\n const groupInsights = insights as ComparisonNode[];\n const valueCounts = groupInsights.map((group) => group.values.length);\n const minValuesCount = Math.min(...valueCounts);\n const maxValuesCount = Math.max(...valueCounts);\n\n const entities =\n minValuesCount === maxValuesCount\n ? intl.formatMessage(\n { id: 'entity-type-grouped-values-single-size' },\n { groupsCount: groupInsights.length, valuesCount: valueCounts[0] },\n )\n : intl.formatMessage(\n { id: 'entity-type-grouped-values-multiple-size' },\n { groupsCount: groupInsights.length, minValuesCount, maxValuesCount },\n );\n const entitiesList = groupInsights.slice(0, groupsLimit).map(({ label, values }) => {\n const formattedValues = formatValuesList(values, {\n intl,\n limit: valuesLimit,\n datesWithTime,\n maxListSymbols,\n });\n return intl.formatMessage({ id: 'values-group' }, { label, values: formattedValues });\n });\n if (groupInsights.values.length > groupsLimit) {\n entitiesList.push(\n intl.formatMessage(\n { id: 'ellipsis' },\n { leftCount: groupInsights.values.length - groupsLimit },\n ),\n );\n }\n\n const summary = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n {\n entities,\n entitiesList: intl.formatList(entitiesList),\n label: titlesFormatter?.(dataTitle!) ?? dataTitle,\n },\n );\n\n return summary;\n }\n\n return null;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import { sstyled as _sstyled } from "@semcore/core";
3
4
  import { assignProps as _assignProps2 } from "@semcore/core";
@@ -6,6 +7,9 @@ import { Flex, Box } from '@semcore/base-components';
6
7
  import { Component, Root, sstyled } from '@semcore/core';
7
8
  import { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';
8
9
  import { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';
10
+ import canUseDOM from '@semcore/core/lib/utils/canUseDOM';
11
+ import cssToIntDefault from '@semcore/core/lib/utils/cssToIntDefault';
12
+ import trottle from '@semcore/core/lib/utils/rafTrottle';
9
13
  import { Text } from '@semcore/typography';
10
14
  import React, { Fragment } from 'react';
11
15
 
@@ -15,12 +19,13 @@ import React, { Fragment } from 'react';
15
19
  import { Plot, XAxis, YAxis } from '../..';
16
20
  import { makeDataHintsContainer } from '../../a11y/hints';
17
21
  /*!__reshadow-styles__:"../../style/abstract-chart.shadow.css"*/
18
- const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___STooltipChildrenWrapper_1snkx_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_1snkx_gg_._columnsCount_2_1snkx_gg_{grid-template-columns:auto minmax(28px,max-content)}.___STooltipChildrenWrapper_1snkx_gg_._columnsCount_3_1snkx_gg_{grid-template-columns:auto minmax(28px,max-content) minmax(28px,max-content)}", /*__inner_css_end__*/"1snkx_gg_"),
22
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SChart_giu6t_gg_{width:100%;height:100%;min-width:0;min-height:0}.___STooltipChildrenWrapper_giu6t_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_giu6t_gg_._columnsCount_2_giu6t_gg_{grid-template-columns:auto minmax(28px,max-content)}.___STooltipChildrenWrapper_giu6t_gg_._columnsCount_3_giu6t_gg_{grid-template-columns:auto minmax(28px,max-content) minmax(28px,max-content)}", /*__inner_css_end__*/"giu6t_gg_"),
19
23
  /*__reshadow_css_end__*/
20
24
  {
21
- "__STooltipChildrenWrapper": "___STooltipChildrenWrapper_1snkx_gg_",
22
- "_columnsCount_2": "_columnsCount_2_1snkx_gg_",
23
- "_columnsCount_3": "_columnsCount_3_1snkx_gg_"
25
+ "__SChart": "___SChart_giu6t_gg_",
26
+ "__STooltipChildrenWrapper": "___STooltipChildrenWrapper_giu6t_gg_",
27
+ "_columnsCount_2": "_columnsCount_2_giu6t_gg_",
28
+ "_columnsCount_3": "_columnsCount_3_giu6t_gg_"
24
29
  });
25
30
  import { interpolateValue } from '../../utils';
26
31
  import ChartLegend, { ChartLegendTable } from '../ChartLegend';
@@ -33,6 +38,13 @@ export class AbstractChart extends Component {
33
38
  */
34
39
  _defineProperty(this, "plotPadding", 6);
35
40
  _defineProperty(this, "dataHints", makeDataHintsContainer());
41
+ _defineProperty(this, "chartRef", /*#__PURE__*/React.createRef());
42
+ _defineProperty(this, "legendRef", /*#__PURE__*/React.createRef());
43
+ _defineProperty(this, "observer", void 0);
44
+ this.handleResize = trottle(this.handleResize.bind(this));
45
+ if (canUseDOM() && (!props.plotWidth || !props.plotHeight)) {
46
+ this.observer = new ResizeObserver(this.handleResize);
47
+ }
36
48
  this.setHighlightedLine = this.setHighlightedLine.bind(this);
37
49
  this.handleChangeVisible = this.handleChangeVisible.bind(this);
38
50
  this.handleMouseEnter = this.handleMouseEnter.bind(this);
@@ -43,9 +55,14 @@ export class AbstractChart extends Component {
43
55
  this.state = {
44
56
  dataDefinitions: this.getDefaultDataDefinitions(),
45
57
  highlightedLine: -1,
46
- withTrend: false
58
+ withTrend: false,
59
+ plotWidth: 0,
60
+ plotHeight: 0
47
61
  };
48
62
  }
63
+ componentDidMount() {
64
+ this.observer?.observe(this.chartRef.current);
65
+ }
49
66
  componentDidUpdate(prevProps) {
50
67
  if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {
51
68
  this.setState({
@@ -53,6 +70,15 @@ export class AbstractChart extends Component {
53
70
  });
54
71
  }
55
72
  }
73
+ componentWillUnmount() {
74
+ this.observer?.disconnect();
75
+ }
76
+ get plotWidth() {
77
+ return this.asProps.plotWidth ?? this.state.plotWidth;
78
+ }
79
+ get plotHeight() {
80
+ return this.asProps.plotHeight ?? this.state.plotHeight;
81
+ }
56
82
  getDefaultDataDefinitions() {
57
83
  const {
58
84
  data,
@@ -331,7 +357,9 @@ export class AbstractChart extends Component {
331
357
  'aria-label': this.getLegendAriaLabel()
332
358
  };
333
359
  if (lProps.legendType === 'Table') {
334
- return /*#__PURE__*/React.createElement(ChartLegendTable, commonLegendProps);
360
+ return /*#__PURE__*/React.createElement(ChartLegendTable, _extends({}, commonLegendProps, {
361
+ ref: this.legendRef
362
+ }));
335
363
  }
336
364
  if ('withTrend' in lProps) {
337
365
  const flexLegendProps = {
@@ -341,9 +369,13 @@ export class AbstractChart extends Component {
341
369
  trendIsVisible: withTrend,
342
370
  onTrendIsVisibleChange: this.handleWithTrendChange
343
371
  };
344
- return /*#__PURE__*/React.createElement(ChartLegend, flexLegendProps);
372
+ return /*#__PURE__*/React.createElement(ChartLegend, _extends({}, flexLegendProps, {
373
+ ref: this.legendRef
374
+ }));
345
375
  }
346
- return /*#__PURE__*/React.createElement(ChartLegend, commonLegendProps);
376
+ return /*#__PURE__*/React.createElement(ChartLegend, _extends({}, commonLegendProps, {
377
+ ref: this.legendRef
378
+ }));
347
379
  }
348
380
  renderAxis() {
349
381
  const {
@@ -445,8 +477,6 @@ export class AbstractChart extends Component {
445
477
  const SChart = Flex;
446
478
  const {
447
479
  styles,
448
- plotWidth,
449
- plotHeight,
450
480
  data,
451
481
  patterns,
452
482
  a11yAltTextConfig,
@@ -454,6 +484,10 @@ export class AbstractChart extends Component {
454
484
  eventEmitter,
455
485
  showTooltip
456
486
  } = this.asProps;
487
+ const {
488
+ plotWidth,
489
+ plotHeight
490
+ } = this;
457
491
  const {
458
492
  extractedAriaProps
459
493
  } = extractAriaProps(this.asProps);
@@ -461,7 +495,8 @@ export class AbstractChart extends Component {
461
495
  ..._assignProps2({
462
496
  "gap": 5,
463
497
  "__excludeProps": ['data', 'eventEmitter'],
464
- "role": 'group'
498
+ "role": 'group',
499
+ "ref": this.chartRef
465
500
  }, _ref2)
466
501
  }), this.renderLegend(), /*#__PURE__*/React.createElement(Plot, _ref4.cn("Plot", {
467
502
  "data": data,
@@ -476,6 +511,45 @@ export class AbstractChart extends Component {
476
511
  ...extractedAriaProps
477
512
  }), this.renderAxis(), !showTooltip ? null : this.renderTooltip(), this.renderChart()));
478
513
  }
514
+ handleResize(entities) {
515
+ const {
516
+ aspect,
517
+ direction,
518
+ onResize,
519
+ plotWidth,
520
+ plotHeight
521
+ } = this.asProps;
522
+ const chartElement = this.chartRef.current;
523
+ if (!chartElement) return;
524
+ const legendElement = this.legendRef.current;
525
+ const computedStyles = window.getComputedStyle(chartElement);
526
+ let width = chartElement.clientWidth;
527
+ let height = chartElement.clientHeight;
528
+ if (legendElement) {
529
+ const gap = cssToIntDefault(computedStyles.gap, 0);
530
+ if (direction?.includes('column')) {
531
+ height = height - legendElement.clientHeight - gap;
532
+ } else {
533
+ width = width - legendElement.clientWidth - gap;
534
+ }
535
+ }
536
+ if (aspect) {
537
+ const minHeight = cssToIntDefault(computedStyles.getPropertyValue('min-height'), -1);
538
+ const maxHeight = cssToIntDefault(computedStyles.getPropertyValue('max-height'), -1);
539
+ height = width / aspect;
540
+ if (minHeight !== -1 && height < minHeight) {
541
+ height = minHeight;
542
+ }
543
+ if (maxHeight !== -1 && height > maxHeight) {
544
+ height = maxHeight;
545
+ }
546
+ }
547
+ this.setState({
548
+ plotWidth: plotWidth ? 0 : width,
549
+ plotHeight: plotHeight ? 0 : height
550
+ });
551
+ onResize?.([width, height], entities);
552
+ }
479
553
  }
480
554
  _defineProperty(AbstractChart, "style", style);
481
555
  //# sourceMappingURL=AbstractChart.js.map