@fluentui/react-charting 5.23.55 → 5.23.57

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 (118) hide show
  1. package/CHANGELOG.json +49 -1
  2. package/CHANGELOG.md +23 -2
  3. package/dist/react-charting.d.ts +69 -0
  4. package/dist/react-charting.js +1 -1
  5. package/dist/react-charting.min.js +1 -1
  6. package/etc/react-charting.api.md +35 -0
  7. package/lib/ResponsiveContainer.d.ts +1 -0
  8. package/lib/ResponsiveContainer.js +2 -0
  9. package/lib/ResponsiveContainer.js.map +1 -0
  10. package/lib/components/CommonComponents/CartesianChart.base.js +1 -0
  11. package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
  12. package/lib/components/CommonComponents/CartesianChart.styles.js +2 -4
  13. package/lib/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  14. package/lib/components/CommonComponents/CartesianChart.types.d.ts +4 -0
  15. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  16. package/lib/components/DeclarativeChart/DeclarativeChart.js +23 -12
  17. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  18. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +38 -35
  19. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  20. package/lib/components/ResponsiveContainer/ResponsiveContainer.d.ts +7 -0
  21. package/lib/components/ResponsiveContainer/ResponsiveContainer.js +83 -0
  22. package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -0
  23. package/lib/components/ResponsiveContainer/ResponsiveContainer.types.d.ts +52 -0
  24. package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js +2 -0
  25. package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -0
  26. package/lib/components/ResponsiveContainer/index.d.ts +3 -0
  27. package/lib/components/ResponsiveContainer/index.js +4 -0
  28. package/lib/components/ResponsiveContainer/index.js.map +1 -0
  29. package/lib/components/ResponsiveContainer/withResponsiveContainer.d.ts +7 -0
  30. package/lib/components/ResponsiveContainer/withResponsiveContainer.js +17 -0
  31. package/lib/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -0
  32. package/lib/components/SankeyChart/SankeyChart.base.js +3 -2
  33. package/lib/components/SankeyChart/SankeyChart.base.js.map +1 -1
  34. package/lib/components/SankeyChart/SankeyChart.styles.js +2 -4
  35. package/lib/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  36. package/lib/components/SankeyChart/SankeyChart.types.d.ts +1 -0
  37. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -1
  38. package/lib/index.d.ts +2 -0
  39. package/lib/index.js +1 -0
  40. package/lib/index.js.map +1 -1
  41. package/lib/utilities/utilities.js +2 -2
  42. package/lib/utilities/utilities.js.map +1 -1
  43. package/lib-amd/ResponsiveContainer.d.ts +1 -0
  44. package/lib-amd/ResponsiveContainer.js +6 -0
  45. package/lib-amd/ResponsiveContainer.js.map +1 -0
  46. package/lib-amd/components/CommonComponents/CartesianChart.base.js +1 -0
  47. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -1
  48. package/lib-amd/components/CommonComponents/CartesianChart.styles.js +2 -4
  49. package/lib-amd/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  50. package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +4 -0
  51. package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +1 -1
  52. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js +23 -13
  53. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  54. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js +38 -35
  55. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  56. package/lib-amd/components/ResponsiveContainer/ResponsiveContainer.d.ts +7 -0
  57. package/lib-amd/components/ResponsiveContainer/ResponsiveContainer.js +86 -0
  58. package/lib-amd/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -0
  59. package/lib-amd/components/ResponsiveContainer/ResponsiveContainer.types.d.ts +52 -0
  60. package/lib-amd/components/ResponsiveContainer/ResponsiveContainer.types.js +5 -0
  61. package/lib-amd/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -0
  62. package/lib-amd/components/ResponsiveContainer/index.d.ts +3 -0
  63. package/lib-amd/components/ResponsiveContainer/index.js +8 -0
  64. package/lib-amd/components/ResponsiveContainer/index.js.map +1 -0
  65. package/lib-amd/components/ResponsiveContainer/withResponsiveContainer.d.ts +7 -0
  66. package/lib-amd/components/ResponsiveContainer/withResponsiveContainer.js +19 -0
  67. package/lib-amd/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -0
  68. package/lib-amd/components/SankeyChart/SankeyChart.base.js +3 -2
  69. package/lib-amd/components/SankeyChart/SankeyChart.base.js.map +1 -1
  70. package/lib-amd/components/SankeyChart/SankeyChart.styles.js +2 -4
  71. package/lib-amd/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  72. package/lib-amd/components/SankeyChart/SankeyChart.types.d.ts +1 -0
  73. package/lib-amd/components/SankeyChart/SankeyChart.types.js.map +1 -1
  74. package/lib-amd/index.d.ts +2 -0
  75. package/lib-amd/index.js +4 -2
  76. package/lib-amd/index.js.map +1 -1
  77. package/lib-amd/utilities/utilities.js +2 -2
  78. package/lib-amd/utilities/utilities.js.map +1 -1
  79. package/lib-commonjs/ResponsiveContainer.d.ts +1 -0
  80. package/lib-commonjs/ResponsiveContainer.js +5 -0
  81. package/lib-commonjs/ResponsiveContainer.js.map +1 -0
  82. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js +1 -0
  83. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
  84. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js +2 -4
  85. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  86. package/lib-commonjs/components/CommonComponents/CartesianChart.types.d.ts +4 -0
  87. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  88. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +23 -12
  89. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  90. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +38 -35
  91. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  92. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.d.ts +7 -0
  93. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js +87 -0
  94. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -0
  95. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.d.ts +52 -0
  96. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js +3 -0
  97. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -0
  98. package/lib-commonjs/components/ResponsiveContainer/index.d.ts +3 -0
  99. package/lib-commonjs/components/ResponsiveContainer/index.js +7 -0
  100. package/lib-commonjs/components/ResponsiveContainer/index.js.map +1 -0
  101. package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.d.ts +7 -0
  102. package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js +21 -0
  103. package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -0
  104. package/lib-commonjs/components/SankeyChart/SankeyChart.base.js +3 -2
  105. package/lib-commonjs/components/SankeyChart/SankeyChart.base.js.map +1 -1
  106. package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js +2 -4
  107. package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  108. package/lib-commonjs/components/SankeyChart/SankeyChart.types.d.ts +1 -0
  109. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -1
  110. package/lib-commonjs/index.d.ts +2 -0
  111. package/lib-commonjs/index.js +4 -1
  112. package/lib-commonjs/index.js.map +1 -1
  113. package/lib-commonjs/utilities/utilities.js +2 -2
  114. package/lib-commonjs/utilities/utilities.js.map +1 -1
  115. package/package.json +5 -5
  116. package/src/components/CommonComponents/CartesianChart.types.ts +5 -0
  117. package/src/components/ResponsiveContainer/ResponsiveContainer.types.ts +59 -0
  118. package/src/components/SankeyChart/SankeyChart.types.ts +1 -0
@@ -14,6 +14,17 @@ import { GaugeChart } from '../GaugeChart/index';
14
14
  import { GroupedVerticalBarChart } from '../GroupedVerticalBarChart/index';
15
15
  import { VerticalBarChart } from '../VerticalBarChart/index';
16
16
  import { toImage } from './imageExporter';
17
+ import { withResponsiveContainer } from '../ResponsiveContainer/withResponsiveContainer';
18
+ var ResponsiveDonutChart = withResponsiveContainer(DonutChart);
19
+ var ResponsiveVerticalStackedBarChart = withResponsiveContainer(VerticalStackedBarChart);
20
+ var ResponsiveLineChart = withResponsiveContainer(LineChart);
21
+ var ResponsiveHorizontalBarChartWithAxis = withResponsiveContainer(HorizontalBarChartWithAxis);
22
+ var ResponsiveAreaChart = withResponsiveContainer(AreaChart);
23
+ var ResponsiveHeatMapChart = withResponsiveContainer(HeatMapChart);
24
+ var ResponsiveSankeyChart = withResponsiveContainer(SankeyChart);
25
+ var ResponsiveGaugeChart = withResponsiveContainer(GaugeChart);
26
+ var ResponsiveGroupedVerticalBarChart = withResponsiveContainer(GroupedVerticalBarChart);
27
+ var ResponsiveVerticalBarChart = withResponsiveContainer(VerticalBarChart);
17
28
  var useColorMapping = function () {
18
29
  var colorMap = React.useRef(new Map());
19
30
  return colorMap;
@@ -76,7 +87,7 @@ export var DeclarativeChart = React.forwardRef(function (props, forwardedRef) {
76
87
  }
77
88
  // Unsupported schema, render as VerticalStackedBarChart
78
89
  fallbackVSBC = true;
79
- return (React.createElement(VerticalStackedBarChart, __assign({}, transformPlotlyJsonToVSBCProps(plotlySchema, colorMap, isDarkTheme, fallbackVSBC), commonProps)));
90
+ return (React.createElement(ResponsiveVerticalStackedBarChart, __assign({}, transformPlotlyJsonToVSBCProps(plotlySchema, colorMap, isDarkTheme, fallbackVSBC), commonProps)));
80
91
  };
81
92
  var exportAsImage = React.useCallback(function (opts) {
82
93
  var _a;
@@ -87,18 +98,18 @@ export var DeclarativeChart = React.forwardRef(function (props, forwardedRef) {
87
98
  }); }, [exportAsImage]);
88
99
  switch (plotlyInput.data[0].type) {
89
100
  case 'pie':
90
- return React.createElement(DonutChart, __assign({}, transformPlotlyJsonToDonutProps(plotlySchema, colorMap, isDarkTheme), commonProps));
101
+ return (React.createElement(ResponsiveDonutChart, __assign({}, transformPlotlyJsonToDonutProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
91
102
  case 'bar':
92
103
  var orientation_1 = plotlyInput.data[0].orientation;
93
104
  if (orientation_1 === 'h' && isNumberArray(plotlyInput.data[0].x)) {
94
- return (React.createElement(HorizontalBarChartWithAxis, __assign({}, transformPlotlyJsonToHorizontalBarWithAxisProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
105
+ return (React.createElement(ResponsiveHorizontalBarChartWithAxis, __assign({}, transformPlotlyJsonToHorizontalBarWithAxisProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
95
106
  }
96
107
  else {
97
108
  var containsLines = plotlyInput.data.some(function (series) { return series.type === 'scatter' || isLineData(series); });
98
109
  if (['group', 'overlay'].includes((_b = plotlySchema === null || plotlySchema === void 0 ? void 0 : plotlySchema.layout) === null || _b === void 0 ? void 0 : _b.barmode) && !containsLines) {
99
- return (React.createElement(GroupedVerticalBarChart, __assign({}, transformPlotlyJsonToGVBCProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
110
+ return (React.createElement(ResponsiveGroupedVerticalBarChart, __assign({}, transformPlotlyJsonToGVBCProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
100
111
  }
101
- return (React.createElement(VerticalStackedBarChart, __assign({}, transformPlotlyJsonToVSBCProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
112
+ return (React.createElement(ResponsiveVerticalStackedBarChart, __assign({}, transformPlotlyJsonToVSBCProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
102
113
  }
103
114
  case 'scatter':
104
115
  if (plotlyInput.data[0].mode === 'markers') {
@@ -107,29 +118,29 @@ export var DeclarativeChart = React.forwardRef(function (props, forwardedRef) {
107
118
  var isAreaChart_1 = plotlyInput.data.some(function (series) { return series.fill === 'tonexty' || series.fill === 'tozeroy'; });
108
119
  var renderChartJsx = function (chartProps) {
109
120
  if (isAreaChart_1) {
110
- return React.createElement(AreaChart, __assign({}, chartProps));
121
+ return React.createElement(ResponsiveAreaChart, __assign({}, chartProps));
111
122
  }
112
- return React.createElement(LineChart, __assign({}, chartProps));
123
+ return React.createElement(ResponsiveLineChart, __assign({}, chartProps));
113
124
  };
114
125
  return checkAndRenderChart(renderChartJsx, isAreaChart_1);
115
126
  case 'heatmap':
116
- return React.createElement(HeatMapChart, __assign({}, transformPlotlyJsonToHeatmapProps(plotlySchema), commonProps, { legendProps: {} }));
127
+ return (React.createElement(ResponsiveHeatMapChart, __assign({}, transformPlotlyJsonToHeatmapProps(plotlySchema), commonProps, { legendProps: {} })));
117
128
  case 'sankey':
118
- return (React.createElement(SankeyChart, __assign({}, transformPlotlyJsonToSankeyProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
129
+ return (React.createElement(ResponsiveSankeyChart, __assign({}, transformPlotlyJsonToSankeyProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
119
130
  case 'indicator':
120
131
  case 'gauge':
121
132
  if (((_g = (_f = (_e = plotlyInput.data) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.mode) === null || _g === void 0 ? void 0 : _g.includes('gauge')) || ((_j = (_h = plotlyInput.data) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.type) === 'gauge') {
122
- return (React.createElement(GaugeChart, __assign({}, transformPlotlyJsonToGaugeProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
133
+ return (React.createElement(ResponsiveGaugeChart, __assign({}, transformPlotlyJsonToGaugeProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
123
134
  }
124
135
  throw new Error("Unsupported chart - type: ".concat((_k = plotlyInput.data[0]) === null || _k === void 0 ? void 0 : _k.type, ", mode: ").concat((_l = plotlyInput.data[0]) === null || _l === void 0 ? void 0 : _l.mode));
125
136
  case 'histogram':
126
- return (React.createElement(VerticalBarChart, __assign({}, transformPlotlyJsonToVBCProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
137
+ return (React.createElement(ResponsiveVerticalBarChart, __assign({}, transformPlotlyJsonToVBCProps(plotlySchema, colorMap, isDarkTheme), commonProps)));
127
138
  default:
128
139
  var xValues = plotlyInput.data[0].x;
129
140
  var yValues = plotlyInput.data[0].y;
130
141
  if (xValues && yValues && xValues.length > 0 && yValues.length > 0) {
131
142
  var renderLineChartJsx = function (chartProps) {
132
- return React.createElement(LineChart, __assign({}, chartProps));
143
+ return React.createElement(ResponsiveLineChart, __assign({}, chartProps));
133
144
  };
134
145
  return checkAndRenderChart(renderLineChartJsx);
135
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeclarativeChart.js","sourceRoot":"../src/","sources":["components/DeclarativeChart/DeclarativeChart.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport * as React from 'react';\nimport { useTheme } from '@fluentui/react';\nimport { IRefObject } from '@fluentui/react/lib/Utilities';\nimport { DonutChart } from '../DonutChart/index';\nimport { VerticalStackedBarChart } from '../VerticalStackedBarChart/index';\nimport { PlotData, PlotlySchema } from './PlotlySchema';\nimport {\n isArrayOrTypedArray,\n isDateArray,\n isNumberArray,\n isMonthArray,\n sanitizeJson,\n updateXValues,\n transformPlotlyJsonToDonutProps,\n transformPlotlyJsonToVSBCProps,\n transformPlotlyJsonToScatterChartProps,\n transformPlotlyJsonToHorizontalBarWithAxisProps,\n transformPlotlyJsonToHeatmapProps,\n transformPlotlyJsonToSankeyProps,\n transformPlotlyJsonToGaugeProps,\n transformPlotlyJsonToGVBCProps,\n transformPlotlyJsonToVBCProps,\n isLineData,\n} from './PlotlySchemaAdapter';\nimport { LineChart, ILineChartProps } from '../LineChart/index';\nimport { HorizontalBarChartWithAxis } from '../HorizontalBarChartWithAxis/index';\nimport { AreaChart, IAreaChartProps } from '../AreaChart/index';\nimport { HeatMapChart } from '../HeatMapChart/index';\nimport { SankeyChart } from '../SankeyChart/SankeyChart';\nimport { GaugeChart } from '../GaugeChart/index';\nimport { GroupedVerticalBarChart } from '../GroupedVerticalBarChart/index';\nimport { VerticalBarChart } from '../VerticalBarChart/index';\nimport { IImageExportOptions, toImage } from './imageExporter';\nimport { IChart } from '../../types/index';\n\n/**\n * DeclarativeChart schema.\n * {@docCategory DeclarativeChart}\n */\nexport interface Schema {\n /**\n * Plotly schema represented as JSON object\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n plotlySchema: any;\n}\n\n/**\n * DeclarativeChart props.\n * {@docCategory DeclarativeChart}\n */\nexport interface DeclarativeChartProps extends React.RefAttributes<HTMLDivElement> {\n /**\n * The schema representing the chart data, layout and configuration\n */\n chartSchema: Schema;\n\n /**\n * Callback when an event occurs\n */\n onSchemaChange?: (eventData: Schema) => void;\n\n /**\n * Optional callback to access the IDeclarativeChart interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject<IDeclarativeChart>;\n}\n\n/**\n * {@docCategory DeclarativeChart}\n */\nexport interface IDeclarativeChart {\n exportAsImage: (opts?: IImageExportOptions) => Promise<string>;\n}\n\nconst useColorMapping = () => {\n const colorMap = React.useRef(new Map<string, string>());\n return colorMap;\n};\n\n/**\n * DeclarativeChart component.\n * {@docCategory DeclarativeChart}\n */\nexport const DeclarativeChart: React.FunctionComponent<DeclarativeChartProps> = React.forwardRef<\n HTMLDivElement,\n DeclarativeChartProps\n>((props, forwardedRef) => {\n const { plotlySchema } = sanitizeJson(props.chartSchema);\n const plotlyInput = plotlySchema as PlotlySchema;\n let { selectedLegends } = plotlySchema;\n const colorMap = useColorMapping();\n const theme = useTheme();\n const isDarkTheme = theme?.isInverted ?? false;\n const chartRef = React.useRef<IChart>(null);\n\n if (!isArrayOrTypedArray(selectedLegends)) {\n selectedLegends = [];\n }\n\n const [activeLegends, setActiveLegends] = React.useState<string[]>(selectedLegends);\n const onActiveLegendsChange = (keys: string[]) => {\n setActiveLegends(keys);\n if (props.onSchemaChange) {\n props.onSchemaChange({ plotlySchema: { plotlyInput, selectedLegends: keys } });\n }\n };\n\n React.useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { plotlySchema } = sanitizeJson(props.chartSchema);\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { selectedLegends } = plotlySchema;\n setActiveLegends(selectedLegends ?? []);\n }, [props.chartSchema]);\n\n const multiSelectLegendProps = {\n canSelectMultipleLegends: true,\n onChange: onActiveLegendsChange,\n selectedLegends: activeLegends,\n };\n\n const commonProps = {\n legendProps: multiSelectLegendProps,\n componentRef: chartRef,\n calloutProps: { layerProps: { eventBubblingEnabled: true } },\n };\n\n const checkAndRenderChart = (\n renderChartJsx: (chartProps: ILineChartProps | IAreaChartProps) => JSX.Element,\n isAreaChart: boolean = false,\n ) => {\n let fallbackVSBC = false;\n const xValues = (plotlyInput.data[0] as PlotData).x;\n const isXDate = isDateArray(xValues);\n const isXNumber = isNumberArray(xValues);\n const isXMonth = isMonthArray(xValues);\n if (isXDate || isXNumber) {\n const chartProps: ILineChartProps | IAreaChartProps = {\n ...transformPlotlyJsonToScatterChartProps(\n { data: plotlyInput.data, layout: plotlyInput.layout },\n isAreaChart,\n colorMap,\n isDarkTheme,\n ),\n ...commonProps,\n };\n return renderChartJsx(chartProps);\n } else if (isXMonth) {\n const updatedData = plotlyInput.data.map((dataPoint: PlotData) => ({\n ...dataPoint,\n x: updateXValues(dataPoint.x),\n }));\n const chartProps: ILineChartProps | IAreaChartProps = {\n ...transformPlotlyJsonToScatterChartProps(\n { data: updatedData, layout: plotlyInput.layout },\n isAreaChart,\n colorMap,\n isDarkTheme,\n ),\n ...commonProps,\n };\n return renderChartJsx(chartProps);\n }\n // Unsupported schema, render as VerticalStackedBarChart\n fallbackVSBC = true;\n return (\n <VerticalStackedBarChart\n {...transformPlotlyJsonToVSBCProps(plotlySchema, colorMap, isDarkTheme, fallbackVSBC)}\n {...commonProps}\n />\n );\n };\n\n const exportAsImage = React.useCallback(\n (opts?: IImageExportOptions) => {\n return toImage(chartRef.current?.chartContainer, {\n background: theme.semanticColors.bodyBackground,\n scale: 5,\n ...opts,\n });\n },\n [theme],\n );\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n exportAsImage,\n }),\n [exportAsImage],\n );\n\n switch (plotlyInput.data[0].type) {\n case 'pie':\n return <DonutChart {...transformPlotlyJsonToDonutProps(plotlySchema, colorMap, isDarkTheme)} {...commonProps} />;\n case 'bar':\n const orientation = plotlyInput.data[0].orientation;\n if (orientation === 'h' && isNumberArray((plotlyInput.data[0] as PlotData).x)) {\n return (\n <HorizontalBarChartWithAxis\n {...transformPlotlyJsonToHorizontalBarWithAxisProps(plotlySchema, colorMap, isDarkTheme)}\n {...commonProps}\n />\n );\n } else {\n const containsLines = plotlyInput.data.some(\n series => series.type === 'scatter' || isLineData(series as Partial<PlotData>),\n );\n if (['group', 'overlay'].includes(plotlySchema?.layout?.barmode) && !containsLines) {\n return (\n <GroupedVerticalBarChart\n {...transformPlotlyJsonToGVBCProps(plotlySchema, colorMap, isDarkTheme)}\n {...commonProps}\n />\n );\n }\n return (\n <VerticalStackedBarChart\n {...transformPlotlyJsonToVSBCProps(plotlySchema, colorMap, isDarkTheme)}\n {...commonProps}\n />\n );\n }\n case 'scatter':\n if (plotlyInput.data[0].mode === 'markers') {\n throw new Error(`Unsupported chart - type :${plotlyInput.data[0]?.type}, mode: ${plotlyInput.data[0]?.mode}`);\n }\n const isAreaChart = plotlyInput.data.some(\n (series: PlotData) => series.fill === 'tonexty' || series.fill === 'tozeroy',\n );\n const renderChartJsx = (chartProps: ILineChartProps | IAreaChartProps) => {\n if (isAreaChart) {\n return <AreaChart {...chartProps} />;\n }\n return <LineChart {...chartProps} />;\n };\n return checkAndRenderChart(renderChartJsx, isAreaChart);\n case 'heatmap':\n return <HeatMapChart {...transformPlotlyJsonToHeatmapProps(plotlySchema)} {...commonProps} legendProps={{}} />;\n case 'sankey':\n return (\n <SankeyChart {...transformPlotlyJsonToSankeyProps(plotlySchema, colorMap, isDarkTheme)} {...commonProps} />\n );\n case 'indicator':\n case 'gauge':\n if (plotlyInput.data?.[0]?.mode?.includes('gauge') || plotlyInput.data?.[0]?.type === 'gauge') {\n return (\n <GaugeChart {...transformPlotlyJsonToGaugeProps(plotlySchema, colorMap, isDarkTheme)} {...commonProps} />\n );\n }\n throw new Error(`Unsupported chart - type: ${plotlyInput.data[0]?.type}, mode: ${plotlyInput.data[0]?.mode}`);\n case 'histogram':\n return (\n <VerticalBarChart {...transformPlotlyJsonToVBCProps(plotlySchema, colorMap, isDarkTheme)} {...commonProps} />\n );\n default:\n const xValues = (plotlyInput.data[0] as PlotData).x;\n const yValues = (plotlyInput.data[0] as PlotData).y;\n if (xValues && yValues && xValues.length > 0 && yValues.length > 0) {\n const renderLineChartJsx = (chartProps: ILineChartProps) => {\n return <LineChart {...chartProps} />;\n };\n return checkAndRenderChart(renderLineChartJsx);\n }\n throw new Error(`Unsupported chart type :${plotlyInput.data[0]?.type}`);\n }\n});\nDeclarativeChart.displayName = 'DeclarativeChart';\n"]}
1
+ {"version":3,"file":"DeclarativeChart.js","sourceRoot":"../src/","sources":["components/DeclarativeChart/DeclarativeChart.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport * as React from 'react';\nimport { useTheme } from '@fluentui/react';\nimport { IRefObject } from '@fluentui/react/lib/Utilities';\nimport { DonutChart } from '../DonutChart/index';\nimport { VerticalStackedBarChart } from '../VerticalStackedBarChart/index';\nimport { PlotData, PlotlySchema } from './PlotlySchema';\nimport {\n isArrayOrTypedArray,\n isDateArray,\n isNumberArray,\n isMonthArray,\n sanitizeJson,\n updateXValues,\n transformPlotlyJsonToDonutProps,\n transformPlotlyJsonToVSBCProps,\n transformPlotlyJsonToScatterChartProps,\n transformPlotlyJsonToHorizontalBarWithAxisProps,\n transformPlotlyJsonToHeatmapProps,\n transformPlotlyJsonToSankeyProps,\n transformPlotlyJsonToGaugeProps,\n transformPlotlyJsonToGVBCProps,\n transformPlotlyJsonToVBCProps,\n isLineData,\n} from './PlotlySchemaAdapter';\nimport { LineChart, ILineChartProps } from '../LineChart/index';\nimport { HorizontalBarChartWithAxis } from '../HorizontalBarChartWithAxis/index';\nimport { AreaChart, IAreaChartProps } from '../AreaChart/index';\nimport { HeatMapChart } from '../HeatMapChart/index';\nimport { SankeyChart } from '../SankeyChart/SankeyChart';\nimport { GaugeChart } from '../GaugeChart/index';\nimport { GroupedVerticalBarChart } from '../GroupedVerticalBarChart/index';\nimport { VerticalBarChart } from '../VerticalBarChart/index';\nimport { IImageExportOptions, toImage } from './imageExporter';\nimport { IChart } from '../../types/index';\nimport { withResponsiveContainer } from '../ResponsiveContainer/withResponsiveContainer';\n\nconst ResponsiveDonutChart = withResponsiveContainer(DonutChart);\nconst ResponsiveVerticalStackedBarChart = withResponsiveContainer(VerticalStackedBarChart);\nconst ResponsiveLineChart = withResponsiveContainer(LineChart);\nconst ResponsiveHorizontalBarChartWithAxis = withResponsiveContainer(HorizontalBarChartWithAxis);\nconst ResponsiveAreaChart = withResponsiveContainer(AreaChart);\nconst ResponsiveHeatMapChart = withResponsiveContainer(HeatMapChart);\nconst ResponsiveSankeyChart = withResponsiveContainer(SankeyChart);\nconst ResponsiveGaugeChart = withResponsiveContainer(GaugeChart);\nconst ResponsiveGroupedVerticalBarChart = withResponsiveContainer(GroupedVerticalBarChart);\nconst ResponsiveVerticalBarChart = withResponsiveContainer(VerticalBarChart);\n\n/**\n * DeclarativeChart schema.\n * {@docCategory DeclarativeChart}\n */\nexport interface Schema {\n /**\n * Plotly schema represented as JSON object\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n plotlySchema: any;\n}\n\n/**\n * DeclarativeChart props.\n * {@docCategory DeclarativeChart}\n */\nexport interface DeclarativeChartProps extends React.RefAttributes<HTMLDivElement> {\n /**\n * The schema representing the chart data, layout and configuration\n */\n chartSchema: Schema;\n\n /**\n * Callback when an event occurs\n */\n onSchemaChange?: (eventData: Schema) => void;\n\n /**\n * Optional callback to access the IDeclarativeChart interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject<IDeclarativeChart>;\n}\n\n/**\n * {@docCategory DeclarativeChart}\n */\nexport interface IDeclarativeChart {\n exportAsImage: (opts?: IImageExportOptions) => Promise<string>;\n}\n\nconst useColorMapping = () => {\n const colorMap = React.useRef(new Map<string, string>());\n return colorMap;\n};\n\n/**\n * DeclarativeChart component.\n * {@docCategory DeclarativeChart}\n */\nexport const DeclarativeChart: React.FunctionComponent<DeclarativeChartProps> = React.forwardRef<\n HTMLDivElement,\n DeclarativeChartProps\n>((props, forwardedRef) => {\n const { plotlySchema } = sanitizeJson(props.chartSchema);\n const plotlyInput = plotlySchema as PlotlySchema;\n let { selectedLegends } = plotlySchema;\n const colorMap = useColorMapping();\n const theme = useTheme();\n const isDarkTheme = theme?.isInverted ?? false;\n const chartRef = React.useRef<IChart>(null);\n\n if (!isArrayOrTypedArray(selectedLegends)) {\n selectedLegends = [];\n }\n\n const [activeLegends, setActiveLegends] = React.useState<string[]>(selectedLegends);\n const onActiveLegendsChange = (keys: string[]) => {\n setActiveLegends(keys);\n if (props.onSchemaChange) {\n props.onSchemaChange({ plotlySchema: { plotlyInput, selectedLegends: keys } });\n }\n };\n\n React.useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { plotlySchema } = sanitizeJson(props.chartSchema);\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { selectedLegends } = plotlySchema;\n setActiveLegends(selectedLegends ?? []);\n }, [props.chartSchema]);\n\n const multiSelectLegendProps = {\n canSelectMultipleLegends: true,\n onChange: onActiveLegendsChange,\n selectedLegends: activeLegends,\n };\n\n const commonProps = {\n legendProps: multiSelectLegendProps,\n componentRef: chartRef,\n calloutProps: { layerProps: { eventBubblingEnabled: true } },\n };\n\n const checkAndRenderChart = (\n renderChartJsx: (chartProps: ILineChartProps | IAreaChartProps) => JSX.Element,\n isAreaChart: boolean = false,\n ) => {\n let fallbackVSBC = false;\n const xValues = (plotlyInput.data[0] as PlotData).x;\n const isXDate = isDateArray(xValues);\n const isXNumber = isNumberArray(xValues);\n const isXMonth = isMonthArray(xValues);\n if (isXDate || isXNumber) {\n const chartProps: ILineChartProps | IAreaChartProps = {\n ...transformPlotlyJsonToScatterChartProps(\n { data: plotlyInput.data, layout: plotlyInput.layout },\n isAreaChart,\n colorMap,\n isDarkTheme,\n ),\n ...commonProps,\n };\n return renderChartJsx(chartProps);\n } else if (isXMonth) {\n const updatedData = plotlyInput.data.map((dataPoint: PlotData) => ({\n ...dataPoint,\n x: updateXValues(dataPoint.x),\n }));\n const chartProps: ILineChartProps | IAreaChartProps = {\n ...transformPlotlyJsonToScatterChartProps(\n { data: updatedData, layout: plotlyInput.layout },\n isAreaChart,\n colorMap,\n isDarkTheme,\n ),\n ...commonProps,\n };\n return renderChartJsx(chartProps);\n }\n // Unsupported schema, render as VerticalStackedBarChart\n fallbackVSBC = true;\n return (\n <ResponsiveVerticalStackedBarChart\n {...transformPlotlyJsonToVSBCProps(plotlySchema, colorMap, isDarkTheme, fallbackVSBC)}\n {...commonProps}\n />\n );\n };\n\n const exportAsImage = React.useCallback(\n (opts?: IImageExportOptions) => {\n return toImage(chartRef.current?.chartContainer, {\n background: theme.semanticColors.bodyBackground,\n scale: 5,\n ...opts,\n });\n },\n [theme],\n );\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n exportAsImage,\n }),\n [exportAsImage],\n );\n\n switch (plotlyInput.data[0].type) {\n case 'pie':\n return (\n <ResponsiveDonutChart\n {...transformPlotlyJsonToDonutProps(plotlySchema, colorMap, isDarkTheme)}\n {...commonProps}\n />\n );\n case 'bar':\n const orientation = plotlyInput.data[0].orientation;\n if (orientation === 'h' && isNumberArray((plotlyInput.data[0] as PlotData).x)) {\n return (\n <ResponsiveHorizontalBarChartWithAxis\n {...transformPlotlyJsonToHorizontalBarWithAxisProps(plotlySchema, colorMap, isDarkTheme)}\n {...commonProps}\n />\n );\n } else {\n const containsLines = plotlyInput.data.some(\n series => series.type === 'scatter' || isLineData(series as Partial<PlotData>),\n );\n if (['group', 'overlay'].includes(plotlySchema?.layout?.barmode) && !containsLines) {\n return (\n <ResponsiveGroupedVerticalBarChart\n {...transformPlotlyJsonToGVBCProps(plotlySchema, colorMap, isDarkTheme)}\n {...commonProps}\n />\n );\n }\n return (\n <ResponsiveVerticalStackedBarChart\n {...transformPlotlyJsonToVSBCProps(plotlySchema, colorMap, isDarkTheme)}\n {...commonProps}\n />\n );\n }\n case 'scatter':\n if (plotlyInput.data[0].mode === 'markers') {\n throw new Error(`Unsupported chart - type :${plotlyInput.data[0]?.type}, mode: ${plotlyInput.data[0]?.mode}`);\n }\n const isAreaChart = plotlyInput.data.some(\n (series: PlotData) => series.fill === 'tonexty' || series.fill === 'tozeroy',\n );\n const renderChartJsx = (chartProps: ILineChartProps | IAreaChartProps) => {\n if (isAreaChart) {\n return <ResponsiveAreaChart {...chartProps} />;\n }\n return <ResponsiveLineChart {...chartProps} />;\n };\n return checkAndRenderChart(renderChartJsx, isAreaChart);\n case 'heatmap':\n return (\n <ResponsiveHeatMapChart\n {...transformPlotlyJsonToHeatmapProps(plotlySchema)}\n {...commonProps}\n legendProps={{}}\n />\n );\n case 'sankey':\n return (\n <ResponsiveSankeyChart\n {...transformPlotlyJsonToSankeyProps(plotlySchema, colorMap, isDarkTheme)}\n {...commonProps}\n />\n );\n case 'indicator':\n case 'gauge':\n if (plotlyInput.data?.[0]?.mode?.includes('gauge') || plotlyInput.data?.[0]?.type === 'gauge') {\n return (\n <ResponsiveGaugeChart\n {...transformPlotlyJsonToGaugeProps(plotlySchema, colorMap, isDarkTheme)}\n {...commonProps}\n />\n );\n }\n throw new Error(`Unsupported chart - type: ${plotlyInput.data[0]?.type}, mode: ${plotlyInput.data[0]?.mode}`);\n case 'histogram':\n return (\n <ResponsiveVerticalBarChart\n {...transformPlotlyJsonToVBCProps(plotlySchema, colorMap, isDarkTheme)}\n {...commonProps}\n />\n );\n default:\n const xValues = (plotlyInput.data[0] as PlotData).x;\n const yValues = (plotlyInput.data[0] as PlotData).y;\n if (xValues && yValues && xValues.length > 0 && yValues.length > 0) {\n const renderLineChartJsx = (chartProps: ILineChartProps) => {\n return <ResponsiveLineChart {...chartProps} />;\n };\n return checkAndRenderChart(renderLineChartJsx);\n }\n throw new Error(`Unsupported chart type :${plotlyInput.data[0]?.type}`);\n }\n});\nDeclarativeChart.displayName = 'DeclarativeChart';\n"]}
@@ -189,7 +189,7 @@ var getSecondaryYAxisValues = function (series, layout) {
189
189
  return secondaryYAxisValues;
190
190
  };
191
191
  export var transformPlotlyJsonToDonutProps = function (input, colorMap, isDarkTheme) {
192
- var _a, _b, _c, _d, _e, _f;
192
+ var _a, _b, _c, _d, _e, _f, _g;
193
193
  var firstData = input.data[0];
194
194
  var donutData = (_a = firstData.labels) === null || _a === void 0 ? void 0 : _a.map(function (label, index) {
195
195
  var _a;
@@ -217,7 +217,7 @@ export var transformPlotlyJsonToDonutProps = function (input, colorMap, isDarkTh
217
217
  chartData: donutData,
218
218
  },
219
219
  hideLegend: ((_f = input.layout) === null || _f === void 0 ? void 0 : _f.showlegend) === false ? true : false,
220
- width: width,
220
+ width: (_g = input.layout) === null || _g === void 0 ? void 0 : _g.width,
221
221
  height: height,
222
222
  innerRadius: innerRadius,
223
223
  hideLabels: hideLabels,
@@ -225,6 +225,7 @@ export var transformPlotlyJsonToDonutProps = function (input, colorMap, isDarkTh
225
225
  };
226
226
  };
227
227
  export var transformPlotlyJsonToVSBCProps = function (input, colorMap, isDarkTheme, fallbackVSBC) {
228
+ var _a, _b, _c;
228
229
  var mapXToDataPoints = {};
229
230
  var yMaxValue = 0;
230
231
  var secondaryYAxisValues = {};
@@ -259,11 +260,11 @@ export var transformPlotlyJsonToVSBCProps = function (input, colorMap, isDarkThe
259
260
  });
260
261
  secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);
261
262
  });
262
- var _a = getTitles(input.layout), chartTitle = _a.chartTitle, xAxisTitle = _a.xAxisTitle, yAxisTitle = _a.yAxisTitle;
263
+ var _d = getTitles(input.layout), chartTitle = _d.chartTitle, xAxisTitle = _d.xAxisTitle, yAxisTitle = _d.yAxisTitle;
263
264
  return {
264
265
  data: Object.values(mapXToDataPoints),
265
- // width: layout?.width,
266
- // height: layout?.height,
266
+ width: (_a = input.layout) === null || _a === void 0 ? void 0 : _a.width,
267
+ height: (_c = (_b = input.layout) === null || _b === void 0 ? void 0 : _b.height) !== null && _c !== void 0 ? _c : 350,
267
268
  barWidth: 'auto',
268
269
  yMaxValue: yMaxValue,
269
270
  chartTitle: chartTitle,
@@ -276,6 +277,7 @@ export var transformPlotlyJsonToVSBCProps = function (input, colorMap, isDarkThe
276
277
  };
277
278
  };
278
279
  export var transformPlotlyJsonToGVBCProps = function (input, colorMap, isDarkTheme) {
280
+ var _a, _b, _c;
279
281
  var mapXToDataPoints = {};
280
282
  var secondaryYAxisValues = {};
281
283
  input.data.forEach(function (series, index1) {
@@ -303,11 +305,11 @@ export var transformPlotlyJsonToGVBCProps = function (input, colorMap, isDarkThe
303
305
  });
304
306
  secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);
305
307
  });
306
- var _a = getTitles(input.layout), chartTitle = _a.chartTitle, xAxisTitle = _a.xAxisTitle, yAxisTitle = _a.yAxisTitle;
308
+ var _d = getTitles(input.layout), chartTitle = _d.chartTitle, xAxisTitle = _d.xAxisTitle, yAxisTitle = _d.yAxisTitle;
307
309
  return {
308
310
  data: Object.values(mapXToDataPoints),
309
- // width: layout?.width,
310
- // height: layout?.height,
311
+ width: (_a = input.layout) === null || _a === void 0 ? void 0 : _a.width,
312
+ height: (_c = (_b = input.layout) === null || _b === void 0 ? void 0 : _b.height) !== null && _c !== void 0 ? _c : 350,
311
313
  barwidth: 'auto',
312
314
  chartTitle: chartTitle,
313
315
  xAxisTitle: xAxisTitle,
@@ -319,6 +321,7 @@ export var transformPlotlyJsonToGVBCProps = function (input, colorMap, isDarkThe
319
321
  };
320
322
  };
321
323
  export var transformPlotlyJsonToVBCProps = function (input, colorMap, isDarkTheme) {
324
+ var _a, _b, _c;
322
325
  var vbcData = [];
323
326
  input.data.forEach(function (series, index) {
324
327
  var _a, _b, _c;
@@ -386,11 +389,11 @@ export var transformPlotlyJsonToVBCProps = function (input, colorMap, isDarkThem
386
389
  });
387
390
  });
388
391
  });
389
- var _a = getTitles(input.layout), chartTitle = _a.chartTitle, xAxisTitle = _a.xAxisTitle, yAxisTitle = _a.yAxisTitle;
392
+ var _d = getTitles(input.layout), chartTitle = _d.chartTitle, xAxisTitle = _d.xAxisTitle, yAxisTitle = _d.yAxisTitle;
390
393
  return {
391
394
  data: vbcData,
392
- // width: layout?.width,
393
- // height: layout?.height,
395
+ width: (_a = input.layout) === null || _a === void 0 ? void 0 : _a.width,
396
+ height: (_c = (_b = input.layout) === null || _b === void 0 ? void 0 : _b.height) !== null && _c !== void 0 ? _c : 350,
394
397
  supportNegativeData: true,
395
398
  chartTitle: chartTitle,
396
399
  xAxisTitle: xAxisTitle,
@@ -400,6 +403,7 @@ export var transformPlotlyJsonToVBCProps = function (input, colorMap, isDarkThem
400
403
  };
401
404
  };
402
405
  export var transformPlotlyJsonToScatterChartProps = function (input, isAreaChart, colorMap, isDarkTheme) {
406
+ var _a, _b, _c, _d, _e, _f;
403
407
  var secondaryYAxisValues = {};
404
408
  var mode = 'tonexty';
405
409
  var chartData = input.data.map(function (series, index) {
@@ -421,7 +425,7 @@ export var transformPlotlyJsonToScatterChartProps = function (input, isAreaChart
421
425
  }); }), color: lineColor });
422
426
  });
423
427
  var yMinMaxValues = findNumericMinMaxOfY(chartData);
424
- var _a = getTitles(input.layout), chartTitle = _a.chartTitle, xAxisTitle = _a.xAxisTitle, yAxisTitle = _a.yAxisTitle;
428
+ var _g = getTitles(input.layout), chartTitle = _g.chartTitle, xAxisTitle = _g.xAxisTitle, yAxisTitle = _g.yAxisTitle;
425
429
  var chartProps = {
426
430
  chartTitle: chartTitle,
427
431
  lineChartData: chartData,
@@ -435,6 +439,8 @@ export var transformPlotlyJsonToScatterChartProps = function (input, isAreaChart
435
439
  secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,
436
440
  secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,
437
441
  mode: mode,
442
+ width: (_a = input.layout) === null || _a === void 0 ? void 0 : _a.width,
443
+ height: (_c = (_b = input.layout) === null || _b === void 0 ? void 0 : _b.height) !== null && _c !== void 0 ? _c : 350,
438
444
  hideTickOverlap: true,
439
445
  };
440
446
  }
@@ -449,12 +455,15 @@ export var transformPlotlyJsonToScatterChartProps = function (input, isAreaChart
449
455
  roundedTicks: true,
450
456
  yMinValue: yMinMaxValues.startValue,
451
457
  yMaxValue: yMinMaxValues.endValue,
458
+ width: (_d = input.layout) === null || _d === void 0 ? void 0 : _d.width,
459
+ height: (_f = (_e = input.layout) === null || _e === void 0 ? void 0 : _e.height) !== null && _f !== void 0 ? _f : 350,
452
460
  hideTickOverlap: true,
461
+ enableReflow: false,
453
462
  };
454
463
  }
455
464
  };
456
465
  export var transformPlotlyJsonToHorizontalBarWithAxisProps = function (input, colorMap, isDarkTheme) {
457
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
466
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
458
467
  var chartData = input.data
459
468
  .map(function (series, index) {
460
469
  invalidate2Dseries(series, 'HBC');
@@ -479,7 +488,7 @@ export var transformPlotlyJsonToHorizontalBarWithAxisProps = function (input, co
479
488
  var scalingFactor = 0.01;
480
489
  var gapFactor = 1 / (1 + scalingFactor * numberOfBars);
481
490
  var barHeight = availableHeight / (numberOfBars * (1 + gapFactor));
482
- var _t = getTitles(input.layout), chartTitle = _t.chartTitle, xAxisTitle = _t.xAxisTitle, yAxisTitle = _t.yAxisTitle;
491
+ var _s = getTitles(input.layout), chartTitle = _s.chartTitle, xAxisTitle = _s.xAxisTitle, yAxisTitle = _s.yAxisTitle;
483
492
  return {
484
493
  data: chartData,
485
494
  chartTitle: chartTitle,
@@ -490,17 +499,13 @@ export var transformPlotlyJsonToHorizontalBarWithAxisProps = function (input, co
490
499
  : ((_q = (_p = (_o = input.layout) === null || _o === void 0 ? void 0 : _o.yaxis2) === null || _p === void 0 ? void 0 : _p.title) === null || _q === void 0 ? void 0 : _q.text) || '',
491
500
  barHeight: barHeight,
492
501
  showYAxisLables: true,
493
- styles: {
494
- root: {
495
- height: chartHeight,
496
- width: (_s = (_r = input.layout) === null || _r === void 0 ? void 0 : _r.width) !== null && _s !== void 0 ? _s : 600,
497
- },
498
- },
502
+ height: chartHeight,
503
+ width: (_r = input.layout) === null || _r === void 0 ? void 0 : _r.width,
499
504
  hideTickOverlap: true,
500
505
  };
501
506
  };
502
507
  export var transformPlotlyJsonToHeatmapProps = function (input) {
503
- var _a;
508
+ var _a, _b, _c, _d;
504
509
  var firstData = input.data[0];
505
510
  var heatmapDataPoints = [];
506
511
  var zMin = Number.POSITIVE_INFINITY;
@@ -540,7 +545,7 @@ export var transformPlotlyJsonToHeatmapProps = function (input) {
540
545
  var rangeValuesForColorScale = Array.isArray(firstData.colorscale)
541
546
  ? firstData.colorscale.map(function (arr) { return arr[1]; })
542
547
  : defaultRange;
543
- var _b = getTitles(input.layout), chartTitle = _b.chartTitle, xAxisTitle = _b.xAxisTitle, yAxisTitle = _b.yAxisTitle;
548
+ var _e = getTitles(input.layout), chartTitle = _e.chartTitle, xAxisTitle = _e.xAxisTitle, yAxisTitle = _e.yAxisTitle;
544
549
  return {
545
550
  data: [heatmapData],
546
551
  domainValuesForColorScale: domainValuesForColorScale,
@@ -551,12 +556,14 @@ export var transformPlotlyJsonToHeatmapProps = function (input) {
551
556
  xAxisTitle: xAxisTitle,
552
557
  yAxisTitle: yAxisTitle,
553
558
  sortOrder: 'none',
559
+ width: (_b = input.layout) === null || _b === void 0 ? void 0 : _b.width,
560
+ height: (_d = (_c = input.layout) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : 350,
554
561
  hideTickOverlap: true,
555
562
  };
556
563
  };
557
564
  export var transformPlotlyJsonToSankeyProps = function (input, colorMap, isDarkTheme) {
558
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
559
- var _k = input.data[0], link = _k.link, node = _k.node;
565
+ var _a, _b, _c, _d, _e, _f, _g, _h;
566
+ var _j = input.data[0], link = _j.link, node = _j.node;
560
567
  var validLinks = ((_a = link === null || link === void 0 ? void 0 : link.value) !== null && _a !== void 0 ? _a : [])
561
568
  .map(function (val, index) { return ({
562
569
  value: val,
@@ -579,27 +586,23 @@ export var transformPlotlyJsonToSankeyProps = function (input, colorMap, isDarkT
579
586
  return __assign({}, validLink);
580
587
  }),
581
588
  };
582
- var width = (_d = (_c = input.layout) === null || _c === void 0 ? void 0 : _c.width) !== null && _d !== void 0 ? _d : 440;
583
- var height = (_f = (_e = input.layout) === null || _e === void 0 ? void 0 : _e.height) !== null && _f !== void 0 ? _f : 220;
584
589
  var styles = {
585
- root: __assign({}, (((_h = (_g = input.layout) === null || _g === void 0 ? void 0 : _g.font) === null || _h === void 0 ? void 0 : _h.size) ? { fontSize: (_j = input.layout.font) === null || _j === void 0 ? void 0 : _j.size } : {})),
590
+ root: __assign({}, (((_d = (_c = input.layout) === null || _c === void 0 ? void 0 : _c.font) === null || _d === void 0 ? void 0 : _d.size) ? { fontSize: (_e = input.layout.font) === null || _e === void 0 ? void 0 : _e.size } : {})),
586
591
  };
587
- var shouldResize = width + height;
588
592
  var chartTitle = getTitles(input.layout).chartTitle;
589
593
  return {
590
594
  data: {
591
595
  chartTitle: chartTitle,
592
596
  SankeyChartData: sankeyChartData,
593
597
  },
594
- width: width,
595
- height: height,
598
+ width: (_f = input.layout) === null || _f === void 0 ? void 0 : _f.width,
599
+ height: (_h = (_g = input.layout) === null || _g === void 0 ? void 0 : _g.height) !== null && _h !== void 0 ? _h : 468,
596
600
  styles: styles,
597
- shouldResize: shouldResize,
598
601
  enableReflow: true,
599
602
  };
600
603
  };
601
604
  export var transformPlotlyJsonToGaugeProps = function (input, colorMap, isDarkTheme) {
602
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
605
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
603
606
  var firstData = input.data[0];
604
607
  var segments = ((_b = (_a = firstData.gauge) === null || _a === void 0 ? void 0 : _a.steps) === null || _b === void 0 ? void 0 : _b.length)
605
608
  ? firstData.gauge.steps.map(function (step, index) {
@@ -654,10 +657,10 @@ export var transformPlotlyJsonToGaugeProps = function (input, colorMap, isDarkTh
654
657
  minValue: typeof ((_s = (_r = (_q = firstData.gauge) === null || _q === void 0 ? void 0 : _q.axis) === null || _r === void 0 ? void 0 : _r.range) === null || _s === void 0 ? void 0 : _s[0]) === 'number' ? (_v = (_u = (_t = firstData.gauge) === null || _t === void 0 ? void 0 : _t.axis) === null || _u === void 0 ? void 0 : _u.range) === null || _v === void 0 ? void 0 : _v[0] : undefined,
655
658
  maxValue: typeof ((_y = (_x = (_w = firstData.gauge) === null || _w === void 0 ? void 0 : _w.axis) === null || _x === void 0 ? void 0 : _x.range) === null || _y === void 0 ? void 0 : _y[1]) === 'number' ? (_1 = (_0 = (_z = firstData.gauge) === null || _z === void 0 ? void 0 : _z.axis) === null || _0 === void 0 ? void 0 : _0.range) === null || _1 === void 0 ? void 0 : _1[1] : undefined,
656
659
  chartValueFormat: function () { var _a, _b; return (_b = (_a = firstData.value) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : ''; },
657
- width: (_3 = (_2 = input.layout) === null || _2 === void 0 ? void 0 : _2.width) !== null && _3 !== void 0 ? _3 : 440,
658
- height: (_5 = (_4 = input.layout) === null || _4 === void 0 ? void 0 : _4.height) !== null && _5 !== void 0 ? _5 : 220,
660
+ width: (_2 = input.layout) === null || _2 === void 0 ? void 0 : _2.width,
661
+ height: (_4 = (_3 = input.layout) === null || _3 === void 0 ? void 0 : _3.height) !== null && _4 !== void 0 ? _4 : 220,
659
662
  styles: styles,
660
- variant: ((_7 = (_6 = firstData.gauge) === null || _6 === void 0 ? void 0 : _6.steps) === null || _7 === void 0 ? void 0 : _7.length) ? GaugeChartVariant.MultipleSegments : GaugeChartVariant.SingleSegment,
663
+ variant: ((_6 = (_5 = firstData.gauge) === null || _5 === void 0 ? void 0 : _5.steps) === null || _6 === void 0 ? void 0 : _6.length) ? GaugeChartVariant.MultipleSegments : GaugeChartVariant.SingleSegment,
661
664
  };
662
665
  };
663
666
  var MAX_DEPTH = 15;