@semcore/d3-chart 17.2.0-prerelease.7 → 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
@@ -14,27 +14,27 @@ const style = (
14
14
  /*__reshadow_css_start__*/
15
15
  (sstyled.insert(
16
16
  /*__inner_css_start__*/
17
- '.___SLegendItem_uk6mx_gg_{min-width:0;align-items:flex-start}@media (hover:hover){.___SLegendItem_uk6mx_gg_:hover{cursor:pointer}.___SLegendItem_uk6mx_gg_.__disabled_uk6mx_gg_:hover{cursor:default}}.___SPointShape_uk6mx_gg_.__color_uk6mx_gg_{background-color:var(--color_uk6mx);margin-right:8px;flex-shrink:0}.___SPointShape_uk6mx_gg_._shape_Circle_uk6mx_gg_._size_l_uk6mx_gg_{width:16px;height:16px;border-radius:8px;margin-top:4px}.___SPointShape_uk6mx_gg_._shape_Circle_uk6mx_gg_._size_m_uk6mx_gg_{width:12px;height:12px;border-radius:6px;margin-top:4px}.___SPointShape_uk6mx_gg_._shape_Line_uk6mx_gg_._size_l_uk6mx_gg_{width:16px;height:4px;border-radius:3px;margin-top:9px}.___SPointShape_uk6mx_gg_._shape_Line_uk6mx_gg_._size_m_uk6mx_gg_{width:12px;height:4px;border-radius:3px;margin-top:8px}.___SPointShape_uk6mx_gg_._shape_Square_uk6mx_gg_._size_l_uk6mx_gg_{width:16px;height:16px;border-radius:2px;margin-top:4px}.___SPointShape_uk6mx_gg_._shape_Square_uk6mx_gg_._size_m_uk6mx_gg_{width:12px;height:12px;border-radius:2px;margin-top:4px}.___SPointShape_uk6mx_gg_._shape_Pattern_uk6mx_gg_{background-color:initial;margin-right:4px}.___SIcon_uk6mx_gg_{line-height:0;margin-right:4px}.___SIcon_uk6mx_gg_._size_l_uk6mx_gg_{margin-top:4px}.___SIcon_uk6mx_gg_._size_m_uk6mx_gg_{margin-top:2px}.___SLabel_uk6mx_gg_{min-width:0}.___SAdditionalLabel_uk6mx_gg_._size_l_uk6mx_gg_,.___SCount_uk6mx_gg_._size_l_uk6mx_gg_,.___SLabel_uk6mx_gg_._size_l_uk6mx_gg_{font-size:var(--intergalactic-fs-300,16px);line-height:var(--intergalactic-lh-300,150%)}.___SAdditionalLabel_uk6mx_gg_._size_m_uk6mx_gg_,.___SCount_uk6mx_gg_._size_m_uk6mx_gg_,.___SLabel_uk6mx_gg_._size_m_uk6mx_gg_{font-size:var(--intergalactic-fs-200,14px);line-height:var(--intergalactic-lh-200,142%)}.___SAdditionalLabel_uk6mx_gg_,.___SCount_uk6mx_gg_{margin-left:4px}.___SAdditionalLabel_uk6mx_gg_{white-space:nowrap;display:flex;align-items:flex-start}.___SAdditionalLabel_uk6mx_gg_:before{content:"";display:inline-block;background-color:var(--intergalactic-text-secondary,#00030095);height:4px;width:4px;border-radius:2px;margin-right:4px}@supports (color:color(display-p3 0 0 0%)){.___SAdditionalLabel_uk6mx_gg_:before{background-color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___SAdditionalLabel_uk6mx_gg_:before{background-color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}.___SAdditionalLabel_uk6mx_gg_._size_l_uk6mx_gg_:before{margin-top:10px}.___SAdditionalLabel_uk6mx_gg_._size_m_uk6mx_gg_:before{margin-top:8px}.___SPatternSymbol_uk6mx_gg_{transform:scale(.8)}',
17
+ '.___SLegendItem_e035q_gg_{min-width:0;align-items:flex-start}@media (hover:hover){.___SLegendItem_e035q_gg_:hover{cursor:pointer}.___SLegendItem_e035q_gg_.__disabled_e035q_gg_:hover{cursor:default}}.___SPointShape_e035q_gg_.__color_e035q_gg_{background-color:var(--color_e035q);margin-right:8px;flex-shrink:0}.___SPointShape_e035q_gg_._shape_Circle_e035q_gg_._size_l_e035q_gg_{width:16px;height:16px;border-radius:8px;margin-top:4px}.___SPointShape_e035q_gg_._shape_Circle_e035q_gg_._size_m_e035q_gg_{width:12px;height:12px;border-radius:6px;margin-top:4px}.___SPointShape_e035q_gg_._shape_Line_e035q_gg_._size_l_e035q_gg_{width:16px;height:4px;border-radius:3px;margin-top:9px}.___SPointShape_e035q_gg_._shape_Line_e035q_gg_._size_m_e035q_gg_{width:12px;height:4px;border-radius:3px;margin-top:8px}.___SPointShape_e035q_gg_._shape_Square_e035q_gg_._size_l_e035q_gg_{width:16px;height:16px;border-radius:2px;margin-top:4px}.___SPointShape_e035q_gg_._shape_Square_e035q_gg_._size_m_e035q_gg_{width:12px;height:12px;border-radius:2px;margin-top:4px}.___SPointShape_e035q_gg_._shape_Pattern_e035q_gg_{background-color:initial;margin-right:4px}.___SIcon_e035q_gg_{line-height:0;margin-right:4px}.___SIcon_e035q_gg_._size_l_e035q_gg_{margin-top:4px}.___SIcon_e035q_gg_._size_m_e035q_gg_{margin-top:2px}.___SLabel_e035q_gg_{min-width:0}.___SAdditionalLabel_e035q_gg_._size_l_e035q_gg_,.___SCount_e035q_gg_._size_l_e035q_gg_,.___SLabel_e035q_gg_._size_l_e035q_gg_{font-size:var(--intergalactic-fs-300,16px);line-height:var(--intergalactic-lh-300,150%)}.___SAdditionalLabel_e035q_gg_._size_m_e035q_gg_,.___SCount_e035q_gg_._size_m_e035q_gg_,.___SLabel_e035q_gg_._size_m_e035q_gg_{font-size:var(--intergalactic-fs-200,14px);line-height:var(--intergalactic-lh-200,142%)}.___SAdditionalLabel_e035q_gg_,.___SCount_e035q_gg_{margin-left:4px}.___SAdditionalLabel_e035q_gg_{white-space:nowrap;display:flex;align-items:flex-start}.___SAdditionalLabel_e035q_gg_:before{content:"";display:inline-block;background-color:var(--intergalactic-text-secondary,#00030095);height:4px;width:4px;border-radius:2px;margin-right:4px}@media (color-gamut:p3){.___SAdditionalLabel_e035q_gg_:before{background-color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___SAdditionalLabel_e035q_gg_._size_l_e035q_gg_:before{margin-top:10px}.___SAdditionalLabel_e035q_gg_._size_m_e035q_gg_:before{margin-top:8px}.___SPatternSymbol_e035q_gg_{transform:scale(.8)}',
18
18
  /*__inner_css_end__*/
19
- "uk6mx_gg_"
19
+ "e035q_gg_"
20
20
  ), /*__reshadow_css_end__*/
21
21
  {
22
- "__SLegendItem": "___SLegendItem_uk6mx_gg_",
23
- "_disabled": "__disabled_uk6mx_gg_",
24
- "__SPointShape": "___SPointShape_uk6mx_gg_",
25
- "_color": "__color_uk6mx_gg_",
26
- "--color": "--color_uk6mx",
27
- "_shape_Circle": "_shape_Circle_uk6mx_gg_",
28
- "_size_l": "_size_l_uk6mx_gg_",
29
- "_size_m": "_size_m_uk6mx_gg_",
30
- "_shape_Line": "_shape_Line_uk6mx_gg_",
31
- "_shape_Square": "_shape_Square_uk6mx_gg_",
32
- "_shape_Pattern": "_shape_Pattern_uk6mx_gg_",
33
- "__SIcon": "___SIcon_uk6mx_gg_",
34
- "__SLabel": "___SLabel_uk6mx_gg_",
35
- "__SAdditionalLabel": "___SAdditionalLabel_uk6mx_gg_",
36
- "__SCount": "___SCount_uk6mx_gg_",
37
- "__SPatternSymbol": "___SPatternSymbol_uk6mx_gg_"
22
+ "__SLegendItem": "___SLegendItem_e035q_gg_",
23
+ "_disabled": "__disabled_e035q_gg_",
24
+ "__SPointShape": "___SPointShape_e035q_gg_",
25
+ "_color": "__color_e035q_gg_",
26
+ "--color": "--color_e035q",
27
+ "_shape_Circle": "_shape_Circle_e035q_gg_",
28
+ "_size_l": "_size_l_e035q_gg_",
29
+ "_size_m": "_size_m_e035q_gg_",
30
+ "_shape_Line": "_shape_Line_e035q_gg_",
31
+ "_shape_Square": "_shape_Square_e035q_gg_",
32
+ "_shape_Pattern": "_shape_Pattern_e035q_gg_",
33
+ "__SIcon": "___SIcon_e035q_gg_",
34
+ "__SLabel": "___SLabel_e035q_gg_",
35
+ "__SAdditionalLabel": "___SAdditionalLabel_e035q_gg_",
36
+ "__SCount": "___SCount_e035q_gg_",
37
+ "__SPatternSymbol": "___SPatternSymbol_e035q_gg_"
38
38
  })
39
39
  );
40
40
  const enhance = [resolveColorEnhance(), uniqueIDEnhancement()];
@@ -9,16 +9,16 @@ const style = (
9
9
  /*__reshadow_css_start__*/
10
10
  (sstyled.insert(
11
11
  /*__inner_css_start__*/
12
- '.___SLegendTable_1vvs7_gg_.__columns-count_1vvs7_gg_{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:grid;grid-template-columns:auto .2fr;align-items:center;height:-moz-fit-content;height:fit-content;grid-column-gap:16px;grid-row-gap:8px}.___SColumnItem_1vvs7_gg_._size_l_1vvs7_gg_{font-size:var(--intergalactic-fs-300,16px);text-align:right}.___SColumnItem_1vvs7_gg_._size_m_1vvs7_gg_{font-size:var(--intergalactic-fs-200,14px);text-align:right}',
12
+ '.___SLegendTable_11u3t_gg_.__columns-count_11u3t_gg_{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:grid;grid-template-columns:auto .2fr;align-items:center;height:-moz-fit-content;height:fit-content;grid-column-gap:16px;grid-row-gap:8px}.___SColumnItem_11u3t_gg_._size_l_11u3t_gg_{font-size:var(--intergalactic-fs-300,16px);text-align:right}.___SColumnItem_11u3t_gg_._size_m_11u3t_gg_{font-size:var(--intergalactic-fs-200,14px);text-align:right}',
13
13
  /*__inner_css_end__*/
14
- "1vvs7_gg_"
14
+ "11u3t_gg_"
15
15
  ), /*__reshadow_css_end__*/
16
16
  {
17
- "__SLegendTable": "___SLegendTable_1vvs7_gg_",
18
- "_columns-count": "__columns-count_1vvs7_gg_",
19
- "__SColumnItem": "___SColumnItem_1vvs7_gg_",
20
- "_size_l": "_size_l_1vvs7_gg_",
21
- "_size_m": "_size_m_1vvs7_gg_"
17
+ "__SLegendTable": "___SLegendTable_11u3t_gg_",
18
+ "_columns-count": "__columns-count_11u3t_gg_",
19
+ "__SColumnItem": "___SColumnItem_11u3t_gg_",
20
+ "_size_l": "_size_l_11u3t_gg_",
21
+ "_size_m": "_size_m_11u3t_gg_"
22
22
  })
23
23
  );
24
24
  class LegendTableRoot extends BaseLegend {
@@ -1,3 +1,10 @@
1
+ SChart {
2
+ width: 100%;
3
+ height: 100%;
4
+ min-width: 0;
5
+ min-height: 0;
6
+ }
7
+
1
8
  STooltipChildrenWrapper {
2
9
  display: grid;
3
10
  column-gap: var(--intergalactic-spacing-2x, 8px);
@@ -12,6 +12,8 @@ export type ChartState = {
12
12
  }>;
13
13
  highlightedLine: number;
14
14
  withTrend: boolean;
15
+ plotWidth: number;
16
+ plotHeight: number;
15
17
  };
16
18
  export declare const NOT_A_VALUE = "n/a";
17
19
  export declare abstract class AbstractChart<Data extends ListData | ObjectData, Props extends BaseChartProps<Data>, Enhancers extends readonly ((...args: any[]) => any)[] = [], InnerProps = {}, State extends ChartState = ChartState, DefaultProps extends Intergalactic.InternalTypings.ValidDefaultProps<DefaultProps, Props & InnerProps> = never> extends Component<Props, Enhancers, Readonly<{}>, InnerProps, State, DefaultProps> {
@@ -23,8 +25,19 @@ export declare abstract class AbstractChart<Data extends ListData | ObjectData,
23
25
  */
24
26
  protected plotPadding: number;
25
27
  protected dataHints: import("../../a11y/hints").DataStructureHints;
28
+ protected chartRef: React.RefObject<HTMLElement>;
29
+ protected legendRef: React.RefObject<HTMLDivElement>;
30
+ private observer;
26
31
  constructor(props: Props);
32
+ componentDidMount(): void;
27
33
  componentDidUpdate(prevProps: Props): void;
34
+ componentWillUnmount(): void;
35
+ protected get plotWidth(): State["plotWidth"] | NonNullable<({
36
+ Root: React.ForwardRefExoticComponent<import("@semcore/core").IRootNodeProps & Intergalactic.InternalTypings.ComponentPropsNesting<any>>;
37
+ } & Readonly<Props & import("@semcore/core").IRootComponentProps<{}, {}, {}> & Intergalactic.InternalTypings.ExtractEnhanceType<Enhancers> & InnerProps> & Intergalactic.InternalTypings.EfficientOmit<React.AllHTMLAttributes<any>, keyof import("@semcore/core").IRootComponentProps<{}, {}, {}> | keyof Props | keyof Intergalactic.InternalTypings.ExtractEnhanceType<Enhancers> | keyof InnerProps> & ([DefaultProps] extends [never] ? {} : Intergalactic.InternalTypings.MappedDefaultProps<DefaultProps, Props & InnerProps>))["plotWidth"]>;
38
+ protected get plotHeight(): State["plotHeight"] | NonNullable<({
39
+ Root: React.ForwardRefExoticComponent<import("@semcore/core").IRootNodeProps & Intergalactic.InternalTypings.ComponentPropsNesting<any>>;
40
+ } & Readonly<Props & import("@semcore/core").IRootComponentProps<{}, {}, {}> & Intergalactic.InternalTypings.ExtractEnhanceType<Enhancers> & InnerProps> & Intergalactic.InternalTypings.EfficientOmit<React.AllHTMLAttributes<any>, keyof import("@semcore/core").IRootComponentProps<{}, {}, {}> | keyof Props | keyof Intergalactic.InternalTypings.ExtractEnhanceType<Enhancers> | keyof InnerProps> & ([DefaultProps] extends [never] ? {} : Intergalactic.InternalTypings.MappedDefaultProps<DefaultProps, Props & InnerProps>))["plotHeight"]>;
28
41
  protected getDefaultDataDefinitions(): Array<LegendItem & {
29
42
  columns: React.ReactNode[];
30
43
  }>;
@@ -56,4 +69,5 @@ export declare abstract class AbstractChart<Data extends ListData | ObjectData,
56
69
  }): React.ReactNode;
57
70
  protected renderTooltipTotalLine<D extends ObjectData>(dataItem: D): React.JSX.Element | null;
58
71
  render(): React.ReactNode;
72
+ private handleResize;
59
73
  }
@@ -54,12 +54,14 @@ export type BaseChartProps<T extends ListData | ObjectData> = FlexProps & {
54
54
  data: T;
55
55
  /**
56
56
  * Width of plot
57
+ * @default width is 100% of the parent element.
57
58
  */
58
- plotWidth: number;
59
+ plotWidth?: number;
59
60
  /**
60
61
  * Height of plot
62
+ * @default height is 100% of the parent element.
61
63
  */
62
- plotHeight: number;
64
+ plotHeight?: number;
63
65
  /** Enables charts patterns that enhances charts accessibility */
64
66
  patterns?: PatternsConfig;
65
67
  /**
@@ -146,6 +148,13 @@ export type BaseChartProps<T extends ListData | ObjectData> = FlexProps & {
146
148
  * Flag to show/hide legend
147
149
  */
148
150
  showLegend?: boolean;
151
+ /**
152
+ * Relation between height and width dimensions block.
153
+ * height = width / aspect, so an aspect could be set as `16 / 9` for example.
154
+ */
155
+ aspect?: number;
156
+ /** Callback which will be called after changing the block size */
157
+ onResize?: (size: [number, number], entries: ResizeObserverEntry[]) => void;
149
158
  /**
150
159
  * Props for Legend
151
160
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/d3-chart",
3
3
  "description": "Semrush D3 Chart Component",
4
- "version": "17.2.0-prerelease.7",
4
+ "version": "17.3.0-prerelease.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/esm/index.mjs",
7
7
  "typings": "lib/types/index.d.ts",
@@ -14,10 +14,10 @@
14
14
  "require": "./lib/cjs/index.js"
15
15
  },
16
16
  "dependencies": {
17
- "@formatjs/intl": "2.3.0",
18
- "@semcore/checkbox": "^17.2.0-prerelease.7",
19
- "@semcore/divider": "^17.2.0-prerelease.7",
20
- "@semcore/typography": "^17.2.0-prerelease.7",
17
+ "@formatjs/intl": "4.1.13",
18
+ "@semcore/checkbox": "^17.2.1-prerelease.0",
19
+ "@semcore/divider": "^17.2.1-prerelease.0",
20
+ "@semcore/typography": "^17.2.1-prerelease.0",
21
21
  "@types/d3-shape": "3.1.7",
22
22
  "@upsetjs/venn.js": "2.0.0",
23
23
  "d3-array": "3.1.6",
@@ -31,8 +31,8 @@
31
31
  "hoist-non-react-statics": "3.3.2"
32
32
  },
33
33
  "peerDependencies": {
34
- "@semcore/base-components": "^17.2.0",
35
- "@semcore/icon": "^17.2.0"
34
+ "@semcore/base-components": "^17.2.1",
35
+ "@semcore/icon": "^17.2.1"
36
36
  },
37
37
  "repository": {
38
38
  "type": "git",
@@ -44,16 +44,16 @@
44
44
  "@types/d3-array": "^3.2.1",
45
45
  "@types/d3-scale": "^4.0.9",
46
46
  "@types/d3-transition": "^3.0.9",
47
- "@semcore/base-components": "17.2.0-prerelease.7",
48
- "@semcore/core": "17.2.0-prerelease.7",
49
- "@semcore/checkbox": "17.2.0-prerelease.7",
50
- "@semcore/button": "17.2.0-prerelease.7",
51
- "@semcore/dropdown-menu": "17.2.0-prerelease.7",
52
- "@semcore/ellipsis": "17.2.0-prerelease.7",
53
- "@semcore/typography": "17.2.0-prerelease.7",
54
- "@semcore/icon": "17.2.0-prerelease.7",
47
+ "@semcore/core": "17.2.1-prerelease.0",
48
+ "@semcore/button": "17.2.1-prerelease.0",
49
+ "@semcore/checkbox": "17.2.1-prerelease.0",
50
+ "@semcore/divider": "17.2.1-prerelease.0",
51
+ "@semcore/base-components": "17.2.1-prerelease.0",
52
+ "@semcore/dropdown-menu": "17.3.0-prerelease.0",
53
+ "@semcore/ellipsis": "17.2.1-prerelease.0",
55
54
  "@semcore/testing-utils": "1.0.0",
56
- "@semcore/divider": "17.2.0-prerelease.7"
55
+ "@semcore/icon": "17.2.1-prerelease.0",
56
+ "@semcore/typography": "17.2.1-prerelease.0"
57
57
  },
58
58
  "scripts": {
59
59
  "build": "pnpm semcore-builder --source=js,ts && pnpm vite build"
@@ -0,0 +1,17 @@
1
+ import { resolve as resolvePath } from 'node:path';
2
+
3
+ import { defineConfig } from 'vitest/config';
4
+
5
+ import { vitestPlugins, vitestResolve } from '../../vitest.config.mts';
6
+
7
+ export default defineConfig({
8
+ plugins: vitestPlugins,
9
+ resolve: vitestResolve,
10
+ test: {
11
+ include: [
12
+ '__tests__/**/*.test.tsx',
13
+ ],
14
+ environment: 'jsdom',
15
+ setupFiles: [resolvePath(__dirname, '../../tools/testing-utils/setupTests')],
16
+ },
17
+ });