@credithub/harlan-components 1.62.10 → 1.63.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.
@@ -13,6 +13,42 @@ var __assign = (this && this.__assign) || function () {
13
13
  };
14
14
  return __assign.apply(this, arguments);
15
15
  };
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
27
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
16
52
  import ResumoDeNegativacoesIcon from '../../assets/icones/resumoNegativacoes';
17
53
  import { useGlobalData } from '../../contexts/globalDataContext';
18
54
  import { converterParaFormatoValido } from '../../utils/date';
@@ -27,18 +63,69 @@ import ChartContent from './chartContent';
27
63
  import useChartData, { useDividasPublicas } from './hooks/useChartData';
28
64
  import QuantidadeResultados from './quantityResult';
29
65
  import { useCalculation, useUltimaOcorrenciaCCF } from './utils/chartUtils';
66
+ import { useConsultasComplementares } from '../../hooks/useConsultasComplementares';
67
+ import { getProductsPrices } from '../dossie/summary/utils';
68
+ import { isCpf } from '../../utils/string';
69
+ import { ButtonsSummary, SummaryButton } from '../dossie/summary/styles';
70
+ import { Spinner } from 'phosphor-react';
71
+ import { formatMoney } from '../../utils/number';
30
72
  var Content = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: ", ";\n padding: 0px 30px;\n\n @media print {\n display: block;\n }\n"], ["\n display: ", ";\n padding: 0px 30px;\n\n @media print {\n display: block;\n }\n"])), function (props) { return (props.isOpen ? 'block' : 'none'); });
31
73
  var ChartSystem = function (_a) {
32
74
  var _b, _c, _d, _e, _f, _g, _h, _j;
33
75
  var documento = _a.documento;
34
76
  var ctxConsultasComplementares = useContext(ConsultasComplementaresContext);
77
+ var _k = useConsultasComplementares(), consultasComplementares = _k.consultasComplementares, setConsultasComplementares = _k.setConsultasComplementares, hasCredits = _k.hasCredits;
35
78
  var setGlobalState = useGlobalData().setData;
36
- var _k = useState(false), dataUpdated = _k[0], setDataUpdated = _k[1];
79
+ var _l = useState(false), dataUpdated = _l[0], setDataUpdated = _l[1];
37
80
  var ultimaOcorrenciaCCF = useUltimaOcorrenciaCCF();
38
81
  var consultaSerasa = (_c = (_b = ctxConsultasComplementares === null || ctxConsultasComplementares === void 0 ? void 0 : ctxConsultasComplementares.consultasComplementares) === null || _b === void 0 ? void 0 : _b.refinSerasa) === null || _c === void 0 ? void 0 : _c.data;
39
82
  var consultaBoaVista = (_e = (_d = ctxConsultasComplementares === null || ctxConsultasComplementares === void 0 ? void 0 : ctxConsultasComplementares.consultasComplementares) === null || _d === void 0 ? void 0 : _d.refinBoaVista) === null || _e === void 0 ? void 0 : _e.data;
40
- var _l = useChartData(documento, consultaSerasa, consultaBoaVista), chartData = _l.data, isLoadingChart = _l.isLoading, errorChart = _l.error, refetchChart = _l.refetch, chartDataProgress = _l.loadingProgress;
41
- var _m = useDividasPublicas(), quantidadeDividas = _m.quantidade, valorTotalDividas = _m.valorTotal, ultimaOcorrenciaDividas = _m.ultimaOcorrencia, dividasProgress = _m.loadingProgress;
83
+ var _m = useState({}), loadingButtons = _m[0], setLoadingButtons = _m[1];
84
+ var productsPrices = getProductsPrices(isCpf(documento));
85
+ var handleOnClick = function (key) {
86
+ return function () { return __awaiter(void 0, void 0, void 0, function () {
87
+ var callback;
88
+ return __generator(this, function (_a) {
89
+ switch (_a.label) {
90
+ case 0:
91
+ if (loadingButtons[key])
92
+ return [2 /*return*/];
93
+ setLoadingButtons(function (prev) {
94
+ var _a;
95
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = true, _a)));
96
+ });
97
+ callback = function () {
98
+ setConsultasComplementares &&
99
+ setConsultasComplementares(function (prev) {
100
+ var _a;
101
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = __assign(__assign({}, prev[key]), { consultaRealizada: true }), _a)));
102
+ });
103
+ };
104
+ _a.label = 1;
105
+ case 1:
106
+ _a.trys.push([1, , 5, 6]);
107
+ if (!hasCredits) return [3 /*break*/, 3];
108
+ return [4 /*yield*/, hasCredits(productsPrices[key] * 1000, callback)];
109
+ case 2:
110
+ _a.sent();
111
+ return [3 /*break*/, 4];
112
+ case 3:
113
+ callback();
114
+ _a.label = 4;
115
+ case 4: return [3 /*break*/, 6];
116
+ case 5:
117
+ setLoadingButtons(function (prev) {
118
+ var _a;
119
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = false, _a)));
120
+ });
121
+ return [7 /*endfinally*/];
122
+ case 6: return [2 /*return*/];
123
+ }
124
+ });
125
+ }); };
126
+ };
127
+ var _o = useChartData(documento, consultaSerasa, consultaBoaVista), chartData = _o.data, isLoadingChart = _o.isLoading, errorChart = _o.error, refetchChart = _o.refetch, chartDataProgress = _o.loadingProgress;
128
+ var _p = useDividasPublicas(), quantidadeDividas = _p.quantidade, valorTotalDividas = _p.valorTotal, ultimaOcorrenciaDividas = _p.ultimaOcorrencia, dividasProgress = _p.loadingProgress;
42
129
  useEffect(function () {
43
130
  if (consultaSerasa || consultaBoaVista) {
44
131
  refetchChart();
@@ -48,8 +135,8 @@ var ChartSystem = function (_a) {
48
135
  var isOpen = useToggle(true)[0];
49
136
  var quantidadeProtestos = ((_g = (_f = chartData === null || chartData === void 0 ? void 0 : chartData.protestos) === null || _f === void 0 ? void 0 : _f[(chartData === null || chartData === void 0 ? void 0 : chartData.protestos.length) - 1]) === null || _g === void 0 ? void 0 : _g.quantidade) || 0;
50
137
  var valorTotalProtestos = ((_j = (_h = chartData === null || chartData === void 0 ? void 0 : chartData.protestos) === null || _h === void 0 ? void 0 : _h[(chartData === null || chartData === void 0 ? void 0 : chartData.protestos.length) - 1]) === null || _j === void 0 ? void 0 : _j.valorTotal) || 0;
51
- var _o = useCalculation((chartData === null || chartData === void 0 ? void 0 : chartData.serasa) || []), quantidadeSerasa = _o.quantidade, valorTotalSerasa = _o.valorTotal, ultimaOcorrenciaSerasa = _o.dataMaisRecente;
52
- var _p = useCalculation((chartData === null || chartData === void 0 ? void 0 : chartData.boaVista) || []), quantidadeBoaVista = _p.quantidade, valorTotalBoaVista = _p.valorTotal, ultimaOcorrenciaBoaVista = _p.dataMaisRecente;
138
+ var _q = useCalculation((chartData === null || chartData === void 0 ? void 0 : chartData.serasa) || []), quantidadeSerasa = _q.quantidade, valorTotalSerasa = _q.valorTotal, ultimaOcorrenciaSerasa = _q.dataMaisRecente;
139
+ var _r = useCalculation((chartData === null || chartData === void 0 ? void 0 : chartData.boaVista) || []), quantidadeBoaVista = _r.quantidade, valorTotalBoaVista = _r.valorTotal, ultimaOcorrenciaBoaVista = _r.dataMaisRecente;
53
140
  var quantidadeCCFs = useCalculation((chartData === null || chartData === void 0 ? void 0 : chartData.ccfs) || []).quantidade;
54
141
  var ultimaOcorrenciaProtestos = '';
55
142
  if ((chartData === null || chartData === void 0 ? void 0 : chartData.protestosCategory) && chartData.protestosCategory.length > 0) {
@@ -120,10 +207,12 @@ var ChartSystem = function (_a) {
120
207
  progress: loadingProgress,
121
208
  Section: Section
122
209
  }, title: "Resumo de Negativa\u00E7\u00F5es", subtitle: "Veja a quantidade de ocorr\u00EAncias conforme o documento foi consultado ao longo do tempo", icon: ResumoDeNegativacoesIcon, onSuccess: function () {
123
- var _a;
210
+ var _a, _b, _c;
124
211
  return (React.createElement(Content, { isOpen: isOpen },
125
212
  chartData && React.createElement(ChartContent, { dataInput: chartData }),
126
- React.createElement(QuantidadeResultados, { data: chartData, quantidadeProtestos: quantidadeProtestos, quantidadeProcessos: (_a = chartData === null || chartData === void 0 ? void 0 : chartData.pieChartTotalConfig) === null || _a === void 0 ? void 0 : _a.processosJuridicos, quantidadeDividas: quantidadeDividas, quantidadeDividasSerasa: quantidadeSerasa, quantidadeDividasBoaVista: quantidadeBoaVista, quantidadeChequesSemFundos: quantidadeCCFs, ultimaOcorrenciaChequesSemFundos: ultimaOcorrenciaCCF, valorTotalDividasSerasa: valorTotalSerasa, valorTotalDividasBoaVista: valorTotalBoaVista, valorTotalProtestos: valorTotalProtestos, valorTotalDividas: valorTotalDividas, ultimaOcorrenciaProtestos: ultimaOcorrenciaProtestos, ultimaOcorrenciaDividas: ultimaOcorrenciaDividas, ultimaOcorrenciaPefinBoaVista: Array.isArray(chartData === null || chartData === void 0 ? void 0 : chartData.boaVista) &&
213
+ React.createElement(QuantidadeResultados, { data: chartData, consultarSerasa: React.createElement(ButtonsSummary, { style: { display: loadingButtons['refinSerasa'] || ((_a = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.refinSerasa) === null || _a === void 0 ? void 0 : _a.consultaRealizada) ? 'none' : '', marginTop: 'auto' } },
214
+ React.createElement(SummaryButton, { onClick: handleOnClick('refinSerasa'), disabled: loadingButtons['refinSerasa'], smallContent: productsPrices['refinSerasa'] ? formatMoney(productsPrices['refinSerasa']) : undefined }, loadingButtons['refinSerasa'] ? React.createElement(Spinner, null) : 'Consultar Pefin/Refin Serasa')), consultarBoaVista: React.createElement(ButtonsSummary, { style: { display: loadingButtons['refinBoaVista'] || ((_b = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.refinBoaVista) === null || _b === void 0 ? void 0 : _b.consultaRealizada) ? 'none' : '', marginTop: 'auto' } },
215
+ React.createElement(SummaryButton, { onClick: handleOnClick('refinBoaVista'), disabled: loadingButtons['refinBoaVista'], smallContent: productsPrices['refinBoaVista'] ? formatMoney(productsPrices['refinBoaVista']) : undefined }, loadingButtons['refinBoaVista'] ? React.createElement(Spinner, null) : 'Consultar Pefin/Refin Boa Vista')), quantidadeProtestos: quantidadeProtestos, quantidadeProcessos: (_c = chartData === null || chartData === void 0 ? void 0 : chartData.pieChartTotalConfig) === null || _c === void 0 ? void 0 : _c.processosJuridicos, quantidadeDividas: quantidadeDividas, quantidadeDividasSerasa: quantidadeSerasa, quantidadeDividasBoaVista: quantidadeBoaVista, quantidadeChequesSemFundos: quantidadeCCFs, ultimaOcorrenciaChequesSemFundos: ultimaOcorrenciaCCF, valorTotalDividasSerasa: valorTotalSerasa, valorTotalDividasBoaVista: valorTotalBoaVista, valorTotalProtestos: valorTotalProtestos, valorTotalDividas: valorTotalDividas, ultimaOcorrenciaProtestos: ultimaOcorrenciaProtestos, ultimaOcorrenciaDividas: ultimaOcorrenciaDividas, ultimaOcorrenciaPefinBoaVista: Array.isArray(chartData === null || chartData === void 0 ? void 0 : chartData.boaVista) &&
127
216
  chartData.boaVista.length > 0
128
217
  ? (ultimaOcorrenciaBoaVista !== null && ultimaOcorrenciaBoaVista !== void 0 ? ultimaOcorrenciaBoaVista : undefined)
129
218
  : undefined, ultimaOcorrenciaPefinSerasa: Array.isArray(chartData === null || chartData === void 0 ? void 0 : chartData.serasa) && chartData.serasa.length > 0
@@ -1,7 +1,9 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { DataInput } from './types/iChart';
3
3
  type QuantidadeResultadosProps = Partial<{
4
4
  data: DataInput | null;
5
+ consultarSerasa: ReactNode;
6
+ consultarBoaVista: ReactNode;
5
7
  quantidadeProtestos: number;
6
8
  quantidadeProcessos: number;
7
9
  quantidadeDividas: number;
@@ -14,7 +14,7 @@ var QuantityContainer = function (_a) {
14
14
  };
15
15
  var QuantidadeResultadosWrapper = styled(ResultContent)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: 18px 20px;\n row-gap: 20px;\n > * {\n row-gap: 10px;\n }\n"], ["\n padding: 18px 20px;\n row-gap: 20px;\n > * {\n row-gap: 10px;\n }\n"])));
16
16
  var QuantidadeResultados = function (_a) {
17
- var _b = _a.quantidadeProtestos, quantidadeProtestos = _b === void 0 ? 0 : _b, _c = _a.quantidadeProcessos, quantidadeProcessos = _c === void 0 ? 0 : _c, _d = _a.quantidadeDividas, quantidadeDividas = _d === void 0 ? 0 : _d, _e = _a.quantidadeChequesSemFundos, quantidadeChequesSemFundos = _e === void 0 ? 0 : _e, _f = _a.quantidadeDividasSerasa, quantidadeDividasSerasa = _f === void 0 ? 0 : _f, _g = _a.quantidadeDividasBoaVista, quantidadeDividasBoaVista = _g === void 0 ? 0 : _g, _h = _a.valorTotalProtestos, valorTotalProtestos = _h === void 0 ? 0 : _h, _j = _a.valorTotalDividas, valorTotalDividas = _j === void 0 ? 0 : _j, _k = _a.valorTotalDividasSerasa, valorTotalDividasSerasa = _k === void 0 ? 0 : _k, _l = _a.valorTotalDividasBoaVista, valorTotalDividasBoaVista = _l === void 0 ? 0 : _l, _m = _a.ultimaOcorrenciaProtestos, ultimaOcorrenciaProtestos = _m === void 0 ? null : _m, _o = _a.ultimaOcorrenciaChequesSemFundos, ultimaOcorrenciaChequesSemFundos = _o === void 0 ? null : _o, _p = _a.ultimaOcorrenciaDividas, ultimaOcorrenciaDividas = _p === void 0 ? null : _p, _q = _a.ultimaOcorrenciaPefinSerasa, ultimaOcorrenciaPefinSerasa = _q === void 0 ? null : _q, _r = _a.ultimaOcorrenciaPefinBoaVista, ultimaOcorrenciaPefinBoaVista = _r === void 0 ? null : _r;
17
+ var consultarSerasa = _a.consultarSerasa, consultarBoaVista = _a.consultarBoaVista, _b = _a.quantidadeProtestos, quantidadeProtestos = _b === void 0 ? 0 : _b, _c = _a.quantidadeProcessos, quantidadeProcessos = _c === void 0 ? 0 : _c, _d = _a.quantidadeDividas, quantidadeDividas = _d === void 0 ? 0 : _d, _e = _a.quantidadeChequesSemFundos, quantidadeChequesSemFundos = _e === void 0 ? 0 : _e, _f = _a.quantidadeDividasSerasa, quantidadeDividasSerasa = _f === void 0 ? 0 : _f, _g = _a.quantidadeDividasBoaVista, quantidadeDividasBoaVista = _g === void 0 ? 0 : _g, _h = _a.valorTotalProtestos, valorTotalProtestos = _h === void 0 ? 0 : _h, _j = _a.valorTotalDividas, valorTotalDividas = _j === void 0 ? 0 : _j, _k = _a.valorTotalDividasSerasa, valorTotalDividasSerasa = _k === void 0 ? 0 : _k, _l = _a.valorTotalDividasBoaVista, valorTotalDividasBoaVista = _l === void 0 ? 0 : _l, _m = _a.ultimaOcorrenciaProtestos, ultimaOcorrenciaProtestos = _m === void 0 ? null : _m, _o = _a.ultimaOcorrenciaChequesSemFundos, ultimaOcorrenciaChequesSemFundos = _o === void 0 ? null : _o, _p = _a.ultimaOcorrenciaDividas, ultimaOcorrenciaDividas = _p === void 0 ? null : _p, _q = _a.ultimaOcorrenciaPefinSerasa, ultimaOcorrenciaPefinSerasa = _q === void 0 ? null : _q, _r = _a.ultimaOcorrenciaPefinBoaVista, ultimaOcorrenciaPefinBoaVista = _r === void 0 ? null : _r;
18
18
  return (React.createElement(Result, { resultContentStriped: false },
19
19
  React.createElement(QuantidadeResultadosWrapper, { desktop: "repeat(6, 1fr)", print: "repeat(6, 1fr)", tablet: "repeat(3, 1fr)", mobile: "repeat(2, 1fr)" },
20
20
  React.createElement(QuantityContainer, null,
@@ -33,11 +33,13 @@ var QuantidadeResultados = function (_a) {
33
33
  React.createElement(QuantityContainer, null,
34
34
  React.createElement(AddItemField, { name: "Pefin Refin Serasa", value: !ultimaOcorrenciaPefinSerasa ? 'Consulta nunca realizada. Seja o primeiro!' : formatValue(quantidadeDividasSerasa) }),
35
35
  React.createElement(AddItemField, { hidden: !ultimaOcorrenciaPefinSerasa, name: "Total Pefin Refin Serasa", value: formatMoney(valorTotalDividasSerasa) }),
36
- React.createElement(AddItemField, { hidden: !ultimaOcorrenciaPefinSerasa, name: valorTotalDividasSerasa ? "Última Ocorrência" : "Última Consulta", value: ultimaOcorrenciaPefinSerasa })),
36
+ React.createElement(AddItemField, { hidden: !ultimaOcorrenciaPefinSerasa, name: valorTotalDividasSerasa ? "Última Ocorrência" : "Última Consulta", value: ultimaOcorrenciaPefinSerasa }),
37
+ consultarSerasa),
37
38
  React.createElement(QuantityContainer, null,
38
39
  React.createElement(AddItemField, { name: "Pefin Refin Boa Vista", value: !ultimaOcorrenciaPefinBoaVista ? 'Consulta nunca realizada. Seja o primeiro!' : formatValue(quantidadeDividasBoaVista) }),
39
40
  React.createElement(AddItemField, { hidden: !ultimaOcorrenciaPefinBoaVista, name: "Total Pefin Refin Boa Vista", value: formatMoney(valorTotalDividasBoaVista) }),
40
- React.createElement(AddItemField, { hidden: !ultimaOcorrenciaPefinBoaVista, name: valorTotalDividasBoaVista ? "Última Ocorrência" : "Última Consulta", value: ultimaOcorrenciaPefinBoaVista })))));
41
+ React.createElement(AddItemField, { hidden: !ultimaOcorrenciaPefinBoaVista, name: valorTotalDividasBoaVista ? "Última Ocorrência" : "Última Consulta", value: ultimaOcorrenciaPefinBoaVista }),
42
+ consultarBoaVista))));
41
43
  };
42
44
  export default QuantidadeResultados;
43
45
  var templateObject_1;