@widergy/utilitygo-smart-bill-web 3.18.0 → 3.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/components/SmartBillSummary/constants.js +1 -5
- package/dist/components/SmartBillSummary/index.js +29 -8
- package/dist/components/SmartBillSummary/styles.module.scss +13 -11
- package/dist/components/SmartBillSummary/tabs/Billing/index.js +1 -1
- package/dist/components/SmartBillSummary/tabs/Consumptions/components/ProgressBarCard/components/ProgressBarItem/index.js +93 -0
- package/dist/components/SmartBillSummary/tabs/Consumptions/components/ProgressBarCard/components/ProgressBarItem/styles.module.scss +109 -0
- package/dist/components/SmartBillSummary/tabs/Consumptions/components/ProgressBarCard/components/ProgressBarItem/utils.js +13 -0
- package/dist/components/SmartBillSummary/tabs/Consumptions/components/ProgressBarCard/components/ReiterationBanner/index.js +50 -0
- package/dist/components/SmartBillSummary/tabs/Consumptions/components/ProgressBarCard/components/ReiterationBanner/styles.module.scss +43 -0
- package/dist/components/SmartBillSummary/tabs/Consumptions/components/ProgressBarCard/components/SimpleBanner/index.js +27 -0
- package/dist/components/SmartBillSummary/tabs/Consumptions/components/ProgressBarCard/components/SimpleBanner/styles.module.scss +12 -0
- package/dist/components/SmartBillSummary/tabs/Consumptions/components/ProgressBarCard/index.js +49 -0
- package/dist/components/SmartBillSummary/tabs/Consumptions/components/ProgressBarCard/utils.js +58 -0
- package/dist/components/SmartBillSummary/tabs/Consumptions/index.js +30 -15
- package/dist/components/SmartBillSummary/tabs/Consumptions/styles.module.scss +19 -16
- package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/ActionCards/styles.module.scss +1 -1
- package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/BillHeader/index.js +3 -0
- package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/BillHeader/styles.module.scss +1 -1
- package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/ColumnRenderer/constants.js +7 -1
- package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/ColumnRenderer/styles.module.scss +1 -1
- package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/RateCard/components/ProgressBar/styles.module.scss +2 -1
- package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/RateCard/index.js +2 -2
- package/dist/components/SmartBillSummary/tabs/components/SecondHeader/index.js +53 -0
- package/dist/components/SmartBillSummary/tabs/components/SecondHeader/styles.module.scss +40 -0
- package/dist/components/SmartBillSummary/utils.js +8 -11
- package/dist/index.js +1 -1
- package/package.json +2 -2
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/AccountCard/index.js +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/AccountCard/styles.module.scss +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/ActionCards/index.js +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/ColumnRenderer/index.js +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/DebtStatusLabel/constants.js +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/DebtStatusLabel/index.js +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/DebtStatusLabel/styles.module.scss +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/RateCard/components/ProgressBar/constants.js +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/RateCard/components/ProgressBar/index.js +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/RateCard/components/ProgressBar/utils.js +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/RateCard/styles.module.scss +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/RateCard/utils.js +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/TitularCard/index.js +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/TitularCard/styles.module.scss +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/TotalCard/index.js +0 -0
- /package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/TotalCard/styles.module.scss +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
# [3.19.0](https://github.com/widergy/UtilityGO-Smart-Bill-Web/compare/v3.18.1...v3.19.0) (2025-12-22)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* updates npm token ([3cec5b1](https://github.com/widergy/UtilityGO-Smart-Bill-Web/commit/3cec5b1b92330c19c895c2ae67dc9b391d571cf2))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* [EVEP-46, EVEP-274] smartbill v2 ([#72](https://github.com/widergy/UtilityGO-Smart-Bill-Web/issues/72)) ([22c0382](https://github.com/widergy/UtilityGO-Smart-Bill-Web/commit/22c0382827781d284df215fdd6131da676ca6308))
|
|
12
|
+
|
|
13
|
+
## [3.18.1](https://github.com/widergy/UtilityGO-Smart-Bill-Web/compare/v3.18.0...v3.18.1) (2025-12-09)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* loading when download smartbill ([#74](https://github.com/widergy/UtilityGO-Smart-Bill-Web/issues/74)) ([a3b9bb3](https://github.com/widergy/UtilityGO-Smart-Bill-Web/commit/a3b9bb32b1efb5956289187bc6d78bc88435e85a))
|
|
19
|
+
|
|
1
20
|
# [3.18.0](https://github.com/widergy/UtilityGO-Smart-Bill-Web/compare/v3.17.0...v3.18.0) (2025-11-06)
|
|
2
21
|
|
|
3
22
|
|
|
@@ -17,11 +17,7 @@ const TAB_VALUE_REGEX = exports.TAB_VALUE_REGEX = /\[data-tab-value="([^"]+)"\]/
|
|
|
17
17
|
const CAPTURED_VALUE_REGEX = exports.CAPTURED_VALUE_REGEX = 1;
|
|
18
18
|
const ONBOARDING_OPTIONS = exports.ONBOARDING_OPTIONS = {
|
|
19
19
|
overlayOpacity: 1,
|
|
20
|
-
positionPrecedence: ['top', 'left', 'bottom', 'right']
|
|
21
|
-
scrollPadding: 5,
|
|
22
|
-
scrollTo: 'tooltip',
|
|
23
|
-
scrollToElement: false,
|
|
24
|
-
tooltipPosition: 'top'
|
|
20
|
+
positionPrecedence: ['top', 'left', 'bottom', 'right']
|
|
25
21
|
};
|
|
26
22
|
const renderComponentWithProps = (Component, tab) => props => /*#__PURE__*/_react.default.createElement(Component, _extends({}, props, {
|
|
27
23
|
assets: props?.assets?.[tab] || {},
|
|
@@ -13,7 +13,8 @@ var _constants = require("./constants");
|
|
|
13
13
|
var _utils = require("./utils");
|
|
14
14
|
var _AIPanel = _interopRequireDefault(require("./components/AIPanel"));
|
|
15
15
|
var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
|
|
16
|
-
var _BillHeader = _interopRequireDefault(require("./tabs/
|
|
16
|
+
var _BillHeader = _interopRequireDefault(require("./tabs/components/BillHeader"));
|
|
17
|
+
var _SecondHeader = _interopRequireDefault(require("./tabs/components/SecondHeader"));
|
|
17
18
|
var _utils2 = require("./tabs/Billing/utils");
|
|
18
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -23,10 +24,12 @@ const SmartBillSummary = _ref => {
|
|
|
23
24
|
annex,
|
|
24
25
|
assets,
|
|
25
26
|
billingLayout,
|
|
27
|
+
consumptionLayout,
|
|
26
28
|
colors,
|
|
27
29
|
components,
|
|
28
30
|
constants,
|
|
29
31
|
downloadSmartbillEnabled,
|
|
32
|
+
downloadSmartBillLoading,
|
|
30
33
|
handlers,
|
|
31
34
|
loading,
|
|
32
35
|
showOnboarding = false,
|
|
@@ -37,7 +40,8 @@ const SmartBillSummary = _ref => {
|
|
|
37
40
|
tabOptions,
|
|
38
41
|
translations,
|
|
39
42
|
utils,
|
|
40
|
-
periodSpan
|
|
43
|
+
periodSpan,
|
|
44
|
+
progressBarConcept
|
|
41
45
|
} = _ref;
|
|
42
46
|
const {
|
|
43
47
|
aiQuestionsList,
|
|
@@ -81,7 +85,7 @@ const SmartBillSummary = _ref => {
|
|
|
81
85
|
} = loading ? {
|
|
82
86
|
tabs: [],
|
|
83
87
|
onboardingSteps: []
|
|
84
|
-
} : (0, _utils.getTabOptions)(isDesktopSize, onboardingSteps, tabOptions
|
|
88
|
+
} : (0, _utils.getTabOptions)(isDesktopSize, onboardingSteps, tabOptions);
|
|
85
89
|
const defaultCurrentTab = (0, _utils.getDefaultCurrentTab)(tabs);
|
|
86
90
|
const [currentTab, setCurrentTab] = (0, _react.useState)(defaultCurrentTab);
|
|
87
91
|
const [aiPanelIsOpen, setAiPanelIsOpen] = (0, _react.useState)(false);
|
|
@@ -152,11 +156,21 @@ const SmartBillSummary = _ref => {
|
|
|
152
156
|
debtStatusValidation: smartBill.debt_status_label !== null,
|
|
153
157
|
debtStatusLabel: smartBill.debt_status_label,
|
|
154
158
|
downloadSmartbillEnabled,
|
|
159
|
+
downloadSmartBillLoading,
|
|
155
160
|
handleDownloadSmartBill,
|
|
156
161
|
smartBill
|
|
162
|
+
}), tabs.find(tab => tab.value === currentTab)?.header && /*#__PURE__*/_react.default.createElement(_SecondHeader.default, {
|
|
163
|
+
accountNumber: smartBill.client?.client_number,
|
|
164
|
+
accountNumberHelpText: translations.billingTab.secondHeader?.accountNumberHelpText,
|
|
165
|
+
supplyAddress: smartBill.client?.account_address,
|
|
166
|
+
city: currentAccount?.city,
|
|
167
|
+
district: currentAccount?.district,
|
|
168
|
+
supplyAddressHelpText: translations.billingTab.secondHeader?.supplyAddressHelpText,
|
|
169
|
+
clientNumberFormatter: utils?.formatters?.clientNumberFormatter
|
|
157
170
|
}), _constants.TAB_COMPONENT_MAPPER?.[currentTab]?.({
|
|
158
171
|
assets,
|
|
159
172
|
billingLayout,
|
|
173
|
+
consumptionLayout,
|
|
160
174
|
constants,
|
|
161
175
|
consumptionLevels,
|
|
162
176
|
components,
|
|
@@ -171,7 +185,8 @@ const SmartBillSummary = _ref => {
|
|
|
171
185
|
smartBill,
|
|
172
186
|
translations,
|
|
173
187
|
utils,
|
|
174
|
-
periodSpan
|
|
188
|
+
periodSpan,
|
|
189
|
+
progressBarConcept
|
|
175
190
|
})), aiQuestionsPanelEnabled && /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_energyUi.UTTooltip, {
|
|
176
191
|
arrow: false,
|
|
177
192
|
content: isDesktopSize ? widyTooltipContent : '',
|
|
@@ -179,7 +194,9 @@ const SmartBillSummary = _ref => {
|
|
|
179
194
|
placement: 'left'
|
|
180
195
|
}
|
|
181
196
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
182
|
-
className: `${widyEnabled
|
|
197
|
+
className: `${!widyEnabled && _stylesModule.default.AIFloatButtonContainer} smartbill-ai-float-button`
|
|
198
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
199
|
+
className: widyEnabled ? _stylesModule.default.AIFloatButtonWidy : _stylesModule.default.AIFloatButton
|
|
183
200
|
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTTouchableWithoutFeedback, {
|
|
184
201
|
onClick: openAIPanel
|
|
185
202
|
}, widyEnabled ? /*#__PURE__*/_react.default.createElement("img", {
|
|
@@ -188,7 +205,7 @@ const SmartBillSummary = _ref => {
|
|
|
188
205
|
}) : /*#__PURE__*/_react.default.createElement(_energyUi.UTIcon, {
|
|
189
206
|
colorTheme: "negative",
|
|
190
207
|
name: "EnergyIconChatSparkFilled"
|
|
191
|
-
})))), /*#__PURE__*/_react.default.createElement(_AIPanel.default, {
|
|
208
|
+
}))))), /*#__PURE__*/_react.default.createElement(_AIPanel.default, {
|
|
192
209
|
aiQuestionsList: aiQuestionsList,
|
|
193
210
|
aiQuestionsListError: aiQuestionsListError,
|
|
194
211
|
aiQuestionsListLoading: aiQuestionsListLoading,
|
|
@@ -207,19 +224,22 @@ const SmartBillSummary = _ref => {
|
|
|
207
224
|
enabled: showOnboarding,
|
|
208
225
|
handleComplete: onCloseOnboarding,
|
|
209
226
|
handleOnClose: onCloseOnboarding,
|
|
210
|
-
steps: filteredOnboardingSteps
|
|
227
|
+
steps: filteredOnboardingSteps,
|
|
228
|
+
variant: "dark"
|
|
211
229
|
}));
|
|
212
230
|
};
|
|
213
231
|
SmartBillSummary.propTypes = {
|
|
214
232
|
annex: _propTypes.bool,
|
|
215
233
|
assets: _propTypes.object,
|
|
216
234
|
billingLayout: (0, _propTypes.arrayOf)(_propTypes.object),
|
|
235
|
+
consumptionLayout: (0, _propTypes.arrayOf)(_propTypes.object),
|
|
217
236
|
colors: _propTypes.object,
|
|
218
237
|
components: (0, _propTypes.shape)({
|
|
219
238
|
[_propTypes.string]: _propTypes.elementType
|
|
220
239
|
}),
|
|
221
240
|
constants: _propTypes.object,
|
|
222
241
|
downloadSmartbillEnabled: _propTypes.bool,
|
|
242
|
+
downloadSmartBillLoading: _propTypes.bool,
|
|
223
243
|
handlers: (0, _propTypes.shape)({
|
|
224
244
|
[_propTypes.string]: _propTypes.func
|
|
225
245
|
}),
|
|
@@ -238,6 +258,7 @@ SmartBillSummary.propTypes = {
|
|
|
238
258
|
})),
|
|
239
259
|
translations: _propTypes.object,
|
|
240
260
|
utils: _propTypes.object,
|
|
241
|
-
periodSpan: _propTypes.string
|
|
261
|
+
periodSpan: _propTypes.string,
|
|
262
|
+
progressBarConcept: (0, _propTypes.arrayOf)(_propTypes.object)
|
|
242
263
|
};
|
|
243
264
|
var _default = exports.default = SmartBillSummary;
|
|
@@ -52,18 +52,20 @@ $tab-height: 48px;
|
|
|
52
52
|
width: 100%;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
.AIFloatButtonContainer {
|
|
56
|
+
bottom: 24px;
|
|
57
|
+
position: fixed;
|
|
58
|
+
padding: 8px;
|
|
59
|
+
right: 24px;
|
|
60
|
+
}
|
|
61
|
+
|
|
55
62
|
.AIFloatButton {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
justify-content: center;
|
|
63
|
-
padding: 16px;
|
|
64
|
-
position: fixed;
|
|
65
|
-
right: 32px;
|
|
66
|
-
}
|
|
63
|
+
align-items: center;
|
|
64
|
+
background-color: var(--actionAccent04);
|
|
65
|
+
border-radius: 100%;
|
|
66
|
+
display: flex;
|
|
67
|
+
justify-content: center;
|
|
68
|
+
padding: 16px;
|
|
67
69
|
}
|
|
68
70
|
|
|
69
71
|
.AIFloatButtonWidy {
|
|
@@ -7,9 +7,9 @@ exports.default = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _propTypes = require("prop-types");
|
|
9
9
|
var _billDataTypes = require("../../../../shared/types/billDataTypes");
|
|
10
|
+
var _ColumnRenderer = _interopRequireDefault(require("../components/ColumnRenderer"));
|
|
10
11
|
var _utils = require("./utils");
|
|
11
12
|
var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
|
|
12
|
-
var _ColumnRenderer = _interopRequireDefault(require("./components/ColumnRenderer"));
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
15
15
|
const Billing = _ref => {
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _energyUi = require("@widergy/energy-ui");
|
|
9
|
+
var _propTypes = require("prop-types");
|
|
10
|
+
var _core = require("@material-ui/core");
|
|
11
|
+
var _utils = require("./utils");
|
|
12
|
+
var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
const ProgressBarItem = _ref => {
|
|
15
|
+
let {
|
|
16
|
+
item
|
|
17
|
+
} = _ref;
|
|
18
|
+
const {
|
|
19
|
+
id,
|
|
20
|
+
title,
|
|
21
|
+
tooltip,
|
|
22
|
+
splitPoint,
|
|
23
|
+
progressValue,
|
|
24
|
+
isExceeded,
|
|
25
|
+
isPositiveExcess,
|
|
26
|
+
registered,
|
|
27
|
+
limit,
|
|
28
|
+
unit,
|
|
29
|
+
excess,
|
|
30
|
+
min
|
|
31
|
+
} = item;
|
|
32
|
+
const safeSplit = Math.max(0, Math.min(100, Math.floor(splitPoint)));
|
|
33
|
+
const barColorClass = isExceeded ? min ? _stylesModule.default[`split-min-${safeSplit}`] : _stylesModule.default[`split-max-${safeSplit}`] : isPositiveExcess ? _stylesModule.default[`split-positive-${safeSplit}`] : _stylesModule.default.barNormal;
|
|
34
|
+
const labelColor = isExceeded ? 'error' : 'gray';
|
|
35
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
36
|
+
key: id,
|
|
37
|
+
className: _stylesModule.default.card
|
|
38
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
39
|
+
className: _stylesModule.default.mainSection
|
|
40
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
41
|
+
colorTheme: "gray"
|
|
42
|
+
}, title)), /*#__PURE__*/_react.default.createElement("div", {
|
|
43
|
+
className: _stylesModule.default.progressBarWrapper
|
|
44
|
+
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTProgressBar, {
|
|
45
|
+
classNames: {
|
|
46
|
+
root: _stylesModule.default.progressBar,
|
|
47
|
+
barColorPrimary: barColorClass,
|
|
48
|
+
container: _stylesModule.default.progressBarContainer
|
|
49
|
+
},
|
|
50
|
+
value: progressValue
|
|
51
|
+
}), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
52
|
+
className: _stylesModule.default.rowSpaceBetween
|
|
53
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
54
|
+
className: _stylesModule.default.valueGroup
|
|
55
|
+
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
56
|
+
colorTheme: labelColor,
|
|
57
|
+
variant: "title1"
|
|
58
|
+
}, (0, _utils.formatNumber)(registered.value)), /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
59
|
+
colorTheme: labelColor,
|
|
60
|
+
variant: "subtitle2"
|
|
61
|
+
}, unit)), /*#__PURE__*/_react.default.createElement("div", {
|
|
62
|
+
className: _stylesModule.default.valueGroup
|
|
63
|
+
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
64
|
+
variant: "title1"
|
|
65
|
+
}, (0, _utils.formatNumber)(limit.value)), /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
66
|
+
variant: "subtitle2"
|
|
67
|
+
}, unit))), /*#__PURE__*/_react.default.createElement("div", {
|
|
68
|
+
className: _stylesModule.default.rowSpaceBetween
|
|
69
|
+
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, null, registered.label), /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, null, limit.label))))), isExceeded && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_core.Divider, {
|
|
70
|
+
className: _stylesModule.default.divider
|
|
71
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
72
|
+
className: _stylesModule.default.footerSection
|
|
73
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
74
|
+
className: _stylesModule.default.rowSpaceBetween
|
|
75
|
+
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
76
|
+
variant: "subtitle2"
|
|
77
|
+
}, excess.label), /*#__PURE__*/_react.default.createElement("div", {
|
|
78
|
+
className: _stylesModule.default.rowGap
|
|
79
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_energyUi.UTTooltip, {
|
|
80
|
+
content: tooltip
|
|
81
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_energyUi.UTIcon, {
|
|
82
|
+
colorTheme: "error",
|
|
83
|
+
name: "IconInfoCircle",
|
|
84
|
+
size: 24
|
|
85
|
+
})))), /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
86
|
+
variant: "subtitle2",
|
|
87
|
+
colorTheme: "error"
|
|
88
|
+
}, (0, _utils.formatNumber)(excess.value), " ", unit))))));
|
|
89
|
+
};
|
|
90
|
+
ProgressBarItem.propTypes = {
|
|
91
|
+
item: _propTypes.object.isRequired
|
|
92
|
+
};
|
|
93
|
+
var _default = exports.default = ProgressBarItem;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
@import '../../scss/variables/sizes.module.scss';
|
|
2
|
+
|
|
3
|
+
$blue: var(--actionAccent04);
|
|
4
|
+
$red: var(--semanticError04);
|
|
5
|
+
$light-blue: var(--actionAccent03);
|
|
6
|
+
$gray-track: var(--light04);
|
|
7
|
+
$white: #fff;
|
|
8
|
+
|
|
9
|
+
$striped-red-pattern: repeating-linear-gradient(45deg, $red, $red 2px, $white 2px, $white 4px);
|
|
10
|
+
|
|
11
|
+
.card {
|
|
12
|
+
background-color: var(--light01);
|
|
13
|
+
border-radius: 8px;
|
|
14
|
+
box-shadow: var(--shadowGrayBottom1);
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-direction: column;
|
|
17
|
+
margin-bottom: 16px;
|
|
18
|
+
overflow: hidden;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.mainSection {
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
gap: 16px;
|
|
25
|
+
padding: 16px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.progressBarWrapper {
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
gap: 8px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.progressBar {
|
|
35
|
+
border-radius: 100px !important;
|
|
36
|
+
height: 12px;
|
|
37
|
+
width: 100%;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.progressBarContainer {
|
|
41
|
+
background-color: $gray-track !important;
|
|
42
|
+
border-radius: 100px !important;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.barNormal {
|
|
46
|
+
background-color: $blue !important;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@for $i from 0 through 100 {
|
|
50
|
+
.split-max-#{$i} {
|
|
51
|
+
background: linear-gradient(90deg, $blue 0%, $blue ($i * 1%), $red ($i * 1%), $red 100%) !important;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@for $i from 0 through 100 {
|
|
56
|
+
.split-min-#{$i} {
|
|
57
|
+
background:
|
|
58
|
+
linear-gradient(90deg, $blue 0%, $blue ($i * 1%), transparent ($i * 1%), transparent 100%),
|
|
59
|
+
$striped-red-pattern !important;
|
|
60
|
+
background-size:
|
|
61
|
+
100% 100%,
|
|
62
|
+
auto !important;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@for $i from 0 through 100 {
|
|
67
|
+
.split-positive-#{$i} {
|
|
68
|
+
background: linear-gradient(
|
|
69
|
+
90deg,
|
|
70
|
+
$blue 0%,
|
|
71
|
+
$blue ($i * 1%),
|
|
72
|
+
$white ($i * 1%),
|
|
73
|
+
$white calc(($i * 1%) + 2px),
|
|
74
|
+
$light-blue calc(($i * 1%) + 2px),
|
|
75
|
+
$light-blue 100%
|
|
76
|
+
) !important;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.rowSpaceBetween {
|
|
81
|
+
align-items: center;
|
|
82
|
+
display: flex;
|
|
83
|
+
flex-direction: row;
|
|
84
|
+
justify-content: space-between;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.valueGroup {
|
|
88
|
+
align-items: center;
|
|
89
|
+
display: flex;
|
|
90
|
+
gap: 4px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.divider {
|
|
94
|
+
background-color: var(--light04);
|
|
95
|
+
margin: 0 !important;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.footerSection {
|
|
99
|
+
display: flex;
|
|
100
|
+
flex-direction: column;
|
|
101
|
+
padding: 16px;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.rowGap {
|
|
105
|
+
align-items: center;
|
|
106
|
+
display: flex;
|
|
107
|
+
flex-direction: row;
|
|
108
|
+
gap: 8px;
|
|
109
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.formatNumber = void 0;
|
|
7
|
+
var _numeral = _interopRequireDefault(require("numeral"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
const formatNumber = num => {
|
|
10
|
+
if (num === null || num === undefined) return '0';
|
|
11
|
+
return (0, _numeral.default)(num).format('0,0.[00]');
|
|
12
|
+
};
|
|
13
|
+
exports.formatNumber = formatNumber;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _energyUi = require("@widergy/energy-ui");
|
|
9
|
+
var _propTypes = require("prop-types");
|
|
10
|
+
var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
const ReiterationBanner = _ref => {
|
|
13
|
+
let {
|
|
14
|
+
bannerText,
|
|
15
|
+
handleGoToReiteration,
|
|
16
|
+
texts
|
|
17
|
+
} = _ref;
|
|
18
|
+
const {
|
|
19
|
+
title,
|
|
20
|
+
description,
|
|
21
|
+
button
|
|
22
|
+
} = texts;
|
|
23
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
24
|
+
className: _stylesModule.default.reiterationContainer
|
|
25
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
26
|
+
className: _stylesModule.default.reiterationContent
|
|
27
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
28
|
+
className: _stylesModule.default.reiterationSubcontent
|
|
29
|
+
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTIcon, {
|
|
30
|
+
name: "IconReceipt2",
|
|
31
|
+
size: 24,
|
|
32
|
+
colorTheme: "error"
|
|
33
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
34
|
+
className: _stylesModule.default.reiterationTexts
|
|
35
|
+
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
36
|
+
variant: "subtitle1",
|
|
37
|
+
weight: "medium"
|
|
38
|
+
}, title), /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, null, description), bannerText && /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, null, bannerText)))), button && /*#__PURE__*/_react.default.createElement("div", {
|
|
39
|
+
className: _stylesModule.default.actionButton
|
|
40
|
+
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTButton, {
|
|
41
|
+
onClick: handleGoToReiteration,
|
|
42
|
+
variant: "text"
|
|
43
|
+
}, button)));
|
|
44
|
+
};
|
|
45
|
+
ReiterationBanner.propTypes = {
|
|
46
|
+
bannerText: _propTypes.string,
|
|
47
|
+
handleGoToReiteration: _propTypes.func,
|
|
48
|
+
texts: _propTypes.object.isRequired
|
|
49
|
+
};
|
|
50
|
+
var _default = exports.default = ReiterationBanner;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
@import '../../scss/variables/sizes.module.scss';
|
|
2
|
+
|
|
3
|
+
.reiterationContainer {
|
|
4
|
+
background-color: var(--semanticError01);
|
|
5
|
+
border-radius: 8px;
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
position: relative;
|
|
10
|
+
user-select: none;
|
|
11
|
+
width: 100%;
|
|
12
|
+
margin-bottom: 16px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.reiterationContent {
|
|
16
|
+
align-items: center;
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-direction: row;
|
|
19
|
+
grid-gap: 16px;
|
|
20
|
+
padding: 16px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.reiterationSubcontent {
|
|
24
|
+
align-items: flex-start;
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: row;
|
|
27
|
+
grid-gap: 16px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.reiterationTexts {
|
|
31
|
+
display: flex;
|
|
32
|
+
flex-direction: column;
|
|
33
|
+
flex-shrink: 1;
|
|
34
|
+
grid-gap: 8px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.actionButton {
|
|
38
|
+
border-top: 1px solid;
|
|
39
|
+
border-color: var(--semanticError02);
|
|
40
|
+
display: flex;
|
|
41
|
+
justify-content: flex-end;
|
|
42
|
+
padding: 8px;
|
|
43
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _energyUi = require("@widergy/energy-ui");
|
|
9
|
+
var _propTypes = require("prop-types");
|
|
10
|
+
var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
const SimpleBanner = _ref => {
|
|
13
|
+
let {
|
|
14
|
+
bannerText
|
|
15
|
+
} = _ref;
|
|
16
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
17
|
+
className: _stylesModule.default.bannerDetail
|
|
18
|
+
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTIcon, {
|
|
19
|
+
name: "IconReceipt2",
|
|
20
|
+
colorTheme: "error",
|
|
21
|
+
size: 24
|
|
22
|
+
}), /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, null, bannerText));
|
|
23
|
+
};
|
|
24
|
+
SimpleBanner.propTypes = {
|
|
25
|
+
bannerText: _propTypes.string.isRequired
|
|
26
|
+
};
|
|
27
|
+
var _default = exports.default = SimpleBanner;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
@import '../../scss/variables/sizes.module.scss';
|
|
2
|
+
|
|
3
|
+
.bannerDetail {
|
|
4
|
+
align-items: flex-start;
|
|
5
|
+
background-color: var(--semanticError01);
|
|
6
|
+
border-radius: 8px;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: row;
|
|
9
|
+
gap: 8px;
|
|
10
|
+
margin-bottom: 16px;
|
|
11
|
+
padding: 8px 16px;
|
|
12
|
+
}
|
package/dist/components/SmartBillSummary/tabs/Consumptions/components/ProgressBarCard/index.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = require("prop-types");
|
|
9
|
+
var _ProgressBarItem = _interopRequireDefault(require("./components/ProgressBarItem"));
|
|
10
|
+
var _ReiterationBanner = _interopRequireDefault(require("./components/ReiterationBanner"));
|
|
11
|
+
var _SimpleBanner = _interopRequireDefault(require("./components/SimpleBanner"));
|
|
12
|
+
var _utils = require("./utils");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
const ProgressBarCard = _ref => {
|
|
15
|
+
let {
|
|
16
|
+
handleGoToReiteration,
|
|
17
|
+
progressBarConcept,
|
|
18
|
+
smartBill,
|
|
19
|
+
texts
|
|
20
|
+
} = _ref;
|
|
21
|
+
const itemsWithStatus = progressBarConcept.filter(concept => concept.accountConditions.some(condition => smartBill.client.rate.purchased.includes(condition.rate))).map(concept => {
|
|
22
|
+
const info = (0, _utils.getInfo)(concept, smartBill);
|
|
23
|
+
return {
|
|
24
|
+
...concept,
|
|
25
|
+
...info
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
const renderedProgressBars = itemsWithStatus.map(item => /*#__PURE__*/_react.default.createElement(_ProgressBarItem.default, {
|
|
29
|
+
key: item.id,
|
|
30
|
+
item: item
|
|
31
|
+
}));
|
|
32
|
+
const exceededItems = itemsWithStatus.filter(item => item.isExceeded);
|
|
33
|
+
const reiteration = !!smartBill.reiteration;
|
|
34
|
+
const bannerText = exceededItems.length === 1 && !reiteration ? exceededItems[0].banner : exceededItems.length === 2 ? reiteration ? exceededItems[1]?.banner : exceededItems[1].doubleBanner : null;
|
|
35
|
+
return /*#__PURE__*/_react.default.createElement("div", null, reiteration && /*#__PURE__*/_react.default.createElement(_ReiterationBanner.default, {
|
|
36
|
+
bannerText: bannerText,
|
|
37
|
+
handleGoToReiteration: handleGoToReiteration,
|
|
38
|
+
texts: texts.reiterationBanner
|
|
39
|
+
}), bannerText && !reiteration && /*#__PURE__*/_react.default.createElement(_SimpleBanner.default, {
|
|
40
|
+
bannerText: bannerText
|
|
41
|
+
}), renderedProgressBars);
|
|
42
|
+
};
|
|
43
|
+
ProgressBarCard.propTypes = {
|
|
44
|
+
progressBarConcept: _propTypes.array,
|
|
45
|
+
smartBill: _propTypes.object,
|
|
46
|
+
texts: _propTypes.object,
|
|
47
|
+
handleGoToReiteration: _propTypes.func
|
|
48
|
+
};
|
|
49
|
+
var _default = exports.default = ProgressBarCard;
|
package/dist/components/SmartBillSummary/tabs/Consumptions/components/ProgressBarCard/utils.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getInfo = void 0;
|
|
7
|
+
const getValue = (smartBill, magnitudeName) => {
|
|
8
|
+
const item = smartBill.periods[0].consumptions.find(c => c.magnitude === magnitudeName);
|
|
9
|
+
if (!item) return null;
|
|
10
|
+
return {
|
|
11
|
+
value: item.value,
|
|
12
|
+
unit: item.unit
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
const getInfo = (concept, smartBill) => {
|
|
16
|
+
const {
|
|
17
|
+
data,
|
|
18
|
+
min
|
|
19
|
+
} = concept;
|
|
20
|
+
const {
|
|
21
|
+
registered,
|
|
22
|
+
limit,
|
|
23
|
+
excess
|
|
24
|
+
} = data;
|
|
25
|
+
const registeredData = getValue(smartBill, registered.magnitude);
|
|
26
|
+
const limitData = getValue(smartBill, limit.magnitude);
|
|
27
|
+
const excessData = getValue(smartBill, excess.magnitude);
|
|
28
|
+
const registeredVal = registeredData?.value || 0;
|
|
29
|
+
const limitVal = limitData?.value || 0;
|
|
30
|
+
const unit = registeredData?.unit || registered.unit || '';
|
|
31
|
+
const isExceeded = excessData?.value > 0;
|
|
32
|
+
const isPositiveExcess = !isExceeded && min && registeredVal > limitVal;
|
|
33
|
+
const excessValueDisplay = isExceeded ? excessData?.value : 0;
|
|
34
|
+
const rawProgress = limitVal > 0 ? registeredVal / limitVal * 100 : 0;
|
|
35
|
+
const progressValue = isExceeded || isPositiveExcess || rawProgress > 100 ? 100 : rawProgress;
|
|
36
|
+
const splitPoint = isExceeded ? min ? limitVal > 0 ? registeredVal / limitVal * 100 : 0 : registeredVal > 0 ? limitVal / registeredVal * 100 : 100 : isPositiveExcess ? registeredVal > 0 ? limitVal / registeredVal * 100 : 100 : 100;
|
|
37
|
+
return {
|
|
38
|
+
...concept,
|
|
39
|
+
splitPoint,
|
|
40
|
+
progressValue,
|
|
41
|
+
isExceeded,
|
|
42
|
+
isPositiveExcess,
|
|
43
|
+
unit,
|
|
44
|
+
registered: {
|
|
45
|
+
...registered,
|
|
46
|
+
value: registeredVal
|
|
47
|
+
},
|
|
48
|
+
limit: {
|
|
49
|
+
...limit,
|
|
50
|
+
value: limitVal
|
|
51
|
+
},
|
|
52
|
+
excess: {
|
|
53
|
+
...excess,
|
|
54
|
+
value: excessValueDisplay
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
exports.getInfo = getInfo;
|
|
@@ -8,23 +8,35 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
var _energyUi = require("@widergy/energy-ui");
|
|
9
9
|
var _propTypes = require("prop-types");
|
|
10
10
|
var _billDataTypes = require("../../../../shared/types/billDataTypes");
|
|
11
|
+
var _ColumnRenderer = _interopRequireDefault(require("../components/ColumnRenderer"));
|
|
11
12
|
var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
|
|
12
13
|
var _BimestralConsumption = _interopRequireDefault(require("./components/BimestralConsumption"));
|
|
13
|
-
var _CurrentConsumption = _interopRequireDefault(require("./components/CurrentConsumption"));
|
|
14
|
-
var _Billing = _interopRequireDefault(require("./components/Billing"));
|
|
15
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
16
16
|
const Consumptions = _ref => {
|
|
17
17
|
let {
|
|
18
18
|
assets,
|
|
19
|
-
|
|
19
|
+
consumptionLayout,
|
|
20
|
+
exceeded = false,
|
|
20
21
|
smartBill,
|
|
21
22
|
translations,
|
|
22
|
-
periodSpan
|
|
23
|
+
periodSpan,
|
|
24
|
+
handlers,
|
|
25
|
+
progressBarConcept
|
|
23
26
|
} = _ref;
|
|
24
27
|
const {
|
|
25
28
|
title,
|
|
26
29
|
description
|
|
27
30
|
} = translations?.consumptions || {};
|
|
31
|
+
const props = {
|
|
32
|
+
smartBill,
|
|
33
|
+
texts: translations,
|
|
34
|
+
periodSpan,
|
|
35
|
+
assets,
|
|
36
|
+
progressBarConcept,
|
|
37
|
+
exceeded,
|
|
38
|
+
handleGoToReiteration: handlers.handleGoToReiteration
|
|
39
|
+
};
|
|
28
40
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
29
41
|
className: _stylesModule.default.generalContainer
|
|
30
42
|
}, /*#__PURE__*/_react.default.createElement(_BimestralConsumption.default, {
|
|
@@ -39,22 +51,25 @@ const Consumptions = _ref => {
|
|
|
39
51
|
variant: "title3",
|
|
40
52
|
weight: "medium"
|
|
41
53
|
}, title), /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, null, description)), /*#__PURE__*/_react.default.createElement("div", {
|
|
42
|
-
className:
|
|
43
|
-
},
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
periodSpan: periodSpan
|
|
54
|
+
className: _stylesModule.default.cardsContainer
|
|
55
|
+
}, consumptionLayout.map(layoutArray => {
|
|
56
|
+
const filteredLayout = layoutArray.filter(item => item.enabled);
|
|
57
|
+
const layoutKey = `layout-${layoutArray.map(item => item.name).join('-')}`;
|
|
58
|
+
return /*#__PURE__*/_react.default.createElement(_ColumnRenderer.default, _extends({
|
|
59
|
+
column: filteredLayout,
|
|
60
|
+
key: layoutKey
|
|
61
|
+
}, props));
|
|
51
62
|
}))));
|
|
52
63
|
};
|
|
53
64
|
Consumptions.propTypes = {
|
|
54
65
|
assets: _propTypes.object,
|
|
66
|
+
concepts: _propTypes.object,
|
|
67
|
+
consumptionLayout: (0, _propTypes.arrayOf)(_propTypes.object),
|
|
68
|
+
exceeded: _propTypes.bool,
|
|
55
69
|
periodSpan: _propTypes.string,
|
|
56
|
-
|
|
70
|
+
progressBarConcept: (0, _propTypes.arrayOf)(_propTypes.object),
|
|
57
71
|
smartBill: _billDataTypes.billDataTypes,
|
|
58
|
-
translations: _propTypes.object
|
|
72
|
+
translations: _propTypes.object,
|
|
73
|
+
handlers: _propTypes.object
|
|
59
74
|
};
|
|
60
75
|
var _default = exports.default = Consumptions;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
@import '../../../../scss/variables/mediaQueries.module.scss';
|
|
2
2
|
|
|
3
|
-
.
|
|
3
|
+
.cardsContainer {
|
|
4
|
+
align-items: flex-start;
|
|
4
5
|
display: flex;
|
|
5
|
-
|
|
6
|
-
grid-gap: 32px;
|
|
7
|
-
padding: 24px 32px;
|
|
6
|
+
width: 100%;
|
|
8
7
|
|
|
9
|
-
@media #{$mobile} {
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
@media #{$tablet-mobile} {
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
> :last-child {
|
|
13
|
+
margin-right: 0;
|
|
12
14
|
}
|
|
13
15
|
}
|
|
14
16
|
|
|
@@ -18,19 +20,20 @@
|
|
|
18
20
|
grid-gap: 8px;
|
|
19
21
|
}
|
|
20
22
|
|
|
21
|
-
.
|
|
23
|
+
.consumptionDetail {
|
|
22
24
|
display: flex;
|
|
23
|
-
flex:
|
|
24
|
-
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
grid-gap: 24px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.generalContainer {
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-direction: column;
|
|
25
32
|
grid-gap: 32px;
|
|
33
|
+
padding: 24px 32px;
|
|
26
34
|
|
|
27
35
|
@media #{$mobile} {
|
|
28
36
|
grid-gap: 24px;
|
|
37
|
+
padding: 24px 16px;
|
|
29
38
|
}
|
|
30
39
|
}
|
|
31
|
-
|
|
32
|
-
.consumptionDetail {
|
|
33
|
-
display: flex;
|
|
34
|
-
flex-direction: column;
|
|
35
|
-
grid-gap: 24px;
|
|
36
|
-
}
|
package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/BillHeader/index.js
RENAMED
|
@@ -21,6 +21,7 @@ const BillHeader = _ref => {
|
|
|
21
21
|
debtStatusLabel,
|
|
22
22
|
debtStatusValidation,
|
|
23
23
|
downloadSmartbillEnabled,
|
|
24
|
+
downloadSmartBillLoading,
|
|
24
25
|
handleDownloadSmartBill,
|
|
25
26
|
issuedOnDate,
|
|
26
27
|
smartBill,
|
|
@@ -58,6 +59,7 @@ const BillHeader = _ref => {
|
|
|
58
59
|
variant: "text",
|
|
59
60
|
disabled: true
|
|
60
61
|
}, "Anexos"), downloadSmartbillEnabled && /*#__PURE__*/_react.default.createElement(_energyUi.UTButton, {
|
|
62
|
+
loading: downloadSmartBillLoading,
|
|
61
63
|
onClick: handleDownloadSmartBill,
|
|
62
64
|
Icon: "IconDownload",
|
|
63
65
|
variant: "text"
|
|
@@ -72,6 +74,7 @@ BillHeader.propTypes = {
|
|
|
72
74
|
debtStatusLabel: _propTypes.string,
|
|
73
75
|
debtStatusValidation: _propTypes.bool,
|
|
74
76
|
downloadSmartbillEnabled: _propTypes.bool,
|
|
77
|
+
downloadSmartBillLoading: _propTypes.bool,
|
|
75
78
|
handleDownloadSmartBill: _propTypes.func,
|
|
76
79
|
issuedOnDate: _propTypes.string,
|
|
77
80
|
smartBill: _propTypes.object,
|
|
@@ -9,11 +9,17 @@ var _TitularCard = _interopRequireDefault(require("../TitularCard"));
|
|
|
9
9
|
var _TotalCard = _interopRequireDefault(require("../TotalCard"));
|
|
10
10
|
var _RateCard = _interopRequireDefault(require("../RateCard"));
|
|
11
11
|
var _AccountCard = _interopRequireDefault(require("../AccountCard"));
|
|
12
|
+
var _CurrentConsumption = _interopRequireDefault(require("../../Consumptions/components/CurrentConsumption"));
|
|
13
|
+
var _Billing = _interopRequireDefault(require("../../Consumptions/components/Billing"));
|
|
14
|
+
var _ProgressBarCard = _interopRequireDefault(require("../../Consumptions/components/ProgressBarCard"));
|
|
12
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
16
|
const COMPONENTS = exports.COMPONENTS = {
|
|
14
17
|
ActionCards: _ActionCards.default,
|
|
15
18
|
TitularCard: _TitularCard.default,
|
|
16
19
|
TotalCard: _TotalCard.default,
|
|
17
20
|
RateCard: _RateCard.default,
|
|
18
|
-
AccountCard: _AccountCard.default
|
|
21
|
+
AccountCard: _AccountCard.default,
|
|
22
|
+
CurrentConsumption: _CurrentConsumption.default,
|
|
23
|
+
Billing: _Billing.default,
|
|
24
|
+
ProgressBarCard: _ProgressBarCard.default
|
|
19
25
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
@import '
|
|
1
|
+
@import '../../../../../../../scss/variables/colors.module.scss';
|
|
2
|
+
@import '../../../../../../../scss/variables/fontSizes.module.scss';
|
|
2
3
|
|
|
3
4
|
$default-border-radius: 100px;
|
|
4
5
|
$default-progress-bar-background: linear-gradient(88.75deg, #30e3a2 1.07%, #efc73c 50.13%, #ec574d 98.93%);
|
package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/RateCard/index.js
RENAMED
|
@@ -12,8 +12,8 @@ var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
|
12
12
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
13
13
|
var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
|
|
14
14
|
var _isNaN = _interopRequireDefault(require("lodash/isNaN"));
|
|
15
|
-
var _utils = require("
|
|
16
|
-
var _testIds = require("
|
|
15
|
+
var _utils = require("../../Consumptions/components/CurrentConsumption/utils");
|
|
16
|
+
var _testIds = require("../../../../../constants/testIds");
|
|
17
17
|
var _utils2 = require("./utils");
|
|
18
18
|
var _ProgressBar = _interopRequireDefault(require("./components/ProgressBar"));
|
|
19
19
|
var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _energyUi = require("@widergy/energy-ui");
|
|
9
|
+
var _propTypes = require("prop-types");
|
|
10
|
+
var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
const SecondHeader = _ref => {
|
|
13
|
+
let {
|
|
14
|
+
accountNumber,
|
|
15
|
+
accountNumberHelpText,
|
|
16
|
+
supplyAddress,
|
|
17
|
+
city,
|
|
18
|
+
district,
|
|
19
|
+
supplyAddressHelpText,
|
|
20
|
+
clientNumberFormatter
|
|
21
|
+
} = _ref;
|
|
22
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
23
|
+
className: _stylesModule.default.secondHeader
|
|
24
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
25
|
+
className: _stylesModule.default.accountNumber
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
27
|
+
variant: "small",
|
|
28
|
+
weight: "bold"
|
|
29
|
+
}, accountNumber && clientNumberFormatter?.(accountNumber) || accountNumber), /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
30
|
+
colorTheme: "gray",
|
|
31
|
+
variant: "small"
|
|
32
|
+
}, accountNumberHelpText)), /*#__PURE__*/_react.default.createElement("div", {
|
|
33
|
+
className: _stylesModule.default.locationTooltip
|
|
34
|
+
}, /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
35
|
+
variant: "small",
|
|
36
|
+
weight: "bold"
|
|
37
|
+
}, supplyAddress), /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
38
|
+
variant: "small"
|
|
39
|
+
}, `${city} - ${district}`), /*#__PURE__*/_react.default.createElement(_energyUi.UTLabel, {
|
|
40
|
+
colorTheme: "gray",
|
|
41
|
+
variant: "small"
|
|
42
|
+
}, supplyAddressHelpText)));
|
|
43
|
+
};
|
|
44
|
+
SecondHeader.propTypes = {
|
|
45
|
+
accountNumber: _propTypes.string,
|
|
46
|
+
accountNumberHelpText: _propTypes.string,
|
|
47
|
+
supplyAddress: _propTypes.string,
|
|
48
|
+
city: _propTypes.string,
|
|
49
|
+
district: _propTypes.string,
|
|
50
|
+
supplyAddressHelpText: _propTypes.string,
|
|
51
|
+
clientNumberFormatter: _propTypes.func
|
|
52
|
+
};
|
|
53
|
+
var _default = exports.default = SecondHeader;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@import '../../../../../scss/variables/mediaQueries.module.scss';
|
|
2
|
+
|
|
3
|
+
.secondHeader {
|
|
4
|
+
align-items: center;
|
|
5
|
+
background-color: var(--light01);
|
|
6
|
+
border-radius: 8px;
|
|
7
|
+
box-shadow: var(--shadowGrayBottom1);
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-wrap: wrap;
|
|
10
|
+
grid-gap: 50%;
|
|
11
|
+
justify-content: flex-start;
|
|
12
|
+
padding: 24px 48px;
|
|
13
|
+
margin: 16px 32px 0 32px;
|
|
14
|
+
|
|
15
|
+
@media #{$mobile} {
|
|
16
|
+
margin: 16px 16px 0 16px;
|
|
17
|
+
padding: 16px;
|
|
18
|
+
flex-wrap: nowrap;
|
|
19
|
+
justify-content: space-between;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.accountNumber {
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
align-items: flex-start;
|
|
27
|
+
grid-gap: 4px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.locationTooltip {
|
|
31
|
+
display: flex;
|
|
32
|
+
flex-direction: column;
|
|
33
|
+
grid-gap: 4px;
|
|
34
|
+
text-align: left;
|
|
35
|
+
align-items: flex-start;
|
|
36
|
+
|
|
37
|
+
@media #{$mobile} {
|
|
38
|
+
text-align: left;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -7,23 +7,20 @@ exports.getTabOptions = exports.getDefaultCurrentTab = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _energyUi = require("@widergy/energy-ui");
|
|
9
9
|
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
10
|
-
var _tabs = require("../../shared/constants/tabs");
|
|
11
10
|
var _constants = require("./constants");
|
|
12
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
-
const getTabOptions = (isDesktopSize, onboardingSteps, tabOptions
|
|
14
|
-
const
|
|
15
|
-
|
|
12
|
+
const getTabOptions = (isDesktopSize, onboardingSteps, tabOptions) => {
|
|
13
|
+
const filteredTabs = tabOptions.filter(_ref => {
|
|
14
|
+
let {
|
|
15
|
+
enabled
|
|
16
|
+
} = _ref;
|
|
17
|
+
return enabled;
|
|
18
|
+
}).map(tab => ({
|
|
16
19
|
...tab,
|
|
17
20
|
icon: isDesktopSize ? /*#__PURE__*/_react.default.createElement(_energyUi.UTIcon, {
|
|
18
21
|
name: tab.icon
|
|
19
22
|
}) : null
|
|
20
|
-
}))
|
|
21
|
-
let {
|
|
22
|
-
enabled,
|
|
23
|
-
value
|
|
24
|
-
} = _ref;
|
|
25
|
-
return enabled && (value !== _tabs.SMARTBILL_TABS.CONSUMPTIONS || hasBimestralPeriodicity);
|
|
26
|
-
});
|
|
23
|
+
}));
|
|
27
24
|
if (!(0, _isEmpty.default)(onboardingSteps)) {
|
|
28
25
|
const tabPositions = {};
|
|
29
26
|
filteredTabs.forEach((tab, index) => {
|
package/dist/index.js
CHANGED
|
@@ -119,7 +119,7 @@ var _billDataTypes = require("./shared/types/billDataTypes");
|
|
|
119
119
|
var _rateStagesTypes = require("./shared/types/rateStagesTypes");
|
|
120
120
|
var _tabs = require("./shared/constants/tabs");
|
|
121
121
|
var _Billing = _interopRequireDefault(require("./components/SmartBillSummary/tabs/Consumptions/components/Billing"));
|
|
122
|
-
var _RateCard = _interopRequireDefault(require("./components/SmartBillSummary/tabs/
|
|
122
|
+
var _RateCard = _interopRequireDefault(require("./components/SmartBillSummary/tabs/components/RateCard"));
|
|
123
123
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
124
124
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
125
125
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@widergy/utilitygo-smart-bill-web",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.19.0",
|
|
4
4
|
"description": "UtilityGO SmartBill Web",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"dayjs": "^1.10.7",
|
|
60
60
|
"eslint-plugin-react": "^7.33.2",
|
|
61
61
|
"lodash": ">=4.17.4",
|
|
62
|
-
"
|
|
62
|
+
"sass": "^1.80.4",
|
|
63
63
|
"numeral": ">=2.0.6",
|
|
64
64
|
"react-jss": "^8.6.1",
|
|
65
65
|
"react-loading-skeleton": "^3.3.1",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/RateCard/utils.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/components/SmartBillSummary/tabs/{Billing/components → components}/TotalCard/index.js
RENAMED
|
File without changes
|
|
File without changes
|