@@ -100,7 +101,9 @@ export default function chartTelemetry({userName}) {
diff --git a/src/pages/costIndicator/index.tsx b/src/pages/costIndicator/index.tsx
index 6447462..959bd63 100644
--- a/src/pages/costIndicator/index.tsx
+++ b/src/pages/costIndicator/index.tsx
@@ -1,7 +1,7 @@
import { GetServerSideProps } from 'next'
import Head from 'next/head'
import { parseCookies } from 'nookies'
-import React, { useState } from 'react'
+import React, { useEffect, useState } from 'react'
// material ui imports
import MenuItem from '@mui/material/MenuItem';
@@ -14,6 +14,7 @@ import Header from '../../components/header/Header'
import PageTitle from '../../components/pageTitle/PageTitle'
import getAPIClient from '../../services/ssrApi'
import { CostIndicatorView } from '../../styles/layouts/economy/costIndicator/CostIndicatorView'
+import { api } from '../../services/api';
export default function CostIndicator({graphData, userName, clients}: any) {
const [unity, setUnity] = useState('');
@@ -33,6 +34,21 @@ export default function CostIndicator({graphData, userName, clients}: any) {
'Dez'
]
+ const [graphDataState, setGraphDataState] = useState([]);
+
+ useEffect(() => {
+ api.post('/economy/estimates', unity!==''?{
+ "filters": [
+ {"type" : "=", "field":"dados_cadastrais.cod_smart_unidade", "value": unity}
+ ]
+ }:{}).then(res => {
+ setGraphDataState(res.data.data)
+ console.log()
+ }).catch(res => {
+ // console.log(res)
+ })
+ }, [unity])
+
return (
@@ -55,15 +71,19 @@ export default function CostIndicator({graphData, userName, clients}: any) {
{/* COMENTARIO DE OPÇAO COM DADOS TESTES */}
{
clients.map((value) => {
- return
+ return
})
}
value.mes.slice(4, 8).includes('2021'))}
- data2={graphData.filter((value, index) => value.mes.slice(4, 8).includes('2022'))}
+ data1={unity!==''? graphDataState.filter((value, index) => value.mes.slice(4, 8).includes('2021'))
+ :
+ graphData.filter((value, index) => value.mes.slice(4, 8).includes('2021'))}
+ data2={unity!==''? graphDataState.filter((value, index) => value.mes.slice(4, 8).includes('2022'))
+ :
+ graphData.filter((value, index) => value.mes.slice(4, 8).includes('2022'))}
label={months}
/>
@@ -83,12 +103,16 @@ export const getServerSideProps: GetServerSideProps = async (ctx) => {
await apiClient.post('/units', {
"filters": [
- {"type" : "not_in", "field": "dados_cadastrais.codigo_scde", "value":["0P"]},
- {"type" : "=", "field": "dados_cadastrais.cod_smart_cliente", "value": id}
+ {"type" : "=", "field": "dados_cadastrais.cod_smart_cliente", "value": 180201211},
+ {"type" : "not_in", "field": "dados_cadastrais.codigo_scde", "value":["0P"]}
],
- "fields": ["cod_smart_unidade", "codigo_scde"],
+ "fields": [
+ "unidade",
+ "cod_smart_unidade",
+ "codigo_scde"],
"distinct": true
- }).then(res => {
+}).then(res => {
+ console.log(res.data.data)
clients = res.data.data
}).catch(res => {
// console.log(res)
diff --git a/src/pages/dashboard/index.tsx b/src/pages/dashboard/index.tsx
index 32d9f8b..2654097 100644
--- a/src/pages/dashboard/index.tsx
+++ b/src/pages/dashboard/index.tsx
@@ -26,6 +26,7 @@ import Chart2 from '../../components/graph/Chart2'
import { GrossAnulChart } from '../../components/graph/grossAnualChart/GrossAnualChart'
import CostIndicatorChart from '../../components/graph/costIndicatorChart'
import { CativoXLivreChart } from '../../components/graph/cativoXLivreChart'
+import GrossMensalChart from '../../components/graph/grossMensalChart/GrossMensalChart'
export default function Dashboard({grossAnualGraph, grossAnualYears, grossMensalGraph, grossMensalYears, acumulatedGraph, mapsInfo, userName, costIndicator} : any) {
const months = [
@@ -46,7 +47,7 @@ export default function Dashboard({grossAnualGraph, grossAnualYears, grossMensal
return (
- Smart Energia - Dashboard
+ Smart Energia - Visão Geral
@@ -77,10 +78,12 @@ export default function Dashboard({grossAnualGraph, grossAnualYears, grossMensal
- value.mes.slice(3, 8).includes('2021'))}
- data2={grossMensalGraph.filter((value, index) => value.mes.slice(3, 8).includes('2022'))}
- label={months} miniature/>
+ value.mes)}
+ miniature
+ />
diff --git a/src/pages/economy/index.tsx b/src/pages/economy/index.tsx
new file mode 100644
index 0000000..dde650d
--- /dev/null
+++ b/src/pages/economy/index.tsx
@@ -0,0 +1,270 @@
+import Fab from '@mui/material/Fab';
+import FormControl from '@mui/material/FormControl';
+import InputLabel from '@mui/material/InputLabel';
+import MenuItem from '@mui/material/MenuItem';
+import Select, { SelectChangeEvent } from '@mui/material/Select';
+import { GetServerSideProps } from 'next';
+import Head from 'next/head';
+import Link from 'next/link';
+import { parseCookies } from 'nookies';
+import React, { useContext, useEffect, useState } from 'react'
+
+import BasicButton from '../../components/buttons/basicButton/BasicButton';
+import { LineBarChart } from '../../components/graph/LineBarChart';
+import LineChart from '../../components/graph/LineChart';
+import Header from '../../components/header/Header'
+import PageTitle from '../../components/pageTitle/PageTitle';
+import { api } from '../../services/api';
+import { EvolucaoPld } from '../../services/evolucaoPld';
+import getAPIClient from '../../services/ssrApi';
+import { GoBack, PldGraphView, PldTableView, TableHeader } from '../../styles/layouts/pld/PldView'
+import RenderIf from '../../utils/renderIf'
+
+import Tabs from '@mui/material/Tabs';
+import Tab from '@mui/material/Tab';
+
+import NavigationIcon from '@mui/icons-material/Navigation';
+
+import TextField from '@mui/material/TextField';
+import { DesktopDatePicker } from '@mui/x-date-pickers/DesktopDatePicker';
+import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
+import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
+import { MenuContext } from '../../contexts/menu/MenuContext';
+import { GrossAnulChart } from '../../components/graph/grossAnualChart/GrossAnualChart';
+import GrossMensalChart from '../../components/graph/grossMensalChart/GrossMensalChart';
+import { CativoXLivreChart } from '../../components/graph/cativoXLivreChart';
+import { ConsumoEstimado } from '../../services/consumoEstimado';
+import CostIndicatorChart from '../../components/graph/costIndicatorChart';
+
+export default function economy({userName, anual, years, brutaMensal, yearsBrutaMensal, catLiv, clients, indicatorCost}: any) {
+ const {economyMenu, setEconomyMenu} = useContext(MenuContext)
+
+ const [unity, setUnity] = useState('');
+
+ const [catLivDataState, setCatLivDataState] = useState(null);
+ const [indicatorDataState, setIndicatorDataState] = useState(null);
+
+ const months = [
+ 'Jan',
+ 'Fev',
+ 'Mar',
+ 'Abr',
+ 'Mai',
+ 'Jun',
+ 'Jul',
+ 'Ago',
+ 'Set',
+ 'Out',
+ 'Nov',
+ 'Dez'
+ ]
+
+ useEffect(() => {
+ api.post('/economy/estimates', unity!==''?{
+ "filters": [
+ {"type" : "=", "field":"dados_cadastrais.cod_smart_unidade", "value": unity}
+ ]
+ }:{}).then(res => {
+ setCatLivDataState(res.data.data)
+ console.log()
+ }).catch(res => {
+ // console.log(res)
+ })
+ }, [unity])
+
+ useEffect(() => {
+ api.post('/economy/estimates', unity!==''?{
+ "filters": [
+ {"type" : "=", "field":"dados_cadastrais.cod_smart_unidade", "value": unity}
+ ]
+ }:{}).then(res => {
+ setIndicatorDataState(res.data.data)
+ console.log()
+ }).catch(res => {
+ // console.log(res)
+ })
+ }, [unity])
+
+ return (
+
+
+ Smart Energia - PLD
+
+
+
+
+
+ setEconomyMenu(nv)} aria-label="">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unidade
+
+
+
+
+
+
+
+ Unidade
+
+
+
+ value.mes.slice(4, 8).includes('2021'))
+ :
+ indicatorCost?.filter((value, index) => value.mes.slice(4, 8).includes('2021'))}
+ data2={unity!=''? indicatorDataState?.filter((value, index) => value.mes.slice(4, 8).includes('2022'))
+ :
+ indicatorCost?.filter((value, index) => value.mes.slice(4, 8).includes('2022'))}
+ label={months}
+ />
+
+
+
+ )
+}
+
+export const getServerSideProps: GetServerSideProps = async (ctx) => {
+ const apiClient = getAPIClient(ctx)
+ const { ['@smartAuth-token']: token } = parseCookies(ctx)
+ const { ['user-name']: userName } = parseCookies(ctx)
+
+ let anual = [];
+
+ await apiClient.post('/economy/grossAnnual').then(res => {
+ anual = res.data.data
+ }).catch(res => {
+ // console.log(res)
+ })
+
+ const years = anual.map((value) => value.ano)
+
+ let brutaMensal = [];
+
+ await apiClient.post('/economy/grossMonthly').then(res => {
+ brutaMensal = res.data.data
+ // console.log(graphData[0].mes)
+ }).catch(res => {
+ // console.log(res)
+ })
+
+ const yearsBrutaMensal = brutaMensal.map((value) => value.mes)
+
+ let catLiv = [];
+ let clients = [];
+
+ await apiClient.post('/units', {
+ "filters": [
+ {"type" : "=", "field": "dados_cadastrais.cod_smart_cliente", "value": 180201211},
+ {"type" : "not_in", "field": "dados_cadastrais.codigo_scde", "value":["0P"]}
+ ],
+ "fields": [
+ "unidade",
+ "cod_smart_unidade",
+ "codigo_scde"],
+ "distinct": true
+}).then(res => {
+ console.log(res.data.data)
+ clients = res.data.data
+ }).catch(res => {
+ // console.log(res)
+ })
+
+ await apiClient.post('/economy/estimates').then(res => {
+ catLiv = res.data.data
+ }).catch(res => {
+ // console.log(res)
+ })
+
+ let indicatorCost = []
+
+ await apiClient.post('/economy/MWh').then(res => {
+ indicatorCost = res.data.data
+ }).catch(res => {
+ // console.log(res)
+ })
+
+ if (!token) {
+ return {
+ redirect: {
+ destination: '/',
+ permanent: false
+ }
+ }
+ }
+
+ return {
+ props: {
+ userName,
+ anual,
+ years,
+ brutaMensal,
+ yearsBrutaMensal,
+ catLiv,
+ clients,
+ indicatorCost
+ }
+ }
+}
diff --git a/src/pages/estimatedCost/index.tsx b/src/pages/estimatedCost/index.tsx
index 2f41e09..a6652f5 100644
--- a/src/pages/estimatedCost/index.tsx
+++ b/src/pages/estimatedCost/index.tsx
@@ -1,7 +1,7 @@
import { GetServerSideProps } from 'next'
import Head from 'next/head'
import { parseCookies } from 'nookies'
-import React, { useState } from 'react'
+import React, { useEffect, useState } from 'react'
import { CativoXLivreChart } from '../../components/graph/cativoXLivreChart'
// material ui imports
@@ -16,8 +16,25 @@ import { ConsumoEstimado } from '../../services/consumoEstimado'
import getAPIClient from '../../services/ssrApi'
import { EstimatedCostView } from '../../styles/layouts/economy/estimatedCost/EstimatedCostView'
+import { api } from '../../services/api'
+
export default function EstimatedCost({graphData, userName, clients}: any) {
- const [unity, setUnity] = useState('');
+ const [unity, setUnity] = useState(null);
+
+ const [graphDataState, setGraphDataState] = useState(null);
+
+ useEffect(() => {
+ api.post('/economy/estimates', unity!==''?{
+ "filters": [
+ {"type" : "=", "field":"dados_cadastrais.cod_smart_unidade", "value": unity}
+ ]
+ }:{}).then(res => {
+ setGraphDataState(res.data.data)
+ console.log()
+ }).catch(res => {
+ // console.log(res)
+ })
+ }, [unity])
return (
@@ -41,13 +58,13 @@ export default function EstimatedCost({graphData, userName, clients}: any) {
{/* !!OPÇAO COM DADOS TESTES!! */}
{
clients.map((value) => {
- return
+ return
})
}
@@ -66,12 +83,15 @@ export const getServerSideProps: GetServerSideProps = async (ctx) => {
await apiClient.post('/units', {
"filters": [
- {"type" : "not_in", "field": "dados_cadastrais.codigo_scde", "value":["0P"]},
- {"type" : "=", "field": "dados_cadastrais.cod_smart_cliente", "value": id}
+ {"type" : "=", "field": "dados_cadastrais.cod_smart_cliente", "value": 180201211},
+ {"type" : "not_in", "field": "dados_cadastrais.codigo_scde", "value":["0P"]}
],
- "fields": ["cod_smart_unidade", "codigo_scde"],
+ "fields": [
+ "unidade",
+ "cod_smart_unidade",
+ "codigo_scde"],
"distinct": true
- }).then(res => {
+}).then(res => {
console.log(res.data.data)
clients = res.data.data
}).catch(res => {
diff --git a/src/pages/pld/index.tsx b/src/pages/pld/index.tsx
index 938faf7..e282817 100644
--- a/src/pages/pld/index.tsx
+++ b/src/pages/pld/index.tsx
@@ -7,7 +7,7 @@ import { GetServerSideProps } from 'next';
import Head from 'next/head';
import Link from 'next/link';
import { parseCookies } from 'nookies';
-import React, { useEffect, useState } from 'react'
+import React, { useContext, useEffect, useState } from 'react'
import BasicButton from '../../components/buttons/basicButton/BasicButton';
import { LineBarChart } from '../../components/graph/LineBarChart';
@@ -29,6 +29,7 @@ import TextField from '@mui/material/TextField';
import { DesktopDatePicker } from '@mui/x-date-pickers/DesktopDatePicker';
import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
+import { MenuContext } from '../../contexts/menu/MenuContext';
interface pldInterface {
tableData: any,
@@ -39,6 +40,8 @@ interface pldInterface {
}
export default function pld({tableData, userName, clientMonth}: pldInterface) {
+ const {pldMenu, setPldMenu} = useContext(MenuContext)
+
const dateFormated = new Date()
const year_Month = `0${dateFormated.getMonth()+1}/${dateFormated.getFullYear()}`
@@ -47,8 +50,6 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
const [select, setSelect] = useState('SUDESTE');
// rendering page
- const [page, setPage] = useState(0)
-
const [month, setMonth] = useState(new Date().toLocaleDateString().slice(3, 10))
const [dataByDay, setDataByDay] = useState([])
@@ -218,13 +219,13 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
- setPage(nv)} aria-label="">
+ setPldMenu(nv)} aria-label="">
-
+
{
const html = document.querySelector("table").outerHTML;
htmlToCSV(html, "tabela_PLD.csv");
@@ -233,7 +234,7 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
-
+
@@ -259,19 +260,32 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
>
})
}
-
- |
- |
- |
- |
- |
-
+
+
+ {/*
+ setPage(1)} className="btn btn-1">
+
+ Valores Diários
+
+ setPage(2)} className="btn btn-1">
+
+ Valores Horários
+
+ */}
+
+
+
+
{
tableData.result.map((data, index) => {
if (index === 0) {
return <>
-
- | Máximo |
+
+ | Máximo |
{parseFloat(data.nordeste_max).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
{parseFloat(data.norte_max).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
{parseFloat(data.sudeste_max).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
@@ -303,25 +317,11 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
}
- {/*
- setPage(1)} className="btn btn-1">
-
- Valores Diários
-
- setPage(2)} className="btn btn-1">
-
- Valores Horários
-
- */}
{/* grafico de grafico por seleção de data (mês)*/}
-
+
@@ -386,7 +386,7 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
{/* grafico de grafico por seleção de data INTEIRA*/}
-
+
{/* Selecione a data:
*/}
diff --git a/src/pages/resumoOperacao/index.tsx b/src/pages/resumoOperacao/index.tsx
index 2c408c9..6efd3d0 100644
--- a/src/pages/resumoOperacao/index.tsx
+++ b/src/pages/resumoOperacao/index.tsx
@@ -18,7 +18,7 @@ import { api } from '../../services/api';
// import { dados } from '../services/DadosTabelaResumoOperacao';
import data from '../../services/dados.json'
import getAPIClient from '../../services/ssrApi';
-import { Pagination, TableHeader, TableView } from '../../styles/layouts/ResumoOperacao/ResumoOperacaoView';
+import { Pagination, TableBodyView, TableHeader, TableView } from '../../styles/layouts/ResumoOperacao/ResumoOperacaoView';
export default function ResumoOperacao({tableData, clients, userName, clientMonth}: any) {
const csvData = tableData;
@@ -100,13 +100,12 @@ export default function ResumoOperacao({tableData, clients, userName, clientMont
-
Selecionar unidade:
Unidades
-
Selecionar mês:
Mês
- {/*
-
Data inicial
-
setStartDate(value.target.value)} min="2021-01-01"/>
-
*/}
-
-
-
-
Data inicial
-
}
- />
-
-
-
-
- {/*
-
Data final
-
setEndDate(value.target.value)} min="2021-01-01"/>
-
*/}
-
Discretização
@@ -332,6 +297,40 @@ export default function Telemetria({userName, clients}: any) {
+
+
+
+
Data inicial
+
}
+ />
+
+
+
+
{
setSend(true)
getTableData()
diff --git a/src/services/charts/telemetry/getPowerFactor.ts b/src/services/charts/telemetry/getPowerFactor.ts
index c2e141c..95d0333 100644
--- a/src/services/charts/telemetry/getPowerFactor.ts
+++ b/src/services/charts/telemetry/getPowerFactor.ts
@@ -14,9 +14,9 @@ export async function getPowerFactorData(
{"type" : "=", "field": "med_5min.ponto", "value": "PRAXCUENTR101P"},
{"type" : "between", "field": "dia_num", "value": ["2022-01-01", "2022-01-31"]}
]
-}, {
+ }, {
headers: {
- 'Authorization': `Bearer 1260|RHfh3uMsEfHwCTqxKOhy1CEIr34UIln9OFdf5Fc8`
+ 'Authorization': `Bearer 1292|E4jbc5ZWmgCCBMOVn4PvPx56MUbf4nUg5MNgxjmP`
}
})
return data.data
diff --git a/src/styles/layouts/ResumoOperacao/ResumoOperacaoView.ts b/src/styles/layouts/ResumoOperacao/ResumoOperacaoView.ts
index c95ba0b..eb4eaf5 100644
--- a/src/styles/layouts/ResumoOperacao/ResumoOperacaoView.ts
+++ b/src/styles/layouts/ResumoOperacao/ResumoOperacaoView.ts
@@ -62,7 +62,7 @@ export const TableView = styled.div`
}
.tg .tg-gceh{
- background-color:#efefef;
+ background-color: transparent;
color:#6a707e;
font-size:14px;
text-align:center;
@@ -81,7 +81,11 @@ export const TableView = styled.div`
width: 10rem;
}
- table, th:last-child{
+ table, th {
+ vertical-align: middle;
+ }
+
+ table, th:last-child {
border: transparent;
border-top-right-radius: 8px;
}
@@ -90,6 +94,13 @@ export const TableView = styled.div`
border: transparent;
border-top-left-radius: 8px;
}
+
+ table, td {
+ border: transparent;
+ border-top-left-radius: 8px;
+
+ text-overflow: ellipsis;
+ }
`;
export const TableHeader = styled.section`
@@ -156,3 +167,35 @@ export const NewTableLine = styled.section`
margin: 0 0 10px 0;
}
`
+
+export const TableBodyView = styled.section`
+ border-radius: 8px;
+
+ background-color: #EFEFEF;
+
+ width: 100%;
+
+ border: rgb(221,223,225);
+ border-style:solid;
+ border-width: 1px;
+
+ tr {
+ :last-child {
+ /* background-color: red; */
+
+ border-bottom-color: transparent;
+
+ td {
+ :first-child {
+ border-left-color: transparent;
+ border-bottom-color: transparent;
+ /* background-color: red; */
+ }
+ :last-child {
+ border-right-color: transparent;
+ border-bottom-color: transparent;
+ }
+ }
+ }
+ }
+`
diff --git a/src/styles/layouts/economy/accumulatedSavings/AccumulatedSavingsView.ts b/src/styles/layouts/economy/accumulatedSavings/AccumulatedSavingsView.ts
index 4cba73d..fc32ca8 100644
--- a/src/styles/layouts/economy/accumulatedSavings/AccumulatedSavingsView.ts
+++ b/src/styles/layouts/economy/accumulatedSavings/AccumulatedSavingsView.ts
@@ -10,9 +10,5 @@ export const AccumulatedSavingsView = styled.main`
display: flex;
justify-content: center;
align-items: center;
-
- canvas {
- width: 80%;
- }
}
`
diff --git a/src/styles/layouts/pld/PldView.ts b/src/styles/layouts/pld/PldView.ts
index 57932b6..d791b1e 100644
--- a/src/styles/layouts/pld/PldView.ts
+++ b/src/styles/layouts/pld/PldView.ts
@@ -195,6 +195,18 @@ export const PldTableView = styled.div`
transform: translateY(-6px);
}
}
+
+ .space {
+ background-color: #F7F7F7;
+
+ border-color: transparent;
+
+ border-bottom-color: #DDDFE1;
+
+ height: 15px!important;
+
+ padding: 0!important;
+ }
`
export const PldGraphView = styled.main`
diff --git a/tsconfig.json b/tsconfig.json
index 3e0b9b3..2096761 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -19,7 +19,7 @@
"isolatedModules": true,
"jsx": "preserve"
},
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "additional.d.ts"],
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "additional.d.ts", "src/contexts/economy/EconomyContext.tss"],
"exclude": [
"node_modules"
]
diff --git a/yarn.lock b/yarn.lock
index d6e7e71..a03ea27 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2009,15 +2009,45 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+"chart.js@>= 2.6.0 < 3":
+ version "2.9.4"
+ resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-2.9.4.tgz#0827f9563faffb2dc5c06562f8eb10337d5b9684"
+ integrity sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==
+ dependencies:
+ chartjs-color "^2.1.0"
+ moment "^2.10.2"
+
chart.js@^3.7.1:
version "3.7.1"
resolved "https://registry.npmjs.org/chart.js/-/chart.js-3.7.1.tgz"
+chartjs-color-string@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz#1df096621c0e70720a64f4135ea171d051402f71"
+ integrity sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==
+ dependencies:
+ color-name "^1.0.0"
+
+chartjs-color@^2.1.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.4.1.tgz#6118bba202fe1ea79dd7f7c0f9da93467296c3b0"
+ integrity sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==
+ dependencies:
+ chartjs-color-string "^0.6.0"
+ color-convert "^1.9.3"
+
chartjs-plugin-datalabels@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/chartjs-plugin-datalabels/-/chartjs-plugin-datalabels-2.0.0.tgz#caacefb26803d968785071eab012dde8746c5939"
integrity sha512-WBsWihphzM0Y8fmQVm89+iy99mmgejmj5/jcsYqwxSioLRL/zqJ4Scv/eXq5ZqvG3TpojlGzZLeaOaSvDm7fwA==
+chartjs-plugin-style@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/chartjs-plugin-style/-/chartjs-plugin-style-0.5.0.tgz#ba31deb016cf0d29c73e420bb40778f89cdfabd4"
+ integrity sha512-QWMWRGpkexgMTHZg2l1OVtnSkElGNAM0MchozG/ucU6NW0xXINS/YsIE2tl7nG1nwZA2FH/myVbI4uMguIAXPA==
+ dependencies:
+ chart.js ">= 2.6.0 < 3"
+
chownr@^1.1.1:
version "1.1.4"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
@@ -2091,7 +2121,7 @@ cmd-shim@^5.0.0:
dependencies:
mkdirp-infer-owner "^2.0.0"
-color-convert@^1.9.0:
+color-convert@^1.9.0, color-convert@^1.9.3:
version "1.9.3"
resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
dependencies:
@@ -3711,6 +3741,11 @@ mkdirp@^1.0.3, mkdirp@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+moment@^2.10.2:
+ version "2.29.4"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108"
+ integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
+
ms@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"