diff --git a/next.config.js b/next.config.js
index 7de6e4f..ca6c0d4 100644
--- a/next.config.js
+++ b/next.config.js
@@ -21,6 +21,8 @@ module.exports = withPlugins(
},
webpack(config) {
+ config.externals = [...config.externals, { anychart: 'anychart' }];
+
config.resolve.alias = {
...config.resolve.alias,
// https://blog.usejournal.com/my-awesome-custom-react-environment-variables-setup-8ebb0797d8ac
diff --git a/package.json b/package.json
index cc1a4b8..28dc9ca 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,7 @@
"scripts": {
"dev": "CLIENT_ENV=development next dev",
"build": "next build",
+ "prestart": "next build",
"start": "next start",
"---------- Linting ----------------------------------------------------": "",
"eslint": "next lint",
@@ -23,7 +24,18 @@
"up": "yarn upgrade-interactive --latest",
"-----------------------------------------------------------------------": ""
},
+ "dependencies-comments": [
+ {
+ "anychart": [
+ "We actually don't use this library. The only reason anychart is installed is for the TypeScript types.",
+ "The actual code is downloaded via a script tag in the _document.tsx file. Make sure the versions are the same in the script tag and in dependencies.",
+ "If you look at the next.config.js file you will notice that webpack removes anychart from being bundle into the JavaScript files. This prevents anychart from being bundled multiple times."
+ ]
+ }
+ ],
"dependencies": {
+ "anychart": "8.9.0",
+ "anychart-react": "1.4.1",
"axios": "0.26.1",
"clsx": "1.1.1",
"next": "12.1.4",
diff --git a/src/components/pages/about-page/AboutPage.tsx b/src/components/pages/about-page/AboutPage.tsx
index 0ae747e..4eacfc6 100644
--- a/src/components/pages/about-page/AboutPage.tsx
+++ b/src/components/pages/about-page/AboutPage.tsx
@@ -1,6 +1,8 @@
import React from 'react';
import Link from 'next/link';
import { Routes } from '../../../constants/Routes';
+import { PieChartDynamic } from '../../ui/pie-chart/PieChart.dynamic';
+import { AreaChartDynamic } from '../../ui/area-chart/AreaChart.dynamic';
interface IProps {}
@@ -14,6 +16,45 @@ export const AboutPage: React.FC = (props) => {
Go home
+
+
);
};
diff --git a/src/components/pages/index-page/IndexPage.tsx b/src/components/pages/index-page/IndexPage.tsx
index 551e923..5261c00 100644
--- a/src/components/pages/index-page/IndexPage.tsx
+++ b/src/components/pages/index-page/IndexPage.tsx
@@ -1,6 +1,7 @@
import React from 'react';
import Link from 'next/link';
import { Routes } from '../../../constants/Routes';
+import { SimpleBarChartDynamic } from '../../ui/simple-bar-chart/SimpleBarChart.dynamic';
interface IProps {
testId?: string;
@@ -25,6 +26,7 @@ export const IndexPage: React.FC = (props) => {
About
+
);
};
diff --git a/src/components/ui/area-chart/AreaChart.dynamic.tsx b/src/components/ui/area-chart/AreaChart.dynamic.tsx
new file mode 100644
index 0000000..14578da
--- /dev/null
+++ b/src/components/ui/area-chart/AreaChart.dynamic.tsx
@@ -0,0 +1,7 @@
+import dynamic from 'next/dynamic';
+import { AreaChart } from './AreaChart';
+
+export const AreaChartDynamic = dynamic(
+ () => import('./AreaChart' /* webpackChunkName: "AreaChart" */).then((mod) => mod.AreaChart as any),
+ { ssr: false }
+) as typeof AreaChart;
diff --git a/src/components/ui/area-chart/AreaChart.tsx b/src/components/ui/area-chart/AreaChart.tsx
new file mode 100644
index 0000000..df1df30
--- /dev/null
+++ b/src/components/ui/area-chart/AreaChart.tsx
@@ -0,0 +1,30 @@
+import React, { useMemo } from 'react';
+import AnyChart from 'anychart-react';
+import { generateAreaChart } from './AreaChart.utils';
+
+interface IProps {
+ chartId: string;
+ data: any[];
+ height?: number | string;
+ title: string;
+ width?: number | string;
+}
+
+export const AreaChart: React.FC = (props) => {
+ const chartData = useMemo(() => generateAreaChart(props.data, props.title), [props.data, props.title]);
+
+ return (
+
+ );
+};
+
+AreaChart.defaultProps = {};
diff --git a/src/components/ui/area-chart/AreaChart.utils.ts b/src/components/ui/area-chart/AreaChart.utils.ts
new file mode 100644
index 0000000..f11f386
--- /dev/null
+++ b/src/components/ui/area-chart/AreaChart.utils.ts
@@ -0,0 +1,13 @@
+import 'anychart';
+
+export const generateAreaChart = (data: any[], title: string) => {
+ const chart = anychart.area();
+
+ data.forEach((chartData) => chart.area(chartData));
+ chart.title(title);
+
+ return {
+ charts: [chart],
+ stage: anychart.graphics.create(),
+ };
+};
diff --git a/src/components/ui/pie-chart/PieChart.dynamic.tsx b/src/components/ui/pie-chart/PieChart.dynamic.tsx
new file mode 100644
index 0000000..4fe8879
--- /dev/null
+++ b/src/components/ui/pie-chart/PieChart.dynamic.tsx
@@ -0,0 +1,7 @@
+import dynamic from 'next/dynamic';
+import { PieChart } from './PieChart';
+
+export const PieChartDynamic = dynamic(
+ () => import('./PieChart' /* webpackChunkName: "PieChart" */).then((mod) => mod.PieChart as any),
+ { ssr: false }
+) as typeof PieChart;
diff --git a/src/components/ui/pie-chart/PieChart.tsx b/src/components/ui/pie-chart/PieChart.tsx
new file mode 100644
index 0000000..137db7c
--- /dev/null
+++ b/src/components/ui/pie-chart/PieChart.tsx
@@ -0,0 +1,26 @@
+import React from 'react';
+import AnyChart from 'anychart-react';
+
+interface IProps {
+ chartId: string;
+ data: any[][];
+ height?: number | string;
+ title: string;
+ width?: number | string;
+}
+
+export const PieChart: React.FC = (props) => {
+ return (
+
+ );
+};
+
+PieChart.defaultProps = {};
diff --git a/src/components/ui/simple-bar-chart/SimpleBarChart.dynamic.tsx b/src/components/ui/simple-bar-chart/SimpleBarChart.dynamic.tsx
new file mode 100644
index 0000000..6aa9a77
--- /dev/null
+++ b/src/components/ui/simple-bar-chart/SimpleBarChart.dynamic.tsx
@@ -0,0 +1,7 @@
+import dynamic from 'next/dynamic';
+import { SimpleBarChart } from './SimpleBarChart';
+
+export const SimpleBarChartDynamic = dynamic(
+ () => import('./SimpleBarChart' /* webpackChunkName: "SimpleBarChart" */).then((mod) => mod.SimpleBarChart as any),
+ { ssr: false }
+) as typeof SimpleBarChart;
diff --git a/src/components/ui/simple-bar-chart/SimpleBarChart.tsx b/src/components/ui/simple-bar-chart/SimpleBarChart.tsx
new file mode 100644
index 0000000..7f74a51
--- /dev/null
+++ b/src/components/ui/simple-bar-chart/SimpleBarChart.tsx
@@ -0,0 +1,27 @@
+import React, { useMemo } from 'react';
+import { generateSimpleBarChart } from './SimpleBarChart.utils';
+import AnyChart from 'anychart-react';
+
+interface IProps {
+ chartId: string;
+ height?: number | string;
+ title: string;
+ width?: number | string;
+}
+
+export const SimpleBarChart: React.FC = (props) => {
+ const chartData = useMemo(() => generateSimpleBarChart(), []);
+
+ return (
+
+ );
+};
diff --git a/src/components/ui/simple-bar-chart/SimpleBarChart.utils.ts b/src/components/ui/simple-bar-chart/SimpleBarChart.utils.ts
new file mode 100644
index 0000000..8156fbf
--- /dev/null
+++ b/src/components/ui/simple-bar-chart/SimpleBarChart.utils.ts
@@ -0,0 +1,18 @@
+import 'anychart';
+
+export const generateSimpleBarChart = () => {
+ const chart1 = anychart.line([1, 2, 3]);
+
+ chart1.bounds(0, 0, '100%', '50%');
+
+ const chart2 = anychart.column();
+
+ chart2.column([3, 2, 1]);
+ chart2.line([3, 5, 6]);
+ chart2.bounds(0, '50%', '100%', '50%');
+
+ return {
+ charts: [chart1, chart2],
+ stage: anychart.graphics.create(),
+ };
+};
diff --git a/src/modules/any-chart/AnyChartScript.tsx b/src/modules/any-chart/AnyChartScript.tsx
new file mode 100644
index 0000000..9e218ea
--- /dev/null
+++ b/src/modules/any-chart/AnyChartScript.tsx
@@ -0,0 +1,7 @@
+import React from 'react';
+
+interface IProps {}
+
+export const AnyChartScript: React.FC = (props) => {
+ return ;
+};
diff --git a/src/pages/about/index.tsx b/src/pages/about/index.tsx
index da242f8..1b19b0f 100644
--- a/src/pages/about/index.tsx
+++ b/src/pages/about/index.tsx
@@ -2,14 +2,21 @@ import React from 'react';
import { MainLayout } from '../../components/shared/main-layout/MainLayout';
import { NextPage } from 'next';
import { AboutPage } from '../../components/pages/about-page/AboutPage';
+import Head from 'next/head';
+import { AnyChartScript } from '../../modules/any-chart/AnyChartScript';
interface IProps {}
const AboutRoute: NextPage = (props) => {
return (
-
-
-
+ <>
+
+
+
+
+
+
+ >
);
};
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 2b483f4..d3657c4 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -2,14 +2,21 @@ import React from 'react';
import { MainLayout } from '../components/shared/main-layout/MainLayout';
import { IndexPage } from '../components/pages/index-page/IndexPage';
import { NextPage } from 'next';
+import Head from 'next/head';
+import { AnyChartScript } from '../modules/any-chart/AnyChartScript';
interface IProps {}
const IndexRoute: NextPage = (props) => {
return (
-
-
-
+ <>
+
+
+
+
+
+
+ >
);
};
diff --git a/src/types/anychart-react.d.ts b/src/types/anychart-react.d.ts
new file mode 100644
index 0000000..d43961f
--- /dev/null
+++ b/src/types/anychart-react.d.ts
@@ -0,0 +1 @@
+declare module 'anychart-react';
diff --git a/yarn.lock b/yarn.lock
index 8679732..168bb0a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -981,6 +981,25 @@ 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==
+anychart-react@1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/anychart-react/-/anychart-react-1.4.1.tgz#ed3900e7d165d60e370a0c0152bcb24582d39d2a"
+ integrity sha1-7TkA59Fl1g43CgwBUryyRYLTnSo=
+ dependencies:
+ anychart "^8.0.0"
+ react "^15.6.2"
+ react-dom "^15.6.2"
+
+anychart@8.9.0:
+ version "8.9.0"
+ resolved "https://registry.yarnpkg.com/anychart/-/anychart-8.9.0.tgz#131681756341d09298744380ca7e894196476bf3"
+ integrity sha512-SE8NUwYY35EBLbZ/g+8nVmF3JYFUB2ZO0hknDb06FO5r9hNwykSAsYKIfNnWSw8YplThlXUNXbKDbfPhTFh1Qw==
+
+anychart@^8.0.0:
+ version "8.11.0"
+ resolved "https://registry.yarnpkg.com/anychart/-/anychart-8.11.0.tgz#1012ab6667e9d487fd0c33b9d62417ed670a2429"
+ integrity sha512-9QhPSG2mVndLJFsJxuZbtaq5M2jN9GOGNQ7MO2kZrg4cBeZJz0z0HG8HQwNvKDzuhClyOURiJg34pTTaDGyXaA==
+
anymatch@^3.0.3:
version "3.1.2"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
@@ -1390,11 +1409,24 @@ core-js-pure@^3.20.2:
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.21.1.tgz#8c4d1e78839f5f46208de7230cebfb72bc3bdb51"
integrity sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==
+core-js@^1.0.0:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
+ integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
+
corser@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
integrity sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=
+create-react-class@^15.6.0:
+ version "15.7.0"
+ resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.7.0.tgz#7499d7ca2e69bb51d13faf59bd04f0c65a1d6c1e"
+ integrity sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==
+ dependencies:
+ loose-envify "^1.3.1"
+ object-assign "^4.1.1"
+
cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -1619,6 +1651,13 @@ emoji-regex@^9.2.2:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+encoding@^0.1.11:
+ version "0.1.13"
+ resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
+ integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
+ dependencies:
+ iconv-lite "^0.6.2"
+
end-of-stream@^1.1.0:
version "1.4.4"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
@@ -2025,6 +2064,19 @@ fb-watchman@^2.0.0:
dependencies:
bser "2.1.1"
+fbjs@^0.8.9:
+ version "0.8.18"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.18.tgz#9835e0addb9aca2eff53295cd79ca1cfc7c9662a"
+ integrity sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==
+ dependencies:
+ core-js "^1.0.0"
+ isomorphic-fetch "^2.1.1"
+ loose-envify "^1.0.0"
+ object-assign "^4.1.0"
+ promise "^7.1.1"
+ setimmediate "^1.0.5"
+ ua-parser-js "^0.7.30"
+
file-entry-cache@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
@@ -2374,7 +2426,7 @@ iconv-lite@0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
-iconv-lite@0.6.3:
+iconv-lite@0.6.3, iconv-lite@^0.6.2:
version "0.6.3"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
@@ -2551,6 +2603,11 @@ is-shared-array-buffer@^1.0.1:
dependencies:
call-bind "^1.0.2"
+is-stream@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+
is-stream@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
@@ -2587,6 +2644,14 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+isomorphic-fetch@^2.1.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
+ integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
+ dependencies:
+ node-fetch "^1.0.1"
+ whatwg-fetch ">=0.10.0"
+
istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
@@ -3215,7 +3280,7 @@ lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.4, lodash@^4.7.0
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-loose-envify@^1.1.0, loose-envify@^1.4.0:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -3404,6 +3469,14 @@ nice-try@^1.0.4:
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+node-fetch@^1.0.1:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
+ integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
+ dependencies:
+ encoding "^0.1.11"
+ is-stream "^1.0.1"
+
node-int64@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
@@ -3456,7 +3529,7 @@ nwsapi@^2.2.0:
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
-object-assign@^4.0.1, object-assign@^4.1.1:
+object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
@@ -3777,7 +3850,7 @@ pretty-quick@3.1.3:
mri "^1.1.5"
multimatch "^4.0.0"
-promise@^7.0.1:
+promise@^7.0.1, promise@^7.1.1:
version "7.3.1"
resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
@@ -3792,7 +3865,7 @@ prompts@^2.0.1:
kleur "^3.0.3"
sisteransi "^1.0.5"
-prop-types@^15.8.1:
+prop-types@^15.5.10, prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -3844,6 +3917,16 @@ react-dom@18.0.0:
loose-envify "^1.1.0"
scheduler "^0.21.0"
+react-dom@^15.6.2:
+ version "15.7.0"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.7.0.tgz#39106dee996d0742fb0f43d567ef8b8153483ab2"
+ integrity sha512-mpjXqC2t1FuYsILOLCj0kg6pbg460byZkVA/80VtDmKU/pYmoTdHOtaMcTRIDiyXLz4sIur0cQ04nOC6iGndJg==
+ dependencies:
+ fbjs "^0.8.9"
+ loose-envify "^1.1.0"
+ object-assign "^4.1.0"
+ prop-types "^15.5.10"
+
react-is@^16.13.1:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
@@ -3861,6 +3944,17 @@ react@18.0.0:
dependencies:
loose-envify "^1.1.0"
+react@^15.6.2:
+ version "15.7.0"
+ resolved "https://registry.yarnpkg.com/react/-/react-15.7.0.tgz#10308fd42ac6912a250bf00380751abc41ac7106"
+ integrity sha512-5/MMRYmpmM0sMTHGLossnJCrmXQIiJilD6y3YN3TzAwGFj6zdnMtFv6xmi65PHKRV+pehIHpT7oy67Sr6s9AHA==
+ dependencies:
+ create-react-class "^15.6.0"
+ fbjs "^0.8.9"
+ loose-envify "^1.1.0"
+ object-assign "^4.1.0"
+ prop-types "^15.5.10"
+
read-pkg@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
@@ -4052,6 +4146,11 @@ semver@^7.3.2, semver@^7.3.5:
dependencies:
lru-cache "^7.4.0"
+setimmediate@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
+
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -4469,6 +4568,11 @@ typescript@4.6.3:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c"
integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==
+ua-parser-js@^0.7.30:
+ version "0.7.31"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6"
+ integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==
+
unbox-primitive@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
@@ -4590,6 +4694,11 @@ whatwg-encoding@^2.0.0:
dependencies:
iconv-lite "0.6.3"
+whatwg-fetch@>=0.10.0:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c"
+ integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==
+
whatwg-mimetype@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"