@credithub/harlan-components 1.25.0 → 1.26.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.
Files changed (111) hide show
  1. package/dist/@types/domain/index.d.ts +35 -0
  2. package/dist/assets/icones/chequesSemFundo.d.ts +1 -1
  3. package/dist/assets/icones/consultaSimples.d.ts +1 -1
  4. package/dist/assets/icones/contasBancarias.d.ts +1 -1
  5. package/dist/assets/icones/contato.d.ts +1 -1
  6. package/dist/assets/icones/dividasVencidasSerasa.d.ts +1 -1
  7. package/dist/assets/icones/dividasVencidasSerasa.js +1 -1
  8. package/dist/assets/icones/dominios.d.ts +1 -1
  9. package/dist/assets/icones/dominios.js +1 -1
  10. package/dist/assets/icones/endereco.d.ts +1 -1
  11. package/dist/assets/icones/endereco.js +1 -1
  12. package/dist/assets/icones/imoveis.d.ts +1 -1
  13. package/dist/assets/icones/imoveis.js +1 -1
  14. package/dist/assets/icones/pefinRefinBoaVista.d.ts +1 -1
  15. package/dist/assets/icones/pefinRefinBoaVista.js +1 -1
  16. package/dist/assets/icones/pefinRefinSerasa.d.ts +1 -1
  17. package/dist/assets/icones/pefinRefinSerasa.js +1 -1
  18. package/dist/assets/icones/processosJuridicos.d.ts +1 -1
  19. package/dist/assets/icones/processosJuridicos.js +1 -1
  20. package/dist/assets/icones/protestos.d.ts +1 -1
  21. package/dist/assets/icones/protestos.js +1 -1
  22. package/dist/assets/icones/protestosCredito.d.ts +1 -1
  23. package/dist/assets/icones/protestosCredito.js +1 -1
  24. package/dist/assets/icones/protestosGerais.d.ts +1 -1
  25. package/dist/assets/icones/protestosGerais.js +1 -1
  26. package/dist/assets/icones/protestosImpostos.d.ts +1 -1
  27. package/dist/assets/icones/protestosImpostos.js +1 -1
  28. package/dist/assets/icones/quadroSocietario.d.ts +1 -1
  29. package/dist/assets/icones/resumoNegativacoes.d.ts +1 -1
  30. package/dist/assets/icones/resumoNegativacoes.js +1 -1
  31. package/dist/assets/icones/scoreBoaVista.d.ts +1 -1
  32. package/dist/assets/icones/scoreBoaVista.js +1 -1
  33. package/dist/assets/icones/scr.d.ts +1 -1
  34. package/dist/assets/icones/scr.js +1 -1
  35. package/dist/assets/icones/ultimaMovimentacao.d.ts +1 -1
  36. package/dist/assets/icones/ultimaMovimentacao.js +1 -1
  37. package/dist/assets/icones/veiculos.d.ts +1 -1
  38. package/dist/assets/icones/veiculos.js +1 -1
  39. package/dist/components/adresses/addresses.d.ts +0 -12
  40. package/dist/components/adresses/addresses.js +26 -5
  41. package/dist/components/bank-accounts/bank-accounts.js +40 -10
  42. package/dist/components/ccf/ccf.js +12 -4
  43. package/dist/components/ccf/ccfList.d.ts +1 -7
  44. package/dist/components/ccf/ccfList.js +3 -3
  45. package/dist/components/consultaSimplesSection/consultaSimplesSection.js +2 -2
  46. package/dist/components/consultasComplementares.d.ts +1 -4
  47. package/dist/components/consultasComplementares.js +0 -1
  48. package/dist/components/contacts/contactLikeDislikeSection.d.ts +1 -1
  49. package/dist/components/contacts/contactLikeDislikeSection.js +4 -3
  50. package/dist/components/contacts/contacts.d.ts +0 -8
  51. package/dist/components/contacts/contacts.js +42 -11
  52. package/dist/components/dividasPublicas/dividasPublicas.js +39 -48
  53. package/dist/components/dividasPublicas/dividasPublicasList.d.ts +6 -0
  54. package/dist/components/dividasPublicas/dividasPublicasList.js +20 -0
  55. package/dist/components/dossie/dossie.js +28 -8
  56. package/dist/components/dossie/dossieData.d.ts +2 -0
  57. package/dist/components/dossie/dossieData.js +59 -0
  58. package/dist/components/imoveis/imoveisService.js +25 -7
  59. package/dist/components/interface/header.d.ts +1 -1
  60. package/dist/components/interface/header.js +2 -2
  61. package/dist/components/liminar/liminar.js +21 -3
  62. package/dist/components/partners/partners.js +27 -9
  63. package/dist/components/pep/pep.js +21 -3
  64. package/dist/components/processos-juridicos/envolvidosList.d.ts +1 -1
  65. package/dist/components/processos-juridicos/processosJuridicos.js +9 -2
  66. package/dist/components/processos-juridicos/processosJuridicosList.d.ts +1 -1
  67. package/dist/components/protestos/protestos.js +15 -4
  68. package/dist/components/protestos/protestosList.d.ts +0 -26
  69. package/dist/components/protestos/protestosList.js +4 -19
  70. package/dist/components/reclameAqui/reclameAquiCarousel.js +27 -47
  71. package/dist/components/reclameAqui/styles.d.ts +14 -0
  72. package/dist/components/reclameAqui/styles.js +17 -0
  73. package/dist/components/refinBoaVista/refinBoaVista.js +28 -13
  74. package/dist/components/refinSerasa/refinSerasa.js +15 -8
  75. package/dist/components/score/scoreService.js +29 -7
  76. package/dist/components/scr/getResumoDeCreditos.d.ts +1 -1
  77. package/dist/components/scr/getResumoDeCreditos.js +1 -1
  78. package/dist/components/scr/getResumoDeModalidades.d.ts +1 -1
  79. package/dist/components/scr/getResumoDeModalidades.js +1 -1
  80. package/dist/components/scr/scr.js +19 -5
  81. package/dist/components/veiculos/veiculos.d.ts +2 -19
  82. package/dist/components/veiculos/veiculos.js +50 -30
  83. package/dist/components/webservice.d.ts +4 -3
  84. package/dist/components/webservice.js +0 -3
  85. package/dist/constants/reclameAqui.d.ts +9 -0
  86. package/dist/constants/reclameAqui.js +9 -0
  87. package/dist/consultaSimples.js +1 -1
  88. package/dist/contexts/globalDataContext.d.ts +2 -1
  89. package/lib/cjs/index.js +1180 -853
  90. package/lib/esm/index.js +1180 -853
  91. package/package.json +1 -1
  92. package/dist/components/imoveis/types.d.ts +0 -24
  93. package/dist/components/liminar/types.d.ts +0 -3
  94. package/dist/components/liminar/types.js +0 -1
  95. package/dist/components/processos-juridicos/types.d.ts +0 -27
  96. package/dist/components/processos-juridicos/types.js +0 -1
  97. package/dist/components/reclameAqui/types.d.ts +0 -31
  98. package/dist/components/reclameAqui/types.js +0 -1
  99. package/dist/components/refinBoaVista/types.d.ts +0 -48
  100. package/dist/components/refinBoaVista/types.js +0 -4
  101. package/dist/components/refinSerasa/types.d.ts +0 -48
  102. package/dist/components/refinSerasa/types.js +0 -1
  103. package/dist/components/score/types.d.ts +0 -12
  104. package/dist/components/score/types.js +0 -1
  105. package/dist/components/scr/types.d.ts +0 -87
  106. package/dist/components/scr/types.js +0 -1
  107. package/dist/components/veiculos/types.d.ts +0 -0
  108. package/dist/components/veiculos/types.js +0 -0
  109. package/dist/types/globalState.d.ts +0 -8
  110. package/dist/types/globalState.js +0 -1
  111. /package/dist/{components/imoveis/types.js → @types/domain/index.js} +0 -0
@@ -3,14 +3,6 @@ export declare enum ContactType {
3
3
  TELEFONE = "Telefone",
4
4
  EMAIL = "Email"
5
5
  }
6
- export type Contact = {
7
- type: ContactType;
8
- value: string;
9
- likes?: number;
10
- dislikes?: number;
11
- onClickLike: () => void;
12
- onClickDislike: () => void;
13
- };
14
6
  export type ContactsProps = {
15
7
  onClickConsultarEmail?: () => void;
16
8
  };
@@ -2,6 +2,17 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
2
2
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
3
  return cooked;
4
4
  };
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
5
16
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
6
17
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
7
18
  if (ar || !(i in from)) {
@@ -11,16 +22,17 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
11
22
  }
12
23
  return to.concat(ar || Array.prototype.slice.call(from));
13
24
  };
14
- import React, { useContext } from 'react';
15
- import { Result, ResultContent } from '../interface/result';
16
- import { Queries } from '../webservice';
17
- import XPathUtils from '../../utils/xpath';
18
- import { phoneMask } from '../../utils/number';
19
- import ContactLikeDislikeSection from './contactLikeDislikeSection';
20
25
  import ContatoIcon from '../../assets/icones/contato';
21
- import Button from '../common/button';
22
- import styled from 'styled-components';
26
+ import { useGlobalData } from '../../contexts/globalDataContext';
23
27
  import { useConsultaRfb } from '../../hooks/useConsultaRfb';
28
+ import { phoneMask } from '../../utils/number';
29
+ import XPathUtils from '../../utils/xpath';
30
+ import React, { useContext, useEffect } from 'react';
31
+ import styled from 'styled-components';
32
+ import Button from '../common/button';
33
+ import { Result, ResultContent } from '../interface/result';
34
+ import { Queries, RequestStatus } from '../webservice';
35
+ import ContactLikeDislikeSection from './contactLikeDislikeSection';
24
36
  export var ContactType;
25
37
  (function (ContactType) {
26
38
  ContactType["TELEFONE"] = "Telefone";
@@ -32,20 +44,39 @@ var Contacts = function (_a) {
32
44
  var ctx = useContext(Queries.Finder);
33
45
  var rfbResponse = useConsultaRfb().rfbResponse;
34
46
  var Section = ctx.Section;
47
+ var setData = useGlobalData().setData;
48
+ useEffect(function () {
49
+ if (ctx.type === RequestStatus.Success && ctx.document) {
50
+ var telefones = XPathUtils.selectArray('//telefones/*/*', ctx.document).map(function (telefone) { return ({
51
+ type: ContactType.TELEFONE,
52
+ value: phoneMask(XPathUtils.select('string(./telefone)', telefone))
53
+ }); });
54
+ var emails = XPathUtils.selectArray('//emails/emails', ctx.document).map(function (email) { return ({
55
+ type: ContactType.EMAIL,
56
+ value: XPathUtils.select('string(./email)', email)
57
+ }); });
58
+ if (telefones.length > 0 || emails.length > 0) {
59
+ var contactState_1 = {
60
+ contacts: __spreadArray(__spreadArray([], telefones, true), emails, true)
61
+ };
62
+ setData(function (prevState) { return (__assign(__assign({}, prevState), { contacts: contactState_1.contacts })); });
63
+ }
64
+ }
65
+ }, [ctx.type]);
35
66
  return (React.createElement(Section, { ctx: ctx, title: "Contato", subtitle: "Informa\u00E7\u00F5es de contato do documento pesquisado.", description: "(Telefone, e-mail e outros)", minimized: false, icon: ContatoIcon, onSuccess: function (data) {
36
67
  var _a;
37
68
  var document = XPathUtils.select('string(//cpf|//cnpj)', data);
38
69
  var telefones = __spreadArray(__spreadArray([], (XPathUtils.selectArray('//telefones/fixos/fixos', data) || []), true), (XPathUtils.selectArray('//telefones/moveis/moveis', data) || []), true).map(function (telefone) { return ({
39
- type: 'Telefone',
70
+ type: ContactType.TELEFONE,
40
71
  value: phoneMask(XPathUtils.select('string(./telefone)', telefone))
41
72
  }); });
42
73
  var emails = __spreadArray([
43
74
  {
44
- type: 'Email',
75
+ type: ContactType.EMAIL,
45
76
  value: (_a = XPathUtils.select('string(//RFB/email)', rfbResponse)) === null || _a === void 0 ? void 0 : _a.toLowerCase()
46
77
  }
47
78
  ], XPathUtils.selectArray('//emails/emails', data).map(function (email) { return ({
48
- type: 'Email',
79
+ type: ContactType.EMAIL,
49
80
  value: XPathUtils.select('string(./email)', email)
50
81
  }); }), true).filter(function (e) { return e.value; });
51
82
  var children = (React.createElement(Result, { resultContentStriped: false },
@@ -9,52 +9,59 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
- if (ar || !(i in from)) {
15
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
- ar[i] = from[i];
17
- }
18
- }
19
- return to.concat(ar || Array.prototype.slice.call(from));
20
- };
21
12
  import DividasVencidasSerasaIcon from '../../assets/icones/dividasVencidasSerasa';
22
13
  import { useGlobalData } from '../../contexts/globalDataContext';
23
14
  import { parseDate } from '../../utils/date';
24
15
  import { formatMoney } from '../../utils/number';
25
16
  import XPathUtils from '../../utils/xpath';
26
- import React, { memo, useContext } from 'react';
27
- import AddItemField from '../common/addItem';
28
- import { Result, ResultContent } from '../interface/result';
17
+ import React, { useContext, useState } from 'react';
18
+ import { Result } from '../interface/result';
29
19
  import StatusMessage from '../interface/statusMessage';
30
20
  import { Queries } from '../webservice';
21
+ import DividasPublicasList from './dividasPublicasList';
31
22
  var DividasPublicas = function () {
32
23
  var ctx = useContext(Queries.Finder);
33
24
  var Section = ctx.Section;
34
25
  var setData = useGlobalData().setData;
35
- return (React.createElement(Section, { title: "Dividas P\u00FAblicas", icon: DividasVencidasSerasaIcon, subtitle: "Vejas as d\u00EDvidas p\u00FAblicas com a Uni\u00E3o (ativa, FGTS e previdenci\u00E1ria).", onSuccess: function (document) {
36
- var parseDividas = function (tipo) { return function (divida) { return ({
37
- nomeDoDevedor: XPathUtils.select('string(./nome_devedor)', divida),
38
- tipoDePessoa: XPathUtils.select('string(./tipo_pessoa)', divida),
39
- tipoDeDevedor: XPathUtils.select('string(./tipo_devedor)', divida),
40
- unidadeResponsavel: XPathUtils.select('string(./unidade_responsavel)', divida),
41
- uFDaUnidadeResponsavel: XPathUtils.select('string(./uf_unidade_responsavel)', divida),
42
- numeroDeInscricaoDaDivida: XPathUtils.select('string(./numero_inscricao)', divida),
43
- tipoDaSituacaoDaInscricao: XPathUtils.select('string(./tipo_situacao_inscricao)', divida),
44
- situacaoDaInscricao: XPathUtils.select('string(./situacao_inscricao)', divida),
45
- dataDeInscricao: XPathUtils.select('string(./data_inscricao)', divida),
46
- indicadorAjuizado: XPathUtils.select('string(./indicador_ajuizado)', divida),
47
- valorConsolidado: formatMoney(XPathUtils.select('string(./valor_consolidado)', divida)),
48
- tipoDeDivida: tipo
49
- }); }; };
50
- var dividas = __spreadArray(__spreadArray(__spreadArray([], XPathUtils.selectArray('//dividas/fgts/divida', document).map(parseDividas('FGTS')), true), XPathUtils.selectArray('//dividas/previdenciaria/divida', document).map(parseDividas('Previdenciária')), true), XPathUtils.selectArray('//dividas/ativa-geral/divida', document).map(parseDividas('Divida Ativa União')), true);
26
+ var _a = useState(false), dataUpdated = _a[0], setDataUpdated = _a[1];
27
+ var dividaTypes = [
28
+ { type: 'FGTS', path: '//dividas/fgts/divida' },
29
+ { type: 'Previdenciária', path: '//dividas/previdenciaria/divida' },
30
+ { type: 'Dívida Ativa União', path: '//dividas/ativa-geral/divida' }
31
+ ];
32
+ return (React.createElement(Section, { title: "D\u00EDvidas P\u00FAblicas", icon: DividasVencidasSerasaIcon, subtitle: "Veja as d\u00EDvidas p\u00FAblicas com a Uni\u00E3o (ativa, FGTS e previdenci\u00E1ria).", onSuccess: function (document) {
33
+ var parseDividas = function (document) {
34
+ return dividaTypes.flatMap(function (_a) {
35
+ var type = _a.type, path = _a.path;
36
+ return XPathUtils.selectArray(path, document).map(function (divida) { return ({
37
+ nomeDoDevedor: XPathUtils.select('string(./nome_devedor)', divida),
38
+ tipoDePessoa: XPathUtils.select('string(./tipo_pessoa)', divida),
39
+ tipoDeDevedor: XPathUtils.select('string(./tipo_devedor)', divida),
40
+ unidadeResponsavel: XPathUtils.select('string(./unidade_responsavel)', divida),
41
+ uFDaUnidadeResponsavel: XPathUtils.select('string(./uf_unidade_responsavel)', divida),
42
+ numeroDeInscricaoDaDivida: XPathUtils.select('string(./numero_inscricao)', divida),
43
+ tipoDaSituacaoDaInscricao: XPathUtils.select('string(./tipo_situacao_inscricao)', divida),
44
+ situacaoDaInscricao: XPathUtils.select('string(./situacao_inscricao)', divida),
45
+ dataDeInscricao: XPathUtils.select('string(./data_inscricao)', divida),
46
+ indicadorAjuizado: XPathUtils.select('string(./indicador_ajuizado)', divida),
47
+ valorConsolidado: formatMoney(XPathUtils.select('string(./valor_consolidado)', divida)),
48
+ tipoDeDivida: type
49
+ }); });
50
+ });
51
+ };
52
+ var dividas = parseDividas(document);
53
+ if (!dataUpdated) {
54
+ var dividasPublicas_1 = XPathUtils.select('number(//dividas/resumo/valor_total_dividas)', document) || 0;
55
+ if (dividas.length > 0 || dividasPublicas_1) {
56
+ setData(function (prevState) { return (__assign(__assign({}, prevState), { dividas: dividas, dividasPublicas: dividasPublicas_1 })); });
57
+ }
58
+ setDataUpdated(true);
59
+ }
51
60
  dividas.sort(function (a, b) {
52
61
  return parseDate(b.dataDeInscricao).getTime() -
53
62
  parseDate(a.dataDeInscricao).getTime();
54
63
  });
55
- var dividasPublicas = XPathUtils.select('number(//dividas/resumo/valor_total_dividas)', document);
56
- setData(function (prevState) { return (__assign(__assign({}, prevState), { dividasPublicas: dividasPublicas || 0 })); });
57
- var totalOcorrencias = dividas === null || dividas === void 0 ? void 0 : dividas.length;
64
+ var totalOcorrencias = dividas.length;
58
65
  var children = totalOcorrencias ? (React.createElement(Result, null,
59
66
  React.createElement(DividasPublicasList, { dividas: dividas }))) : null;
60
67
  return {
@@ -62,26 +69,10 @@ var DividasPublicas = function () {
62
69
  variant: totalOcorrencias ? 'error' : 'default',
63
70
  description: (React.createElement(StatusMessage, { type: totalOcorrencias ? 'error' : 'default' }, totalOcorrencias
64
71
  ? totalOcorrencias === 1
65
- ? 'Encontrado uma dívida pública'
72
+ ? 'Encontrada uma dívida pública'
66
73
  : "".concat(totalOcorrencias, " d\u00EDvidas encontradas")
67
74
  : 'Nenhuma dívida pública encontrada'))
68
75
  };
69
76
  } }));
70
77
  };
71
- var DividasPublicasList = memo(function (_a) {
72
- var dividas = _a.dividas;
73
- return (React.createElement(Result, null, dividas.map(function (divida, i) { return (React.createElement(ResultContent, { desktop: "repeat(7, 1fr)", tablet: "repeat(3, 1fr)", mobile: "repeat(1, 1fr)", key: i, className: "content" },
74
- React.createElement(AddItemField, { name: "Nome do Devedor", value: divida.nomeDoDevedor }),
75
- React.createElement(AddItemField, { name: "Tipo de Pessoa", value: divida.tipoDePessoa }),
76
- React.createElement(AddItemField, { name: "Tipo de Devedor", value: divida.tipoDeDevedor }),
77
- React.createElement(AddItemField, { name: "Unidade Respons\u00E1vel", value: divida.unidadeResponsavel }),
78
- React.createElement(AddItemField, { name: "UF da Unidade Respons\u00E1vel", value: divida.uFDaUnidadeResponsavel }),
79
- React.createElement(AddItemField, { name: "N\u00FAmero de inscri\u00E7\u00E3o da D\u00EDvida", value: divida.numeroDeInscricaoDaDivida }),
80
- React.createElement(AddItemField, { name: "Tipo da Situa\u00E7\u00E3o da Inscri\u00E7\u00E3o", value: divida.tipoDaSituacaoDaInscricao }),
81
- React.createElement(AddItemField, { name: "Situa\u00E7\u00E3o da Inscri\u00E7\u00E3o", value: divida.situacaoDaInscricao }),
82
- React.createElement(AddItemField, { name: "Data de Inscri\u00E7\u00E3o", value: divida.dataDeInscricao }),
83
- React.createElement(AddItemField, { name: "Indicador Aju\u00EDzado", value: divida.indicadorAjuizado }),
84
- React.createElement(AddItemField, { name: "Valor consolidado", value: divida.valorConsolidado }),
85
- React.createElement(AddItemField, { name: "Tipo de D\u00EDvida", value: divida.tipoDeDivida }))); })));
86
- });
87
78
  export default DividasPublicas;
@@ -0,0 +1,6 @@
1
+ import { Divida } from '../../@types/domain';
2
+ import React from 'react';
3
+ declare const DividasPublicasList: React.FC<{
4
+ dividas: Divida[];
5
+ }>;
6
+ export default DividasPublicasList;
@@ -0,0 +1,20 @@
1
+ import React, { memo } from 'react';
2
+ import AddItemField from '../common/addItem';
3
+ import { Result, ResultContent } from '../interface/result';
4
+ var DividasPublicasList = memo(function (_a) {
5
+ var dividas = _a.dividas;
6
+ return (React.createElement(Result, null, dividas.map(function (divida, i) { return (React.createElement(ResultContent, { desktop: "repeat(7, 1fr)", tablet: "repeat(3, 1fr)", mobile: "repeat(1, 1fr)", key: i, className: "content" },
7
+ React.createElement(AddItemField, { name: "Nome do Devedor", value: divida.nomeDoDevedor }),
8
+ React.createElement(AddItemField, { name: "Tipo de Pessoa", value: divida.tipoDePessoa }),
9
+ React.createElement(AddItemField, { name: "Tipo de Devedor", value: divida.tipoDeDevedor }),
10
+ React.createElement(AddItemField, { name: "Unidade Respons\u00E1vel", value: divida.unidadeResponsavel }),
11
+ React.createElement(AddItemField, { name: "UF da Unidade Respons\u00E1vel", value: divida.uFDaUnidadeResponsavel }),
12
+ React.createElement(AddItemField, { name: "N\u00FAmero de inscri\u00E7\u00E3o da D\u00EDvida", value: divida.numeroDeInscricaoDaDivida }),
13
+ React.createElement(AddItemField, { name: "Tipo da Situa\u00E7\u00E3o da Inscri\u00E7\u00E3o", value: divida.tipoDaSituacaoDaInscricao }),
14
+ React.createElement(AddItemField, { name: "Situa\u00E7\u00E3o da Inscri\u00E7\u00E3o", value: divida.situacaoDaInscricao }),
15
+ React.createElement(AddItemField, { name: "Data de Inscri\u00E7\u00E3o", value: divida.dataDeInscricao }),
16
+ React.createElement(AddItemField, { name: "Indicador Aju\u00EDzado", value: divida.indicadorAjuizado }),
17
+ React.createElement(AddItemField, { name: "Valor consolidado", value: divida.valorConsolidado }),
18
+ React.createElement(AddItemField, { name: "Tipo de D\u00EDvida", value: divida.tipoDeDivida }))); })));
19
+ });
20
+ export default DividasPublicasList;
@@ -2,16 +2,29 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
2
2
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
3
  return cooked;
4
4
  };
5
- import React, { useContext } from 'react';
6
- import { Summary } from './summary/summary';
7
- import { TransactionsTable } from './transactionTable/transactionTable';
8
- import { Carrousel } from './carrousel/carrousel';
9
- import { ReclameAquiCarousel } from '../reclameAqui/reclameAquiCarousel';
10
- import { Queries } from '../webservice';
11
- import XPathUtils from '../../utils/xpath';
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
16
+ import { useGlobalData } from '../../contexts/globalDataContext';
17
+ import { useConsultaRfb } from '../../hooks/useConsultaRfb';
12
18
  import { formatCnpj, formatCpf } from '../../utils/string';
19
+ import XPathUtils from '../../utils/xpath';
20
+ import React, { useContext, useState } from 'react';
13
21
  import styled from 'styled-components';
14
- import { useConsultaRfb } from '../../hooks/useConsultaRfb';
22
+ import { ReclameAquiCarousel } from '../reclameAqui/reclameAquiCarousel';
23
+ import { Queries } from '../webservice';
24
+ import { Carrousel } from './carrousel/carrousel';
25
+ import { createDossieData } from './dossieData';
26
+ import { Summary } from './summary/summary';
27
+ import { TransactionsTable } from './transactionTable/transactionTable';
15
28
  var DossieContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: grid;\n grid-template-columns: 1fr 2fr;\n justify-items: center;\n align-items: flex-start;\n margin-bottom: 20px;\n gap: 20px;\n\n @media screen and (max-width: 992px) {\n grid-template-columns: 1fr;\n }\n"], ["\n display: grid;\n grid-template-columns: 1fr 2fr;\n justify-items: center;\n align-items: flex-start;\n margin-bottom: 20px;\n gap: 20px;\n\n @media screen and (max-width: 992px) {\n grid-template-columns: 1fr;\n }\n"])));
16
29
  var DossieContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n padding: 0px 70px;\n\n @media (max-width: 1000px) {\n padding: 0px 30px;\n }\n"], ["\n padding: 0px 70px;\n\n @media (max-width: 1000px) {\n padding: 0px 30px;\n }\n"])));
17
30
  var Dossie = function (_a) {
@@ -19,6 +32,8 @@ var Dossie = function (_a) {
19
32
  var finderCtx = useContext(Queries.Finder);
20
33
  var rfbResponse = useConsultaRfb().rfbResponse;
21
34
  var Section = finderCtx.Section;
35
+ var setData = useGlobalData().setData;
36
+ var _b = useState(false), dataUpdated = _b[0], setDataUpdated = _b[1];
22
37
  var response = function (_data) {
23
38
  var data = _data instanceof Error ? undefined : _data;
24
39
  var isPF = (documento === null || documento === void 0 ? void 0 : documento.length) === 11;
@@ -30,6 +45,11 @@ var Dossie = function (_a) {
30
45
  var DossieCarrousel = function () {
31
46
  return !isPF ? (React.createElement(ReclameAquiCarousel, { documento: document, nome: name })) : (React.createElement(Carrousel, { name: name, document: document }));
32
47
  };
48
+ var dossieData = createDossieData(data, rfbResponse, name, document);
49
+ if (!dataUpdated) {
50
+ setData(function (prevState) { return (__assign(__assign({}, prevState), { dossie: dossieData })); });
51
+ setDataUpdated(true);
52
+ }
33
53
  return (React.createElement(DossieContainer, null,
34
54
  React.createElement(DossieContent, null,
35
55
  React.createElement(DossieCarrousel, null),
@@ -0,0 +1,2 @@
1
+ import { DossieState } from '@/@types/domain/dossieTypes';
2
+ export declare function createDossieData(data?: Document, rfbResponse?: Document, name?: string, document?: string): DossieState;
@@ -0,0 +1,59 @@
1
+ import { formatMoney } from '../../utils/number';
2
+ import XPathUtils from '../../utils/xpath';
3
+ import { getAtividadesEconomicasSecundarias } from './summary/utils';
4
+ export function createDossieData(data, rfbResponse, name, document) {
5
+ var isPF = (document === null || document === void 0 ? void 0 : document.length) === 11;
6
+ var events = (XPathUtils.select('//historico/consulta', data) || []).map(function (event) { return ({
7
+ usuario: XPathUtils.select('string(./usuario)', event),
8
+ ultimaConsulta: XPathUtils.select('string(./ultimaConsulta)', event)
9
+ }); });
10
+ return {
11
+ summary: {
12
+ sexo: XPathUtils.select('string(//cadastro/sexo)', data),
13
+ dataNascimento: XPathUtils.select('string(//cadastro/dataNascimento)', data),
14
+ idade: XPathUtils.select('string(//cadastro/idade)', data),
15
+ faixaIdade: isPF
16
+ ? XPathUtils.select('string(//cadastro/faixaIdade)', data)
17
+ : undefined,
18
+ signo: XPathUtils.select('string(//cadastro/signo)', data),
19
+ rg: XPathUtils.select('string(//cadastro/rg)', data),
20
+ ufRg: XPathUtils.select('string(//cadastro/ufRg)', data),
21
+ status: XPathUtils.select('string(//cadastro/status)', data),
22
+ statusData: XPathUtils.select('string(//cadastro/statusData)', data),
23
+ maeNome: XPathUtils.select('string(//cadastro/maeNome)', data),
24
+ maeCpf: XPathUtils.select('string(//cadastro/maeCpf)', data),
25
+ obitoProvavel: XPathUtils.select('string(//cadastro/obitoProvavel)', data),
26
+ tituloEleitoral: XPathUtils.select('string(//cadastro/tituloEleitoral)', data),
27
+ grauInstrucao: XPathUtils.select('string(//cadastro/grauInstrucao)', data),
28
+ dependentes: XPathUtils.select('string(//cadastro/dependentes)', data),
29
+ estadoCivil: XPathUtils.select('string(//cadastro/estadoCivil)', data),
30
+ renda: isPF
31
+ ? formatMoney(XPathUtils.select('string(//cadastro/renda)', data))
32
+ : undefined,
33
+ ppe: isPF ? XPathUtils.select('string(//cadastro/ppe)', data) : undefined,
34
+ nomeFantasia: XPathUtils.select('string(//cadastro/nomeFantasia)', data) ||
35
+ XPathUtils.select('string(//RFB/nome/@fantasia)', rfbResponse),
36
+ receitaStatus: XPathUtils.select('string(//cadastro/receitaStatus)', data) ||
37
+ XPathUtils.select('string(//RFB/situacao)', rfbResponse),
38
+ dataReceitaStatus: XPathUtils.select('string(//cadastro/dataReceitaStatus)', data) ||
39
+ XPathUtils.select('string(//RFB/dataSituacao)', rfbResponse),
40
+ tipoEmpresa: XPathUtils.select('string(//cadastro/tipoEmpresa)', data),
41
+ cnaeDescricao: XPathUtils.select('string(//cadastro/cnaeDescricao)', data) ||
42
+ XPathUtils.select('string(//RFB/atividade-economica)', rfbResponse),
43
+ atividadesEconomicasSecundarias: getAtividadesEconomicasSecundarias(rfbResponse),
44
+ naturezaJuridica: XPathUtils.select('string(//cadastro/naturezaJuridica)', data),
45
+ dataAbertura: XPathUtils.select('string(//cadastro/dataAbertura)', data) ||
46
+ XPathUtils.select('string(//RFB/data-abertura)', rfbResponse),
47
+ idadeEmpresa: XPathUtils.select('string(//cadastro/idadeEmpresa)', data),
48
+ quantidadeFuncionarios: XPathUtils.select('string(//cadastro/quantidadeFuncionarios)', data),
49
+ faixaFuncionarios: XPathUtils.select('string(//cadastro/faixaFuncionarios)', data),
50
+ porteEmpresa: XPathUtils.select('string(//cadastro/porteEmpresa)', data),
51
+ capitalSocial: formatMoney(XPathUtils.select('string(//cadastro/capitalSocial)', data) ||
52
+ XPathUtils.select('string(//RFB/capitalSocial)', rfbResponse))
53
+ },
54
+ transactionTable: {
55
+ events: events
56
+ },
57
+ carousel: { name: name !== null && name !== void 0 ? name : '', document: document !== null && document !== void 0 ? document : '', image: undefined }
58
+ };
59
+ }
@@ -1,17 +1,31 @@
1
- import React, { useContext, useEffect, useMemo, useRef } from 'react';
2
- import Header from '../interface/header';
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import ImoveisIcon from '../../assets/icones/imoveis';
13
+ import { useGlobalData } from '../../contexts/globalDataContext';
14
+ import { formatMoney } from '../../utils/number';
15
+ import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
3
16
  import AddItemField from '../common/addItem';
4
- import { Result, ResultContent } from '../interface/result';
5
- import { useQuery } from '../webservice';
6
17
  import { ConsultasComplementaresContext } from '../consultasComplementares';
7
- import { formatMoney } from '../../utils/number';
18
+ import Header from '../interface/header';
19
+ import { Result, ResultContent } from '../interface/result';
8
20
  import StatusMessage from '../interface/statusMessage';
9
- import ImoveisIcon from '../../assets/icones/imoveis';
21
+ import { useQuery } from '../webservice';
10
22
  var ConsultaImoveis = function (_a) {
11
23
  var _b, _c, _d, _e, _f;
12
24
  var documento = _a.documento;
13
25
  var consultasComplementaresContext = useContext(ConsultasComplementaresContext);
14
26
  var _g = useQuery("SELECT FROM 'IMOVEIS'.'CONSULTA'", { documento: documento }, !!((_c = (_b = consultasComplementaresContext === null || consultasComplementaresContext === void 0 ? void 0 : consultasComplementaresContext.consultasComplementares) === null || _b === void 0 ? void 0 : _b.imoveis) === null || _c === void 0 ? void 0 : _c.consultaRealizada)), response = _g.response, isLoading = _g.isLoading, error = _g.error;
27
+ var setData = useGlobalData().setData;
28
+ var _h = useState(false), dataUpdated = _h[0], setDataUpdated = _h[1];
15
29
  var iptus = ((_d = response === null || response === void 0 ? void 0 : response.document) === null || _d === void 0 ? void 0 : _d.IPTUS) || [];
16
30
  var consultaImoveisRef = useRef(null);
17
31
  var consultaImoveisRealizada = useMemo(function () {
@@ -28,7 +42,11 @@ var ConsultaImoveis = function (_a) {
28
42
  useEffect(function () {
29
43
  var _a;
30
44
  (_a = consultaImoveisRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
31
- }, []);
45
+ if (response && !dataUpdated) {
46
+ setData(function (prevState) { return (__assign(__assign({}, prevState), { imoveis: response.document })); });
47
+ setDataUpdated(true);
48
+ }
49
+ }, [response]);
32
50
  return consultaImoveisRealizada ? (React.createElement("div", null,
33
51
  React.createElement(Header, { innerRef: consultaImoveisRef, title: "Consulta de IPTU", subtitle: "Registros de IPTU para o documento informado", variant: isLoading ? 'loading' : error ? 'error' : 'default', description: React.createElement(StatusMessage, { type: error ? 'error' : iptus.length ? 'success' : 'default' }, (error === null || error === void 0 ? void 0 : error.message) || description), icon: ImoveisIcon }),
34
52
  React.createElement(Result, null, iptus.map(function (iptu, index) {
@@ -1,6 +1,6 @@
1
+ import { IconProps } from '@/@types/icon';
1
2
  import React, { ComponentProps, ComponentType, DetailedHTMLProps, HTMLAttributes, ReactNode } from 'react';
2
3
  import LoadingBar from './loadingBar';
3
- import { IconProps } from '@/types/icon';
4
4
  export type HeaderProps = DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLElement> & {
5
5
  title?: ReactNode;
6
6
  subtitle?: ReactNode;
@@ -24,11 +24,11 @@ var __rest = (this && this.__rest) || function (s, e) {
24
24
  }
25
25
  return t;
26
26
  };
27
- import React, { useMemo } from 'react';
28
27
  import classNames from 'classnames';
28
+ import React, { useMemo } from 'react';
29
29
  import styled from 'styled-components';
30
- import theme from './theme';
31
30
  import LoadingBar from './loadingBar';
31
+ import theme from './theme';
32
32
  var Title = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n color: ", ";\n"], ["\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n color: ", ";\n"])), theme.typography.headline24.fontSize, theme.typography.headline24.fontWeight, theme.typography.headline24.lineHeight, theme.colors.azulCredithub);
33
33
  var Subtitle = styled.span(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"], ["\n display: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) { return (props.hidden ? 'none' : 'block'); }, theme.typography.body18.fontSize, theme.typography.body18.fontStyle, theme.typography.body18.fontWeight, theme.typography.body18.lineHeight);
34
34
  var Description = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: ", ";\n gap: 10px;\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: ", ";\n letter-spacing: ", ";\n\n @media screen and (max-width: 768px) {\n flex-direction: column;\n }\n"], ["\n display: ", ";\n gap: 10px;\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: ", ";\n letter-spacing: ", ";\n\n @media screen and (max-width: 768px) {\n flex-direction: column;\n }\n"])), function (props) { return (props.hidden ? 'none' : 'flex'); }, theme.typography.label14.fontStyle, theme.typography.label14.fontWeight, theme.typography.label14.fontSize, theme.typography.label14.lineHeight, theme.typography.label14.letterSpacing);
@@ -1,10 +1,24 @@
1
- import React, { useContext, useState } from 'react';
2
- import { Queries } from '../webservice';
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
3
12
  import ProtestosIcon from '../../assets/icones/protestos';
13
+ import { useGlobalData } from '../../contexts/globalDataContext';
14
+ import React, { useContext, useState } from 'react';
4
15
  import StatusMessage from '../interface/statusMessage';
16
+ import { Queries } from '../webservice';
5
17
  var Liminar = function () {
6
18
  var ctx = useContext(Queries.Liminar);
7
- var _a = useState(false), hideSection = _a[0], setHideSection = _a[1];
19
+ var setData = useGlobalData().setData;
20
+ var _a = useState(false), dataUpdated = _a[0], setDataUpdated = _a[1];
21
+ var _b = useState(false), hideSection = _b[0], setHideSection = _b[1];
8
22
  var Section = ctx.Section;
9
23
  if (hideSection)
10
24
  return null;
@@ -14,6 +28,10 @@ var Liminar = function () {
14
28
  setHideSection(true);
15
29
  }
16
30
  var message = possuiLiminar ? 'Encontrado' : 'Não encontrado';
31
+ if (!dataUpdated) {
32
+ setData(function (prevState) { return (__assign(__assign({}, prevState), { liminar: { totalProtestos: document.totalProtestos }, message: message })); });
33
+ setDataUpdated(true);
34
+ }
17
35
  return {
18
36
  children: null,
19
37
  variant: possuiLiminar ? 'error' : 'default',
@@ -1,3 +1,14 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
13
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
14
  if (ar || !(i in from)) {
@@ -7,23 +18,26 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
7
18
  }
8
19
  return to.concat(ar || Array.prototype.slice.call(from));
9
20
  };
10
- import React, { useContext } from 'react';
21
+ import QuadroSocietarioIcon from '../../assets/icones/quadroSocietario';
22
+ import { useGlobalData } from '../../contexts/globalDataContext';
23
+ import { useConsultaRfb } from '../../hooks/useConsultaRfb';
24
+ import { formatCnpj, formatCpf, isCnpj } from '../../utils/string';
25
+ import XPathUtils from '../../utils/xpath';
26
+ import React, { useContext, useState } from 'react';
11
27
  import { Result } from '../interface/result';
12
- import PartnerList from './partnerList';
28
+ import StatusMessage from '../interface/statusMessage';
13
29
  import { Queries } from '../webservice';
14
- import XPathUtils from '../../utils/xpath';
15
- import { formatCnpj, formatCpf, isCnpj } from '../../utils/string';
16
- import PartnerRFBStatus from './partner-rfb-status';
17
- import PartnerProtestos from './partner-protestos';
18
30
  import PartnerDividasPublicas from './partner-dividas-publicas';
19
- import QuadroSocietarioIcon from '../../assets/icones/quadroSocietario';
20
- import StatusMessage from '../interface/statusMessage';
21
- import { useConsultaRfb } from '../../hooks/useConsultaRfb';
31
+ import PartnerProtestos from './partner-protestos';
32
+ import PartnerRFBStatus from './partner-rfb-status';
33
+ import PartnerList from './partnerList';
22
34
  var Partners = function (_a) {
23
35
  var onClickQSA = _a.onClickQSA;
24
36
  var ctx = useContext(Queries.Finder);
25
37
  var rfbResponse = useConsultaRfb().rfbResponse;
26
38
  var Section = ctx.Section;
39
+ var setData = useGlobalData().setData;
40
+ var _b = useState(false), dataUpdated = _b[0], setDataUpdated = _b[1];
27
41
  var response = function (data) {
28
42
  var partnersNode = __spreadArray(__spreadArray([], XPathUtils.selectArray('//quadroSocietario/quadroSocietario', data), true), XPathUtils.selectArray('//participacoesEmpresas/participacoesEmpresas', data), true);
29
43
  var partners = (partnersNode.length
@@ -40,6 +54,10 @@ var Partners = function (_a) {
40
54
  protestos: documento ? React.createElement(PartnerProtestos, { documento: documento }) : null
41
55
  };
42
56
  });
57
+ if (!dataUpdated && partners.length > 0) {
58
+ setData(function (prevState) { return (__assign(__assign({}, prevState), { partners: { partners: partners } })); });
59
+ setDataUpdated(true);
60
+ }
43
61
  var children = (partners === null || partners === void 0 ? void 0 : partners.length) ? (React.createElement(Result, null,
44
62
  React.createElement(PartnerList, { onClickQSA: onClickQSA, partners: partners }))) : null;
45
63
  return {
@@ -1,15 +1,33 @@
1
- import React, { useContext } from 'react';
2
- import { Queries } from '../webservice';
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { useGlobalData } from '../../contexts/globalDataContext';
3
13
  import XPathUtils from '../../utils/xpath';
4
- import { Result } from '../interface/result';
14
+ import React, { useContext, useState } from 'react';
5
15
  import AddItemField from '../common/addItem';
16
+ import { Result } from '../interface/result';
17
+ import { Queries } from '../webservice';
6
18
  var PessoaPoliticamenteExposta = function () {
7
19
  var ctx = useContext(Queries.Finder);
8
20
  var Section = ctx.Section;
21
+ var setData = useGlobalData().setData;
22
+ var _a = useState(false), dataUpdated = _a[0], setDataUpdated = _a[1];
9
23
  return (React.createElement(Section, { title: "Pessoa Politicamente Exposta", subtitle: "Vejas As Informa\u00E7\u00F5es Dispon\u00EDveis", onSuccess: function (document) {
10
24
  var _a, _b, _c;
11
25
  var data = (_a = XPathUtils.selectArray('//pep', document)) === null || _a === void 0 ? void 0 : _a[0];
12
26
  var pepData = ((_b = data === null || data === void 0 ? void 0 : data.childNodes) === null || _b === void 0 ? void 0 : _b.length) ? parsePepData(data) : null;
27
+ if (!dataUpdated && pepData) {
28
+ setData(function (prevState) { return (__assign(__assign({}, prevState), { pep: { pepData: pepData } })); });
29
+ setDataUpdated(true);
30
+ }
13
31
  var children = pepData ? (React.createElement(Result, null,
14
32
  React.createElement("div", { className: "container" },
15
33
  React.createElement("div", { className: "content" }, FIELDS.map(function (field) { return (React.createElement(AddItemField, { key: field.key, name: field.name, value: pepData[field.key] })); }))))) : null;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { EnvolvidoUltimaMovimentacao } from './types';
2
+ import { EnvolvidoUltimaMovimentacao } from '../../@types/domain';
3
3
  export type Envolvido = {
4
4
  nome: string;
5
5
  envolvimento: string;