@aclymatepackages/modules 1.0.17 → 1.0.19

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.
@@ -6,17 +6,19 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _material = require("@mui/material");
9
+ var _atoms = require("@aclymatepackages/atoms");
9
10
  var _formatters = require("@aclymatepackages/formatters");
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
12
  const CustomTooltipDisplayRow = _ref => {
12
13
  let {
13
14
  category,
14
- Icon,
15
- icon,
16
15
  customAvatar,
17
16
  color,
18
17
  name,
19
- subtitle
18
+ subtitle,
19
+ viewMode,
20
+ subcategory,
21
+ scope
20
22
  } = _ref;
21
23
  return /*#__PURE__*/_react.default.createElement(_material.Grid, {
22
24
  item: true,
@@ -26,16 +28,12 @@ const CustomTooltipDisplayRow = _ref => {
26
28
  alignItems: "center"
27
29
  }, /*#__PURE__*/_react.default.createElement(_material.Grid, {
28
30
  item: true
29
- }, customAvatar || /*#__PURE__*/_react.default.createElement(_material.Avatar, {
30
- style: {
31
- backgroundColor: color,
32
- color: "white"
33
- }
34
- }, icon, Icon && /*#__PURE__*/_react.default.createElement(Icon, {
35
- style: {
36
- color: "inherit"
37
- }
38
- }))), /*#__PURE__*/_react.default.createElement(_material.Grid, {
31
+ }, customAvatar || /*#__PURE__*/_react.default.createElement(_atoms.CategoriesAvatar, {
32
+ viewMode: viewMode,
33
+ color: color,
34
+ subcategory: subcategory,
35
+ scope: scope
36
+ })), /*#__PURE__*/_react.default.createElement(_material.Grid, {
39
37
  item: true,
40
38
  container: true,
41
39
  direction: "column",
@@ -36,7 +36,8 @@ const findObjectValuesSum = object => Object.values(object).reduce((sum, value)
36
36
  const buildGroupedChartData = _ref => {
37
37
  let {
38
38
  groupedEmissions,
39
- buildRealDataObj
39
+ buildRealDataObj,
40
+ viewMode
40
41
  } = _ref;
41
42
  return groupedEmissions.map((emissionsArray, idx) => {
42
43
  const subcategoriesObj = buildRealDataObj(emissionsArray, _subcategories.allSubcategoriesWithOther);
@@ -59,7 +60,8 @@ const buildGroupedChartData = _ref => {
59
60
  warning: buildWarningObj(),
60
61
  id: "emissions-chart-group-".concat(idx),
61
62
  emissionsSumTons: (0, _otherHelpers.sumTonsCo2e)(emissionsArray),
62
- totalEmissionsSumTons: findObjectValuesSum(subcategoriesObj)
63
+ totalEmissionsSumTons: findObjectValuesSum(subcategoriesObj),
64
+ viewMode
63
65
  });
64
66
  });
65
67
  };
@@ -212,7 +214,8 @@ const EmissionsChart = _ref10 => {
212
214
  const buildChartData = () => {
213
215
  const preliminaryChartData = buildGroupedChartData({
214
216
  groupedEmissions,
215
- buildRealDataObj
217
+ buildRealDataObj,
218
+ viewMode
216
219
  });
217
220
  const convertChartDataObject = (chartDataObj, converter) => Object.fromEntries(Object.entries(chartDataObj).map(_ref11 => {
218
221
  let [key, value] = _ref11;
@@ -273,7 +276,9 @@ const EmissionsChart = _ref10 => {
273
276
  chartRef: chartRef,
274
277
  type: type,
275
278
  displayUnitLabel: isPercentageChart ? "%" : displayUnit || displayUnitLabel,
276
- chartArray: chartArray,
279
+ chartArray: chartArray.map(obj => _objectSpread(_objectSpread({}, obj), {}, {
280
+ viewMode
281
+ })),
277
282
  aspect: aspect,
278
283
  showTooltip: showTooltip
279
284
  })));
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.description.js");
4
3
  require("core-js/modules/es.object.assign.js");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
- require("core-js/modules/es.regexp.exec.js");
10
- require("core-js/modules/es.string.replace.js");
11
- require("core-js/modules/esnext.string.replace-all.js");
12
- require("core-js/modules/web.dom-collections.iterator.js");
8
+ require("core-js/modules/es.array.reduce.js");
9
+ require("core-js/modules/es.symbol.description.js");
13
10
  var _react = _interopRequireDefault(require("react"));
14
11
  var _material = require("@mui/material");
15
12
  var _atoms = require("@aclymatepackages/atoms");
@@ -17,8 +14,6 @@ var _formatters = require("@aclymatepackages/formatters");
17
14
  var _themes = require("@aclymatepackages/themes");
18
15
  var _CustomTooltipDisplayRow = _interopRequireDefault(require("./CustomTooltipDisplayRow"));
19
16
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
20
- const _excluded = ["label", "trendline", "emissionsSumTons", "projectedEmissionsSumTons", "id"],
21
- _excluded2 = ["subcategory"];
22
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
18
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
24
19
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -26,8 +21,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
26
21
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
22
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
28
23
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
29
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
31
24
  const StatusDisplay = _ref => {
32
25
  let {
33
26
  dataArray,
@@ -74,85 +67,52 @@ const StatusDisplay = _ref => {
74
67
  }, tooltip)))))));
75
68
  };
76
69
  const EmissionsCustomTooltip = _ref2 => {
77
- var _payload$;
78
70
  let {
79
- payload,
71
+ payload: passedPayload,
80
72
  categoriesArray,
81
73
  labelAnnotation = "",
82
74
  dataArray = [],
83
75
  displayUnitLabel
84
76
  } = _ref2;
85
- const buildSubtitle = (realCarbonVolume, projectedCarbonVolume) => {
86
- const baseSubtitle = "".concat((0, _formatters.formatDecimal)(realCarbonVolume), " ").concat(displayUnitLabel, " CO2");
87
- if (!projectedCarbonVolume) {
88
- return baseSubtitle;
89
- }
90
- return "".concat(baseSubtitle, " (").concat((0, _formatters.formatDecimal)(projectedCarbonVolume), " projected)");
91
- };
92
- const columnDetails = payload === null || payload === void 0 || (_payload$ = payload[0]) === null || _payload$ === void 0 ? void 0 : _payload$.payload;
93
- const _ref3 = columnDetails || {},
94
- {
95
- label = "",
96
- trendline,
97
- emissionsSumTons,
98
- projectedEmissionsSumTons,
99
- id
100
- } = _ref3,
101
- graphValues = _objectWithoutProperties(_ref3, _excluded);
102
- const cleanLabel = label.replaceAll(/[*]/gi, "");
103
- const filteredFormattedGraphValuesArray = Object.entries(graphValues).filter(_ref4 => {
104
- let [_, value] = _ref4;
105
- return value;
106
- }).map(_ref5 => {
107
- let [key, value] = _ref5;
108
- const [subcategory, projected] = key.split("_");
109
- return {
110
- subcategory,
111
- projected: !!projected,
112
- value
113
- };
114
- });
115
- const uniqueSubcategories = [...new Set(filteredFormattedGraphValuesArray.map(_ref6 => {
77
+ if (!passedPayload.length) {
78
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
79
+ }
80
+ const buildSubtitle = carbonValue => "".concat((0, _formatters.formatDecimal)(carbonValue), " ").concat(displayUnitLabel, " CO2");
81
+ const {
82
+ payload: columnDetails
83
+ } = passedPayload[0];
84
+ const {
85
+ label = "",
86
+ id
87
+ } = columnDetails || {};
88
+ const payloadDisplayArray = passedPayload.filter(_ref3 => {
116
89
  let {
117
- subcategory
118
- } = _ref6;
119
- return subcategory;
120
- }))];
121
- const subcategoryDisplayArray = uniqueSubcategories.map(subcategory => {
122
- var _filteredFormattedGra, _filteredFormattedGra2;
123
- const realValue = (_filteredFormattedGra = filteredFormattedGraphValuesArray.find(graphValue => graphValue.subcategory === subcategory && !graphValue.projected)) === null || _filteredFormattedGra === void 0 ? void 0 : _filteredFormattedGra.value;
124
- const projectedValue = (_filteredFormattedGra2 = filteredFormattedGraphValuesArray.find(graphValue => graphValue.subcategory === subcategory && !!graphValue.projected)) === null || _filteredFormattedGra2 === void 0 ? void 0 : _filteredFormattedGra2.value;
125
- return {
126
- subcategory,
127
- realValue,
128
- projectedValue,
129
- subtitle: buildSubtitle(realValue, projectedValue)
130
- };
90
+ value,
91
+ dataKey
92
+ } = _ref3;
93
+ return !!value && dataKey !== "trendline";
131
94
  });
132
- const displayArrayWithIcons = subcategoryDisplayArray.map(_ref7 => {
95
+ const formattedDisplayArray = payloadDisplayArray.map(_ref4 => {
133
96
  let {
97
+ dataKey,
98
+ value
99
+ } = _ref4;
100
+ const chartSubcategory = categoriesArray.find(_ref5 => {
101
+ let {
134
102
  subcategory
135
- } = _ref7,
136
- otherProps = _objectWithoutProperties(_ref7, _excluded2);
137
- const {
138
- Icon,
139
- color,
140
- icon,
141
- name
142
- } = categoriesArray.find(categoryObj => categoryObj.subcategory === subcategory) || {};
143
- return _objectSpread({
144
- subcategory,
145
- Icon,
146
- icon,
147
- color,
148
- name
149
- }, otherProps);
150
- }).filter(_ref8 => {
151
- let {
152
- color
153
- } = _ref8;
154
- return color;
103
+ } = _ref5;
104
+ return subcategory === dataKey;
105
+ });
106
+ return _objectSpread(_objectSpread({}, chartSubcategory), {}, {
107
+ subtitle: buildSubtitle(value)
108
+ });
155
109
  });
110
+ const emissionsSumTons = payloadDisplayArray.reduce((sum, _ref6) => {
111
+ let {
112
+ value
113
+ } = _ref6;
114
+ return value + sum;
115
+ }, 0);
156
116
  return /*#__PURE__*/_react.default.createElement(_atoms.DefaultPaper, {
157
117
  style: {
158
118
  zIndex: 99999,
@@ -167,10 +127,10 @@ const EmissionsCustomTooltip = _ref2 => {
167
127
  }, /*#__PURE__*/_react.default.createElement(_material.Typography, {
168
128
  variant: "h6",
169
129
  color: "textPrimary"
170
- }, "".concat(cleanLabel, " Emissions")), /*#__PURE__*/_react.default.createElement(_material.Typography, {
130
+ }, "".concat(label, " Emissions")), /*#__PURE__*/_react.default.createElement(_material.Typography, {
171
131
  variant: "subtitle2",
172
132
  color: "textSecondary"
173
- }, "".concat(buildSubtitle(emissionsSumTons, projectedEmissionsSumTons), " ").concat(labelAnnotation))), displayArrayWithIcons.map((displayData, idx) => /*#__PURE__*/_react.default.createElement(_CustomTooltipDisplayRow.default, _extends({
133
+ }, "".concat(buildSubtitle(emissionsSumTons), " ").concat(labelAnnotation))), formattedDisplayArray.map((displayData, idx) => /*#__PURE__*/_react.default.createElement(_CustomTooltipDisplayRow.default, _extends({
174
134
  key: "tooltip-display-row-".concat(idx)
175
135
  }, displayData))), /*#__PURE__*/_react.default.createElement(StatusDisplay, {
176
136
  id: id,
@@ -30,9 +30,10 @@ const PieChartCustomTooltip = _ref => {
30
30
  const {
31
31
  name,
32
32
  emissionPercentage,
33
- color,
34
- icon,
35
- Icon
33
+ scope,
34
+ subcategory,
35
+ viewMode,
36
+ color
36
37
  } = payload;
37
38
  return /*#__PURE__*/_react.default.createElement(_atoms.DefaultPaper, null, /*#__PURE__*/_react.default.createElement(_material.Grid, {
38
39
  container: true,
@@ -40,16 +41,12 @@ const PieChartCustomTooltip = _ref => {
40
41
  alignItems: "center"
41
42
  }, /*#__PURE__*/_react.default.createElement(_material.Grid, {
42
43
  item: true
43
- }, /*#__PURE__*/_react.default.createElement(_material.Avatar, {
44
- style: {
45
- backgroundColor: color,
46
- color: "white"
47
- }
48
- }, icon, Icon && /*#__PURE__*/_react.default.createElement(Icon, {
49
- style: {
50
- color: "inherit"
51
- }
52
- }))), /*#__PURE__*/_react.default.createElement(_material.Grid, {
44
+ }, /*#__PURE__*/_react.default.createElement(_atoms.CategoriesAvatar, {
45
+ scope: scope,
46
+ subcategory: subcategory,
47
+ viewMode: viewMode,
48
+ color: color
49
+ })), /*#__PURE__*/_react.default.createElement(_material.Grid, {
53
50
  item: true
54
51
  }, /*#__PURE__*/_react.default.createElement(_material.Typography, {
55
52
  variant: "subtitle1",
@@ -92,6 +89,7 @@ const EmissionsPieChart = _ref2 => {
92
89
  const emissionsWithThisCategory = emissions.filter(filterFunction(subcategory));
93
90
  const categoryEmissionsSum = (0, _otherHelpers.sumTonsCo2e)(emissionsWithThisCategory);
94
91
  return _objectSpread(_objectSpread({}, subcategoryObj), {}, {
92
+ viewMode,
95
93
  emissionPercentage: categoryEmissionsSum / emissionsSum * 100
96
94
  });
97
95
  });
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@aclymatepackages/modules",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "description": "Aclymate modules",
5
5
  "author": "William Loopesko",
6
6
  "main": "dist/index.js",
7
7
  "dependencies": {
8
8
  "@aclymatepackages/array-immutability-helpers": "^1.0.0",
9
- "@aclymatepackages/atoms": "^1.0.10",
9
+ "@aclymatepackages/atoms": "^1.0.14",
10
10
  "@aclymatepackages/chart-helpers": "^1.0.10",
11
11
  "@aclymatepackages/converters": "^1.0.0",
12
12
  "@aclymatepackages/emissions-calcs": "^1.1.1",
@@ -1,25 +1,29 @@
1
1
  import React from "react";
2
2
 
3
- import { Grid, Typography, Avatar } from "@mui/material";
3
+ import { Grid, Typography } from "@mui/material";
4
4
 
5
+ import { CategoriesAvatar } from "@aclymatepackages/atoms";
5
6
  import { ucFirstLetters } from "@aclymatepackages/formatters";
6
7
 
7
8
  const CustomTooltipDisplayRow = ({
8
9
  category,
9
- Icon,
10
- icon,
11
10
  customAvatar,
12
11
  color,
13
12
  name,
14
13
  subtitle,
14
+ viewMode,
15
+ subcategory,
16
+ scope,
15
17
  }) => (
16
18
  <Grid item container spacing={1} wrap="nowrap" alignItems="center">
17
19
  <Grid item>
18
20
  {customAvatar || (
19
- <Avatar style={{ backgroundColor: color, color: "white" }}>
20
- {icon}
21
- {Icon && <Icon style={{ color: "inherit" }} />}
22
- </Avatar>
21
+ <CategoriesAvatar
22
+ viewMode={viewMode}
23
+ color={color}
24
+ subcategory={subcategory}
25
+ scope={scope}
26
+ />
23
27
  )}
24
28
  </Grid>
25
29
  <Grid item container direction="column" wrap="nowrap">
@@ -37,7 +37,11 @@ dayjs.extend(dayOfYear);
37
37
  const findObjectValuesSum = (object) =>
38
38
  Object.values(object).reduce((sum, value) => sum + value, 0);
39
39
 
40
- const buildGroupedChartData = ({ groupedEmissions, buildRealDataObj }) => {
40
+ const buildGroupedChartData = ({
41
+ groupedEmissions,
42
+ buildRealDataObj,
43
+ viewMode,
44
+ }) => {
41
45
  return groupedEmissions.map((emissionsArray, idx) => {
42
46
  const subcategoriesObj = buildRealDataObj(
43
47
  emissionsArray,
@@ -63,6 +67,7 @@ const buildGroupedChartData = ({ groupedEmissions, buildRealDataObj }) => {
63
67
  id: `emissions-chart-group-${idx}`,
64
68
  emissionsSumTons: sumTonsCo2e(emissionsArray),
65
69
  totalEmissionsSumTons: findObjectValuesSum(subcategoriesObj),
70
+ viewMode,
66
71
  };
67
72
  });
68
73
  };
@@ -214,6 +219,7 @@ const EmissionsChart = ({
214
219
  const preliminaryChartData = buildGroupedChartData({
215
220
  groupedEmissions,
216
221
  buildRealDataObj,
222
+ viewMode,
217
223
  });
218
224
 
219
225
  const convertChartDataObject = (chartDataObj, converter) =>
@@ -293,7 +299,7 @@ const EmissionsChart = ({
293
299
  displayUnitLabel={
294
300
  isPercentageChart ? "%" : displayUnit || displayUnitLabel
295
301
  }
296
- chartArray={chartArray}
302
+ chartArray={chartArray.map((obj) => ({ ...obj, viewMode }))}
297
303
  aspect={aspect}
298
304
  showTooltip={showTooltip}
299
305
  />
@@ -44,78 +44,40 @@ const StatusDisplay = ({ dataArray, id }) => {
44
44
  };
45
45
 
46
46
  const EmissionsCustomTooltip = ({
47
- payload,
47
+ payload: passedPayload,
48
48
  categoriesArray,
49
49
  labelAnnotation = "",
50
50
  dataArray = [],
51
51
  displayUnitLabel,
52
52
  }) => {
53
- const buildSubtitle = (realCarbonVolume, projectedCarbonVolume) => {
54
- const baseSubtitle = `${formatDecimal(
55
- realCarbonVolume
56
- )} ${displayUnitLabel} CO2`;
57
-
58
- if (!projectedCarbonVolume) {
59
- return baseSubtitle;
60
- }
61
-
62
- return `${baseSubtitle} (${formatDecimal(
63
- projectedCarbonVolume
64
- )} projected)`;
65
- };
66
-
67
- const columnDetails = payload?.[0]?.payload;
68
- const {
69
- label = "",
70
- trendline,
71
- emissionsSumTons,
72
- projectedEmissionsSumTons,
73
- id,
74
- ...graphValues
75
- } = columnDetails || {};
76
- const cleanLabel = label.replaceAll(/[*]/gi, "");
53
+ if (!passedPayload.length) {
54
+ return <></>;
55
+ }
77
56
 
78
- const filteredFormattedGraphValuesArray = Object.entries(graphValues)
79
- .filter(([_, value]) => value)
80
- .map(([key, value]) => {
81
- const [subcategory, projected] = key.split("_");
82
- return { subcategory, projected: !!projected, value };
83
- });
57
+ const buildSubtitle = (carbonValue) =>
58
+ `${formatDecimal(carbonValue)} ${displayUnitLabel} CO2`;
84
59
 
85
- const uniqueSubcategories = [
86
- ...new Set(
87
- filteredFormattedGraphValuesArray.map(({ subcategory }) => subcategory)
88
- ),
89
- ];
60
+ const { payload: columnDetails } = passedPayload[0];
61
+ const { label = "", id } = columnDetails || {};
90
62
 
91
- const subcategoryDisplayArray = uniqueSubcategories.map((subcategory) => {
92
- const realValue = filteredFormattedGraphValuesArray.find(
93
- (graphValue) =>
94
- graphValue.subcategory === subcategory && !graphValue.projected
95
- )?.value;
63
+ const payloadDisplayArray = passedPayload.filter(
64
+ ({ value, dataKey }) => !!value && dataKey !== "trendline"
65
+ );
96
66
 
97
- const projectedValue = filteredFormattedGraphValuesArray.find(
98
- (graphValue) =>
99
- graphValue.subcategory === subcategory && !!graphValue.projected
100
- )?.value;
67
+ const formattedDisplayArray = payloadDisplayArray.map(
68
+ ({ dataKey, value }) => {
69
+ const chartSubcategory = categoriesArray.find(
70
+ ({ subcategory }) => subcategory === dataKey
71
+ );
101
72
 
102
- return {
103
- subcategory,
104
- realValue,
105
- projectedValue,
106
- subtitle: buildSubtitle(realValue, projectedValue),
107
- };
108
- });
73
+ return { ...chartSubcategory, subtitle: buildSubtitle(value) };
74
+ }
75
+ );
109
76
 
110
- const displayArrayWithIcons = subcategoryDisplayArray
111
- .map(({ subcategory, ...otherProps }) => {
112
- const { Icon, color, icon, name } =
113
- categoriesArray.find(
114
- (categoryObj) => categoryObj.subcategory === subcategory
115
- ) || {};
116
- return { subcategory, Icon, icon, color, name, ...otherProps };
117
- })
118
- .filter(({ color }) => color);
77
+ const emissionsSumTons = payloadDisplayArray.reduce(
78
+ (sum, { value }) => value + sum,
79
+ 0
80
+ );
119
81
 
120
82
  return (
121
83
  <DefaultPaper style={{ zIndex: 99999, borderColor: "transparent" }}>
@@ -124,15 +86,12 @@ const EmissionsCustomTooltip = ({
124
86
  <Typography
125
87
  variant="h6"
126
88
  color="textPrimary"
127
- >{`${cleanLabel} Emissions`}</Typography>
89
+ >{`${label} Emissions`}</Typography>
128
90
  <Typography variant="subtitle2" color="textSecondary">
129
- {`${buildSubtitle(
130
- emissionsSumTons,
131
- projectedEmissionsSumTons
132
- )} ${labelAnnotation}`}
91
+ {`${buildSubtitle(emissionsSumTons)} ${labelAnnotation}`}
133
92
  </Typography>
134
93
  </Grid>
135
- {displayArrayWithIcons.map((displayData, idx) => (
94
+ {formattedDisplayArray.map((displayData, idx) => (
136
95
  <CustomTooltipDisplayRow
137
96
  key={`tooltip-display-row-${idx}`}
138
97
  {...displayData}
@@ -8,9 +8,9 @@ import {
8
8
  Cell,
9
9
  } from "recharts";
10
10
 
11
- import { Typography, Grid, Avatar } from "@mui/material";
11
+ import { Typography, Grid } from "@mui/material";
12
12
 
13
- import { DefaultPaper } from "@aclymatepackages/atoms";
13
+ import { DefaultPaper, CategoriesAvatar } from "@aclymatepackages/atoms";
14
14
  import { formatDecimal } from "@aclymatepackages/formatters";
15
15
  import { sumTonsCo2e } from "@aclymatepackages/other-helpers";
16
16
  import {
@@ -21,16 +21,19 @@ import {
21
21
  const PieChartCustomTooltip = ({ payload: passedPayload }) => {
22
22
  const [payloadObj] = passedPayload;
23
23
  const { payload = {} } = payloadObj || [{}];
24
- const { name, emissionPercentage, color, icon, Icon } = payload;
24
+ const { name, emissionPercentage, scope, subcategory, viewMode, color } =
25
+ payload;
25
26
 
26
27
  return (
27
28
  <DefaultPaper>
28
29
  <Grid container spacing={2} alignItems="center">
29
30
  <Grid item>
30
- <Avatar style={{ backgroundColor: color, color: "white" }}>
31
- {icon}
32
- {Icon && <Icon style={{ color: "inherit" }} />}
33
- </Avatar>
31
+ <CategoriesAvatar
32
+ scope={scope}
33
+ subcategory={subcategory}
34
+ viewMode={viewMode}
35
+ color={color}
36
+ />
34
37
  </Grid>
35
38
  <Grid item>
36
39
  <Typography variant="subtitle1" color="textPrimary">
@@ -84,6 +87,7 @@ const EmissionsPieChart = ({
84
87
 
85
88
  return {
86
89
  ...subcategoryObj,
90
+ viewMode,
87
91
  emissionPercentage: (categoryEmissionsSum / emissionsSum) * 100,
88
92
  };
89
93
  });