@credithub/harlan-components 1.39.3 → 1.39.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.
- package/dist/components/chart/chartContent.js +7 -7
- package/dist/components/chart/components/MixedChart.js +3 -2
- package/dist/components/chart/hooks/useChartData.js +2 -2
- package/dist/components/dossie/llama/dataUtils.d.ts +3 -22
- package/dist/components/dossie/llama/dataUtils.js +33 -22
- package/dist/components/dossie/llama/llama.js +25 -16
- package/dist/components/dossie/llama/queryUtils.js +3 -2
- package/dist/components/dossie/llama/styles.js +3 -3
- package/dist/components/streamQuery.js +0 -1
- package/lib/cjs/index.js +31999 -8116
- package/lib/esm/index.js +32000 -8117
- package/package.json +5 -2
|
@@ -11,15 +11,15 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
11
11
|
}
|
|
12
12
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
13
13
|
};
|
|
14
|
-
import
|
|
14
|
+
import { useWindowSize } from '../../hooks/useWindowSize';
|
|
15
15
|
import { Chart, registerables } from 'chart.js';
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import PieChart from './components/PieChart';
|
|
16
|
+
import ChartDataLabels from 'chartjs-plugin-datalabels';
|
|
17
|
+
import React from 'react';
|
|
19
18
|
import styled from 'styled-components';
|
|
19
|
+
import ResponsiveGrid from '../interface/responsiveGrid';
|
|
20
|
+
import CategoriaProtesto from './components/categoryProtestos';
|
|
20
21
|
import MixedChart from './components/MixedChart';
|
|
21
|
-
import
|
|
22
|
-
import { useWindowSize } from '../../hooks/useWindowSize';
|
|
22
|
+
import PieChart from './components/PieChart';
|
|
23
23
|
Chart.register.apply(Chart, __spreadArray([ChartDataLabels], registerables, false));
|
|
24
24
|
var Title = styled.h2(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n text-align: left;\n margin-bottom: 20px;\n"], ["\n text-align: left;\n margin-bottom: 20px;\n"])));
|
|
25
25
|
var getWidth = function (windowWidth, chartType) {
|
|
@@ -29,7 +29,7 @@ var getWidth = function (windowWidth, chartType) {
|
|
|
29
29
|
}
|
|
30
30
|
return baseWidth;
|
|
31
31
|
};
|
|
32
|
-
var ChartContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: ", ";\n"], ["\n width: ", ";\n"])), function (_a) {
|
|
32
|
+
var ChartContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: ", ";\n padding: 30px 0;\n"], ["\n width: ", ";\n padding: 30px 0;\n"])), function (_a) {
|
|
33
33
|
var windowWidth = _a.windowWidth, chartType = _a.chartType;
|
|
34
34
|
return getWidth(windowWidth, chartType);
|
|
35
35
|
});
|
|
@@ -10,6 +10,7 @@ import { useMixedChartData } from '../hooks/useMixedChartData';
|
|
|
10
10
|
var TimeFilterButton = styled.button(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n padding: 8px 16px;\n margin-right: 5px;\n background-color: #f0f0f0;\n border: 1px solid #ccc;\n border-radius: 8px;\n cursor: pointer;\n width: 100px;\n min-width: 100px;\n text-align: center;\n\n ", "\n\n &:hover {\n background-color: #007af2;\n color: white;\n }\n\n @media print {\n display: none !important;\n }\n"], ["\n padding: 8px 16px;\n margin-right: 5px;\n background-color: #f0f0f0;\n border: 1px solid #ccc;\n border-radius: 8px;\n cursor: pointer;\n width: 100px;\n min-width: 100px;\n text-align: center;\n\n ", "\n\n &:hover {\n background-color: #007af2;\n color: white;\n }\n\n @media print {\n display: none !important;\n }\n"])), function (props) {
|
|
11
11
|
return props.isActive && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: #007af2;\n color: white;\n border-color: #007af2;\n "], ["\n background-color: #007af2;\n color: white;\n border-color: #007af2;\n "])));
|
|
12
12
|
});
|
|
13
|
+
var ContainerMixedChart = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: 24px 0;\n"], ["\n padding: 24px 0;\n"])));
|
|
13
14
|
var hasNonZeroDataForPeriod = function (data, months) {
|
|
14
15
|
var now = new Date();
|
|
15
16
|
var dateLimit = subMonths(now, months);
|
|
@@ -38,7 +39,7 @@ var MixedChart = function (_a) {
|
|
|
38
39
|
? 'bar'
|
|
39
40
|
: 'line';
|
|
40
41
|
return (React.createElement("div", null,
|
|
41
|
-
React.createElement(
|
|
42
|
+
React.createElement(ContainerMixedChart, null, ['all', '1y', '6m', '1m'].map(function (filter) { return (React.createElement(TimeFilterButton, { key: filter, onClick: function () { return setTimeFilter(filter); }, isActive: timeFilter === filter }, filter === 'all'
|
|
42
43
|
? 'All'
|
|
43
44
|
: filter === '1y'
|
|
44
45
|
? '1 Ano'
|
|
@@ -48,4 +49,4 @@ var MixedChart = function (_a) {
|
|
|
48
49
|
React.createElement(Chart, { className: "mixed-chart", type: chartType, data: data, options: options })));
|
|
49
50
|
};
|
|
50
51
|
export default MixedChart;
|
|
51
|
-
var templateObject_1, templateObject_2;
|
|
52
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
|
@@ -75,8 +75,8 @@ var useChartData = function (documento) {
|
|
|
75
75
|
ctxProtestos === null || ctxProtestos === void 0 ? void 0 : ctxProtestos.type,
|
|
76
76
|
ctxCCF === null || ctxCCF === void 0 ? void 0 : ctxCCF.type,
|
|
77
77
|
ctxProcessosJuridicos === null || ctxProcessosJuridicos === void 0 ? void 0 : ctxProcessosJuridicos.type
|
|
78
|
-
].every(function (status) { return status !== RequestStatus.Loading; });
|
|
79
|
-
}, [ctxProtestos, ctxCCF, ctxProcessosJuridicos]);
|
|
78
|
+
].every(function (status) { return status !== RequestStatus.Loading && status != RequestStatus.Empty; });
|
|
79
|
+
}, [ctxProtestos === null || ctxProtestos === void 0 ? void 0 : ctxProtestos.type, ctxCCF === null || ctxCCF === void 0 ? void 0 : ctxCCF.type, ctxProcessosJuridicos === null || ctxProcessosJuridicos === void 0 ? void 0 : ctxProcessosJuridicos.type]);
|
|
80
80
|
var dadosProtestos = useMemo(function () {
|
|
81
81
|
if ((ctxProtestos === null || ctxProtestos === void 0 ? void 0 : ctxProtestos.type) === RequestStatus.Success && ctxProtestos.document) {
|
|
82
82
|
return processProtestData(ctxProtestos.document);
|
|
@@ -1,25 +1,6 @@
|
|
|
1
1
|
export declare function flattenData(data: any): string;
|
|
2
2
|
export declare const selectRelevantData: (data: any, documento: string) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
ccf: any;
|
|
7
|
-
dividasPublicas: any;
|
|
8
|
-
processosJuridicos: any;
|
|
9
|
-
bankAccounts: any;
|
|
10
|
-
ccfData: any;
|
|
11
|
-
divida: any;
|
|
12
|
-
dossie: any;
|
|
13
|
-
imoveis: any;
|
|
14
|
-
liminar: any;
|
|
15
|
-
partners: any;
|
|
16
|
-
pepData: any;
|
|
17
|
-
processosJuridicosData: any;
|
|
18
|
-
protestosData: any;
|
|
19
|
-
reclameAqui: any;
|
|
20
|
-
refinBoaVista: any;
|
|
21
|
-
refinSerasa: any;
|
|
22
|
-
scoreData: any;
|
|
23
|
-
scr: any;
|
|
24
|
-
veiculos: any;
|
|
3
|
+
dadosFiltrados: {
|
|
4
|
+
[k: string]: any;
|
|
5
|
+
};
|
|
25
6
|
};
|
|
@@ -15,29 +15,40 @@ export function flattenData(data) {
|
|
|
15
15
|
return safeStringify(flattened);
|
|
16
16
|
}
|
|
17
17
|
export var selectRelevantData = function (data, documento) {
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
var _a = data || {}, protestosDeCredito = _a.protestos, chequesSemFundo = _a.ccf, dividasPublicas = _a.dividasPublicas, processosJuridicos = _a.processosJuridicos, contasBancarias = _a.bankAccounts, dadosDeChequesSemFundo = _a.ccfData, dividas = _a.divida, _b = _a.dossie, perfilDaEmpresa = _b.carousel, resumoDaEmpresa = _b.summary, liminar = _a.liminar, socios = _a.partners, dadosPessoasExpostasPoliticamente = _a.pepData, detalhesProcessosJuridicos = _a.processosJuridicosData, detalhesDosProtestos = _a.protestosData, dadosReclameAqui = _a.reclameAqui, relatoriosRefinBoaVista = _a.refinBoaVista, relatoriosRefinSerasa = _a.refinSerasa, dadosScore = _a.scoreData, relatoriosSCR = _a.scr, registrosDeVeiculos = _a.veiculos;
|
|
19
|
+
var liminarResult = liminar && liminar.totalProtestos === 'NADA CONSTA'
|
|
20
|
+
? 'Liminar para esconder protestos'
|
|
21
|
+
: liminar
|
|
22
|
+
? 'TEM LIMINAR'
|
|
23
|
+
: undefined;
|
|
24
|
+
var dadosOrganizados = {
|
|
25
|
+
documento: documento || undefined,
|
|
26
|
+
protestosDeCredito: protestosDeCredito,
|
|
27
|
+
chequesSemFundo: chequesSemFundo,
|
|
24
28
|
dividasPublicas: dividasPublicas,
|
|
25
29
|
processosJuridicos: processosJuridicos,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
liminar:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
30
|
+
contasBancarias: contasBancarias,
|
|
31
|
+
dadosDeChequesSemFundo: dadosDeChequesSemFundo,
|
|
32
|
+
dividas: dividas,
|
|
33
|
+
perfilDaEmpresa: perfilDaEmpresa,
|
|
34
|
+
resumoDaEmpresa: resumoDaEmpresa,
|
|
35
|
+
liminar: liminarResult,
|
|
36
|
+
socios: socios,
|
|
37
|
+
dadosPessoasExpostasPoliticamente: dadosPessoasExpostasPoliticamente,
|
|
38
|
+
detalhesProcessosJuridicos: detalhesProcessosJuridicos,
|
|
39
|
+
detalhesDosProtestos: detalhesDosProtestos,
|
|
40
|
+
dadosReclameAqui: dadosReclameAqui,
|
|
41
|
+
relatoriosRefinBoaVista: relatoriosRefinBoaVista,
|
|
42
|
+
relatoriosRefinSerasa: relatoriosRefinSerasa,
|
|
43
|
+
dadosScore: dadosScore,
|
|
44
|
+
relatoriosSCR: relatoriosSCR,
|
|
45
|
+
registrosDeVeiculos: registrosDeVeiculos
|
|
46
|
+
};
|
|
47
|
+
var dadosFiltrados = Object.fromEntries(Object.entries(dadosOrganizados).filter(function (_a) {
|
|
48
|
+
var _ = _a[0], valor = _a[1];
|
|
49
|
+
return valor !== undefined;
|
|
50
|
+
}));
|
|
51
|
+
return {
|
|
52
|
+
dadosFiltrados: dadosFiltrados
|
|
42
53
|
};
|
|
43
54
|
};
|
|
@@ -30,6 +30,7 @@ import { useStreamQuery } from '../../../components/streamQuery';
|
|
|
30
30
|
import { useGlobalData } from '../../../contexts/globalDataContext';
|
|
31
31
|
import useToggle from '../../../hooks/useToggle';
|
|
32
32
|
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
33
|
+
import ReactMarkdown from 'react-markdown';
|
|
33
34
|
import { flattenData, selectRelevantData } from './dataUtils';
|
|
34
35
|
import { createQueryAndMessages } from './queryUtils';
|
|
35
36
|
import { BetaTag, ChatInput, ChatInputContainer, Container, ContainerInput, Header, HeaderContent, InitialMessageBox, InitialMessageContent, LoadingDots, Message, MessageHistory, SendButton, Title } from './styles';
|
|
@@ -125,20 +126,26 @@ var Llama = function (_a) {
|
|
|
125
126
|
}
|
|
126
127
|
};
|
|
127
128
|
useEffect(function () {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
129
|
+
var timeoutId;
|
|
130
|
+
if (globalData && documento) {
|
|
131
|
+
timeoutId = setTimeout(function () {
|
|
132
|
+
try {
|
|
133
|
+
var relevantData = selectRelevantData(globalData, documento);
|
|
134
|
+
var serialized = flattenData(relevantData);
|
|
135
|
+
setSerializedData(serialized);
|
|
136
|
+
setQueryEnabled(true);
|
|
137
|
+
setHasMadeInitialRequest(true);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
console.error('Erro ao preparar os dados para a API:', error);
|
|
141
|
+
setSerializedData('{}');
|
|
142
|
+
setQueryEnabled(false);
|
|
143
|
+
}
|
|
144
|
+
}, 3000);
|
|
141
145
|
}
|
|
146
|
+
return function () {
|
|
147
|
+
clearTimeout(timeoutId);
|
|
148
|
+
};
|
|
142
149
|
}, [documento, globalData, hasMadeInitialRequest]);
|
|
143
150
|
var queryData = useMemo(function () {
|
|
144
151
|
if (!queryEnabled || !serializedData || serializedData === '{}')
|
|
@@ -229,7 +236,7 @@ var Llama = function (_a) {
|
|
|
229
236
|
currentMessageIndex === 0 &&
|
|
230
237
|
!((_b = messageHistory[0]) === null || _b === void 0 ? void 0 : _b.content) ? (React.createElement(LoadingDots, null)) : shouldStartTyping &&
|
|
231
238
|
isTyping &&
|
|
232
|
-
currentMessageIndex === 0 ? (typingMessage) : ((_c = messageHistory[0]) === null || _c === void 0 ? void 0 : _c.content))),
|
|
239
|
+
currentMessageIndex === 0 ? (typingMessage) : (React.createElement(ReactMarkdown, null, ((_c = messageHistory[0]) === null || _c === void 0 ? void 0 : _c.content) || '')))),
|
|
233
240
|
React.createElement("div", { className: "additional-message" },
|
|
234
241
|
React.createElement("p", null, "Voc\u00EA pode fazer perguntas como:"),
|
|
235
242
|
React.createElement("p", { className: "blue-text" }, "\u00C9 seguro oferecer um cr\u00E9dito de R$ 15.000,00 a uma taxa de juros de 3% em 12x?")),
|
|
@@ -242,7 +249,8 @@ var Llama = function (_a) {
|
|
|
242
249
|
.map(function (msg, index) { return (React.createElement(Message, { key: index + 1, role: msg.role },
|
|
243
250
|
React.createElement("div", { className: "icon-and-message" },
|
|
244
251
|
msg.role === 'user' ? (React.createElement(Person, { size: 18 })) : (React.createElement(Credithub, { size: 18, className: "initial-icon" })),
|
|
245
|
-
React.createElement("span", null,
|
|
252
|
+
React.createElement("span", null,
|
|
253
|
+
React.createElement(ReactMarkdown, null, msg.content))))); }),
|
|
246
254
|
isLoading && ((_d = messageHistory[0]) === null || _d === void 0 ? void 0 : _d.content) !== undefined ? (React.createElement(Message, { role: "assistant" },
|
|
247
255
|
React.createElement("div", { className: "icon-and-message" },
|
|
248
256
|
React.createElement(Credithub, { size: 18, className: "initial-icon" }),
|
|
@@ -250,7 +258,8 @@ var Llama = function (_a) {
|
|
|
250
258
|
React.createElement(LoadingDots, null))))) : shouldStartTyping && isTyping && currentMessageIndex > 0 ? (React.createElement(Message, { role: "assistant" },
|
|
251
259
|
React.createElement("div", { className: "icon-and-message" },
|
|
252
260
|
React.createElement(Credithub, { size: 18, className: "initial-icon" }),
|
|
253
|
-
React.createElement("span", null,
|
|
261
|
+
React.createElement("span", null,
|
|
262
|
+
React.createElement(ReactMarkdown, null, typingMessage))))) : null)),
|
|
254
263
|
React.createElement(ContainerInput, null,
|
|
255
264
|
React.createElement(ChatInputContainer, null,
|
|
256
265
|
React.createElement(ChatInput, { type: "text", placeholder: "Digite o que deseja saber sobre esse dossi\u00EA", value: userInput, onChange: function (e) { return setUserInput(e.target.value); }, onKeyPress: handleKeyPress, disabled: isProcessing || isTyping }),
|
|
@@ -7,16 +7,17 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
7
7
|
}
|
|
8
8
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
9
|
};
|
|
10
|
+
import { stringify } from 'yaml';
|
|
10
11
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
11
12
|
export var createQueryAndMessages = function (relevantData, messageHistory, extraMessage) {
|
|
12
13
|
var baseMessages = __spreadArray([
|
|
13
14
|
{
|
|
14
15
|
role: 'system',
|
|
15
|
-
content: "\n
|
|
16
|
+
content: "\n Voc\u00EA \u00E9 NostraCredit, um assistente de an\u00E1lise de cr\u00E9dito do CreditHub, especializado em fornecer insights para decis\u00F5es de cr\u00E9dito no Brasil. Sua fun\u00E7\u00E3o \u00E9 analisar dossi\u00EAs de cr\u00E9dito e destacar informa\u00E7\u00F5es que possam influenciar negativamente a concess\u00E3o de cr\u00E9dito, como:\n\n - Protestos (atrasos em pagamentos).\n - Cheques sem fundo (CCF).\n - D\u00EDvidas p\u00FAblicas (impostos n\u00E3o pagos).\n - Liminares (que ocultam informa\u00E7\u00F5es de risco).\n - Processos judiciais (conflitos pendentes).\n\n Sua resposta deve incluir:\n 1. Uma an\u00E1lise clara dos principais fatores de risco, priorizando processos judiciais e protestos.\n 2. Sugest\u00F5es sobre taxas de juros e condi\u00E7\u00F5es de pagamento, conforme o risco identificado.\n 3. Recomenda\u00E7\u00E3o final resumida, incluindo uma taxa de juros com base no risco.\n\n **Mantenha suas respostas diretas, objetivas e formatadas em portugu\u00EAs simples, sem jarg\u00F5es t\u00E9cnicos, nomes de chaves do YAML ou men\u00E7\u00E3o a IDs ou identificadores de qualquer tipo (ex.: n\u00FAmeros de documentos ou chaves t\u00E9cnicas). Evite qualquer refer\u00EAncia a valores booleanos ou irrelevantes. Use descri\u00E7\u00F5es amig\u00E1veis e compreens\u00EDveis.**\n Caso informa\u00E7\u00F5es essenciais estejam faltando, fa\u00E7a perguntas para garantir uma an\u00E1lise completa. Responda como um especialista acess\u00EDvel, auxiliando na tomada de decis\u00E3o de cr\u00E9dito.\n "
|
|
16
17
|
},
|
|
17
18
|
{
|
|
18
19
|
role: 'user',
|
|
19
|
-
content: "\n
|
|
20
|
+
content: "\n Analisar o dossi\u00EA da seguinte empresa:\n```yaml\n".concat(stringify(JSON.parse(relevantData)), "\n```\n\n 1. Identifique os protestos, processos judiciais e outros problemas financeiros da empresa, e os descreva com termos claros, como \"valor financeiro\" ou \"pend\u00EAncia judicial\", sem mencionar nomes t\u00E9cnicos, IDs, chaves ou valores booleanos.\n 2. Descreva os processos judiciais e protestos em termos simples, utilizando frases como \"protesto registrado\" ou \"processo judicial ativo\", garantindo que a linguagem seja compreens\u00EDvel para um usu\u00E1rio comum.\n 3. Resuma os pontos cr\u00EDticos de forma objetiva, explicando como esses fatores podem impactar a decis\u00E3o de cr\u00E9dito. Enfatize o risco que eles representam para a empresa.\n 4. Responda com uma recomenda\u00E7\u00E3o final objetiva, propondo uma taxa de juros ou condi\u00E7\u00F5es espec\u00EDficas com base no risco identificado, como garantias adicionais ou prazos diferenciados.\n\n **Responda sempre em portugu\u00EAs claro e evite mencionar qualquer nome de campo do YAML, IDs ou n\u00FAmeros de documentos nas suas respostas. Certifique-se de eliminar qualquer dado n\u00E3o intelig\u00EDvel ou irrelevante, como valores booleanos.**\n\n ").concat(extraMessage || '', "\n ")
|
|
20
21
|
}
|
|
21
22
|
], messageHistory, true);
|
|
22
23
|
return {
|
|
@@ -7,7 +7,7 @@ export var BetaTag = styled.span(templateObject_1 || (templateObject_1 = __makeT
|
|
|
7
7
|
export var dotFlashing = keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n 0% {\n opacity: 1;\n }\n 50%,\n 100% {\n opacity: 0;\n }\n"], ["\n 0% {\n opacity: 1;\n }\n 50%,\n 100% {\n opacity: 0;\n }\n"])));
|
|
8
8
|
export var LoadingDots = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n &::after {\n content: '...';\n animation: ", " 1.2s infinite steps(3, end);\n display: inline-block;\n width: 1em;\n text-align: left;\n }\n"], ["\n &::after {\n content: '...';\n animation: ", " 1.2s infinite steps(3, end);\n display: inline-block;\n width: 1em;\n text-align: left;\n }\n"])), dotFlashing);
|
|
9
9
|
export var InitialMessageBox = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n padding: 20px;\n border-radius: 8px;\n margin-bottom: 20px;\n width: 95%;\n"], ["\n padding: 20px;\n border-radius: 8px;\n margin-bottom: 20px;\n width: 95%;\n"])));
|
|
10
|
-
export var InitialMessageContent = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n font-size: 1rem;\n line-height: 1.5;\n padding: 20px 56px;\n display: flex;\n flex-direction: column;\n\n .icon-and-text {\n display: flex;\n align-items: flex-start;\n margin-bottom: 16px;\n }\n\n svg.initial-icon {\n width: 18px;\n height: 18px;\n margin-right: 8px;\n flex-shrink: 0;\n align-self: flex-start;\n }\n\n .additional-message {\n margin-top: 16px;\n padding-left: 26px;\n\n p {\n margin: 0;\n }\n\n .blue-text {\n color: ", ";\n font-weight: bold;\n }\n }\n\n .final-message {\n margin-top: 16px;\n display: flex;\n align-items: center;\n color: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n\n svg {\n margin-right: 8px;\n }\n\n p {\n margin: 0;\n }\n }\n\n @media (max-width: 768px) {\n font-size: 0.9rem;\n padding: 10px 20px;\n\n .additional-message {\n padding-left: 20px;\n }\n }\n"], ["\n font-size: 1rem;\n line-height: 1.5;\n padding: 20px 56px;\n display: flex;\n flex-direction: column;\n\n .icon-and-text {\n display: flex;\n align-items: flex-start;\n margin-bottom: 16px;\n }\n\n svg.initial-icon {\n width: 18px;\n height: 18px;\n margin-right: 8px;\n flex-shrink: 0;\n align-self: flex-start;\n }\n\n .additional-message {\n margin-top: 16px;\n padding-left: 26px;\n\n p {\n margin: 0;\n }\n\n .blue-text {\n color: ", ";\n font-weight: bold;\n }\n }\n\n .final-message {\n margin-top: 16px;\n display: flex;\n align-items: center;\n color: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n\n svg {\n margin-right: 8px;\n }\n\n p {\n margin: 0;\n }\n }\n\n @media (max-width: 768px) {\n font-size: 0.9rem;\n padding: 10px 20px;\n\n .additional-message {\n padding-left: 20px;\n }\n }\n"])), function (_a) {
|
|
10
|
+
export var InitialMessageContent = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n font-size: 1rem;\n line-height: 1.5;\n padding: 20px 56px;\n display: flex;\n flex-direction: column;\n\n .icon-and-text {\n display: flex;\n align-items: flex-start;\n margin-bottom: 16px;\n\n span p:first-child {\n margin-top: 0;\n margin-bottom: -8px;\n margin-left: 8px;\n display: inline-block;\n }\n }\n\n svg.initial-icon {\n width: 18px;\n height: 18px;\n margin-right: 8px;\n flex-shrink: 0;\n align-self: flex-start;\n }\n\n .additional-message {\n margin-top: 16px;\n padding-left: 26px;\n\n p {\n margin: 0;\n }\n\n .blue-text {\n color: ", ";\n font-weight: bold;\n }\n }\n\n .final-message {\n margin-top: 16px;\n display: flex;\n align-items: center;\n color: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n\n svg {\n margin-right: 8px;\n }\n\n p {\n margin: 0;\n }\n }\n\n @media (max-width: 768px) {\n font-size: 0.9rem;\n padding: 10px 20px;\n\n .additional-message {\n padding-left: 20px;\n }\n }\n"], ["\n font-size: 1rem;\n line-height: 1.5;\n padding: 20px 56px;\n display: flex;\n flex-direction: column;\n\n .icon-and-text {\n display: flex;\n align-items: flex-start;\n margin-bottom: 16px;\n\n span p:first-child {\n margin-top: 0;\n margin-bottom: -8px;\n margin-left: 8px;\n display: inline-block;\n }\n }\n\n svg.initial-icon {\n width: 18px;\n height: 18px;\n margin-right: 8px;\n flex-shrink: 0;\n align-self: flex-start;\n }\n\n .additional-message {\n margin-top: 16px;\n padding-left: 26px;\n\n p {\n margin: 0;\n }\n\n .blue-text {\n color: ", ";\n font-weight: bold;\n }\n }\n\n .final-message {\n margin-top: 16px;\n display: flex;\n align-items: center;\n color: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n\n svg {\n margin-right: 8px;\n }\n\n p {\n margin: 0;\n }\n }\n\n @media (max-width: 768px) {\n font-size: 0.9rem;\n padding: 10px 20px;\n\n .additional-message {\n padding-left: 20px;\n }\n }\n"])), function (_a) {
|
|
11
11
|
var theme = _a.theme;
|
|
12
12
|
return theme.colors.azulCredithub;
|
|
13
13
|
}, function (_a) {
|
|
@@ -37,7 +37,7 @@ export var MessageHistory = styled.div(templateObject_10 || (templateObject_10 =
|
|
|
37
37
|
var theme = _a.theme;
|
|
38
38
|
return theme.colors.cinzaBackground;
|
|
39
39
|
});
|
|
40
|
-
export var Message = styled.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n display: flex;\n align-items: flex-start;\n padding: 10px 15px;\n margin: 10px 0;\n max-width: 90%;\n border-radius: 16px;\n word-wrap: break-word;\n background-color: ", ";\n color: ", ";\n align-self: ", ";\n text-align: ", ";\n overflow-y: auto;\n opacity: 0;\n transform: translateY(20px);\n animation: fadeIn 0.5s ease-out forwards;\n\n .icon-and-message {\n display: flex;\n align-items:
|
|
40
|
+
export var Message = styled.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n display: flex;\n align-items: flex-start;\n padding: 10px 15px;\n margin: 10px 0;\n max-width: 90%;\n border-radius: 16px;\n word-wrap: break-word;\n background-color: ", ";\n color: ", ";\n align-self: ", ";\n text-align: ", ";\n overflow-y: auto;\n opacity: 0;\n transform: translateY(20px);\n animation: fadeIn 0.5s ease-out forwards;\n\n .icon-and-message {\n display: flex;\n align-items: center;\n gap: 8px;\n\n span p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n margin-left: 0;\n display: inline-block;\n }\n }\n\n svg {\n flex-shrink: 0;\n align-self: flex-start;\n }\n\n span {\n font-size: 1rem;\n line-height: 1.5;\n }\n\n @media (max-width: 768px) {\n padding: 8px;\n margin: 8px 0;\n max-width: 80%;\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n"], ["\n display: flex;\n align-items: flex-start;\n padding: 10px 15px;\n margin: 10px 0;\n max-width: 90%;\n border-radius: 16px;\n word-wrap: break-word;\n background-color: ", ";\n color: ", ";\n align-self: ", ";\n text-align: ", ";\n overflow-y: auto;\n opacity: 0;\n transform: translateY(20px);\n animation: fadeIn 0.5s ease-out forwards;\n\n .icon-and-message {\n display: flex;\n align-items: center;\n gap: 8px;\n\n span p:first-child {\n margin-top: 0;\n margin-bottom: 0;\n margin-left: 0;\n display: inline-block;\n }\n }\n\n svg {\n flex-shrink: 0;\n align-self: flex-start;\n }\n\n span {\n font-size: 1rem;\n line-height: 1.5;\n }\n\n @media (max-width: 768px) {\n padding: 8px;\n margin: 8px 0;\n max-width: 80%;\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n"])), function (_a) {
|
|
41
41
|
var theme = _a.theme;
|
|
42
42
|
return theme.colors.white;
|
|
43
43
|
}, function (_a) {
|
|
@@ -62,7 +62,7 @@ export var SendButton = styled.button(templateObject_14 || (templateObject_14 =
|
|
|
62
62
|
var theme = _a.theme;
|
|
63
63
|
return theme.colors.azulApoio;
|
|
64
64
|
});
|
|
65
|
-
export var ContainerInput = styled.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 20px;\n background-color: ", ";\n width: 100%;\n max-width: 820px;\n margin: 0 auto;\n\n @media (max-width: 768px) {\n padding: 10px;\n max-width: 100%;\n }\n"], ["\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 20px;\n background-color: ", ";\n width: 100%;\n max-width: 820px;\n margin: 0 auto;\n\n @media (max-width: 768px) {\n padding: 10px;\n max-width: 100%;\n }\n"])), function (_a) {
|
|
65
|
+
export var ContainerInput = styled.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 20px;\n background-color: ", ";\n width: 100%;\n max-width: 820px;\n margin: 0 auto;\n\n @media (max-width: 768px) {\n padding: 10px;\n max-width: 100%;\n }\n\n @media print {\n display: none;\n }\n"], ["\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 20px;\n background-color: ", ";\n width: 100%;\n max-width: 820px;\n margin: 0 auto;\n\n @media (max-width: 768px) {\n padding: 10px;\n max-width: 100%;\n }\n\n @media print {\n display: none;\n }\n"])), function (_a) {
|
|
66
66
|
var theme = _a.theme;
|
|
67
67
|
return theme.colors.white;
|
|
68
68
|
});
|