@credithub/harlan-components 1.3.4 → 1.4.1

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 (121) hide show
  1. package/lib/cjs/components/ccf/ccf.js +2 -5
  2. package/lib/cjs/components/chart/categoryProtestos.d.ts +4 -0
  3. package/lib/cjs/components/chart/categoryProtestos.js +97 -0
  4. package/lib/cjs/components/chart/chartContent.d.ts +7 -0
  5. package/lib/cjs/components/chart/chartContent.js +77 -0
  6. package/lib/cjs/components/chart/chartHelper.d.ts +7 -0
  7. package/lib/cjs/components/chart/chartHelper.js +66 -0
  8. package/lib/cjs/components/chart/customChart.d.ts +10 -0
  9. package/lib/cjs/components/chart/customChart.js +125 -0
  10. package/lib/cjs/components/chart/getUniqueDates.d.ts +2 -0
  11. package/lib/cjs/components/chart/getUniqueDates.js +8 -0
  12. package/lib/cjs/components/chart/plotly/barChartDataStrategy.d.ts +14 -0
  13. package/lib/cjs/components/chart/plotly/barChartDataStrategy.js +152 -0
  14. package/lib/cjs/components/chart/plotly/baseChartDataStrategy.d.ts +8 -0
  15. package/lib/cjs/components/chart/plotly/baseChartDataStrategy.js +31 -0
  16. package/lib/cjs/components/chart/plotly/getSeries.d.ts +3 -0
  17. package/lib/cjs/components/chart/plotly/getSeries.js +35 -0
  18. package/lib/cjs/components/chart/plotly/iChartDataStrategy.d.ts +35 -0
  19. package/lib/cjs/components/chart/plotly/iChartDataStrategy.js +2 -0
  20. package/lib/cjs/components/chart/plotly/index.d.ts +5 -0
  21. package/lib/cjs/components/chart/plotly/index.js +20 -0
  22. package/lib/cjs/components/chart/plotly/layoutLineBarChart.d.ts +39 -0
  23. package/lib/cjs/components/chart/plotly/layoutLineBarChart.js +65 -0
  24. package/lib/cjs/components/chart/plotly/lineChartDataStrategy.d.ts +17 -0
  25. package/lib/cjs/components/chart/plotly/lineChartDataStrategy.js +198 -0
  26. package/lib/cjs/components/chart/plotly/pieChartDataStrategy.d.ts +5 -0
  27. package/lib/cjs/components/chart/plotly/pieChartDataStrategy.js +45 -0
  28. package/lib/cjs/components/chart/plotly/types.d.ts +40 -0
  29. package/lib/cjs/components/chart/plotly/types.js +2 -0
  30. package/lib/cjs/components/chart/processChartData.d.ts +5 -0
  31. package/lib/cjs/components/chart/processChartData.js +41 -0
  32. package/lib/cjs/components/chart/quantityResult.d.ts +17 -0
  33. package/lib/cjs/components/chart/quantityResult.js +38 -0
  34. package/lib/cjs/components/chart/useCalculation.d.ts +6 -0
  35. package/lib/cjs/components/chart/useCalculation.js +12 -0
  36. package/lib/cjs/components/chart/useUltimaOcorrenciaCCF.d.ts +2 -0
  37. package/lib/cjs/components/chart/useUltimaOcorrenciaCCF.js +20 -0
  38. package/lib/cjs/components/dossie/transactionTable/transactionTable.js +2 -4
  39. package/lib/cjs/components/processos-juridicos/processosJuridicosList.js +6 -3
  40. package/lib/cjs/components/protestos/getTotalProtestos.d.ts +1 -0
  41. package/lib/cjs/components/protestos/getTotalProtestos.js +10 -0
  42. package/lib/cjs/components/protestos/protestosCategory.js +1 -1
  43. package/lib/cjs/components/protestos/protestosList.js +2 -1
  44. package/lib/cjs/components/webservice.d.ts +14 -0
  45. package/lib/cjs/components/webservice.js +6 -5
  46. package/lib/cjs/consultaSimples.js +13 -11
  47. package/lib/cjs/index.d.ts +1 -0
  48. package/lib/cjs/index.js +4 -1
  49. package/lib/cjs/mock/mockDataInput.d.ts +34 -0
  50. package/lib/cjs/mock/mockDataInput.js +139 -0
  51. package/lib/cjs/utils/calculation.d.ts +9 -0
  52. package/lib/cjs/utils/calculation.js +23 -0
  53. package/lib/cjs/utils/date.d.ts +1 -0
  54. package/lib/cjs/utils/date.js +10 -0
  55. package/lib/cjs/utils/formatter.d.ts +2 -0
  56. package/lib/cjs/utils/formatter.js +7 -0
  57. package/lib/cjs/utils/number.d.ts +3 -2
  58. package/lib/cjs/utils/number.js +9 -5
  59. package/lib/cjs/utils/string.d.ts +1 -0
  60. package/lib/cjs/utils/string.js +8 -3
  61. package/lib/esm/components/ccf/ccf.js +2 -5
  62. package/lib/esm/components/chart/categoryProtestos.d.ts +4 -0
  63. package/lib/esm/components/chart/categoryProtestos.js +69 -0
  64. package/lib/esm/components/chart/chartContent.d.ts +7 -0
  65. package/lib/esm/components/chart/chartContent.js +49 -0
  66. package/lib/esm/components/chart/chartHelper.d.ts +7 -0
  67. package/lib/esm/components/chart/chartHelper.js +60 -0
  68. package/lib/esm/components/chart/customChart.d.ts +10 -0
  69. package/lib/esm/components/chart/customChart.js +95 -0
  70. package/lib/esm/components/chart/getUniqueDates.d.ts +2 -0
  71. package/lib/esm/components/chart/getUniqueDates.js +4 -0
  72. package/lib/esm/components/chart/plotly/barChartDataStrategy.d.ts +14 -0
  73. package/lib/esm/components/chart/plotly/barChartDataStrategy.js +149 -0
  74. package/lib/esm/components/chart/plotly/baseChartDataStrategy.d.ts +8 -0
  75. package/lib/esm/components/chart/plotly/baseChartDataStrategy.js +28 -0
  76. package/lib/esm/components/chart/plotly/getSeries.d.ts +3 -0
  77. package/lib/esm/components/chart/plotly/getSeries.js +31 -0
  78. package/lib/esm/components/chart/plotly/iChartDataStrategy.d.ts +35 -0
  79. package/lib/esm/components/chart/plotly/iChartDataStrategy.js +1 -0
  80. package/lib/esm/components/chart/plotly/index.d.ts +5 -0
  81. package/lib/esm/components/chart/plotly/index.js +5 -0
  82. package/lib/esm/components/chart/plotly/layoutLineBarChart.d.ts +39 -0
  83. package/lib/esm/components/chart/plotly/layoutLineBarChart.js +62 -0
  84. package/lib/esm/components/chart/plotly/lineChartDataStrategy.d.ts +17 -0
  85. package/lib/esm/components/chart/plotly/lineChartDataStrategy.js +195 -0
  86. package/lib/esm/components/chart/plotly/pieChartDataStrategy.d.ts +5 -0
  87. package/lib/esm/components/chart/plotly/pieChartDataStrategy.js +42 -0
  88. package/lib/esm/components/chart/plotly/types.d.ts +40 -0
  89. package/lib/esm/components/chart/plotly/types.js +1 -0
  90. package/lib/esm/components/chart/processChartData.d.ts +5 -0
  91. package/lib/esm/components/chart/processChartData.js +37 -0
  92. package/lib/esm/components/chart/quantityResult.d.ts +17 -0
  93. package/lib/esm/components/chart/quantityResult.js +33 -0
  94. package/lib/esm/components/chart/useCalculation.d.ts +6 -0
  95. package/lib/esm/components/chart/useCalculation.js +8 -0
  96. package/lib/esm/components/chart/useUltimaOcorrenciaCCF.d.ts +2 -0
  97. package/lib/esm/components/chart/useUltimaOcorrenciaCCF.js +15 -0
  98. package/lib/esm/components/dossie/transactionTable/transactionTable.js +2 -4
  99. package/lib/esm/components/processos-juridicos/processosJuridicosList.js +6 -3
  100. package/lib/esm/components/protestos/getTotalProtestos.d.ts +1 -0
  101. package/lib/esm/components/protestos/getTotalProtestos.js +4 -0
  102. package/lib/esm/components/protestos/protestosCategory.js +1 -1
  103. package/lib/esm/components/protestos/protestosList.js +2 -1
  104. package/lib/esm/components/webservice.d.ts +14 -0
  105. package/lib/esm/components/webservice.js +3 -2
  106. package/lib/esm/consultaSimples.js +14 -12
  107. package/lib/esm/index.d.ts +1 -0
  108. package/lib/esm/index.js +1 -0
  109. package/lib/esm/mock/mockDataInput.d.ts +34 -0
  110. package/lib/esm/mock/mockDataInput.js +137 -0
  111. package/lib/esm/utils/calculation.d.ts +9 -0
  112. package/lib/esm/utils/calculation.js +17 -0
  113. package/lib/esm/utils/date.d.ts +1 -0
  114. package/lib/esm/utils/date.js +6 -0
  115. package/lib/esm/utils/formatter.d.ts +2 -0
  116. package/lib/esm/utils/formatter.js +5 -0
  117. package/lib/esm/utils/number.d.ts +3 -2
  118. package/lib/esm/utils/number.js +7 -4
  119. package/lib/esm/utils/string.d.ts +1 -0
  120. package/lib/esm/utils/string.js +6 -2
  121. package/package.json +8 -2
@@ -1,20 +1,22 @@
1
1
  import React from "react";
2
- import { Section, Contacts, Partners, Dossie, Addresses, CCF, Protestos, ProcessosJuridicos, BankAccounts, WebServiceProvider, Queries, } from "./";
2
+ import { Section, Contacts, Partners, Dossie, Addresses, CCF, Protestos, ProcessosJuridicos, BankAccounts, WebServiceProvider, Queries, CustomChartSection, } from "./";
3
3
  var ConsultaSimples = function (_a) {
4
4
  var documento = _a.documento, apiKey = _a.apiKey, onClose = _a.onClose;
5
5
  return (React.createElement(WebServiceProvider, { credential: apiKey },
6
6
  React.createElement(Section, { title: "Consulta Simples", subtitle: "Informa\u00E7\u00F5es agregadas do CPF ou CNPJ", description: "Registro encontrado", onClose: onClose },
7
7
  React.createElement(Queries.Finder.Request, { data: { documento: documento } },
8
- React.createElement(Dossie, { onOpenNewTransactionModal: console.log }),
9
- React.createElement(Addresses, { apiKey: apiKey }),
10
- React.createElement(Contacts, { onClickConsutarEmail: console.log }),
11
- React.createElement(Partners, null),
12
- React.createElement(BankAccounts, null)),
13
- React.createElement(Queries.CCF.Request, { data: { documento: documento } },
14
- React.createElement(CCF, null)),
15
- React.createElement(Queries.Protestos.Request, { data: { documento: documento } },
16
- React.createElement(Protestos, null)),
17
- React.createElement(Queries.ProcessosJuridicos.Request, { data: { documento: documento } },
18
- React.createElement(ProcessosJuridicos, { onClickConsultarProcessoJuridico: console.log })))));
8
+ React.createElement(Queries.CCF.Request, { data: { documento: documento } },
9
+ React.createElement(Queries.Protestos.Request, { data: { documento: documento } },
10
+ React.createElement(Queries.ProcessosJuridicos.Request, { data: { documento: documento } },
11
+ React.createElement(Dossie, { onOpenNewTransactionModal: console.log }),
12
+ React.createElement(Addresses, { apiKey: apiKey }),
13
+ React.createElement(Contacts, { onClickConsutarEmail: console.log }),
14
+ React.createElement(Partners, null),
15
+ React.createElement(BankAccounts, null),
16
+ React.createElement(Queries.GraficosAnaliticos.Request, { data: { documento: documento } },
17
+ React.createElement(CustomChartSection, { documento: documento })),
18
+ React.createElement(Protestos, null),
19
+ React.createElement(CCF, null),
20
+ React.createElement(ProcessosJuridicos, { onClickConsultarProcessoJuridico: console.log }))))))));
19
21
  };
20
22
  export default ConsultaSimples;
@@ -9,6 +9,7 @@ export { default as CCF } from "./components/ccf/ccf";
9
9
  export { default as Dossie } from "./components/dossie/dossie";
10
10
  export { default as ProcessosJuridicos } from "./components/processos-juridicos/processosJuridicos";
11
11
  export { default as Addresses } from "./components/adresses/adresses";
12
+ export { default as Chart, ResumoDeNegativacoesChartSection as CustomChartSection } from "./components/chart/customChart";
12
13
  export { default as BankAccounts } from "./components/bank-accounts/bank-accounts";
13
14
  export { default as ResultWithoutInformation } from "./components/interface/resultWithoutInformation";
14
15
  export * from "./components/webservice";
package/lib/esm/index.js CHANGED
@@ -9,6 +9,7 @@ export { default as CCF } from "./components/ccf/ccf";
9
9
  export { default as Dossie } from "./components/dossie/dossie";
10
10
  export { default as ProcessosJuridicos } from "./components/processos-juridicos/processosJuridicos";
11
11
  export { default as Addresses } from "./components/adresses/adresses";
12
+ export { default as Chart, ResumoDeNegativacoesChartSection as CustomChartSection } from "./components/chart/customChart";
12
13
  export { default as BankAccounts } from "./components/bank-accounts/bank-accounts";
13
14
  export { default as ResultWithoutInformation } from "./components/interface/resultWithoutInformation";
14
15
  export * from "./components/webservice";
@@ -0,0 +1,34 @@
1
+ declare const mockDataInput: {
2
+ ccfs: {
3
+ data: string;
4
+ quantidade: number;
5
+ creation: string;
6
+ valorTotal: number;
7
+ }[];
8
+ protestos: {
9
+ data: string;
10
+ categoria: string;
11
+ quantidade: number;
12
+ creation: string;
13
+ valorTotal: number;
14
+ }[];
15
+ serasa: {
16
+ data: string;
17
+ quantidade: number;
18
+ creation: string;
19
+ valorTotal: number;
20
+ }[];
21
+ boaVista: {
22
+ data: string;
23
+ quantidade: number;
24
+ creation: string;
25
+ valorTotal: number;
26
+ }[];
27
+ dividasPublicasGrafico: {
28
+ data: string;
29
+ quantidade: number;
30
+ creation: string;
31
+ valorTotal: number;
32
+ }[];
33
+ };
34
+ export default mockDataInput;
@@ -0,0 +1,137 @@
1
+ var mockDataInput = {
2
+ ccfs: [
3
+ {
4
+ data: "01/01/2023",
5
+ quantidade: 10,
6
+ creation: "01/01/2023",
7
+ valorTotal: 5000,
8
+ },
9
+ {
10
+ data: "02/01/2023",
11
+ quantidade: 8,
12
+ creation: "02/01/2023",
13
+ valorTotal: 4500,
14
+ },
15
+ {
16
+ data: "03/01/2023",
17
+ quantidade: 12,
18
+ creation: "03/01/2023",
19
+ valorTotal: 5200,
20
+ },
21
+ {
22
+ data: "04/01/2023",
23
+ quantidade: 7,
24
+ creation: "04/01/2023",
25
+ valorTotal: 4300,
26
+ },
27
+ ],
28
+ protestos: [
29
+ {
30
+ data: "01/01/2023",
31
+ categoria: "Protestos de Crédito",
32
+ quantidade: 5,
33
+ creation: "01/01/2023",
34
+ valorTotal: 3000,
35
+ },
36
+ {
37
+ data: "02/01/2023",
38
+ categoria: "Protestos de Impostos",
39
+ quantidade: 7,
40
+ creation: "02/01/2023",
41
+ valorTotal: 3500,
42
+ },
43
+ {
44
+ data: "03/01/2023",
45
+ categoria: "Protestos em Geral",
46
+ quantidade: 6,
47
+ creation: "03/01/2023",
48
+ valorTotal: 3200,
49
+ },
50
+ {
51
+ data: "04/01/2023",
52
+ categoria: "Protestos em Geral",
53
+ quantidade: 9,
54
+ creation: "04/01/2023",
55
+ valorTotal: 3700,
56
+ },
57
+ ],
58
+ serasa: [
59
+ {
60
+ data: "01/01/2023",
61
+ quantidade: 20,
62
+ creation: "01/01/2023",
63
+ valorTotal: 10000,
64
+ },
65
+ {
66
+ data: "02/01/2023",
67
+ quantidade: 15,
68
+ creation: "02/01/2023",
69
+ valorTotal: 9000,
70
+ },
71
+ {
72
+ data: "03/01/2023",
73
+ quantidade: 18,
74
+ creation: "03/01/2023",
75
+ valorTotal: 9500,
76
+ },
77
+ {
78
+ data: "04/01/2023",
79
+ quantidade: 16,
80
+ creation: "04/01/2023",
81
+ valorTotal: 8800,
82
+ },
83
+ ],
84
+ boaVista: [
85
+ {
86
+ data: "01/01/2023",
87
+ quantidade: 8,
88
+ creation: "01/01/2023",
89
+ valorTotal: 4000,
90
+ },
91
+ {
92
+ data: "02/01/2023",
93
+ quantidade: 6,
94
+ creation: "02/01/2023",
95
+ valorTotal: 3600,
96
+ },
97
+ {
98
+ data: "03/01/2023",
99
+ quantidade: 7,
100
+ creation: "03/01/2023",
101
+ valorTotal: 3800,
102
+ },
103
+ {
104
+ data: "04/01/2023",
105
+ quantidade: 5,
106
+ creation: "04/01/2023",
107
+ valorTotal: 3500,
108
+ },
109
+ ],
110
+ dividasPublicasGrafico: [
111
+ {
112
+ data: "01/01/2023",
113
+ quantidade: 12,
114
+ creation: "01/01/2023",
115
+ valorTotal: 6000,
116
+ },
117
+ {
118
+ data: "02/01/2023",
119
+ quantidade: 10,
120
+ creation: "02/01/2023",
121
+ valorTotal: 5500,
122
+ },
123
+ {
124
+ data: "03/01/2023",
125
+ quantidade: 14,
126
+ creation: "03/01/2023",
127
+ valorTotal: 6200,
128
+ },
129
+ {
130
+ data: "04/01/2023",
131
+ quantidade: 11,
132
+ creation: "04/01/2023",
133
+ valorTotal: 5800,
134
+ },
135
+ ],
136
+ };
137
+ export default mockDataInput;
@@ -0,0 +1,9 @@
1
+ export interface ItemCalculo {
2
+ quantidade?: number | null;
3
+ valorTotal?: number | null;
4
+ data?: string | Date;
5
+ creation?: string | Date;
6
+ }
7
+ export declare function somarQuantidades(itens: ItemCalculo[]): number;
8
+ export declare function somarValoresTotais(itens: ItemCalculo[]): number;
9
+ export declare function encontrarDataMaisRecente(itens: ItemCalculo[]): string;
@@ -0,0 +1,17 @@
1
+ export function somarQuantidades(itens) {
2
+ return itens.reduce(function (total, item) { var _a; return total + ((_a = item.quantidade) !== null && _a !== void 0 ? _a : 0); }, 0);
3
+ }
4
+ export function somarValoresTotais(itens) {
5
+ return itens.reduce(function (total, item) { var _a; return total + ((_a = item.valorTotal) !== null && _a !== void 0 ? _a : 0); }, 0);
6
+ }
7
+ export function encontrarDataMaisRecente(itens) {
8
+ var maisRecente = itens.reduce(function (maisRecente, item) {
9
+ var dataAtual = item.data ? new Date(item.data) : new Date(0);
10
+ return dataAtual > maisRecente ? dataAtual : maisRecente;
11
+ }, new Date(0));
12
+ return (maisRecente.getDate().toString().padStart(2, "0") +
13
+ "/" +
14
+ (maisRecente.getMonth() + 1).toString().padStart(2, "0") +
15
+ "/" +
16
+ maisRecente.getFullYear().toString());
17
+ }
@@ -0,0 +1 @@
1
+ export declare function isDate(date: string | Date): boolean;
@@ -0,0 +1,6 @@
1
+ var dateRegex = /^\d{4}-\d{2}-\d{2}$/;
2
+ export function isDate(date) {
3
+ if (typeof date === 'string' && !dateRegex.test(date))
4
+ return false;
5
+ return !isNaN(new Date(date).getTime());
6
+ }
@@ -0,0 +1,2 @@
1
+ declare const formatter: Intl.NumberFormat;
2
+ export default formatter;
@@ -0,0 +1,5 @@
1
+ var formatter = new Intl.NumberFormat("pt-BR", {
2
+ style: "currency",
3
+ currency: "BRL",
4
+ });
5
+ export default formatter;
@@ -1,2 +1,3 @@
1
- export declare const formatMoney: (value: string | number) => string;
2
- export declare const phoneMask: (value: string) => string;
1
+ export declare const formatMoney: (value?: string | number) => string;
2
+ export declare const phoneMask: (value?: string) => string;
3
+ export declare function formatValue(valor?: number): string | undefined;
@@ -1,14 +1,17 @@
1
1
  export var formatMoney = function (value) {
2
- return new Intl.NumberFormat('pt-BR', {
3
- style: 'currency',
4
- currency: 'BRL'
2
+ return new Intl.NumberFormat("pt-BR", {
3
+ style: "currency",
4
+ currency: "BRL"
5
5
  }).format(Number(value));
6
6
  };
7
7
  export var phoneMask = function (value) {
8
8
  if (!value)
9
9
  return "";
10
- value = value.replace(/\D/g, '');
10
+ value = value.replace(/\D/g, "");
11
11
  value = value.replace(/(\d{2})(\d)/, "($1) $2");
12
12
  value = value.replace(/(\d)(\d{4})$/, "$1-$2");
13
13
  return value;
14
14
  };
15
+ export function formatValue(valor) {
16
+ return valor === null || valor === void 0 ? void 0 : valor.toLocaleString('pt-BR');
17
+ }
@@ -1,3 +1,4 @@
1
1
  export declare function formatCpf(cpf: string): string;
2
2
  export declare function formatCnpj(cnpj: string): string;
3
3
  export declare function isCnpj(documento: string): boolean;
4
+ export declare function formatDatePtBrToDate(date: string): Date;
@@ -1,16 +1,20 @@
1
1
  export function formatCpf(cpf) {
2
2
  cpf = cpf.replace(/[^0-9]/g, "");
3
3
  if (cpf.length !== 11)
4
- return '';
4
+ return "";
5
5
  return "".concat(cpf.slice(0, 3), ".").concat(cpf.slice(3, 6), ".").concat(cpf.slice(6, 9), "-").concat(cpf.slice(9));
6
6
  }
7
7
  export function formatCnpj(cnpj) {
8
8
  cnpj = cnpj.replace(/[^0-9]/g, "");
9
9
  if (cnpj.length !== 14)
10
- return '';
10
+ return "";
11
11
  return "".concat(cnpj.slice(0, 2), ".").concat(cnpj.slice(2, 5), ".").concat(cnpj.slice(5, 8), "/").concat(cnpj.slice(8, 12), "-").concat(cnpj.slice(12));
12
12
  }
13
13
  export function isCnpj(documento) {
14
14
  documento = documento.replace(/[^0-9]/g, "");
15
15
  return documento.length === 14;
16
16
  }
17
+ export function formatDatePtBrToDate(date) {
18
+ var _a, _b;
19
+ return new Date((_b = (_a = date === null || date === void 0 ? void 0 : date.split('/')) === null || _a === void 0 ? void 0 : _a.reverse()) === null || _b === void 0 ? void 0 : _b.join('-'));
20
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@credithub/harlan-components",
3
- "version": "1.3.4",
3
+ "version": "1.4.1",
4
4
  "description": "Provide a set of web components to be used in Harlan and other projects",
5
5
  "keywords": [
6
6
  "harlan",
@@ -31,7 +31,10 @@
31
31
  "@itseasy21/react-elastic-carousel": "^0.12.3",
32
32
  "@react-google-maps/api": "^2.19.2",
33
33
  "axios": "^1.6.2",
34
- "classnames": "^2.3.2"
34
+ "classnames": "^2.3.2",
35
+ "plotly.js": "^2.27.1",
36
+ "react-plotly.js": "^2.6.0",
37
+ "underscore": "^1.13.6"
35
38
  },
36
39
  "devDependencies": {
37
40
  "@babel/cli": "^7.23.0",
@@ -41,9 +44,12 @@
41
44
  "@babel/preset-typescript": "^7.23.3",
42
45
  "@babel/runtime": "^7.23.2",
43
46
  "@types/node": "^20.8.10",
47
+ "@types/plotly.js": "^2.12.30",
44
48
  "@types/react": "^18.2.0",
45
49
  "@types/react-dom": "^18.2.0",
50
+ "@types/react-plotly.js": "^2.6.3",
46
51
  "@types/supercluster": "^7.1.3",
52
+ "@types/underscore": "^1.11.15",
47
53
  "@typescript-eslint/eslint-plugin": "^6.9.1",
48
54
  "@typescript-eslint/parser": "^6.9.1",
49
55
  "@vitejs/plugin-react": "^4.2.0",