@widergy/utilitygo-smart-bill-web 1.7.3 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/components/Advice/index.js +1 -2
  3. package/dist/components/Advice/styles.module.scss +2 -1
  4. package/dist/components/Amount/index.js +2 -2
  5. package/dist/components/Amount/styles.module.scss +10 -2
  6. package/dist/components/BarChart/constants.js +19 -3
  7. package/dist/components/BarChart/index.js +70 -101
  8. package/dist/components/BarChart/styles.module.scss +71 -0
  9. package/dist/components/BarChart/utils.js +31 -15
  10. package/dist/components/BillCalculation/components/ConceptCard/index.js +28 -9
  11. package/dist/components/BillCalculation/components/ConceptCard/styles.module.scss +16 -6
  12. package/dist/components/BillCalculation/index.js +10 -5
  13. package/dist/components/BillCalculation/utils.js +14 -9
  14. package/dist/components/BillSummary/components/BilledConcepts/components/Concept/index.js +11 -18
  15. package/dist/components/BillSummary/components/BilledConcepts/components/Concept/styles.module.scss +1 -5
  16. package/dist/components/BillSummary/components/BilledConcepts/components/PieChartContainer/constants.js +9 -3
  17. package/dist/components/BillSummary/components/BilledConcepts/components/PieChartContainer/index.js +21 -28
  18. package/dist/components/BillSummary/components/BilledConcepts/components/PieChartContainer/styles.module.scss +2 -2
  19. package/dist/components/BillSummary/components/BilledConcepts/constants.js +1 -1
  20. package/dist/components/BillSummary/components/BilledConcepts/index.js +8 -3
  21. package/dist/components/BillSummary/components/BilledConcepts/styles.module.scss +1 -1
  22. package/dist/components/BillSummary/components/BilledConcepts/utils.js +20 -6
  23. package/dist/components/BillSummary/styles.module.scss +2 -3
  24. package/dist/components/ConsumptionComparison/components/ComparisonTable/components/DataLine/index.js +3 -3
  25. package/dist/components/ConsumptionComparison/components/ComparisonTable/components/DataLine/styles.module.scss +4 -2
  26. package/dist/components/ConsumptionComparison/components/ComparisonTable/components/Season/index.js +3 -3
  27. package/dist/components/ConsumptionComparison/components/ComparisonTable/constants.js +61 -37
  28. package/dist/components/ConsumptionComparison/components/ComparisonTable/styles.module.scss +14 -6
  29. package/dist/components/ConsumptionComparison/components/ComparisonTable/utils.js +4 -2
  30. package/dist/components/ConsumptionComparison/components/ConsumptionAdvice/index.js +2 -5
  31. package/dist/components/ConsumptionComparison/components/ConsumptionAdvice/styles.module.scss +4 -5
  32. package/dist/components/ConsumptionComparison/components/PercentageComparison/index.js +4 -3
  33. package/dist/components/ConsumptionComparison/components/PercentageComparison/styles.module.scss +3 -12
  34. package/dist/components/ConsumptionComparison/index.js +9 -11
  35. package/dist/components/ConsumptionComparison/styles.module.scss +5 -4
  36. package/dist/components/ConsumptionEnergyDetails/components/ConsumptionEnergyComparison/index.js +26 -2
  37. package/dist/components/ConsumptionEnergyDetails/components/ConsumptionEnergyComparison/styles.module.scss +2 -0
  38. package/dist/components/ConsumptionEnergyDetails/components/PercentageComparison/styles.module.scss +1 -1
  39. package/dist/components/ConsumptionEnergyDetails/index.js +21 -11
  40. package/dist/components/ConsumptionEnergyDetails/styles.module.scss +13 -1
  41. package/dist/components/ConsumptionIncluded/components/TimelineRow/components/Card/index.js +61 -42
  42. package/dist/components/ConsumptionIncluded/components/TimelineRow/components/Card/styles.module.scss +33 -20
  43. package/dist/components/ConsumptionIncluded/components/TimelineRow/components/Card/utils.js +24 -0
  44. package/dist/components/ConsumptionIncluded/components/TimelineRow/components/HeaderConsumption/index.js +13 -19
  45. package/dist/components/ConsumptionIncluded/components/TimelineRow/components/HeaderConsumption/styles.module.scss +3 -6
  46. package/dist/components/ConsumptionIncluded/components/TimelineRow/components/HeaderSettlement/index.js +7 -9
  47. package/dist/components/ConsumptionIncluded/components/TimelineRow/index.js +11 -3
  48. package/dist/components/ConsumptionIncluded/components/TimelineRow/styles.module.scss +10 -13
  49. package/dist/components/ConsumptionIncluded/styles.module.scss +5 -0
  50. package/dist/components/ConsumptionIncluded/utils.js +6 -6
  51. package/dist/components/ConsumptionPeriod/components/ConsumptionSummary/components/ReadingRow/styles.module.scss +2 -0
  52. package/dist/components/ConsumptionPeriod/components/ConsumptionSummary/index.js +8 -6
  53. package/dist/components/ConsumptionPeriod/components/ConsumptionSummary/styles.module.scss +16 -4
  54. package/dist/components/ConsumptionPeriod/components/HistoryGraph/index.js +1 -7
  55. package/dist/components/ConsumptionPeriod/components/Reading/index.js +26 -9
  56. package/dist/components/ConsumptionPeriod/components/Reading/styles.module.scss +13 -8
  57. package/dist/components/ConsumptionPeriod/styles.module.scss +11 -10
  58. package/dist/components/Date/index.js +2 -2
  59. package/dist/components/Date/styles.module.scss +3 -0
  60. package/dist/components/DebtState/styles.module.scss +1 -1
  61. package/dist/components/IconAndDetails/index.js +4 -1
  62. package/dist/components/IconAndDetails/styles.module.scss +2 -2
  63. package/dist/components/Magnitude/index.js +6 -5
  64. package/dist/components/Magnitude/styles.module.scss +5 -5
  65. package/dist/components/MainBillData/components/BillAlert/components/BillParticularConditions/index.js +5 -5
  66. package/dist/components/MainBillData/components/BillAlert/styles.module.scss +5 -3
  67. package/dist/components/MainBillData/components/BillBody/components/ClientData/index.js +13 -13
  68. package/dist/components/MainBillData/components/BillBody/components/ClientData/styles.module.scss +3 -3
  69. package/dist/components/MainBillData/components/BillBody/components/ReadingDetails/styles.module.scss +1 -1
  70. package/dist/components/MainBillData/components/BillBody/styles.module.scss +4 -3
  71. package/dist/components/MainBillData/components/BillHeader/components/TypeAndNumber/index.js +3 -2
  72. package/dist/components/MainBillData/components/BillHeader/components/TypeAndNumber/styles.module.scss +7 -3
  73. package/dist/components/MainBillData/components/BillHeader/index.js +2 -2
  74. package/dist/components/MainBillData/components/BillHeader/styles.module.scss +10 -9
  75. package/dist/components/MainBillData/styles.module.scss +0 -1
  76. package/dist/components/Period/index.js +39 -11
  77. package/dist/components/Period/styles.module.scss +13 -4
  78. package/dist/components/PowerProgresBar/components/PowerConsumption/index.js +2 -3
  79. package/dist/components/PowerProgresBar/index.js +3 -4
  80. package/dist/components/RatesDefinition/components/BillRate/components/RatePrices/index.js +6 -17
  81. package/dist/components/RatesDefinition/components/BillRate/components/RatePrices/styles.module.scss +8 -3
  82. package/dist/components/RatesDefinition/components/BillRate/index.js +10 -11
  83. package/dist/components/RatesDefinition/components/BillRate/styles.module.scss +8 -29
  84. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/Category/index.js +9 -5
  85. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/Category/styles.module.scss +12 -18
  86. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/components/Bars/components/Stage/components/SubStage/index.js +4 -3
  87. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/components/Bars/components/Stage/index.js +13 -62
  88. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/components/Bars/components/Stage/styles.module.scss +2 -6
  89. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/components/Bars/index.js +1 -0
  90. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/components/Indicator/components/IndicatorLabel/index.js +18 -12
  91. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/components/Indicator/components/IndicatorLabel/styles.module.scss +7 -3
  92. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/components/Indicator/index.js +23 -14
  93. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/components/Indicator/styles.module.scss +6 -19
  94. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/components/Indicator/utils.js +35 -1
  95. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/components/LegendItem/index.js +80 -0
  96. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/components/LegendItem/styles.module.scss +57 -0
  97. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/constants.js +17 -9
  98. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/styles.module.scss +2 -1
  99. package/dist/components/RatesDefinition/components/CategoryByConsumption/components/RateStagesGraph/utils.js +1 -1
  100. package/dist/components/RatesDefinition/components/CategoryByConsumption/index.js +61 -7
  101. package/dist/components/RatesDefinition/components/CategoryByConsumption/styles.module.scss +20 -4
  102. package/dist/components/RatesDefinition/components/PurchasedRate/index.js +12 -22
  103. package/dist/components/RatesDefinition/components/PurchasedRate/styles.module.scss +14 -44
  104. package/dist/components/RatesDefinition/index.js +16 -12
  105. package/dist/components/RatesDefinition/styles.module.scss +38 -10
  106. package/dist/components/StyledAmount/constants.js +0 -45
  107. package/dist/components/StyledAmount/index.js +5 -14
  108. package/dist/components/StyledAmount/styles.module.scss +14 -8
  109. package/dist/components/WithContextApi/index.js +9 -1
  110. package/dist/constants/deviceSizes.js +1 -1
  111. package/dist/index.js +28 -15
  112. package/dist/shared/Context/index.js +1 -1
  113. package/dist/shared/constants/aliases.js +532 -10
  114. package/dist/shared/constants/components.js +3 -1
  115. package/dist/shared/constants/consumptions.js +1 -1
  116. package/dist/shared/constants/readings.js +1 -1
  117. package/dist/shared/constants/stagesGraph.js +1 -1
  118. package/dist/shared/types/assetsTypes.js +1 -30
  119. package/dist/shared/types/billDataTypes.js +1 -1
  120. package/dist/shared/types/componentsTypes.js +4 -2
  121. package/dist/shared/types/rateStagesTypes.js +1 -1
  122. package/dist/shared/utils/consumptions.js +3 -3
  123. package/dist/shared/utils/context.js +3 -1
  124. package/dist/shared/utils/periods.js +1 -1
  125. package/dist/shared/utils/readings.js +1 -1
  126. package/dist/shared/utils/stagesGraph.js +1 -1
  127. package/dist/utils.js +1 -1
  128. package/package.json +2 -3
  129. package/dist/components/BarChart/components/CustomBar/index.js +0 -111
  130. package/dist/components/BarChart/components/CustomLabelText/index.js +0 -48
  131. package/dist/components/BarChart/components/CustomXAxisLabel/index.js +0 -58
  132. package/dist/components/BarChart/styles.js +0 -90
  133. package/dist/components/BillSummary/components/BilledConcepts/components/PieChartContainer/utils.js +0 -27
  134. package/dist/components/BillSummary/components/Rate/index.js +0 -56
  135. package/dist/components/BillSummary/components/Rate/styles.module.scss +0 -43
@@ -25,42 +25,48 @@ var IndicatorLabel = function IndicatorLabel(_ref) {
25
25
  var contextApiInfo = _ref.contextApiInfo,
26
26
  value = _ref.value,
27
27
  unit = _ref.unit,
28
+ labelOffset = _ref.labelOffset,
28
29
  _ref$classes = _ref.classes,
29
30
  classes = _ref$classes === void 0 ? {} : _ref$classes;
30
31
  var assets = contextApiInfo.assets,
31
32
  config = contextApiInfo.config,
32
33
  Label = contextApiInfo.Label;
33
- var indicatorLabel = config.texts.ratesDefinition.indicatorLabel;
34
-
35
- var _ref2 = config.stylesConfig || {},
36
- rateStagesIndicatorEnergyIcon = _ref2.rateStagesIndicatorEnergyIcon;
34
+ var texts = config.texts,
35
+ colors = config.colors;
36
+ var indicatorLabel = texts.ratesDefinition.indicatorLabel;
37
37
 
38
38
  var EnergyIcon = function EnergyIcon() {
39
- return /*#__PURE__*/_react.default.createElement("div", {
40
- className: rateStagesIndicatorEnergyIcon
41
- }, /*#__PURE__*/_react.default.createElement(assets.EnergyIconSmall, null));
39
+ return /*#__PURE__*/_react.default.createElement(assets.EnergyIcon, {
40
+ className: _stylesModule.default.icon,
41
+ style: {
42
+ fill: colors.primary
43
+ }
44
+ });
42
45
  };
43
46
 
44
47
  return /*#__PURE__*/_react.default.createElement("div", {
48
+ style: {
49
+ transform: "translate(".concat(labelOffset, ")")
50
+ },
45
51
  className: "".concat(_stylesModule.default.container, " ").concat(classes.container)
52
+ }, /*#__PURE__*/_react.default.createElement("div", {
53
+ className: _stylesModule.default.movingContainer
46
54
  }, /*#__PURE__*/_react.default.createElement(_Magnitude.default, {
47
55
  numberAlias: _aliases.RATE_MAGNITUDE_NUMBER_INDICATOR,
48
56
  unitAlias: _aliases.RATE_MAGNITUDE_UNIT_INDICATOR,
49
57
  value: value,
50
58
  unit: unit,
51
- Icon: EnergyIcon,
52
- classes: {
53
- icon: _stylesModule.default.icon
54
- }
59
+ Icon: EnergyIcon
55
60
  }), /*#__PURE__*/_react.default.createElement(Label, {
56
61
  alias: _aliases.RATE_LABEL_INDICATOR
57
- }, indicatorLabel));
62
+ }, indicatorLabel)));
58
63
  };
59
64
 
60
65
  IndicatorLabel.propTypes = {
61
66
  contextApiInfo: _smartBillTypes.contextApiInfoTypes,
62
67
  value: _propTypes.number,
63
68
  unit: _propTypes.string,
69
+ labelOffset: _propTypes.string,
64
70
  classes: (0, _propTypes.shape)({
65
71
  container: _propTypes.string
66
72
  })
@@ -5,8 +5,12 @@
5
5
  flex-flow: column;
6
6
  }
7
7
 
8
+ .movingContainer {
9
+ display: flex;
10
+ flex-direction: column;
11
+ position: relative;
12
+ }
13
+
8
14
  .icon {
9
- > g {
10
- fill: $primary;
11
- }
15
+ margin-right: 8px !important;
12
16
  }
@@ -11,6 +11,10 @@ var _propTypes = require("prop-types");
11
11
 
12
12
  var _rateStagesTypes = require("../../../../../../../../shared/types/rateStagesTypes");
13
13
 
14
+ var _WithContextApi = _interopRequireDefault(require("../../../../../../../WithContextApi"));
15
+
16
+ var _smartBillTypes = require("../../../../../../../../shared/types/smartBillTypes");
17
+
14
18
  var _IndicatorLabel = _interopRequireDefault(require("./components/IndicatorLabel"));
15
19
 
16
20
  var _utils = require("./utils");
@@ -23,36 +27,41 @@ var Indicator = function Indicator(_ref) {
23
27
  var value = _ref.value,
24
28
  unit = _ref.unit,
25
29
  rateStages = _ref.rateStages,
26
- isDesktop = _ref.isDesktop;
30
+ isDesktop = _ref.isDesktop,
31
+ contextApiInfo = _ref.contextApiInfo;
32
+ var primary = contextApiInfo.config.colors.primary;
33
+
34
+ var _getIndicatorPosition = (0, _utils.getIndicatorPosition)(value, rateStages, isDesktop),
35
+ containerLeft = _getIndicatorPosition.containerLeft,
36
+ labelOffset = _getIndicatorPosition.labelOffset;
37
+
27
38
  return /*#__PURE__*/_react.default.createElement("div", {
28
39
  className: _stylesModule.default.container
29
40
  }, /*#__PURE__*/_react.default.createElement("div", {
30
41
  style: {
31
- left: (0, _utils.getIndicatorPosition)(value, rateStages, isDesktop)
42
+ left: containerLeft
32
43
  },
33
44
  className: _stylesModule.default.indicator
34
45
  }, /*#__PURE__*/_react.default.createElement("div", {
35
- className: _stylesModule.default.arrowUp
36
- }), /*#__PURE__*/_react.default.createElement(_IndicatorLabel.default, {
37
- value: value,
38
- unit: unit,
39
- classes: {
40
- container: _stylesModule.default.desktopMovingLabel
46
+ className: _stylesModule.default.arrowUp,
47
+ style: {
48
+ borderBlockColor: primary
41
49
  }
42
- })), /*#__PURE__*/_react.default.createElement(_IndicatorLabel.default, {
50
+ }), /*#__PURE__*/_react.default.createElement(_IndicatorLabel.default, {
43
51
  value: value,
44
52
  unit: unit,
45
- classes: {
46
- container: _stylesModule.default.mobileFixedLabel
47
- }
48
- }));
53
+ labelOffset: labelOffset
54
+ })));
49
55
  };
50
56
 
51
57
  Indicator.propTypes = {
52
58
  value: _propTypes.number,
53
59
  unit: _propTypes.string,
60
+ contextApiInfo: _smartBillTypes.contextApiInfoTypes,
54
61
  rateStages: _rateStagesTypes.rateStagesTypes,
55
62
  isDesktop: _propTypes.bool
56
63
  };
57
- var _default = Indicator;
64
+
65
+ var _default = (0, _WithContextApi.default)()(Indicator);
66
+
58
67
  exports.default = _default;
@@ -2,7 +2,8 @@
2
2
  @import '../../../../../../../../scss/variables/_mediaQueries';
3
3
  @import '../../../../../../../../scss/variables/_sizes.scss';
4
4
 
5
- $arrow-size: 12px;
5
+ $arrow-width: 12px;
6
+ $arrow-height: 8px;
6
7
 
7
8
  .container {
8
9
  display: flex;
@@ -16,24 +17,10 @@ $arrow-size: 12px;
16
17
  }
17
18
 
18
19
  .arrowUp {
19
- border-bottom: $arrow-size solid $primary;
20
- border-left: ($arrow-size / 2) solid transparent;
21
- border-right: ($arrow-size / 2) solid transparent;
20
+ border-bottom: $arrow-height solid;
21
+ border-left: ($arrow-width / 2) solid transparent;
22
+ border-right: ($arrow-width / 2) solid transparent;
22
23
  height: 0;
23
- margin: 0 0 6px 18px;
24
+ margin: 0 0 8px 0;
24
25
  width: 0;
25
26
  }
26
-
27
- .desktopMovingLabel {
28
- @media #{$tablet-mobile} {
29
- display: none;
30
- }
31
- }
32
-
33
- .mobileFixedLabel {
34
- margin: 15px 0 0 -30px;
35
-
36
- @media #{$desktop} {
37
- display: none;
38
- }
39
- }
@@ -33,8 +33,42 @@ var subStagePosition = function subStagePosition(value, rateStages, isDesktop) {
33
33
  return "".concat(getStageWidth(totalStages, isDesktop), " * ").concat(deltaFromStageInit, " / ").concat(currentStageRangeWidth);
34
34
  };
35
35
 
36
+ var relativePorcentageValue = function relativePorcentageValue(value, rateStages) {
37
+ var globalLastSubRate = rateStages.at(-1).sub_rate_stages.at(-1).range;
38
+
39
+ var globalMaxValue = globalLastSubRate.at(-1) || globalLastSubRate.at(0) + _constants.DEFAULT_INFINITE_SUB_STAGE_RANGE_WIDTH;
40
+
41
+ var clippedMaxValue = value > globalMaxValue ? globalMaxValue : value;
42
+ return clippedMaxValue / globalMaxValue * 100;
43
+ };
44
+
45
+ var getLabelOffset = function getLabelOffset(value, rateStages) {
46
+ var rateIndex = rateStages.indexOf((0, _utils.getCurrentStage)(value, rateStages));
47
+ var isFirstRate = rateIndex === 0;
48
+ var isLastRate = rateIndex === rateStages.length - 1;
49
+ var baseOffset = "".concat(relativePorcentageValue(value, rateStages), "%");
50
+ return isLastRate ? "calc(-".concat(baseOffset, " + ").concat(_constants.INDICATOR_LABEL_LAST_OFFSET, ")") : isFirstRate ? "calc(-".concat(baseOffset, " - ").concat(_constants.INDICATOR_LABEL_FIRST_OFFSET, ")") : _constants.INDICATOR_LABEL_DEFAULT_OFFSET;
51
+ };
52
+
53
+ var subStagePositionRounded = function subStagePositionRounded(value, rateStages) {
54
+ var roundedVal = Math.round(value);
55
+ var currentStage = (0, _utils.getCurrentStage)(value, rateStages);
56
+
57
+ var findRange = function findRange(_ref) {
58
+ var range = _ref.range;
59
+ return roundedVal >= range[0] && (!range[1] || roundedVal <= range[1]);
60
+ };
61
+
62
+ var currentSubstageIndex = currentStage.sub_rate_stages.findIndex(findRange);
63
+ var stageWidth = getStageWidth(rateStages.length, false);
64
+ return "".concat(stageWidth, " * ").concat((currentSubstageIndex + 0.5) / currentStage.sub_rate_stages.length);
65
+ };
66
+
36
67
  var getIndicatorPosition = function getIndicatorPosition(value, rateStages, isDesktop) {
37
- return "calc(".concat(isDesktop ? _constants.INITIAL_INDICATOR_POSITION_DESKTOP : _constants.INITIAL_INDICATOR_POSITION_MOBILE, " + ").concat(stagePosition(value, rateStages, isDesktop), " + ").concat(subStagePosition(value, rateStages, isDesktop), ")");
68
+ return {
69
+ containerLeft: "calc(".concat(isDesktop ? _constants.INITIAL_INDICATOR_POSITION_DESKTOP : _constants.INITIAL_INDICATOR_POSITION_MOBILE, " + ").concat(stagePosition(value, rateStages, isDesktop), " + ").concat(isDesktop ? subStagePosition(value, rateStages, isDesktop) : subStagePositionRounded(value, rateStages), ")"),
70
+ labelOffset: getLabelOffset(value, rateStages)
71
+ };
38
72
  };
39
73
 
40
74
  exports.getIndicatorPosition = getIndicatorPosition;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = require("prop-types");
11
+
12
+ var _WithContextApi = _interopRequireDefault(require("../../../../../../../WithContextApi"));
13
+
14
+ var _smartBillTypes = require("../../../../../../../../shared/types/smartBillTypes");
15
+
16
+ var _Magnitude = _interopRequireDefault(require("../../../../../../../Magnitude"));
17
+
18
+ var _aliases = require("../../../../../../../../shared/constants/aliases");
19
+
20
+ var _rateStagesTypes = require("../../../../../../../../shared/types/rateStagesTypes");
21
+
22
+ var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ var LegendItem = function LegendItem(_ref) {
27
+ var contextApiInfo = _ref.contextApiInfo,
28
+ legendNumber = _ref.legendNumber,
29
+ stage = _ref.stage,
30
+ showNumber = _ref.showNumber,
31
+ stagesLength = _ref.stagesLength;
32
+ var Label = contextApiInfo.Label,
33
+ config = contextApiInfo.config,
34
+ assets = contextApiInfo.assets;
35
+ var texts = config.texts;
36
+ var _texts$ratesDefinitio = texts.ratesDefinition,
37
+ consumptionUpToDesktop = _texts$ratesDefinitio.consumptionUpToDesktop,
38
+ consumptionMoreThanDesktop = _texts$ratesDefinitio.consumptionMoreThanDesktop,
39
+ consumptionStartingFormDesktop = _texts$ratesDefinitio.consumptionStartingFormDesktop;
40
+
41
+ var format = function format(text) {
42
+ return text.toUpperCase();
43
+ };
44
+
45
+ return /*#__PURE__*/_react.default.createElement("div", {
46
+ className: stage ? _stylesModule.default.legendItemContainer : _stylesModule.default.numberItemContainer
47
+ }, showNumber && /*#__PURE__*/_react.default.createElement("div", {
48
+ className: _stylesModule.default.stageNumber
49
+ }, /*#__PURE__*/_react.default.createElement(Label, null, legendNumber)), stage && /*#__PURE__*/_react.default.createElement("div", {
50
+ className: showNumber ? _stylesModule.default.stageDataContainer : _stylesModule.default.noNumberStageDataContainer
51
+ }, /*#__PURE__*/_react.default.createElement(Label, {
52
+ alias: _aliases.STAGE_DETAIL,
53
+ className: _stylesModule.default.header
54
+ }, format(legendNumber === 1 ? consumptionUpToDesktop : legendNumber === stagesLength ? consumptionMoreThanDesktop : consumptionStartingFormDesktop)), /*#__PURE__*/_react.default.createElement(_Magnitude.default, {
55
+ numberAlias: _aliases.RATE_STAGE_MAGNITUDE,
56
+ unitAlias: _aliases.RATE_STAGE_MAGNITUDE,
57
+ value: legendNumber === 1 ? stage.range.at(-1) : stage.range.at(0),
58
+ unit: stage.unit,
59
+ Icon: function Icon() {
60
+ return /*#__PURE__*/_react.default.createElement(assets.EnergyIcon, {
61
+ className: _stylesModule.default.rateStagesEnergyIcon
62
+ });
63
+ },
64
+ classes: {
65
+ container: _stylesModule.default.magnitudeContainer
66
+ }
67
+ })));
68
+ };
69
+
70
+ LegendItem.propTypes = {
71
+ stage: _rateStagesTypes.stageType,
72
+ showNumber: true,
73
+ stagesLength: _propTypes.number,
74
+ contextApiInfo: _smartBillTypes.contextApiInfoTypes,
75
+ legendNumber: _propTypes.number
76
+ };
77
+
78
+ var _default = (0, _WithContextApi.default)()(LegendItem);
79
+
80
+ exports.default = _default;
@@ -0,0 +1,57 @@
1
+ @import '../../../../../../../../scss/variables/_colors';
2
+
3
+ $bubble-number-size: 24px;
4
+
5
+ .legendItemContainer {
6
+ align-items: center;
7
+ display: flex;
8
+ gap: 8px;
9
+ justify-content: space-between;
10
+ width: 100%;
11
+ }
12
+
13
+ .numberItemContainer {
14
+ display: flex;
15
+ justify-content: center;
16
+ padding-bottom: 8px;
17
+ }
18
+
19
+ .stageDataContainer {
20
+ align-items: center;
21
+ display: flex;
22
+ gap: 16px;
23
+ justify-content: space-between;
24
+ width: 100%;
25
+ }
26
+
27
+ .noNumberStageDataContainer {
28
+ align-items: center;
29
+ display: flex;
30
+ flex-direction: column;
31
+ gap: 24px;
32
+ padding-bottom: 16px;
33
+ width: 100%;
34
+ }
35
+
36
+ .magnitudeContainer {
37
+ gap: 8px;
38
+ }
39
+
40
+ .stageNumber {
41
+ align-items: center;
42
+ background-color: $black;
43
+ border-radius: 500px;
44
+ display: flex;
45
+ justify-content: center;
46
+ min-width: $bubble-number-size;
47
+ height: $bubble-number-size;
48
+ width: $bubble-number-size;
49
+
50
+ * {
51
+ color: $white;
52
+ }
53
+ }
54
+
55
+ .rateStagesEnergyIcon {
56
+ height: 18px;
57
+ }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.LAST_SUB_STAGE_MARGIN = exports.SUB_STAGE_MARGIN = exports.STAGE_MARGIN_MOBILE = exports.STAGE_MARGIN_DESKTOP = exports.LAST_STAGE_MARGIN = exports.BARS_MARGIN_MOBILE = exports.BARS_MARGIN_DESKTOP = exports.INITIAL_INDICATOR_POSITION_MOBILE = exports.INITIAL_INDICATOR_POSITION_DESKTOP = exports.DEFAULT_INFINITE_SUB_STAGE_RANGE_WIDTH = exports.MAX_RANGE_LIMIT = exports.MIN_VALUE = exports.MAX_VALUE = exports.INFINITE = void 0;
6
+ exports.SUB_STAGE_MARGIN_MOBILE = exports.SUB_STAGE_MARGIN_DESKTOP = exports.STAGE_MARGIN_MOBILE = exports.STAGE_MARGIN_DESKTOP = exports.MIN_VALUE = exports.MAX_VALUE = exports.MAX_RANGE_LIMIT = exports.LAST_SUB_STAGE_MARGIN = exports.LAST_STAGE_MARGIN = exports.INITIAL_INDICATOR_POSITION_MOBILE = exports.INITIAL_INDICATOR_POSITION_DESKTOP = exports.INFINITE = exports.INDICATOR_LABEL_LAST_OFFSET = exports.INDICATOR_LABEL_FIRST_OFFSET = exports.INDICATOR_LABEL_DEFAULT_OFFSET = exports.DEFAULT_INFINITE_SUB_STAGE_RANGE_WIDTH = exports.BARS_MARGIN_MOBILE = exports.BARS_MARGIN_DESKTOP = void 0;
7
7
  var INFINITE = null;
8
8
  exports.INFINITE = INFINITE;
9
9
  var MAX_VALUE = 1;
@@ -14,21 +14,29 @@ var MAX_RANGE_LIMIT = 9999999;
14
14
  exports.MAX_RANGE_LIMIT = MAX_RANGE_LIMIT;
15
15
  var DEFAULT_INFINITE_SUB_STAGE_RANGE_WIDTH = 200;
16
16
  exports.DEFAULT_INFINITE_SUB_STAGE_RANGE_WIDTH = DEFAULT_INFINITE_SUB_STAGE_RANGE_WIDTH;
17
- var INITIAL_INDICATOR_POSITION_DESKTOP = '27px';
17
+ var INITIAL_INDICATOR_POSITION_DESKTOP = '-4px';
18
18
  exports.INITIAL_INDICATOR_POSITION_DESKTOP = INITIAL_INDICATOR_POSITION_DESKTOP;
19
- var INITIAL_INDICATOR_POSITION_MOBILE = '-24px';
19
+ var INITIAL_INDICATOR_POSITION_MOBILE = '-4px';
20
20
  exports.INITIAL_INDICATOR_POSITION_MOBILE = INITIAL_INDICATOR_POSITION_MOBILE;
21
- var BARS_MARGIN_DESKTOP = '50px';
21
+ var BARS_MARGIN_DESKTOP = '0px';
22
22
  exports.BARS_MARGIN_DESKTOP = BARS_MARGIN_DESKTOP;
23
23
  var BARS_MARGIN_MOBILE = '0px';
24
24
  exports.BARS_MARGIN_MOBILE = BARS_MARGIN_MOBILE;
25
25
  var LAST_STAGE_MARGIN = '0px';
26
26
  exports.LAST_STAGE_MARGIN = LAST_STAGE_MARGIN;
27
- var STAGE_MARGIN_DESKTOP = '10px';
27
+ var STAGE_MARGIN_DESKTOP = '4px';
28
28
  exports.STAGE_MARGIN_DESKTOP = STAGE_MARGIN_DESKTOP;
29
- var STAGE_MARGIN_MOBILE = '1px';
29
+ var STAGE_MARGIN_MOBILE = '2px';
30
30
  exports.STAGE_MARGIN_MOBILE = STAGE_MARGIN_MOBILE;
31
- var SUB_STAGE_MARGIN = '1px';
32
- exports.SUB_STAGE_MARGIN = SUB_STAGE_MARGIN;
31
+ var SUB_STAGE_MARGIN_DESKTOP = '4px';
32
+ exports.SUB_STAGE_MARGIN_DESKTOP = SUB_STAGE_MARGIN_DESKTOP;
33
+ var SUB_STAGE_MARGIN_MOBILE = '2px';
34
+ exports.SUB_STAGE_MARGIN_MOBILE = SUB_STAGE_MARGIN_MOBILE;
33
35
  var LAST_SUB_STAGE_MARGIN = '0px';
34
- exports.LAST_SUB_STAGE_MARGIN = LAST_SUB_STAGE_MARGIN;
36
+ exports.LAST_SUB_STAGE_MARGIN = LAST_SUB_STAGE_MARGIN;
37
+ var INDICATOR_LABEL_FIRST_OFFSET = '0px';
38
+ exports.INDICATOR_LABEL_FIRST_OFFSET = INDICATOR_LABEL_FIRST_OFFSET;
39
+ var INDICATOR_LABEL_LAST_OFFSET = '16px';
40
+ exports.INDICATOR_LABEL_LAST_OFFSET = INDICATOR_LABEL_LAST_OFFSET;
41
+ var INDICATOR_LABEL_DEFAULT_OFFSET = '-48px';
42
+ exports.INDICATOR_LABEL_DEFAULT_OFFSET = INDICATOR_LABEL_DEFAULT_OFFSET;
@@ -5,7 +5,8 @@
5
5
  .container {
6
6
  display: flex;
7
7
  flex-flow: column;
8
- width: 80%;
8
+ width: 100%;
9
+ padding: $default-container-padding;
9
10
 
10
11
  @media #{$tablet-mobile} {
11
12
  width: 100%;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getStageRangeWidth = exports.getSubStageRangeWidth = exports.getCurrentStage = void 0;
6
+ exports.getSubStageRangeWidth = exports.getStageRangeWidth = exports.getCurrentStage = void 0;
7
7
 
8
8
  var _constants = require("./constants");
9
9
 
@@ -1,28 +1,52 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.default = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _propTypes = require("prop-types");
11
13
 
14
+ var _browser = require("@widergy/web-utils/lib/browser");
15
+
12
16
  var _smartBillTypes = require("../../../../shared/types/smartBillTypes");
13
17
 
14
18
  var _WithContextApi = _interopRequireDefault(require("../../../WithContextApi"));
15
19
 
16
20
  var _aliases = require("../../../../shared/constants/aliases");
17
21
 
22
+ var _deviceSizes = require("../../../../constants/deviceSizes");
23
+
18
24
  var _RateStagesGraph = _interopRequireDefault(require("./components/RateStagesGraph"));
19
25
 
20
26
  var _Category = _interopRequireDefault(require("./components/Category"));
21
27
 
22
28
  var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
23
29
 
30
+ var _LegendItem = _interopRequireDefault(require("./components/RateStagesGraph/components/LegendItem"));
31
+
24
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
33
 
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
38
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
39
+
40
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
41
+
42
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
43
+
44
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
45
+
46
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
47
+
48
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
49
+
26
50
  var CategoryByConsumption = function CategoryByConsumption(_ref) {
27
51
  var contextApiInfo = _ref.contextApiInfo,
28
52
  value = _ref.value,
@@ -32,20 +56,50 @@ var CategoryByConsumption = function CategoryByConsumption(_ref) {
32
56
  Label = contextApiInfo.Label;
33
57
  var rateStages = config.rateStages,
34
58
  texts = config.texts;
59
+
60
+ var _useState = (0, _react.useState)((0, _browser.isDesktop)(_deviceSizes.TabletBreakpoint)),
61
+ _useState2 = _slicedToArray(_useState, 2),
62
+ isDesktopSize = _useState2[0],
63
+ setIsDesktopSize = _useState2[1];
64
+
65
+ var handleResizeScreen = function handleResizeScreen() {
66
+ return setIsDesktopSize((0, _browser.isDesktop)(_deviceSizes.TabletBreakpoint));
67
+ };
68
+
69
+ (0, _react.useEffect)(function () {
70
+ window.addEventListener(_browser.RESIZE_EVENT, handleResizeScreen);
71
+ handleResizeScreen();
72
+ return function () {
73
+ return window.removeEventListener(_browser.RESIZE_EVENT, handleResizeScreen);
74
+ };
75
+ }, []);
35
76
  var valueCorrected = value < 0 ? 0 : value && Math.round(value);
36
77
  return /*#__PURE__*/_react.default.createElement("div", {
37
78
  className: _stylesModule.default.container
79
+ }, /*#__PURE__*/_react.default.createElement("div", {
80
+ className: _stylesModule.default.header
38
81
  }, /*#__PURE__*/_react.default.createElement(Label, {
39
- alias: _aliases.TITLE,
40
- className: _stylesModule.default.title
41
- }, texts.ratesDefinition.categoryByConsumptionTitle), /*#__PURE__*/_react.default.createElement("div", {
82
+ alias: _aliases.TITLE
83
+ }, texts.ratesDefinition.categoryByConsumptionTitle), isDesktopSize && /*#__PURE__*/_react.default.createElement(_Category.default, {
84
+ category: category
85
+ })), /*#__PURE__*/_react.default.createElement("div", {
42
86
  className: _stylesModule.default.content
43
- }, (valueCorrected === 0 || valueCorrected) && /*#__PURE__*/_react.default.createElement(_RateStagesGraph.default, {
87
+ }, !isDesktopSize && /*#__PURE__*/_react.default.createElement(_Category.default, {
88
+ category: category,
89
+ wrap: true
90
+ }), (valueCorrected === 0 || valueCorrected) && /*#__PURE__*/_react.default.createElement(_RateStagesGraph.default, {
44
91
  value: valueCorrected,
45
92
  unit: unit,
46
93
  rateStages: rateStages
47
- }), /*#__PURE__*/_react.default.createElement(_Category.default, {
48
- category: category
94
+ })), !isDesktopSize && /*#__PURE__*/_react.default.createElement("div", {
95
+ className: _stylesModule.default.ratesLegend
96
+ }, rateStages.map(function (rateStage, index) {
97
+ return /*#__PURE__*/_react.default.createElement(_LegendItem.default, {
98
+ legendNumber: index + 1,
99
+ showNumber: true,
100
+ stagesLength: rateStages.length,
101
+ stage: rateStage
102
+ });
49
103
  })));
50
104
  };
51
105
 
@@ -8,13 +8,29 @@
8
8
  border-radius: $default-container-border-radius;
9
9
  display: flex;
10
10
  flex-flow: column;
11
- margin-bottom: 10px;
12
- padding: $default-container-padding;
11
+ margin-bottom: 16px;
12
+ overflow: hidden;
13
13
  width: 100%;
14
14
  }
15
15
 
16
- .title {
17
- margin-bottom: 25px;
16
+ .header {
17
+ align-items: center;
18
+ border-bottom: 1px solid $borders-gray;
19
+ display: flex;
20
+ justify-content: space-between;
21
+ padding: 16px 32px;
22
+
23
+ @media #{$tablet-mobile} {
24
+ justify-content: center;
25
+ }
26
+ }
27
+
28
+ .ratesLegend {
29
+ display: flex;
30
+ flex-direction: column;
31
+ border-top: 1px solid $borders-gray;
32
+ gap: 24px;
33
+ padding: 24px;
18
34
  }
19
35
 
20
36
  .content {
@@ -13,11 +13,9 @@ var _smartBillTypes = require("../../../../shared/types/smartBillTypes");
13
13
 
14
14
  var _WithContextApi = _interopRequireDefault(require("../../../WithContextApi"));
15
15
 
16
- var _utils = require("../../../../utils");
17
-
18
16
  var _aliases = require("../../../../shared/constants/aliases");
19
17
 
20
- var _billDataTypes = require("../../../../shared/types/billDataTypes");
18
+ var _RateAndCategory = _interopRequireDefault(require("../../../RateAndCategory"));
21
19
 
22
20
  var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
23
21
 
@@ -26,36 +24,29 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
26
24
  var PurchasedRate = function PurchasedRate(_ref) {
27
25
  var contextApiInfo = _ref.contextApiInfo,
28
26
  rate = _ref.rate,
29
- description = _ref.description,
27
+ category = _ref.category,
30
28
  _ref$classes = _ref.classes,
31
- classes = _ref$classes === void 0 ? {} : _ref$classes,
32
- billData = _ref.billData;
29
+ classes = _ref$classes === void 0 ? {} : _ref$classes;
33
30
  var config = contextApiInfo.config,
34
31
  ExternalLink = contextApiInfo.ExternalLink,
35
32
  Label = contextApiInfo.Label;
36
33
  var purchasedRateErrorLink = config.externalLinks.purchasedRateErrorLink;
37
- var showRateDescription = config.validations.showRateDescription;
38
34
  var _config$texts$ratesDe = config.texts.ratesDefinition,
39
35
  purchasedRateTitle = _config$texts$ratesDe.purchasedRateTitle,
40
36
  purchasedRateError = _config$texts$ratesDe.purchasedRateError;
41
37
  return /*#__PURE__*/_react.default.createElement("div", {
42
38
  className: "".concat(_stylesModule.default.container, " ").concat(classes.container)
43
39
  }, /*#__PURE__*/_react.default.createElement(Label, {
44
- alias: _aliases.TITLE,
45
- className: _stylesModule.default.title
40
+ alias: _aliases.RATE_DATA_SUBTITLE
46
41
  }, purchasedRateTitle), /*#__PURE__*/_react.default.createElement("div", {
47
42
  className: _stylesModule.default.data
48
- }, /*#__PURE__*/_react.default.createElement("div", {
49
- className: _stylesModule.default.rateAndDescription
50
- }, /*#__PURE__*/_react.default.createElement(Label, {
51
- alias: _aliases.RATE,
52
- className: _stylesModule.default.purchasedRate
53
- }, (0, _utils.stringOrDash)(rate)), showRateDescription(billData) && /*#__PURE__*/_react.default.createElement(Label, {
54
- semibold: true,
55
- primary: true,
56
- large: true,
57
- className: _stylesModule.default.description
58
- }, (0, _utils.stringOrDash)(description))), purchasedRateErrorLink && /*#__PURE__*/_react.default.createElement(ExternalLink, {
43
+ }, /*#__PURE__*/_react.default.createElement(_RateAndCategory.default, {
44
+ rate: rate,
45
+ category: category,
46
+ classes: {
47
+ container: _stylesModule.default.rateAndCategoryContainer
48
+ }
49
+ }), purchasedRateErrorLink && /*#__PURE__*/_react.default.createElement(ExternalLink, {
59
50
  url: purchasedRateErrorLink
60
51
  }, /*#__PURE__*/_react.default.createElement(Label, {
61
52
  alias: _aliases.REGULAR_LINK,
@@ -66,8 +57,7 @@ var PurchasedRate = function PurchasedRate(_ref) {
66
57
  PurchasedRate.propTypes = {
67
58
  contextApiInfo: _smartBillTypes.contextApiInfoTypes,
68
59
  rate: _propTypes.string,
69
- description: _propTypes.string,
70
- billData: _billDataTypes.billDataTypes,
60
+ category: _propTypes.string,
71
61
  classes: (0, _propTypes.shape)({
72
62
  container: _propTypes.string
73
63
  })