@credithub/harlan-components 1.121.5 → 1.121.6

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.
@@ -48,7 +48,7 @@ var BtnWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTempla
48
48
  // Função utilitária para extrair as chaves dos protestos
49
49
  var getChaves = function (arr) { return arr.map(function (p) { return p.nm_chave; }); };
50
50
  var PROTESTOS_ERROR_SUMMARY = 'Falha ao consultar protestos, tente novamente mais tarde.';
51
- var clearProtestosCollections = function (state) { return (__assign(__assign({}, (state || {})), { protestosDeCredito: undefined, protestosDeImposto: undefined, protestosGerais: undefined, totalProtestos: undefined, valorTotalProtestos: undefined, nmChaves: undefined, cartorio: undefined })); };
51
+ var clearProtestosCollections = function (state) { return (__assign(__assign({}, (state || {})), { protestosDeCredito: undefined, protestosDeImposto: undefined, protestosGerais: undefined, totalProtestos: undefined, valorTotalProtestos: undefined, nmChaves: undefined, cartorio: undefined, cartorioPorNmChave: undefined })); };
52
52
  var Protestos = function (_a) {
53
53
  var _b, _c, _d, _e;
54
54
  var tags = _a.tags, extensionInstalled = _a.extensionInstalled;
@@ -57,6 +57,7 @@ var Protestos = function (_a) {
57
57
  var _f = useGlobalData(), globalData = _f.data, setData = _f.setData;
58
58
  var _g = useState(false), dataUpdated = _g[0], setDataUpdated = _g[1];
59
59
  var _h = useState(false), isModalCartorioOpen = _h[0], setIsModalCartorioOpen = _h[1];
60
+ var _j = useState(null), selectedCartorioForModal = _j[0], setSelectedCartorioForModal = _j[1];
60
61
  var showInstrumento = !hasOneOfTags(tags, [/flex/, 'bronze']);
61
62
  var protestosAll = useMemo(function () {
62
63
  if (!ctx.document)
@@ -64,7 +65,11 @@ var Protestos = function (_a) {
64
65
  return XPathUtils.selectArray('//body//protesto', ctx.document).map(parseProtesto);
65
66
  }, [ctx.document]);
66
67
  var iaOverrides = (_b = globalData.protestosData) === null || _b === void 0 ? void 0 : _b.iaOverrides;
67
- var _j = useProtestosClassification(protestosAll, iaOverrides), protestosDeCredito = _j.protestosDeCredito, protestosDeImposto = _j.protestosDeImposto, protestosGerais = _j.protestosGerais;
68
+ var _k = useProtestosClassification(protestosAll, iaOverrides), protestosDeCredito = _k.protestosDeCredito, protestosDeImposto = _k.protestosDeImposto, protestosGerais = _k.protestosGerais;
69
+ var handleOpenCartorioModal = useCallback(function (cartorio) {
70
+ setSelectedCartorioForModal(cartorio !== null && cartorio !== void 0 ? cartorio : null);
71
+ setIsModalCartorioOpen(true);
72
+ }, []);
68
73
  useEffect(function () {
69
74
  var _a;
70
75
  var prevProtestos = globalData.protestosData;
@@ -106,8 +111,27 @@ var Protestos = function (_a) {
106
111
  return;
107
112
  }
108
113
  var cartorioNodes = XPathUtils.selectArray('//body//conteudo/cartorio', ctx.document);
109
- var cartorioNode = Array.isArray(cartorioNodes) ? cartorioNodes[0] : undefined;
110
- var cartorio = parseCartorio(cartorioNode);
114
+ var cartorioPorNmChave = {};
115
+ var cartorio;
116
+ if (Array.isArray(cartorioNodes)) {
117
+ for (var _i = 0, cartorioNodes_1 = cartorioNodes; _i < cartorioNodes_1.length; _i++) {
118
+ var cartorioNode = cartorioNodes_1[_i];
119
+ var parsed = parseCartorio(cartorioNode);
120
+ if (!parsed)
121
+ continue;
122
+ if (!cartorio)
123
+ cartorio = parsed;
124
+ var protestoNodes = XPathUtils.selectArray('./protesto', cartorioNode);
125
+ if (Array.isArray(protestoNodes)) {
126
+ for (var _a = 0, protestoNodes_1 = protestoNodes; _a < protestoNodes_1.length; _a++) {
127
+ var pNode = protestoNodes_1[_a];
128
+ var nm_chave = XPathUtils.select('string(./nm_chave)', pNode);
129
+ if (nm_chave === null || nm_chave === void 0 ? void 0 : nm_chave.trim())
130
+ cartorioPorNmChave[nm_chave.trim()] = parsed;
131
+ }
132
+ }
133
+ }
134
+ }
111
135
  var nmChave = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray([], getChaves(protestosDeCredito), true), getChaves(protestosDeImposto), true), getChaves(protestosGerais), true)));
112
136
  // Calcula valorTotalProtestos uma única vez somando todos os valores
113
137
  var todosProtestos = __spreadArray(__spreadArray(__spreadArray([], protestosDeCredito, true), protestosDeImposto, true), protestosGerais, true);
@@ -117,7 +141,7 @@ var Protestos = function (_a) {
117
141
  }, 0);
118
142
  setData(function (prevState) {
119
143
  var prevProtestos = prevState.protestosData;
120
- return __assign(__assign({}, prevState), { protestos: registros, protestosData: __assign(__assign({}, clearProtestosCollections(prevProtestos)), { protestosDeCredito: protestosDeCredito, protestosDeImposto: protestosDeImposto, protestosGerais: protestosGerais, totalProtestos: registros, valorTotalProtestos: valorTotalProtestos, cartorio: cartorio, isLoaded: true, isLoading: false, error: undefined, iaOverrides: prevProtestos === null || prevProtestos === void 0 ? void 0 : prevProtestos.iaOverrides, nmChaves: nmChave, failedInstruments: prevProtestos === null || prevProtestos === void 0 ? void 0 : prevProtestos.failedInstruments, failedInstrumentReasons: prevProtestos === null || prevProtestos === void 0 ? void 0 : prevProtestos.failedInstrumentReasons, instrumentCache: prevProtestos === null || prevProtestos === void 0 ? void 0 : prevProtestos.instrumentCache, checkedInstruments: prevProtestos === null || prevProtestos === void 0 ? void 0 : prevProtestos.checkedInstruments }) });
144
+ return __assign(__assign({}, prevState), { protestos: registros, protestosData: __assign(__assign({}, clearProtestosCollections(prevProtestos)), { protestosDeCredito: protestosDeCredito, protestosDeImposto: protestosDeImposto, protestosGerais: protestosGerais, totalProtestos: registros, valorTotalProtestos: valorTotalProtestos, cartorio: cartorio, cartorioPorNmChave: cartorioPorNmChave, isLoaded: true, isLoading: false, error: undefined, iaOverrides: prevProtestos === null || prevProtestos === void 0 ? void 0 : prevProtestos.iaOverrides, nmChaves: nmChave, failedInstruments: prevProtestos === null || prevProtestos === void 0 ? void 0 : prevProtestos.failedInstruments, failedInstrumentReasons: prevProtestos === null || prevProtestos === void 0 ? void 0 : prevProtestos.failedInstrumentReasons, instrumentCache: prevProtestos === null || prevProtestos === void 0 ? void 0 : prevProtestos.instrumentCache, checkedInstruments: prevProtestos === null || prevProtestos === void 0 ? void 0 : prevProtestos.checkedInstruments }) });
121
145
  });
122
146
  setDataUpdated(true);
123
147
  }, [
@@ -150,15 +174,15 @@ var Protestos = function (_a) {
150
174
  var elements = [
151
175
  {
152
176
  total: protestosDeCredito.length,
153
- element: (React.createElement(ProtestosCategory, { title: "Protestos de Cr\u00E9dito", subtitle: "Protestos de cr\u00E9dito em geral.", registros: protestosDeCredito.length, icon: ProtestosCreditoIcon }, protestosDeCredito.map(function (protesto, i) { return (React.createElement(ProtestoItem, { protesto: protesto, key: i, showInstrumento: showInstrumento, onOpenCartorioModal: function () { return setIsModalCartorioOpen(true); }, extensionInstalled: extensionInstalled, tags: tags })); })))
177
+ element: (React.createElement(ProtestosCategory, { title: "Protestos de Cr\u00E9dito", subtitle: "Protestos de cr\u00E9dito em geral.", registros: protestosDeCredito.length, icon: ProtestosCreditoIcon }, protestosDeCredito.map(function (protesto, i) { return (React.createElement(ProtestoItem, { protesto: protesto, key: i, showInstrumento: showInstrumento, onOpenCartorioModal: handleOpenCartorioModal, extensionInstalled: extensionInstalled, tags: tags })); })))
154
178
  },
155
179
  {
156
180
  total: protestosDeImposto.length,
157
- element: (React.createElement(ProtestosCategory, { title: "Protestos de Imposto", subtitle: "Protestos de impostos federais, estaduais e municipais.", registros: protestosDeImposto.length, icon: ProtestosImpostosIcon }, protestosDeImposto.map(function (protesto, i) { return (React.createElement(ProtestoItem, { protesto: protesto, key: i, showInstrumento: showInstrumento, onOpenCartorioModal: function () { return setIsModalCartorioOpen(true); }, extensionInstalled: extensionInstalled, tags: tags })); })))
181
+ element: (React.createElement(ProtestosCategory, { title: "Protestos de Imposto", subtitle: "Protestos de impostos federais, estaduais e municipais.", registros: protestosDeImposto.length, icon: ProtestosImpostosIcon }, protestosDeImposto.map(function (protesto, i) { return (React.createElement(ProtestoItem, { protesto: protesto, key: i, showInstrumento: showInstrumento, onOpenCartorioModal: handleOpenCartorioModal, extensionInstalled: extensionInstalled, tags: tags })); })))
158
182
  },
159
183
  {
160
184
  total: protestosGerais.length,
161
- element: (React.createElement(ProtestosCategory, { title: "Protestos Gerais", subtitle: "Protestos de outros tipos.", registros: protestosGerais.length, icon: ProtestosGeraisIcon }, protestosGerais.map(function (protesto, i) { return (React.createElement(ProtestoItem, { protesto: protesto, key: i, showInstrumento: showInstrumento, onOpenCartorioModal: function () { return setIsModalCartorioOpen(true); }, extensionInstalled: extensionInstalled, tags: tags })); })))
185
+ element: (React.createElement(ProtestosCategory, { title: "Protestos Gerais", subtitle: "Protestos de outros tipos.", registros: protestosGerais.length, icon: ProtestosGeraisIcon }, protestosGerais.map(function (protesto, i) { return (React.createElement(ProtestoItem, { protesto: protesto, key: i, showInstrumento: showInstrumento, onOpenCartorioModal: handleOpenCartorioModal, extensionInstalled: extensionInstalled, tags: tags })); })))
162
186
  }
163
187
  ].sort(function (a, b) { return b.total - a.total; });
164
188
  var children = registros ? (React.createElement(ResultProtestos, null, elements.map(function (_a, i) {
@@ -175,7 +199,13 @@ var Protestos = function (_a) {
175
199
  : "Encontrados ".concat(registros, " protestos")
176
200
  : 'Não há ocorrência de protesto'))
177
201
  };
178
- }, [iaOverrides, tags]);
202
+ }, [
203
+ iaOverrides,
204
+ tags,
205
+ extensionInstalled,
206
+ showInstrumento,
207
+ handleOpenCartorioModal
208
+ ]);
179
209
  var effectiveCtx = useMemo(function () {
180
210
  var _a, _b;
181
211
  if (!ctx)
@@ -187,6 +217,7 @@ var Protestos = function (_a) {
187
217
  }
188
218
  return ctx;
189
219
  }, [ctx, (_c = globalData === null || globalData === void 0 ? void 0 : globalData.protestosData) === null || _c === void 0 ? void 0 : _c.isLoading]);
220
+ var modalCartorio = (_e = selectedCartorioForModal !== null && selectedCartorioForModal !== void 0 ? selectedCartorioForModal : (_d = globalData === null || globalData === void 0 ? void 0 : globalData.protestosData) === null || _d === void 0 ? void 0 : _d.cartorio) !== null && _e !== void 0 ? _e : null;
190
221
  return (React.createElement(React.Fragment, null,
191
222
  React.createElement(Section, { ctx: effectiveCtx, title: "Apontamentos na Central de Protestos (CENPROT)", subtitle: "Consulta de protestos de cr\u00E9dito, imposto e gerais.", icon: ProtestosIcon, onSuccess: handleSuccess, actions: typeof harlan !== 'undefined' ? (React.createElement(BtnWrapper, null,
192
223
  React.createElement(Button, { onClick: function () {
@@ -203,7 +234,7 @@ var Protestos = function (_a) {
203
234
  document: formattedDoc
204
235
  });
205
236
  } }, "Apontar Protesto"))) : null }),
206
- React.createElement(ModalDadosCartorio, { isOpen: isModalCartorioOpen, onClose: function () { return setIsModalCartorioOpen(false); }, cartorio: (_e = (_d = globalData === null || globalData === void 0 ? void 0 : globalData.protestosData) === null || _d === void 0 ? void 0 : _d.cartorio) !== null && _e !== void 0 ? _e : null })));
237
+ React.createElement(ModalDadosCartorio, { isOpen: isModalCartorioOpen, onClose: function () { return setIsModalCartorioOpen(false); }, cartorio: modalCartorio })));
207
238
  };
208
239
  export default React.memo(Protestos);
209
240
  var templateObject_1, templateObject_2;
@@ -1,9 +1,10 @@
1
+ import type { Cartorio } from '@/@types/domain/cartorioTypes';
1
2
  import { Protesto } from '../../utils/parseProtesto';
2
3
  import React from 'react';
3
4
  export declare const ProtestoItem: React.MemoExoticComponent<({ protesto, showInstrumento, onOpenCartorioModal, extensionInstalled, tags }: {
4
5
  protesto: Protesto;
5
6
  showInstrumento: boolean;
6
- onOpenCartorioModal?: () => void;
7
+ onOpenCartorioModal?: (cartorio?: Cartorio | null) => void;
7
8
  extensionInstalled?: boolean;
8
9
  tags?: (string | RegExp)[];
9
10
  }) => React.JSX.Element>;
@@ -203,19 +203,19 @@ var UfCell = function (_a) {
203
203
  return React.createElement(UfCellValueWrapper, null, content);
204
204
  };
205
205
  export var ProtestoItem = memo(function (_a) {
206
- var _b, _c, _d, _e;
207
- var protesto = _a.protesto, showInstrumento = _a.showInstrumento, onOpenCartorioModal = _a.onOpenCartorioModal, extensionInstalled = _a.extensionInstalled, _f = _a.tags, tags = _f === void 0 ? [] : _f;
206
+ var _b, _c, _d, _e, _f, _g, _h;
207
+ var protesto = _a.protesto, showInstrumento = _a.showInstrumento, onOpenCartorioModal = _a.onOpenCartorioModal, extensionInstalled = _a.extensionInstalled, _j = _a.tags, tags = _j === void 0 ? [] : _j;
208
208
  var hasPremiumAccess = hasOneOfTags(tags, PREMIUM_TAGS);
209
209
  var client = useContext(WebService);
210
- var _g = useGlobalData(), setData = _g.setData, globalData = _g.data;
211
- var cartorio = (_b = globalData === null || globalData === void 0 ? void 0 : globalData.protestosData) === null || _b === void 0 ? void 0 : _b.cartorio;
212
- var iaOverrides = ((_c = globalData === null || globalData === void 0 ? void 0 : globalData.protestosData) === null || _c === void 0 ? void 0 : _c.iaOverrides) || {};
213
- var refreshToken = ((_d = globalData === null || globalData === void 0 ? void 0 : globalData.protestosData) === null || _d === void 0 ? void 0 : _d.refreshToken) || 0;
214
- var _h = useState(null), quemApresentou = _h[0], setQuemApresentou = _h[1];
215
- var _j = useState(false), loading = _j[0], setLoading = _j[1];
216
- var _k = useState(false), queued = _k[0], setQueued = _k[1];
217
- var _l = useState(false), isAIData = _l[0], setIsAIData = _l[1];
218
- var _m = useState(false), isExtensionModalOpen = _m[0], setIsExtensionModalOpen = _m[1];
210
+ var _k = useGlobalData(), setData = _k.setData, globalData = _k.data;
211
+ var cartorio = (_d = (_c = (_b = globalData === null || globalData === void 0 ? void 0 : globalData.protestosData) === null || _b === void 0 ? void 0 : _b.cartorioPorNmChave) === null || _c === void 0 ? void 0 : _c[protesto.nm_chave]) !== null && _d !== void 0 ? _d : (_e = globalData === null || globalData === void 0 ? void 0 : globalData.protestosData) === null || _e === void 0 ? void 0 : _e.cartorio;
212
+ var iaOverrides = ((_f = globalData === null || globalData === void 0 ? void 0 : globalData.protestosData) === null || _f === void 0 ? void 0 : _f.iaOverrides) || {};
213
+ var refreshToken = ((_g = globalData === null || globalData === void 0 ? void 0 : globalData.protestosData) === null || _g === void 0 ? void 0 : _g.refreshToken) || 0;
214
+ var _l = useState(null), quemApresentou = _l[0], setQuemApresentou = _l[1];
215
+ var _m = useState(false), loading = _m[0], setLoading = _m[1];
216
+ var _o = useState(false), queued = _o[0], setQueued = _o[1];
217
+ var _p = useState(false), isAIData = _p[0], setIsAIData = _p[1];
218
+ var _q = useState(false), isExtensionModalOpen = _q[0], setIsExtensionModalOpen = _q[1];
219
219
  var documento = protesto.cpfCnpj;
220
220
  var nm_chave = protesto.nm_chave;
221
221
  var formatBooleanField = function (value) {
@@ -295,7 +295,7 @@ export var ProtestoItem = memo(function (_a) {
295
295
  };
296
296
  // Regra: SEM extensão = ZERO dado inteligente. 4 combinações extensão/plano.
297
297
  // Opção de instalar extensão só quando a consulta trouxer dado real (não vazio, null ou ausente).
298
- var rawNomeCedente = ((_e = protesto.nomeCedente) === null || _e === void 0 ? void 0 : _e.trim()) !== ''
298
+ var rawNomeCedente = ((_h = protesto.nomeCedente) === null || _h === void 0 ? void 0 : _h.trim()) !== ''
299
299
  ? protesto.nomeCedente
300
300
  : '—';
301
301
  var temDadoQuemProtestouNaConsulta = protesto.nomeCedente != null &&
@@ -330,7 +330,9 @@ export var ProtestoItem = memo(function (_a) {
330
330
  React.createElement(AddItemField, { name: "Possui Anu\u00EAncia / Protesto Pago", value: formatBooleanField(String(protesto.temAnuencia)) }),
331
331
  React.createElement(AddItemField, { name: "Valor Do Protesto", value: formatMoney(protesto.valor) }),
332
332
  React.createElement(AddItemField, { name: "Custas de Cart\u00F3rio para Baixa", value: protesto.vl_custas ? formatMoney(protesto.vl_custas) : '—' }),
333
- React.createElement(AddItemField, { name: "UF", value: React.createElement(UfCell, { uf: cartorio === null || cartorio === void 0 ? void 0 : cartorio.uf, hasCartorio: Boolean(cartorio), onOpenCartorio: onOpenCartorioModal }) })),
333
+ React.createElement(AddItemField, { name: "UF", value: React.createElement(UfCell, { uf: cartorio === null || cartorio === void 0 ? void 0 : cartorio.uf, hasCartorio: Boolean(cartorio), onOpenCartorio: onOpenCartorioModal
334
+ ? function () { return onOpenCartorioModal(cartorio !== null && cartorio !== void 0 ? cartorio : null); }
335
+ : undefined }) })),
334
336
  React.createElement(ModalInstallExtension, { isOpen: isExtensionModalOpen, onClose: function () { return setIsExtensionModalOpen(false); } })));
335
337
  });
336
338
  export var Instrumento = function (_a) {