diff --git a/package.json b/package.json
index 4a49914..d76c802 100644
--- a/package.json
+++ b/package.json
@@ -3,17 +3,26 @@
"version": "0.1.0",
"private": true,
"dependencies": {
+ "@ant-design/icons": "^4.7.0",
"@emotion/react": "^11.10.4",
"@emotion/styled": "^11.10.4",
"@mui/icons-material": "^5.10.3",
"@mui/material": "^5.10.4",
"@mui/styled-engine-sc": "^5.10.3",
+ "@reduxjs/toolkit": "^1.8.5",
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^13.0.0",
"@testing-library/user-event": "^13.2.1",
+ "antd": "^4.23.0",
"axios": "^0.27.2",
+ "chart.js": "^3.9.1",
+ "html-react-parser": "^3.0.4",
+ "millify": "^5.0.0",
+ "moment": "^2.29.4",
"react": "^18.2.0",
+ "react-chartjs-2": "^4.3.1",
"react-dom": "^18.2.0",
+ "react-redux": "^8.0.2",
"react-router-dom": "6",
"react-scripts": "5.0.1",
"sass": "^1.54.8",
diff --git a/src/App.jsx b/src/App.jsx
index 66bea35..04c52e3 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,28 +1,42 @@
-import React, { useEffect, useState } from "react";
-import Header from "./components/Header/Header";
-import Main from "./components/Main/Main";
-import Footer from "./components/Footer/Footer";
-import axios from "axios";
+import React from "react";
import "./App.scss";
+import { Route, Routes } from "react-router-dom";
+import { Container } from "@mui/system";
+import Navbar from "./components/Navigation/Navbar";
+import Homepage from "./components/Homepage/Hompage";
+import Favorites from "./components/Favorites/Favorites";
+import Cryptocurrencies from "./components/Cryptocurrencies/Cryptocurrencies";
+import CryptoDetails from "./components/CryptoDetails/CryptoDetails";
+import News from "./components/News/News";
function App() {
- const [coins, setCoins] = useState([]);
-
- useEffect(() => {
- axios
- .get(
- `https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=100&page=1&sparkline=false`
- )
- .then((res) => {
- setCoins(res.data);
- });
- }, []);
-
return (
-
-
-
+
+
+
+
+
+ }>
+ }
+ >
+ }
+ >
+ }
+ >
+ }>
+
+
+
+
);
}
diff --git a/src/App.scss b/src/App.scss
index d642d6e..e69de29 100644
--- a/src/App.scss
+++ b/src/App.scss
@@ -1,6 +0,0 @@
-* {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
- scroll-behavior: smooth;
-}
diff --git a/src/app/store.js b/src/app/store.js
new file mode 100644
index 0000000..8b0cd69
--- /dev/null
+++ b/src/app/store.js
@@ -0,0 +1,10 @@
+import { configureStore } from "@reduxjs/toolkit";
+import { cryptoApi } from "../services/cryptoApi";
+import { cryptoNewsApi } from "../services/cryptoNewsApi";
+
+export default configureStore({
+ reducer: {
+ [cryptoApi.reducerPath]: cryptoApi.reducer,
+ [cryptoNewsApi.reducerPath]: cryptoNewsApi.reducer,
+ },
+});
diff --git a/src/assets/image/cryptocurrency.png b/src/assets/image/cryptocurrency.png
new file mode 100644
index 0000000..4af7055
Binary files /dev/null and b/src/assets/image/cryptocurrency.png differ
diff --git a/src/assets/image/th.jpg b/src/assets/image/th.jpg
new file mode 100644
index 0000000..af820a2
Binary files /dev/null and b/src/assets/image/th.jpg differ
diff --git a/src/components/Chart/LineChart.jsx b/src/components/Chart/LineChart.jsx
new file mode 100644
index 0000000..d4453c5
--- /dev/null
+++ b/src/components/Chart/LineChart.jsx
@@ -0,0 +1,85 @@
+import React from "react";
+import { Line } from "react-chartjs-2";
+import { Col, Row, Typography } from "antd";
+import {
+ Chart,
+ LineController,
+ LineElement,
+ PointElement,
+ LinearScale,
+ CategoryScale,
+} from "chart.js";
+
+const { Title } = Typography;
+
+const LineChart = ({ coinHistory, currentPrice, coinName }) => {
+ Chart.register(
+ LineController,
+ LineElement,
+ PointElement,
+ LinearScale,
+ CategoryScale
+ );
+ const coinPrice = [];
+ const coinTimestamp = [];
+
+ for (let i = 0; i < coinHistory?.data?.history?.length; i += 1) {
+ coinPrice.push(coinHistory?.data?.history[i].price);
+ }
+
+ for (let i = 0; i < coinHistory?.data?.history?.length; i += 1) {
+ coinTimestamp.push(
+ //Incorrect time data in API
+ // new Date(
+ // coinHistory?.data?.history[i].timestamp
+ // ).toLocaleDateString()
+ new Date().toLocaleDateString()
+ );
+ }
+
+ const data = {
+ labels: coinTimestamp,
+ datasets: [
+ {
+ label: "Price In USD",
+ data: coinPrice,
+ fill: false,
+ backgroundColor: "#0071bd",
+ borderColor: "#0071bd",
+ },
+ ],
+ };
+
+ const options = {
+ scales: {
+ y: [
+ {
+ ticks: {
+ beginAtZero: true,
+ },
+ },
+ ],
+ },
+ };
+
+ return (
+ <>
+
+
+ {coinName} Price Chart{" "}
+
+
+
+ Change: {coinHistory?.data?.change}%
+
+
+ Current {coinName} Price: $ {currentPrice}
+
+
+
+
+ >
+ );
+};
+
+export default LineChart;
diff --git a/src/components/CoinItem/CoinItem.jsx b/src/components/CoinItem/CoinItem.jsx
deleted file mode 100644
index 556e093..0000000
--- a/src/components/CoinItem/CoinItem.jsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import React from "react";
-import "./CoinItem.scss";
-import { Link } from "react-router-dom";
-import AddIcon from "@mui/icons-material/Add";
-import ReadMoreIcon from "@mui/icons-material/ReadMore";
-
-const CoinItem = ({ coin }) => {
- console.log(coin);
- return (
-
-
{coin.name}
-
-
-
-
-
-
- );
-};
-
-export default CoinItem;
diff --git a/src/components/CoinItem/CoinItem.scss b/src/components/CoinItem/CoinItem.scss
deleted file mode 100644
index 7e515ab..0000000
--- a/src/components/CoinItem/CoinItem.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-.coin {
- display: flex;
- flex-direction: column;
- align-items: center;
- color: white;
- border: 1px solid white;
- border-radius: 15px;
- padding: 15px;
-
- &__name {
- margin-bottom: 15px;
- }
-
- &__icon {
- width: 100px;
- height: 100px;
- }
-}
diff --git a/src/components/CryptoDetails/CryptoDetails.jsx b/src/components/CryptoDetails/CryptoDetails.jsx
new file mode 100644
index 0000000..b4034ea
--- /dev/null
+++ b/src/components/CryptoDetails/CryptoDetails.jsx
@@ -0,0 +1,266 @@
+import React, { useState } from "react";
+import HTMLReactParser from "html-react-parser";
+import { useParams } from "react-router-dom";
+import millify from "millify";
+import { Row, Col } from "antd";
+import {
+ MoneyCollectOutlined,
+ DollarCircleOutlined,
+ FundOutlined,
+ ExclamationCircleOutlined,
+ StopOutlined,
+ TrophyOutlined,
+ CheckOutlined,
+ NumberOutlined,
+ ThunderboltOutlined,
+} from "@ant-design/icons";
+import {
+ useGetCryptoDetailsQuery,
+ useGetCryptoHistoryQuery,
+} from "../../services/cryptoApi";
+import LineChart from "../Chart/LineChart";
+import Loader from "../Loader/Loader";
+import {
+ Box,
+ FormControl,
+ InputLabel,
+ MenuItem,
+ Select,
+ Table,
+ TableCell,
+ TableContainer,
+ TableHead,
+ TableRow,
+ Typography,
+} from "@mui/material";
+// const { Title, Text } = Typography;
+// const { Option } = Select;
+
+const CryptoDetails = () => {
+ const { coinId } = useParams();
+ const [timePeriod, setTimePeriod] = useState("7d");
+ const { data, isFetching } = useGetCryptoDetailsQuery(coinId);
+ const { data: coinHistory } = useGetCryptoHistoryQuery({
+ coinId,
+ timePeriod,
+ });
+ const cryptoDetails = data?.data?.coin;
+
+ const time = ["3h", "24h", "7d", "30d", "1y", "3m", "3y", "5y"];
+
+ const stats = [
+ {
+ title: "Price to USD",
+ value: `$ ${cryptoDetails?.price && millify(cryptoDetails?.price)}`,
+ icon: ,
+ },
+ { title: "Rank", value: cryptoDetails?.rank, icon: },
+ {
+ title: "24h Volume",
+ value: `$ ${
+ cryptoDetails?.volume && millify(cryptoDetails?.volume)
+ }`,
+ icon: ,
+ },
+ {
+ title: "Market Cap",
+ value: `$ ${
+ cryptoDetails?.marketCap && millify(cryptoDetails?.marketCap)
+ }`,
+ icon: ,
+ },
+ {
+ title: "All-time-high(daily avg.)",
+ value: `$ ${
+ cryptoDetails?.allTimeHigh?.price &&
+ millify(cryptoDetails?.allTimeHigh?.price)
+ }`,
+ icon: ,
+ },
+ ];
+
+ const genericStats = [
+ {
+ title: "Number Of Markets",
+ value: cryptoDetails?.numberOfMarkets,
+ icon: ,
+ },
+ {
+ title: "Number Of Exchanges",
+ value: cryptoDetails?.numberOfExchanges,
+ icon: ,
+ },
+ {
+ title: "Aprroved Supply",
+ value: cryptoDetails?.supply?.confirmed ? (
+
+ ) : (
+
+ ),
+ icon: ,
+ },
+ {
+ title: "Total Supply",
+ value: `$ ${
+ cryptoDetails?.supply?.total &&
+ millify(cryptoDetails?.supply?.total)
+ }`,
+ icon: ,
+ },
+ {
+ title: "Circulating Supply",
+ value: `$ ${
+ cryptoDetails?.supply?.circulating &&
+ millify(cryptoDetails?.supply?.circulating)
+ }`,
+ icon: ,
+ },
+ ];
+
+ if (isFetching) return ;
+
+ return (
+ <>
+
+
+ {cryptoDetails.name} ({cryptoDetails.symbol}) Price
+
+
+
+
+ Select a time interval
+
+
+
+
+
+
+
+
+
+
+
+ {cryptoDetails.name} Value Statistics
+
+ {stats.map(({ icon, title, value }) => {
+ return (
+
+ {icon} {title}{" "}
+ {value === "$ undefined" ? (
+ "no data available"
+ ) : (
+ {value}
+ )}
+
+ );
+ })}
+
+
+
+
+
+
+
+
+
+ {cryptoDetails.name} Value Statistics
+
+
+ An overview showing the statistics of{" "}
+ {cryptoDetails.name}, such as the base and quote
+ currency, the rank, and trading volume.
+
+
+ {stats.map(({ icon, title, value }) => (
+
+
+ {icon}
+ {title}
+
+ {value === "$ undefined" ? (
+ "no data available"
+ ) : (
+ {value}
+ )}
+
+ ))}
+
+
+
+
+ Other Stats Info
+
+
+ An overview showing the statistics of{" "}
+ {cryptoDetails.name}, such as the base and quote
+ currency, the rank, and trading volume.
+
+
+ {genericStats.map(({ icon, title, value }) => (
+
+
+ {icon}
+ {title}
+
+ {value}
+
+ ))}
+
+
+
+
+
+ What is {cryptoDetails.name}?
+
+ {HTMLReactParser(cryptoDetails.description)}
+
+
+
+ {cryptoDetails.name} Links
+
+ {cryptoDetails.links?.map((link) => (
+
+
+ {link.type}
+
+
+ {link.name}
+
+
+ ))}
+
+
+ >
+ );
+};
+
+export default CryptoDetails;
diff --git a/src/components/Cryptocurrencies/Cryptocurrencies.jsx b/src/components/Cryptocurrencies/Cryptocurrencies.jsx
new file mode 100644
index 0000000..48713ab
--- /dev/null
+++ b/src/components/Cryptocurrencies/Cryptocurrencies.jsx
@@ -0,0 +1,165 @@
+import React, { useState, useEffect } from "react";
+import millify from "millify";
+import { Link } from "react-router-dom";
+import { useGetCryptosQuery } from "../../services/cryptoApi";
+import Loader from "../Loader/Loader";
+import {
+ Card,
+ CardContent,
+ Typography,
+ CardActions,
+ Grid,
+ TextField,
+ Box,
+ IconButton,
+} from "@mui/material";
+import AddIcon from "@mui/icons-material/Add";
+import ReadMoreIcon from "@mui/icons-material/ReadMore";
+
+const Cryptocurrencies = ({ simplified }) => {
+ const count = simplified ? 12 : 100;
+ const { data: cryptosList, isFetching } = useGetCryptosQuery(count);
+ const [cryptos, setCryptos] = useState([]);
+ const [searchTerm, setSearchTerm] = useState("");
+
+ useEffect(() => {
+ const filteredData = cryptosList?.data?.coins.filter((coin) =>
+ coin.name.toLowerCase().includes(searchTerm.toLowerCase())
+ );
+ setCryptos(filteredData);
+ }, [cryptosList, searchTerm]);
+
+ if (isFetching) return ;
+
+ return (
+ <>
+ {!simplified && (
+ :not(style)": { my: 3, width: "50%" },
+ }}
+ noValidate
+ >
+ setSearchTerm(e.target.value)}
+ />
+
+ )}
+
+
+ {cryptos?.map((currency) => (
+
+
+
+
+
+ {currency.name}
+
+
+ Rank: {currency.rank}
+
+
+ Price: {millify(currency.price)} $
+
+
+ Market Cap: {millify(currency.marketCap)}
+
+
+ Daily Change: {millify(currency.change)}%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ))}
+
+ >
+ );
+};
+
+export default Cryptocurrencies;
diff --git a/src/components/Favorites/Favorites.jsx b/src/components/Favorites/Favorites.jsx
new file mode 100644
index 0000000..ea1e4d9
--- /dev/null
+++ b/src/components/Favorites/Favorites.jsx
@@ -0,0 +1,7 @@
+import React from "react";
+
+const Favorites = () => {
+ return Favorites
;
+};
+
+export default Favorites;
diff --git a/src/components/Footer/Footer.jsx b/src/components/Footer/Footer.jsx
deleted file mode 100644
index 8010aa9..0000000
--- a/src/components/Footer/Footer.jsx
+++ /dev/null
@@ -1,7 +0,0 @@
-import React from "react";
-
-const Footer = () => {
- return Footer
;
-};
-
-export default Footer;
diff --git a/src/components/Header/Header.jsx b/src/components/Header/Header.jsx
deleted file mode 100644
index 65fd567..0000000
--- a/src/components/Header/Header.jsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import React from "react";
-import { Link } from "react-router-dom";
-import "./Header.scss";
-
-const Header = () => {
- return (
-
-
-
- );
-};
-
-export default Header;
diff --git a/src/components/Header/Header.scss b/src/components/Header/Header.scss
deleted file mode 100644
index b3fe040..0000000
--- a/src/components/Header/Header.scss
+++ /dev/null
@@ -1,25 +0,0 @@
-.header {
- max-width: 1140px;
- padding: 30px 15px;
- margin: auto;
-
- .nav {
- display: flex;
- align-items: center;
- justify-content: space-evenly;
- padding: 30px 0;
- border-radius: 20px;
- background-color: rgb(129, 118, 255);
-
- &__list {
- display: flex;
- list-style-type: none;
- gap: 50px;
- }
-
- &__link {
- color: white;
- text-decoration: none;
- }
- }
-}
diff --git a/src/components/Homepage/Hompage.jsx b/src/components/Homepage/Hompage.jsx
new file mode 100644
index 0000000..d7e6840
--- /dev/null
+++ b/src/components/Homepage/Hompage.jsx
@@ -0,0 +1,158 @@
+import React from "react";
+import millify from "millify";
+import { useGetCryptosQuery } from "../../services/cryptoApi";
+import Cryptocurrencies from "../Cryptocurrencies/Cryptocurrencies";
+import News from "../News/News";
+import Loader from "../Loader/Loader";
+import {
+ Table,
+ TableBody,
+ TableCell,
+ TableContainer,
+ TableHead,
+ TableRow,
+ Typography,
+} from "@mui/material";
+
+const Hompage = () => {
+ const { data, isFetching } = useGetCryptosQuery(12);
+ const globalStats = data?.data?.stats;
+ if (isFetching) return ;
+ return (
+ <>
+
+
+ Global Crypto Stats
+
+
+
+
+
+ Total Cryptocurrencies
+
+
+ Total Exchanges
+
+
+ Total Market Cap
+
+
+ Total 24h Valume
+
+
+ Total Markets
+
+
+
+
+
+
+ {globalStats.total}
+
+
+ {millify(globalStats.totalExchanges)}
+
+
+ {millify(globalStats.totalMarketCap)}
+
+
+ {millify(globalStats.total24hVolume)}
+
+
+ {millify(globalStats.totalMarkets)}
+
+
+
+
+
+
+
+ Top 12 Cryptocurrencues in the world
+
+
+
+
+
+ Laters Crypto News
+
+
+
+ >
+ );
+};
+
+export default Hompage;
diff --git a/src/components/Loader/Loader.jsx b/src/components/Loader/Loader.jsx
new file mode 100644
index 0000000..11b492b
--- /dev/null
+++ b/src/components/Loader/Loader.jsx
@@ -0,0 +1,10 @@
+import React from "react";
+import { Spin } from "antd";
+
+const Loader = () => (
+
+
+
+);
+
+export default Loader;
diff --git a/src/components/Main/DescriptionPage/DescriptionPage.jsx b/src/components/Main/DescriptionPage/DescriptionPage.jsx
deleted file mode 100644
index c0a3ea6..0000000
--- a/src/components/Main/DescriptionPage/DescriptionPage.jsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import React from "react";
-
-const DescriptionPage = ({ coins }) => {
- return (
-
- );
-};
-
-export default DescriptionPage;
diff --git a/src/components/Main/FavoritesPage/FavoritesPage.jsx b/src/components/Main/FavoritesPage/FavoritesPage.jsx
deleted file mode 100644
index c7efcc6..0000000
--- a/src/components/Main/FavoritesPage/FavoritesPage.jsx
+++ /dev/null
@@ -1,7 +0,0 @@
-import React from "react";
-
-const FavoritesPage = () => {
- return FavoritesPage
;
-};
-
-export default FavoritesPage;
diff --git a/src/components/Main/HomePage/HomePage.jsx b/src/components/Main/HomePage/HomePage.jsx
deleted file mode 100644
index cfb9d8f..0000000
--- a/src/components/Main/HomePage/HomePage.jsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import React from "react";
-import CoinItem from "../../CoinItem/CoinItem";
-import "./HomePage.scss";
-
-const HomePage = ({ coins }) => {
- return (
-
- Coins
-
- {coins.map((coin) => {
- return ;
- })}
-
-
- );
-};
-
-export default HomePage;
diff --git a/src/components/Main/HomePage/HomePage.scss b/src/components/Main/HomePage/HomePage.scss
deleted file mode 100644
index 231820e..0000000
--- a/src/components/Main/HomePage/HomePage.scss
+++ /dev/null
@@ -1,11 +0,0 @@
-.section {
- max-width: 1140px;
- padding: 0 15px;
- margin: auto;
-
- &__coins-list {
- display: grid;
- gap: 2%;
- grid-template-columns: 1fr 1fr 1fr 1fr;
- }
-}
diff --git a/src/components/Main/Main.jsx b/src/components/Main/Main.jsx
deleted file mode 100644
index f52041e..0000000
--- a/src/components/Main/Main.jsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import React from "react";
-import DescriptionPage from "./DescriptionPage/DescriptionPage";
-import HomePage from "./HomePage/HomePage";
-import FavoritesPage from "./FavoritesPage/FavoritesPage";
-import { Routes, Route } from "react-router-dom";
-
-const Main = ({ coins }) => {
- return (
-
-
- } />
- }
- />
- } />
-
-
- );
-};
-
-export default Main;
diff --git a/src/components/Navigation/Navbar.jsx b/src/components/Navigation/Navbar.jsx
new file mode 100644
index 0000000..1dfa573
--- /dev/null
+++ b/src/components/Navigation/Navbar.jsx
@@ -0,0 +1,73 @@
+import * as React from "react";
+import { AppBar, IconButton, Container } from "@mui/material";
+import { Link } from "react-router-dom";
+import HomeOutlinedIcon from "@mui/icons-material/HomeOutlined";
+import NewspaperOutlinedIcon from "@mui/icons-material/NewspaperOutlined";
+import FavoriteOutlinedIcon from "@mui/icons-material/FavoriteOutlined";
+import BusinessCenterOutlinedIcon from "@mui/icons-material/BusinessCenterOutlined";
+import LoginIcon from "@mui/icons-material/Login";
+
+const Navbar = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default Navbar;
diff --git a/src/components/News/News.jsx b/src/components/News/News.jsx
new file mode 100644
index 0000000..0578947
--- /dev/null
+++ b/src/components/News/News.jsx
@@ -0,0 +1,192 @@
+import React, { useState } from "react";
+import moment from "moment/moment";
+import { useGetCryptoNewsQuery } from "../../services/cryptoNewsApi";
+import { useGetCryptosQuery } from "../../services/cryptoApi";
+import demoImage from "../../assets/image/th.jpg";
+import Loader from "../Loader/Loader";
+import {
+ CardActions,
+ CardContent,
+ Grid,
+ Typography,
+ Card,
+ MenuItem,
+ FormControl,
+ InputLabel,
+ Select,
+ Box,
+ IconButton,
+} from "@mui/material";
+import ReadMoreIcon from "@mui/icons-material/ReadMore";
+
+const News = ({ simplified }) => {
+ const [newsCategory, setNewsCategory] = useState("Cryptocurrency");
+ const { data } = useGetCryptosQuery(100);
+ const { data: cryptoNews } = useGetCryptoNewsQuery({
+ newsCategory,
+ count: simplified ? 6 : 12,
+ });
+ if (!cryptoNews?.value) return ;
+
+ return (
+ <>
+ {!simplified && (
+
+ Select a coin
+
+
+ //
+ //
+ //
+ )}
+
+ {cryptoNews.value.map((news, i) => (
+
+
+
+
+ {news.name}
+
+
+
+
+
+ {news.description}
+
+
+
+
+
+
+
+ {news.provider[0]?.name}
+
+
+
+
+ {moment(news.datePublished)
+ .startOf("ss")
+ .fromNow()}
+
+
+
+
+
+
+
+
+
+
+ ))}
+
+ >
+ );
+};
+
+export default News;
diff --git a/src/index.js b/src/index.js
index 12ea9a4..c3859b9 100644
--- a/src/index.js
+++ b/src/index.js
@@ -3,12 +3,18 @@ import ReactDOM from "react-dom/client";
import App from "./App";
import { BrowserRouter } from "react-router-dom";
import "./style.scss";
+import CssBaseline from "@mui/material/CssBaseline";
+import store from "./app/store";
+import { Provider } from "react-redux";
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
-
+
+
+
+
);
diff --git a/src/services/cryptoApi.js b/src/services/cryptoApi.js
new file mode 100644
index 0000000..dec5496
--- /dev/null
+++ b/src/services/cryptoApi.js
@@ -0,0 +1,32 @@
+import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";
+
+const cryptoApiHeaders = {
+ "x-rapidapi-key": "7884705665mshbfc65f8da324cd7p1f6600jsn57e6fb37fca6",
+ "x-rapidapi-host": "coinranking1.p.rapidapi.com",
+};
+const baseUrl = "https://coinranking1.p.rapidapi.com";
+const createRequest = (url) => ({ url, headers: cryptoApiHeaders });
+export const cryptoApi = createApi({
+ reducerPath: "cryptoApi",
+ baseQuery: fetchBaseQuery({ baseUrl }),
+ endpoints: (builder) => ({
+ getCryptos: builder.query({
+ query: (count) => createRequest(`/coins?limit=${count}`),
+ }),
+ getCryptoDetails: builder.query({
+ query: (uuid) => createRequest(`/coin/${uuid}`),
+ }),
+ getCryptoHistory: builder.query({
+ query: ({ coinId, timePeriod }) =>
+ createRequest(
+ `coin/${coinId}/history?timePeriod=${timePeriod}`
+ ),
+ }),
+ }),
+});
+
+export const {
+ useGetCryptosQuery,
+ useGetCryptoDetailsQuery,
+ useGetCryptoHistoryQuery,
+} = cryptoApi;
diff --git a/src/services/cryptoNewsApi.js b/src/services/cryptoNewsApi.js
new file mode 100644
index 0000000..419ea5b
--- /dev/null
+++ b/src/services/cryptoNewsApi.js
@@ -0,0 +1,25 @@
+import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";
+
+const cryptoNewsHeaders = {
+ "x-bingapis-sdk": "true",
+ "x-rapidapi-key": "7884705665mshbfc65f8da324cd7p1f6600jsn57e6fb37fca6",
+ "x-rapidapi-host": "bing-news-search1.p.rapidapi.com",
+};
+
+const baseUrl = "https://bing-news-search1.p.rapidapi.com";
+const createRequest = (url) => ({ url, headers: cryptoNewsHeaders });
+
+export const cryptoNewsApi = createApi({
+ reducerPath: "cryptoNewsApi",
+ baseQuery: fetchBaseQuery({ baseUrl }),
+ endpoints: (builder) => ({
+ getCryptoNews: builder.query({
+ query: ({ newsCategory, count }) =>
+ createRequest(
+ `/news/search?q=${newsCategory}&safeSearch=Off&textFormat=Raw&freshness=Day&count=${count}`
+ ),
+ }),
+ }),
+});
+
+export const { useGetCryptoNewsQuery } = cryptoNewsApi;
diff --git a/src/style.scss b/src/style.scss
index 2fe26d9..62104b2 100644
--- a/src/style.scss
+++ b/src/style.scss
@@ -1,3 +1,3 @@
body {
- background: #000;
+ background-color: rgb(249, 249, 249) !important;
}
diff --git a/yarn.lock b/yarn.lock
index e9b84d7..e58b525 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -15,6 +15,40 @@
"@jridgewell/gen-mapping" "^0.1.0"
"@jridgewell/trace-mapping" "^0.3.9"
+"@ant-design/colors@^6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298"
+ integrity sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==
+ dependencies:
+ "@ctrl/tinycolor" "^3.4.0"
+
+"@ant-design/icons-svg@^4.2.1":
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz#8630da8eb4471a4aabdaed7d1ff6a97dcb2cf05a"
+ integrity sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==
+
+"@ant-design/icons@^4.7.0":
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.7.0.tgz#8c3cbe0a556ba92af5dc7d1e70c0b25b5179af0f"
+ integrity sha512-aoB4Z7JA431rt6d4u+8xcNPPCrdufSRMUOpxa1ab6mz1JCQZOEVolj2WVs/tDFmN62zzK30mNelEsprLYsSF3g==
+ dependencies:
+ "@ant-design/colors" "^6.0.0"
+ "@ant-design/icons-svg" "^4.2.1"
+ "@babel/runtime" "^7.11.2"
+ classnames "^2.2.6"
+ rc-util "^5.9.4"
+
+"@ant-design/react-slick@~0.29.1":
+ version "0.29.2"
+ resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-0.29.2.tgz#53e6a7920ea3562eebb304c15a7fc2d7e619d29c"
+ integrity sha512-kgjtKmkGHa19FW21lHnAfyyH9AAoh35pBdcJ53rHmQ3O+cfFHGHnUbj/HFrRNJ5vIts09FKJVAD8RpaC+RaWfA==
+ dependencies:
+ "@babel/runtime" "^7.10.4"
+ classnames "^2.2.5"
+ json2mq "^0.2.0"
+ lodash "^4.17.21"
+ resize-observer-polyfill "^1.5.1"
+
"@apideck/better-ajv-errors@^0.3.1":
version "0.3.6"
resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz#957d4c28e886a64a8141f7522783be65733ff097"
@@ -1036,7 +1070,7 @@
core-js-pure "^3.20.2"
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
+"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259"
integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==
@@ -1193,6 +1227,11 @@
resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36"
integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==
+"@ctrl/tinycolor@^3.4.0":
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz#75b4c27948c81e88ccd3a8902047bcd797f38d32"
+ integrity sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==
+
"@emotion/babel-plugin@^11.10.0":
version "11.10.2"
resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz#879db80ba622b3f6076917a1e6f648b1c7d008c7"
@@ -1797,6 +1836,16 @@
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45"
integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==
+"@reduxjs/toolkit@^1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.8.5.tgz#c14bece03ee08be88467f22dc0ecf9cf875527cd"
+ integrity sha512-f4D5EXO7A7Xq35T0zRbWq5kJQyXzzscnHKmjnu2+37B3rwHU6mX9PYlbfXdnxcY6P/7zfmjhgan0Z+yuOfeBmA==
+ dependencies:
+ immer "^9.0.7"
+ redux "^4.1.2"
+ redux-thunk "^2.4.1"
+ reselect "^4.1.5"
+
"@rollup/plugin-babel@^5.2.0":
version "5.3.1"
resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283"
@@ -2151,6 +2200,14 @@
dependencies:
"@types/node" "*"
+"@types/hoist-non-react-statics@^3.3.1":
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f"
+ integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==
+ dependencies:
+ "@types/react" "*"
+ hoist-non-react-statics "^3.3.0"
+
"@types/html-minifier-terser@^6.0.0":
version "6.1.0"
resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35"
@@ -2326,6 +2383,11 @@
resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756"
integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==
+"@types/use-sync-external-store@^0.0.3":
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43"
+ integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==
+
"@types/ws@^8.5.1":
version "8.5.3"
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d"
@@ -2726,6 +2788,56 @@ ansi-styles@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
+antd@^4.23.0:
+ version "4.23.0"
+ resolved "https://registry.yarnpkg.com/antd/-/antd-4.23.0.tgz#e336bf17816b66a38c85707b0b2d62a652680929"
+ integrity sha512-a0voELfS5lDy6NCcDNbDUMv2OZ+IfeX/kYxaRnRJj0/R4tPJWAqs0bqFVpdk5y8JsPl6B396bTVzKZo49e+uvA==
+ dependencies:
+ "@ant-design/colors" "^6.0.0"
+ "@ant-design/icons" "^4.7.0"
+ "@ant-design/react-slick" "~0.29.1"
+ "@babel/runtime" "^7.18.3"
+ "@ctrl/tinycolor" "^3.4.0"
+ classnames "^2.2.6"
+ copy-to-clipboard "^3.2.0"
+ lodash "^4.17.21"
+ memoize-one "^6.0.0"
+ moment "^2.29.2"
+ rc-cascader "~3.6.0"
+ rc-checkbox "~2.3.0"
+ rc-collapse "~3.3.0"
+ rc-dialog "~8.9.0"
+ rc-drawer "~5.1.0"
+ rc-dropdown "~4.0.0"
+ rc-field-form "~1.27.0"
+ rc-image "~5.7.0"
+ rc-input "~0.1.2"
+ rc-input-number "~7.3.5"
+ rc-mentions "~1.9.1"
+ rc-menu "~9.6.3"
+ rc-motion "^2.6.1"
+ rc-notification "~4.6.0"
+ rc-pagination "~3.1.17"
+ rc-picker "~2.6.10"
+ rc-progress "~3.3.2"
+ rc-rate "~2.9.0"
+ rc-resize-observer "^1.2.0"
+ rc-segmented "~2.1.0"
+ rc-select "~14.1.1"
+ rc-slider "~10.0.0"
+ rc-steps "~4.1.0"
+ rc-switch "~3.2.0"
+ rc-table "~7.26.0"
+ rc-tabs "~12.1.0-alpha.1"
+ rc-textarea "~0.3.0"
+ rc-tooltip "~5.2.0"
+ rc-tree "~5.6.5"
+ rc-tree-select "~5.4.0"
+ rc-trigger "^5.2.10"
+ rc-upload "~4.3.0"
+ rc-util "^5.22.5"
+ scroll-into-view-if-needed "^2.2.25"
+
anymatch@^3.0.3, anymatch@~3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
@@ -2785,6 +2897,11 @@ array-includes@^3.1.4, array-includes@^3.1.5:
get-intrinsic "^1.1.1"
is-string "^1.0.7"
+array-tree-filter@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190"
+ integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==
+
array-union@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
@@ -2831,6 +2948,11 @@ ast-types-flow@^0.0.7:
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==
+async-validator@^4.1.0:
+ version "4.2.5"
+ resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339"
+ integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==
+
async@^3.2.3:
version "3.2.4"
resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
@@ -3263,6 +3385,11 @@ char-regex@^2.0.0:
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e"
integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==
+chart.js@^3.9.1:
+ version "3.9.1"
+ resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.9.1.tgz#3abf2c775169c4c71217a107163ac708515924b8"
+ integrity sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==
+
check-types@^11.1.1:
version "11.1.2"
resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.1.2.tgz#86a7c12bf5539f6324eb0e70ca8896c0e38f3e2f"
@@ -3298,6 +3425,11 @@ cjs-module-lexer@^1.0.0:
resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
+classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e"
+ integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
+
clean-css@^5.2.2:
version "5.3.1"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.1.tgz#d0610b0b90d125196a2894d35366f734e5d7aa32"
@@ -3429,6 +3561,11 @@ compression@^1.7.4:
safe-buffer "5.1.2"
vary "~1.1.2"
+compute-scroll-into-view@^1.0.17:
+ version "1.0.17"
+ resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz#6a88f18acd9d42e9cf4baa6bec7e0522607ab7ab"
+ integrity sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==
+
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
@@ -3473,6 +3610,13 @@ cookie@0.5.0:
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
+copy-to-clipboard@^3.2.0:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz#5b263ec2366224b100181dded7ce0579b340c107"
+ integrity sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg==
+ dependencies:
+ toggle-selection "^1.0.6"
+
core-js-compat@^3.21.0, core-js-compat@^3.22.1:
version "3.25.0"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.0.tgz#489affbfbf9cb3fa56192fe2dd9ebaee985a66c5"
@@ -3755,6 +3899,16 @@ data-urls@^2.0.0:
whatwg-mimetype "^2.3.0"
whatwg-url "^8.0.0"
+date-fns@2.x:
+ version "2.29.2"
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.2.tgz#0d4b3d0f3dff0f920820a070920f0d9662c51931"
+ integrity sha512-0VNbwmWJDS/G3ySwFSJA3ayhbURMTJLtwM2DTxf9CWondCnh6DTNlO9JgRSq6ibf4eD0lfMJNBxUdEAHHix+bA==
+
+dayjs@1.x:
+ version "1.11.5"
+ resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93"
+ integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==
+
debug@2.6.9, debug@^2.6.0, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -3926,6 +4080,11 @@ dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9:
resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56"
integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==
+dom-align@^1.7.0:
+ version "1.12.3"
+ resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.3.tgz#a36d02531dae0eefa2abb0c4db6595250526f103"
+ integrity sha512-Gj9hZN3a07cbR6zviMUBOMPdWxYhbMI+x+WS0NAIu2zFZmbK8ys9R79g+iG9qLnlCwpFoaB+fKy8Pdv470GsPA==
+
dom-converter@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
@@ -3958,12 +4117,21 @@ dom-serializer@^1.0.1:
domhandler "^4.2.0"
entities "^2.0.0"
+dom-serializer@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
+ integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
+ dependencies:
+ domelementtype "^2.3.0"
+ domhandler "^5.0.2"
+ entities "^4.2.0"
+
domelementtype@1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
-domelementtype@^2.0.1, domelementtype@^2.2.0:
+domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
@@ -3975,6 +4143,13 @@ domexception@^2.0.1:
dependencies:
webidl-conversions "^5.0.0"
+domhandler@5.0.3, domhandler@^5.0.1, domhandler@^5.0.2:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
+ integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
+ dependencies:
+ domelementtype "^2.3.0"
+
domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
@@ -3999,6 +4174,15 @@ domutils@^2.5.2, domutils@^2.8.0:
domelementtype "^2.2.0"
domhandler "^4.2.0"
+domutils@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.0.1.tgz#696b3875238338cb186b6c0612bd4901c89a4f1c"
+ integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==
+ dependencies:
+ dom-serializer "^2.0.0"
+ domelementtype "^2.3.0"
+ domhandler "^5.0.1"
+
dot-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751"
@@ -4082,6 +4266,11 @@ entities@^2.0.0:
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+entities@^4.2.0, entities@^4.3.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174"
+ integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==
+
error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
@@ -4991,7 +5180,7 @@ history@^5.2.0:
dependencies:
"@babel/runtime" "^7.7.6"
-hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.1:
+hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
@@ -5013,6 +5202,14 @@ hpack.js@^2.1.6:
readable-stream "^2.0.1"
wbuf "^1.1.0"
+html-dom-parser@3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/html-dom-parser/-/html-dom-parser-3.1.2.tgz#c137c42df80e17d185ff35a806925d96cc73f408"
+ integrity sha512-mLTtl3pVn3HnqZSZzW3xVs/mJAKrG1yIw3wlp+9bdoZHHLaBRvELdpfShiPVLyjPypq1Fugv2KMDoGHW4lVXnw==
+ dependencies:
+ domhandler "5.0.3"
+ htmlparser2 "8.0.1"
+
html-encoding-sniffer@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3"
@@ -5043,6 +5240,16 @@ html-minifier-terser@^6.0.2:
relateurl "^0.2.7"
terser "^5.10.0"
+html-react-parser@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/html-react-parser/-/html-react-parser-3.0.4.tgz#6a6a115a011dfdadd901ca9d2ed80fa5390647e5"
+ integrity sha512-va68PSmC7uA6PbOEc9yuw5Mu3OHPXmFKUpkLGvUPdTuNrZ0CJZk1s/8X/FaHjswK/6uZghu2U02tJjussT8+uw==
+ dependencies:
+ domhandler "5.0.3"
+ html-dom-parser "3.1.2"
+ react-property "2.0.0"
+ style-to-js "1.1.1"
+
html-webpack-plugin@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50"
@@ -5054,6 +5261,16 @@ html-webpack-plugin@^5.5.0:
pretty-error "^4.0.0"
tapable "^2.0.0"
+htmlparser2@8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.1.tgz#abaa985474fcefe269bc761a779b544d7196d010"
+ integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==
+ dependencies:
+ domelementtype "^2.3.0"
+ domhandler "^5.0.2"
+ domutils "^3.0.1"
+ entities "^4.3.0"
+
htmlparser2@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
@@ -5232,6 +5449,11 @@ ini@^1.3.5:
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+inline-style-parser@0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1"
+ integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
+
internal-slot@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
@@ -6108,6 +6330,13 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
+json2mq@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a"
+ integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==
+ dependencies:
+ string-convert "^0.2.0"
+
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
@@ -6340,6 +6569,11 @@ memfs@^3.1.2, memfs@^3.4.3:
dependencies:
fs-monkey "^1.0.3"
+memoize-one@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045"
+ integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==
+
merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
@@ -6368,6 +6602,13 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
braces "^3.0.2"
picomatch "^2.3.1"
+millify@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/millify/-/millify-5.0.0.tgz#080719843019dbab357ded9766be6324f6e2652a"
+ integrity sha512-7B0kQOz6MZw32/80hramivyRobkBmA++Xrk6Fg+1kRlm1QZRisD0D/TmSyvcpTNsFB4Fq0UD+KltfsuTgA22Ww==
+ dependencies:
+ yargs "^17.0.1"
+
mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
version "1.52.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
@@ -6440,6 +6681,11 @@ mkdirp@~0.5.1:
dependencies:
minimist "^1.2.6"
+moment@^2.24.0, moment@^2.29.2, moment@^2.29.4:
+ 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.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -7562,6 +7808,375 @@ raw-body@2.5.1:
iconv-lite "0.4.24"
unpipe "1.0.0"
+rc-align@^4.0.0:
+ version "4.0.12"
+ resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.12.tgz#065b5c68a1cc92a00800c9239320d9fdf5f16207"
+ integrity sha512-3DuwSJp8iC/dgHzwreOQl52soj40LchlfUHtgACOUtwGuoFIOVh6n/sCpfqCU8kO5+iz6qR0YKvjgB8iPdE3aQ==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ dom-align "^1.7.0"
+ lodash "^4.17.21"
+ rc-util "^5.3.0"
+ resize-observer-polyfill "^1.5.1"
+
+rc-cascader@~3.6.0:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.6.2.tgz#2b5c108807234898cd9a0366d0626f786b7b5622"
+ integrity sha512-sf2otpazlROTzkD3nZVfIzXmfBLiEOBTXA5wxozGXBpS902McDpvF0bdcYBu5hN+rviEAm6Mh9cLXNQ1Ty8wKQ==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+ array-tree-filter "^2.1.0"
+ classnames "^2.3.1"
+ rc-select "~14.1.0"
+ rc-tree "~5.6.3"
+ rc-util "^5.6.1"
+
+rc-checkbox@~2.3.0:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-2.3.2.tgz#f91b3678c7edb2baa8121c9483c664fa6f0aefc1"
+ integrity sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.1"
+
+rc-collapse@~3.3.0:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.3.1.tgz#fc66d4c9cfeaf41e932b2de6da2d454874aee55a"
+ integrity sha512-cOJfcSe3R8vocrF8T+PgaHDrgeA1tX+lwfhwSj60NX9QVRidsILIbRNDLD6nAzmcvVC5PWiIRiR4S1OobxdhCg==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ rc-motion "^2.3.4"
+ rc-util "^5.2.1"
+ shallowequal "^1.1.0"
+
+rc-dialog@~8.9.0:
+ version "8.9.0"
+ resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-8.9.0.tgz#04dc39522f0321ed2e06018d4a7e02a4c32bd3ea"
+ integrity sha512-Cp0tbJnrvPchJfnwIvOMWmJ4yjX3HWFatO6oBFD1jx8QkgsQCR0p8nUWAKdd3seLJhEC39/v56kZaEjwp9muoQ==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.6"
+ rc-motion "^2.3.0"
+ rc-util "^5.21.0"
+
+rc-drawer@~5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-5.1.0.tgz#c1b8a46e5c064ba46a16233fbcfb1ccec6a73c10"
+ integrity sha512-pU3Tsn99pxGdYowXehzZbdDVE+4lDXSGb7p8vA9mSmr569oc2Izh4Zw5vLKSe/Xxn2p5MSNbLVqD4tz+pK6SOw==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.6"
+ rc-motion "^2.6.1"
+ rc-util "^5.21.2"
+
+rc-dropdown@~4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.0.1.tgz#f65d9d3d89750241057db59d5a75e43cd4576b68"
+ integrity sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ classnames "^2.2.6"
+ rc-trigger "^5.3.1"
+ rc-util "^5.17.0"
+
+rc-field-form@~1.27.0:
+ version "1.27.1"
+ resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.27.1.tgz#11d61ccb43679e71fdbbff0d821326202554df84"
+ integrity sha512-RShegnwFu6TH8tl2olCxn+B4Wyh5EiQH8c/7wucbkLNyue05YiH5gomUAg1vbZjp71yFKwegClctsEG5CNBWAA==
+ dependencies:
+ "@babel/runtime" "^7.18.0"
+ async-validator "^4.1.0"
+ rc-util "^5.8.0"
+
+rc-image@~5.7.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-5.7.1.tgz#678dc014845954c30237808c00c7b12e5f2a0b07"
+ integrity sha512-QyMfdhoUfb5W14plqXSisaYwpdstcLYnB0MjX5ccIK2rydQM9sDPuekQWu500DDGR2dBaIF5vx9XbWkNFK17Fg==
+ dependencies:
+ "@babel/runtime" "^7.11.2"
+ classnames "^2.2.6"
+ rc-dialog "~8.9.0"
+ rc-util "^5.0.6"
+
+rc-input-number@~7.3.5:
+ version "7.3.7"
+ resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-7.3.7.tgz#a5463770f06641388675d32b4ae88958b5ededf9"
+ integrity sha512-W9jDwfhJyNjg0iZX401r0GctTGX4ETURzF6SisC42GR0AkJxtaPD89eGwbTdAudUjEx0Pkn2rGmfvVGGdQACKA==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.5"
+ rc-util "^5.23.0"
+
+rc-input@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-0.1.2.tgz#7d6a0858a5f1fd89f78020cf6f13d672778481b1"
+ integrity sha512-ZPmwcFspgfYpUfbSx3KnLk9gImBcLOrlQCr4oTJ4jBoIXgJLTfm26yelzRgBJewhkvD8uJbgX0sQ/yOzuOHnJg==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ classnames "^2.2.1"
+ rc-util "^5.18.1"
+
+rc-mentions@~1.9.1:
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.9.2.tgz#f264ebc4ec734dad9edc8e078b65ab3586d94a7b"
+ integrity sha512-uxb/lzNnEGmvraKWNGE6KXMVXvt8RQv9XW8R0Dqi3hYsyPiAZeHRCHQKdLARuk5YBhFhZ6ga55D/8XuY367g3g==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.6"
+ rc-menu "~9.6.0"
+ rc-textarea "^0.3.0"
+ rc-trigger "^5.0.4"
+ rc-util "^5.22.5"
+
+rc-menu@~9.6.0, rc-menu@~9.6.3:
+ version "9.6.3"
+ resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.6.3.tgz#f0373d0391a97db94147106cddffe87b1e4f4e36"
+ integrity sha512-KY9QilKWgkJZ0JSpOBgIpQF2wMRRodRxpIMYyIJ3Nd5N6xfVLOxXCxevHcBplt+Ez7MhUF+I03MuAKqWQJLZgw==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ rc-motion "^2.4.3"
+ rc-overflow "^1.2.0"
+ rc-trigger "^5.1.2"
+ rc-util "^5.12.0"
+ shallowequal "^1.1.0"
+
+rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.6.2.tgz#3d31f97e41fb8e4f91a4a4189b6a98ac63342869"
+ integrity sha512-4w1FaX3dtV749P8GwfS4fYnFG4Rb9pxvCYPc/b2fw1cmlHJWNNgOFIz7ysiD+eOrzJSvnLJWlNQQncpNMXwwpg==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ classnames "^2.2.1"
+ rc-util "^5.21.0"
+
+rc-notification@~4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-4.6.0.tgz#4e76fc2d0568f03cc93ac18c9e20763ebe29fa46"
+ integrity sha512-xF3MKgIoynzjQAO4lqsoraiFo3UXNYlBfpHs0VWvwF+4pimen9/H1DYLN2mfRWhHovW6gRpla73m2nmyIqAMZQ==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ rc-motion "^2.2.0"
+ rc-util "^5.20.1"
+
+rc-overflow@^1.0.0, rc-overflow@^1.2.0:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.2.8.tgz#40f140fabc244118543e627cdd1ef750d9481a88"
+ integrity sha512-QJ0UItckWPQ37ZL1dMEBAdY1dhfTXFL9k6oTTcyydVwoUNMnMqCGqnRNA98axSr/OeDKqR6DVFyi8eA5RQI/uQ==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ classnames "^2.2.1"
+ rc-resize-observer "^1.0.0"
+ rc-util "^5.19.2"
+
+rc-pagination@~3.1.17:
+ version "3.1.17"
+ resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.1.17.tgz#91e690aa894806e344cea88ea4a16d244194a1bd"
+ integrity sha512-/BQ5UxcBnW28vFAcP2hfh+Xg15W0QZn8TWYwdCApchMH1H0CxiaUUcULP8uXcFM1TygcdKWdt3JqsL9cTAfdkQ==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.1"
+
+rc-picker@~2.6.10:
+ version "2.6.10"
+ resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.6.10.tgz#8d0a473c079388bdb2d7358a2a54c7d5095893b4"
+ integrity sha512-9wYtw0DFWs9FO92Qh2D76P0iojUr8ZhLOtScUeOit6ks/F+TBLrOC1uze3IOu+u9gbDAjmosNWLKbBzx/Yuv2w==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.1"
+ date-fns "2.x"
+ dayjs "1.x"
+ moment "^2.24.0"
+ rc-trigger "^5.0.4"
+ rc-util "^5.4.0"
+ shallowequal "^1.1.0"
+
+rc-progress@~3.3.2:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.3.3.tgz#eb9bffbacab1534f2542f9f6861ce772254362b1"
+ integrity sha512-MDVNVHzGanYtRy2KKraEaWeZLri2ZHWIRyaE1a9MQ2MuJ09m+Wxj5cfcaoaR6z5iRpHpA59YeUxAlpML8N4PJw==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.6"
+ rc-util "^5.16.1"
+
+rc-rate@~2.9.0:
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.9.2.tgz#4a58965d1ecf91896ebae01d458b59056df0b4ea"
+ integrity sha512-SaiZFyN8pe0Fgphv8t3+kidlej+cq/EALkAJAc3A0w0XcPaH2L1aggM8bhe1u6GAGuQNAoFvTLjw4qLPGRKV5g==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.5"
+ rc-util "^5.0.1"
+
+rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz#9f46052f81cdf03498be35144cb7c53fd282c4c7"
+ integrity sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.1"
+ rc-util "^5.15.0"
+ resize-observer-polyfill "^1.5.1"
+
+rc-segmented@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.1.0.tgz#0e0afe646c1a0e44a0e18785f518c42633ec8efc"
+ integrity sha512-hUlonro+pYoZcwrH6Vm56B2ftLfQh046hrwif/VwLIw1j3zGt52p5mREBwmeVzXnSwgnagpOpfafspzs1asjGw==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ classnames "^2.2.1"
+ rc-motion "^2.4.4"
+ rc-util "^5.17.0"
+
+rc-select@~14.1.0, rc-select@~14.1.1:
+ version "14.1.11"
+ resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.1.11.tgz#7f1227c14fe47c0f6e880a57e428c3318ac9bffe"
+ integrity sha512-3UI781eaTg/V4BEc8rLk1i2BQmO+n0sOsi3RKcV2EkHu2ErjTlg/1SOixllnWTWcH02oizvdvALZ1nvZulin9A==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ rc-motion "^2.0.1"
+ rc-overflow "^1.0.0"
+ rc-trigger "^5.0.4"
+ rc-util "^5.16.1"
+ rc-virtual-list "^3.2.0"
+
+rc-slider@~10.0.0:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.0.1.tgz#7058c68ff1e1aa4e7c3536e5e10128bdbccb87f9"
+ integrity sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.5"
+ rc-util "^5.18.1"
+ shallowequal "^1.1.0"
+
+rc-steps@~4.1.0:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-4.1.4.tgz#0ba82db202d59ca52d0693dc9880dd145b19dc23"
+ integrity sha512-qoCqKZWSpkh/b03ASGx1WhpKnuZcRWmvuW+ZUu4mvMdfvFzVxblTwUM+9aBd0mlEUFmt6GW8FXhMpHkK3Uzp3w==
+ dependencies:
+ "@babel/runtime" "^7.10.2"
+ classnames "^2.2.3"
+ rc-util "^5.0.1"
+
+rc-switch@~3.2.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-3.2.2.tgz#d001f77f12664d52595b4f6fb425dd9e66fba8e8"
+ integrity sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.1"
+ rc-util "^5.0.1"
+
+rc-table@~7.26.0:
+ version "7.26.0"
+ resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.26.0.tgz#9d517e7fa512e7571fdcc453eb1bf19edfac6fbc"
+ integrity sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.5"
+ rc-resize-observer "^1.1.0"
+ rc-util "^5.22.5"
+ shallowequal "^1.1.0"
+
+rc-tabs@~12.1.0-alpha.1:
+ version "12.1.0-alpha.1"
+ resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-12.1.0-alpha.1.tgz#00f45b9dffa9bc6aff8ce2aff4a1a0764caada54"
+ integrity sha512-M+B88WEnGSuE+mR54fpgPbZLAakzxa/H6FmEetLBl5WG4I3AcwSk9amuIPC/tu0KXBl+H6Bg5ZwrrEUOBUvgzg==
+ dependencies:
+ "@babel/runtime" "^7.11.2"
+ classnames "2.x"
+ rc-dropdown "~4.0.0"
+ rc-menu "~9.6.0"
+ rc-motion "^2.6.2"
+ rc-resize-observer "^1.0.0"
+ rc-util "^5.5.0"
+
+rc-textarea@^0.3.0, rc-textarea@~0.3.0:
+ version "0.3.7"
+ resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-0.3.7.tgz#987142891efdedb774883c07e2f51b318fde5a11"
+ integrity sha512-yCdZ6binKmAQB13hc/oehh0E/QRwoPP1pjF21aHBxlgXO3RzPF6dUu4LG2R4FZ1zx/fQd2L1faktulrXOM/2rw==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.1"
+ rc-resize-observer "^1.0.0"
+ rc-util "^5.7.0"
+ shallowequal "^1.1.0"
+
+rc-tooltip@~5.2.0:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.2.2.tgz#e5cafa8ecebf78108936a0bcb93c150fa81ac93b"
+ integrity sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==
+ dependencies:
+ "@babel/runtime" "^7.11.2"
+ classnames "^2.3.1"
+ rc-trigger "^5.0.0"
+
+rc-tree-select@~5.4.0:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.4.1.tgz#b97b9c6adcabc7415d25cfd40d18058b0c57bec2"
+ integrity sha512-xhXnKP8Stu2Q7wTcjJaSzSOLd4wmFtUZOwmy1cioaWyPbpiKlYdnALXA/9U49HOaV3KFXdRHE9Yi0KYED7yOAQ==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ rc-select "~14.1.0"
+ rc-tree "~5.6.1"
+ rc-util "^5.16.1"
+
+rc-tree@~5.6.1, rc-tree@~5.6.3, rc-tree@~5.6.5:
+ version "5.6.7"
+ resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.6.7.tgz#832ef5a239c8143afe9dda33c39b87832b1a7e49"
+ integrity sha512-LcvI8YciaBcPpsroi3qUR0hU3qMWAwtD/5SQuT4HcmMbVYM4281Xptav0Bq+7KUf2t1WhrqLhhtzrIlft+4tvw==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ rc-motion "^2.0.1"
+ rc-util "^5.16.1"
+ rc-virtual-list "^3.4.8"
+
+rc-trigger@^5.0.0, rc-trigger@^5.0.4, rc-trigger@^5.1.2, rc-trigger@^5.2.10, rc-trigger@^5.3.1:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.3.1.tgz#acafadf3eaf384e7f466c303bfa0f34c8137d7b8"
+ integrity sha512-5gaFbDkYSefZ14j2AdzucXzlWgU2ri5uEjkHvsf1ynRhdJbKxNOnw4PBZ9+FVULNGFiDzzlVF8RJnR9P/xrnKQ==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ classnames "^2.2.6"
+ rc-align "^4.0.0"
+ rc-motion "^2.0.0"
+ rc-util "^5.19.2"
+
+rc-upload@~4.3.0:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.3.4.tgz#83ff7d3867631c37adbfd72ea3d1fd7e97ca84af"
+ integrity sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ classnames "^2.2.5"
+ rc-util "^5.2.0"
+
+rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.12.0, rc-util@^5.15.0, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.2, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.21.2, rc-util@^5.22.5, rc-util@^5.23.0, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4:
+ version "5.24.2"
+ resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.24.2.tgz#b90057dd880e1ba2bea63028ef1892101a48bc0c"
+ integrity sha512-MWd0ZEV7xSwN4HM9jz9BwpnMzwCPjYJ7K90lePsrdgAkrmm8U7b4BOTIsv/84BQsaF7N3ejNkcrZ3AfEwc9HXA==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ react-is "^16.12.0"
+ shallowequal "^1.1.0"
+
+rc-virtual-list@^3.2.0, rc-virtual-list@^3.4.8:
+ version "3.4.8"
+ resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.4.8.tgz#c24c10c6940546b7e2a5e9809402c6716adfd26c"
+ integrity sha512-qSN+Rv4i/E7RCTvTMr1uZo7f3crJJg/5DekoCagydo9zsXrxj07zsFSxqizqW+ldGA16lwa8So/bIbV9Ofjddg==
+ dependencies:
+ classnames "^2.2.6"
+ rc-resize-observer "^1.0.0"
+ rc-util "^5.15.0"
+
react-app-polyfill@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz#95221e0a9bd259e5ca6b177c7bb1cb6768f68fd7"
@@ -7574,6 +8189,11 @@ react-app-polyfill@^3.0.0:
regenerator-runtime "^0.13.9"
whatwg-fetch "^3.6.2"
+react-chartjs-2@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-4.3.1.tgz#9941e7397fb963f28bb557addb401e9ff96c6681"
+ integrity sha512-5i3mjP6tU7QSn0jvb8I4hudTzHJqS8l00ORJnVwI2sYu0ihpj83Lv2YzfxunfxTZkscKvZu2F2w9LkwNBhj6xA==
+
react-dev-utils@^12.0.1:
version "12.0.1"
resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73"
@@ -7617,7 +8237,7 @@ react-error-overlay@^6.0.11:
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb"
integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==
-react-is@^16.13.1, react-is@^16.7.0:
+react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@@ -7632,6 +8252,23 @@ react-is@^18.0.0, react-is@^18.2.0:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
+react-property@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/react-property/-/react-property-2.0.0.tgz#2156ba9d85fa4741faf1918b38efc1eae3c6a136"
+ integrity sha512-kzmNjIgU32mO4mmH5+iUyrqlpFQhF8K2k7eZ4fdLSOPFrD1XgEuSBv9LDEgxRXTMBqMd8ppT0x6TIzqE5pdGdw==
+
+react-redux@^8.0.2:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.0.2.tgz#bc2a304bb21e79c6808e3e47c50fe1caf62f7aad"
+ integrity sha512-nBwiscMw3NoP59NFCXFf02f8xdo+vSHT/uZ1ldDwF7XaTpzm+Phk97VT4urYBl5TYAPNVaFm12UHAEyzkpNzRA==
+ dependencies:
+ "@babel/runtime" "^7.12.1"
+ "@types/hoist-non-react-statics" "^3.3.1"
+ "@types/use-sync-external-store" "^0.0.3"
+ hoist-non-react-statics "^3.3.2"
+ react-is "^18.0.0"
+ use-sync-external-store "^1.0.0"
+
react-refresh@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046"
@@ -7775,6 +8412,18 @@ redent@^3.0.0:
indent-string "^4.0.0"
strip-indent "^3.0.0"
+redux-thunk@^2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.1.tgz#0dd8042cf47868f4b29699941de03c9301a75714"
+ integrity sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==
+
+redux@^4.1.2:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.0.tgz#46f10d6e29b6666df758780437651eeb2b969f13"
+ integrity sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==
+ dependencies:
+ "@babel/runtime" "^7.9.2"
+
regenerate-unicode-properties@^10.0.1:
version "10.0.1"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56"
@@ -7873,6 +8522,16 @@ requires-port@^1.0.0:
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
+reselect@^4.1.5:
+ version "4.1.6"
+ resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.6.tgz#19ca2d3d0b35373a74dc1c98692cdaffb6602656"
+ integrity sha512-ZovIuXqto7elwnxyXbBtCPo9YFEr3uJqj2rRbcOOog1bmu2Ag85M4hixSwFWyaBMKXNgvPaJ9OSu9SkBPIeJHQ==
+
+resize-observer-polyfill@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
+ integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
+
resolve-cwd@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
@@ -8058,6 +8717,13 @@ schema-utils@^4.0.0:
ajv-formats "^2.1.1"
ajv-keywords "^5.0.0"
+scroll-into-view-if-needed@^2.2.25:
+ version "2.2.29"
+ resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.29.tgz#551791a84b7e2287706511f8c68161e4990ab885"
+ integrity sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==
+ dependencies:
+ compute-scroll-into-view "^1.0.17"
+
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
@@ -8322,6 +8988,11 @@ statuses@2.0.1:
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+string-convert@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97"
+ integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==
+
string-length@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"
@@ -8343,7 +9014,7 @@ string-natural-compare@^3.0.1:
resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4"
integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==
-string-width@^4.1.0, string-width@^4.2.0:
+string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -8458,6 +9129,20 @@ style-loader@^3.3.1:
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575"
integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==
+style-to-js@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.1.tgz#417786986cda61d4525c80aed9d1123a6a7af9b8"
+ integrity sha512-RJ18Z9t2B02sYhZtfWKQq5uplVctgvjTfLWT7+Eb1zjUjIrWzX5SdlkwLGQozrqarTmEzJJ/YmdNJCUNI47elg==
+ dependencies:
+ style-to-object "0.3.0"
+
+style-to-object@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46"
+ integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==
+ dependencies:
+ inline-style-parser "0.1.1"
+
styled-components@^5.3.5:
version "5.3.5"
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.5.tgz#a750a398d01f1ca73af16a241dec3da6deae5ec4"
@@ -8686,6 +9371,11 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
+toggle-selection@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
+ integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==
+
toidentifier@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
@@ -8884,6 +9574,11 @@ url-parse@^1.5.3:
querystringify "^2.1.1"
requires-port "^1.0.0"
+use-sync-external-store@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
+ integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
+
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
@@ -9406,6 +10101,11 @@ yargs-parser@^20.2.2:
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
+yargs-parser@^21.0.0:
+ version "21.1.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
+ integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
+
yargs@^16.2.0:
version "16.2.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
@@ -9419,6 +10119,19 @@ yargs@^16.2.0:
y18n "^5.0.5"
yargs-parser "^20.2.2"
+yargs@^17.0.1:
+ version "17.5.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e"
+ integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==
+ dependencies:
+ cliui "^7.0.2"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
+ require-directory "^2.1.1"
+ string-width "^4.2.3"
+ y18n "^5.0.5"
+ yargs-parser "^21.0.0"
+
yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"