diff --git a/.babelrc b/.babelrc
index 854cb73..ae6f915 100644
--- a/.babelrc
+++ b/.babelrc
@@ -1,4 +1,13 @@
{
- "presets": ["next/babel"],
- "plugins": [["styled-components", { "ssr": true }]]
-}
+ "presets": [
+ "next/babel"
+ ],
+ "plugins": [
+ [
+ "styled-components",
+ {
+ "ssr": true
+ }
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/.env b/.env
new file mode 100644
index 0000000..1196ef9
--- /dev/null
+++ b/.env
@@ -0,0 +1 @@
+NEXT_PUBLIC_UNSPLASH_API_KEY=_-11Cu6zCehO-IGPcUHSAdOzOezV_9k0ZukKWPneV3Q
diff --git a/next.config.js b/next.config.js
new file mode 100644
index 0000000..17674ef
--- /dev/null
+++ b/next.config.js
@@ -0,0 +1,7 @@
+module.exports = {
+ reactStrictMode: true,
+
+ images: {
+ domains: ["images.unsplash.com"],
+ },
+};
diff --git a/package.json b/package.json
index 18ad75c..a6b5115 100644
--- a/package.json
+++ b/package.json
@@ -6,13 +6,20 @@
"start": "next start"
},
"dependencies": {
+ "@material-ui/core": "^4.12.3",
+ "@material-ui/icons": "^4.11.2",
+ "axios": "^0.23.0",
"next": "latest",
"react": "^17.0.2",
"react-dom": "^17.0.2",
+ "react-elastic-carousel": "^0.11.5",
"react-is": "^17.0.2",
- "styled-components": "^5.2.3"
+ "react-toastify": "^8.0.3",
+ "styled-components": "^5.2.3",
+ "unsplash-js": "^7.0.15"
},
"devDependencies": {
+ "@types/axios": "^0.14.0",
"@types/node": "15.0.0",
"@types/react": "17.0.4",
"@types/react-dom": "17.0.3",
diff --git a/pages/_document.tsx b/pages/_document.tsx
deleted file mode 100644
index eb67e4c..0000000
--- a/pages/_document.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import Document, { DocumentContext } from 'next/document'
-import { ServerStyleSheet } from 'styled-components'
-
-export default class MyDocument extends Document {
- static async getInitialProps(ctx: DocumentContext) {
- const sheet = new ServerStyleSheet()
- const originalRenderPage = ctx.renderPage
-
- try {
- ctx.renderPage = () =>
- originalRenderPage({
- enhanceApp: (App) => (props) =>
- sheet.collectStyles(),
- })
-
- const initialProps = await Document.getInitialProps(ctx)
- return {
- ...initialProps,
- styles: (
- <>
- {initialProps.styles}
- {sheet.getStyleElement()}
- >
- ),
- }
- } finally {
- sheet.seal()
- }
- }
-}
diff --git a/pages/index.tsx b/pages/index.tsx
deleted file mode 100644
index 9fff369..0000000
--- a/pages/index.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import styled from 'styled-components'
-
-const Title = styled.h1`
- color: red;
- font-size: 50px;
-`
-
-export default function Home() {
- return
My page
-}
diff --git a/public/image/mobile-nav.png b/public/image/mobile-nav.png
new file mode 100644
index 0000000..fff2d36
Binary files /dev/null and b/public/image/mobile-nav.png differ
diff --git a/public/image/shortcut-icon.jpg b/public/image/shortcut-icon.jpg
new file mode 100644
index 0000000..8cec8c7
Binary files /dev/null and b/public/image/shortcut-icon.jpg differ
diff --git a/src/components/CarouselPerfil/index.tsx b/src/components/CarouselPerfil/index.tsx
new file mode 100644
index 0000000..6e8133f
--- /dev/null
+++ b/src/components/CarouselPerfil/index.tsx
@@ -0,0 +1,70 @@
+import { useEffect, useState } from 'react';
+import Image from 'next/image';
+import Router from 'next/router'
+
+import Carousel from "react-elastic-carousel";
+
+import { CarouselPerfilStyle } from "./styles";
+import api from '@/service/api';
+import React from 'react';
+import { toast } from 'react-toastify';
+
+import { UserCarousel } from '@/interface'
+import { CardContent, Typography } from '@material-ui/core';
+import { CardUserCarousel } from '@/styles/MaterialGuide/'
+
+
+export default function CarouselPerfil() {
+ const [userCarousel, setUserCarousel] = useState([]);
+
+ useEffect(() => {
+ function fetchApiUnsplash() {
+ api.get('search/users?', {
+ params: {
+ query: 'usa',
+ client_id: process.env.NEXT_PUBLIC_UNSPLASH_API_KEY
+ }
+ }).then((response: any) => setUserCarousel(response.data.results)
+ ).catch(error => toast.warning(error.message));
+ }
+ fetchApiUnsplash();
+ }, [])
+
+ const handleRedirectUserPerfil = (username: string) => () => {
+ Router.push(`/users/${username}`)
+ }
+
+ return (
+
+
+ {userCarousel.map((item: UserCarousel, index: number) => (
+
+
+
+
+
+
+ {item.name}
+
+
+
+ ))}
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/components/CarouselPerfil/styles.ts b/src/components/CarouselPerfil/styles.ts
new file mode 100644
index 0000000..0b780dd
--- /dev/null
+++ b/src/components/CarouselPerfil/styles.ts
@@ -0,0 +1,31 @@
+import styled from "styled-components";
+
+export const CarouselPerfilStyle = styled.div`
+ width: 100%;
+ height: 100px;
+ a {
+ text-decoration: none;
+ cursor: pointer;
+ }
+ .rec {
+ margin-top: 0;
+ }
+ .rec-dot {
+ box-shadow: none;
+ border: none;
+ background: none;
+ box-shadow: none;
+ }
+ .rec-item-wrapper {
+ width: 80px;
+ }
+ .MuiTypography-h2 {
+ color: #262626;
+ font-size: 12px;
+ line-height: 16px;
+ overflow: hidden;
+ text-align: center;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+`;
diff --git a/src/components/Header/index.tsx b/src/components/Header/index.tsx
new file mode 100644
index 0000000..22f1969
--- /dev/null
+++ b/src/components/Header/index.tsx
@@ -0,0 +1,17 @@
+import Link from 'next/link';
+import Image from 'next/image';
+
+import { HeaderStyled } from './styles';
+
+export default function Header() {
+ return (
+
+
+
+
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/src/components/Header/styles.ts b/src/components/Header/styles.ts
new file mode 100644
index 0000000..75190c5
--- /dev/null
+++ b/src/components/Header/styles.ts
@@ -0,0 +1,13 @@
+import theme from "@/styles/theme";
+import styled from "styled-components";
+
+export const HeaderStyled = styled.div`
+ width: 414px;
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ background: ${theme.palette.background.default};
+ border-bottom: 1px solid ${theme.palette.text.disabled};
+`;
diff --git a/src/interface/index.ts b/src/interface/index.ts
new file mode 100644
index 0000000..ad438e0
--- /dev/null
+++ b/src/interface/index.ts
@@ -0,0 +1,21 @@
+export interface UserInstagram {
+ instagram_username: string;
+ name: string;
+ bio: string;
+ location: string;
+ links: Array;
+ profile_image: Array;
+ following_count: number;
+ followers_count: number;
+ total_photos: number;
+}
+export interface UserPhotosData {
+ photos: Array;
+}
+
+export interface UserCarousel {
+ username: string;
+ id: string;
+ name: string;
+ profile_image: any;
+}
diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx
new file mode 100644
index 0000000..0e9e1f3
--- /dev/null
+++ b/src/pages/_document.tsx
@@ -0,0 +1,64 @@
+import React from 'react';
+import Document, { DocumentContext, Html, Head, Main, NextScript } from 'next/document';
+import { ServerStyleSheets } from '@material-ui/styles';
+import { ServerStyleSheet } from 'styled-components';
+
+class MyDocument extends Document {
+ render() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+ }
+}
+
+MyDocument.getInitialProps = async (ctx: DocumentContext) => {
+
+ const materialSheet = new ServerStyleSheets();
+ const styledComponentSheet = new ServerStyleSheet();
+ const originalRenderPage = ctx.renderPage;
+
+ try {
+ ctx.renderPage = () =>
+ originalRenderPage({
+ enhanceApp: (App) => (props) =>
+ styledComponentSheet.collectStyles(
+ materialSheet.collect(),
+ ),
+ });
+
+ const initialProps = await Document.getInitialProps(ctx);
+
+ return {
+ ...initialProps,
+ styles: [
+ ...React.Children.toArray(initialProps.styles),
+ materialSheet.getStyleElement(),
+ styledComponentSheet.getStyleElement(),
+ ],
+ };
+ } finally {
+ styledComponentSheet.seal();
+ }
+};
+
+export default MyDocument;
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
new file mode 100644
index 0000000..c70505b
--- /dev/null
+++ b/src/pages/index.tsx
@@ -0,0 +1,16 @@
+import { HomeStyled } from '@/styles/pages/home';
+
+import CarouselPerfil from '@/components/CarouselPerfil';
+import Header from '@/components/Header';
+
+export default function Home() {
+ return (
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/pages/users/[username].tsx b/src/pages/users/[username].tsx
new file mode 100644
index 0000000..bddd96a
--- /dev/null
+++ b/src/pages/users/[username].tsx
@@ -0,0 +1,119 @@
+import Image from 'next/image';
+import { useRouter } from 'next/router';
+import { useEffect, useState } from 'react';
+
+import { toast } from 'react-toastify';
+
+import {
+ Button,
+ Grid, Typography,
+ CircularProgress,
+} from '@material-ui/core'
+
+import PersonRoundedIcon from '@material-ui/icons/PersonRounded';
+
+import api from '@/service/api';
+import Header from '@/components/Header';
+
+import { UserPerfilStyled } from '@/styles/pages/user';
+
+import { UserInstagram, UserPhotosData } from '@/interface';
+
+interface UserPerfil {
+ username: string;
+}
+
+export default function UserPerfil() {
+ const [userInfor, setUserInfor] = useState([]);
+ const [userPhotos, setUserPhotos] = useState([]);
+ const [isLoad, setIsLoad] = useState(true);
+
+ const router = useRouter()
+ const { username } = router.query
+ console.log(username)
+ useEffect(() => {
+ function fetchUserPerfil() {
+ api.get(`users/${username}`, {
+ params: {
+ client_id: process.env.NEXT_PUBLIC_UNSPLASH_API_KEY
+ }
+ }).then((response: any) => {
+ setUserInfor([response.data]);
+ }
+ ).catch((error: any) => toast.warning(error.message))
+ }
+
+ fetchUserPerfil();
+
+ function fetchRandomPhotos() {
+ api.get(`users/${username}/photos`, {
+ params: {
+ query: 'brazil',
+ client_id: process.env.NEXT_PUBLIC_UNSPLASH_API_KEY
+ }
+ }).then((response: any) => {
+ setUserPhotos(response.data)
+ console.log(response.data)
+ setTimeout(() => setIsLoad(false), 3000)
+ }
+ ).catch((error: any) => toast.warning(error.message))
+ }
+
+ fetchUserPerfil();
+ fetchRandomPhotos();
+
+ }, [])
+
+ return (
+ <>
+
+
+ {userInfor.map((user) => (
+
+
+
+
+
+
+
+
+ {username}
+
+
+
+
+
+
+
+
+ {user?.name}
+
+ {user?.bio}
+
+
+
+
+ {isLoad ? : (
+ <>
+ {userPhotos.map((photo: any) => (
+
+
+
+ ))}
+ >
+ )}
+
+
+ ))}
+
+ >
+ );
+
+}
diff --git a/src/service/api.ts b/src/service/api.ts
new file mode 100644
index 0000000..749674f
--- /dev/null
+++ b/src/service/api.ts
@@ -0,0 +1,7 @@
+import axios from "axios";
+
+const api = axios.create({
+ baseURL: "https://api.unsplash.com/",
+});
+
+export default api;
diff --git a/src/styles/Global.ts b/src/styles/Global.ts
new file mode 100644
index 0000000..5568c42
--- /dev/null
+++ b/src/styles/Global.ts
@@ -0,0 +1,27 @@
+import { createGlobalStyle } from "styled-components";
+import theme from "./theme";
+
+export default createGlobalStyle`
+ * {
+ padding: 0;
+ margin: 0;
+ }
+ html{
+ scroll-behavior: smooth;
+ }
+ body {
+ background: ${theme.palette.background.paper};
+ font-family: 'Inter', sans-serif;
+ color: ${theme.palette.text.primary};
+ }
+ a {
+ text-decoration: none;
+ cursor: pointer;
+ }
+ input {
+ font-size: 14px !important;
+ }
+ label {
+ font-size: 14px !important;
+ }
+`;
diff --git a/src/styles/MaterialGuide/CardCarousel/index.ts b/src/styles/MaterialGuide/CardCarousel/index.ts
new file mode 100644
index 0000000..458adb9
--- /dev/null
+++ b/src/styles/MaterialGuide/CardCarousel/index.ts
@@ -0,0 +1,66 @@
+import styled from "styled-components";
+import Card from "@material-ui/core/Card";
+
+export default styled(Card)`
+ && {
+ width: 90px;
+ height: 100px;
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+
+ box-shadow: none;
+
+ .MuiCardContent-root {
+ padding: 0;
+ }
+
+ .profile-picture {
+ width: 60px;
+ height: 60px;
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ border-radius: 50%;
+
+ margin-bottom: 5px;
+
+ background: #f09433;
+ background: -moz-linear-gradient(
+ 45deg,
+ #f09433 0%,
+ #e6683c 25%,
+ #dc2743 50%,
+ #cc2366 75%,
+ #bc1888 100%
+ );
+ background: -webkit-linear-gradient(
+ 45deg,
+ #f09433 0%,
+ #e6683c 25%,
+ #dc2743 50%,
+ #cc2366 75%,
+ #bc1888 100%
+ );
+ background: linear-gradient(
+ 45deg,
+ #f09433 0%,
+ #e6683c 25%,
+ #dc2743 50%,
+ #cc2366 75%,
+ #bc1888 100%
+ );
+
+ img {
+ border-radius: 50%;
+ }
+ }
+
+ @media screen and (max-width: 767px) {
+ }
+ }
+`;
diff --git a/src/styles/MaterialGuide/index.ts b/src/styles/MaterialGuide/index.ts
new file mode 100644
index 0000000..772b7ad
--- /dev/null
+++ b/src/styles/MaterialGuide/index.ts
@@ -0,0 +1,3 @@
+import CardCarousel from "./CardCarousel";
+
+export const CardUserCarousel = CardCarousel;
diff --git a/src/styles/pages/home.ts b/src/styles/pages/home.ts
new file mode 100644
index 0000000..492d014
--- /dev/null
+++ b/src/styles/pages/home.ts
@@ -0,0 +1,21 @@
+import styled from "styled-components";
+import theme from "@/styles/theme";
+
+export const HomeStyled = styled.div`
+ width: 100%;
+ height: 100%;
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+
+ margin-top: 20px;
+
+ /* background: ${theme.palette.background.paper}; */
+
+ .home-carousel-content {
+ width: 414px;
+ border-bottom: 1px solid ${theme.palette.text.disabled};
+ }
+`;
diff --git a/src/styles/pages/user.ts b/src/styles/pages/user.ts
new file mode 100644
index 0000000..a529fc3
--- /dev/null
+++ b/src/styles/pages/user.ts
@@ -0,0 +1,85 @@
+import styled from "styled-components";
+import theme from "@/styles/theme";
+
+export const UserPerfilStyled = styled.div`
+ width: 100%;
+ height: 100%;
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+
+ margin-top: 20px;
+
+ /* background: ${theme.palette.background.paper}; */
+ .user-bio {
+ height: 100px;
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ direction: rtl;
+ border-bottom: 1px solid ${theme.palette.text.disabled};
+ }
+ .MuiTypography-h1 {
+ font-size: 16px;
+ line-height: 20px;
+ padding: 10px 15px;
+ }
+ .MuiTypography-h2 {
+ font-size: 28px;
+ line-height: 32px;
+ margin: -5px 0 -6px;
+ font-weight: 300;
+ }
+ .MuiTypography-h3 {
+ color: #262626;
+ font-size: 14px;
+ font-weight: 500;
+ overflow: hidden;
+ padding: 0 15px;
+ text-overflow: ellipsis;
+ text-align: end;
+ height: 80px;
+ }
+ .profile-picture {
+ width: 100px;
+ height: 100px;
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ border-radius: 50%;
+
+ background: #f09433;
+ background: -moz-linear-gradient(
+ 45deg,
+ #f09433 0%,
+ #e6683c 25%,
+ #dc2743 50%,
+ #cc2366 75%,
+ #bc1888 100%
+ );
+ background: -webkit-linear-gradient(
+ 45deg,
+ #f09433 0%,
+ #e6683c 25%,
+ #dc2743 50%,
+ #cc2366 75%,
+ #bc1888 100%
+ );
+ background: linear-gradient(
+ 45deg,
+ #f09433 0%,
+ #e6683c 25%,
+ #dc2743 50%,
+ #cc2366 75%,
+ #bc1888 100%
+ );
+
+ img {
+ border-radius: 100%;
+ }
+ }
+`;
diff --git a/src/styles/theme.ts b/src/styles/theme.ts
new file mode 100644
index 0000000..3638a27
--- /dev/null
+++ b/src/styles/theme.ts
@@ -0,0 +1,28 @@
+import { createTheme } from "@material-ui/core/styles";
+import red from "@material-ui/core/colors/red";
+
+const theme = createTheme({
+ palette: {
+ primary: {
+ main: "#FAFAFA",
+ },
+ secondary: {
+ main: "rgb(38, 38, 38)",
+ },
+ text: {
+ primary: "#262626",
+ secondary: "#8e8e8e",
+ hint: "#0095f6",
+ disabled: "#C7C9D9",
+ },
+ error: {
+ main: red.A400,
+ },
+ background: {
+ default: "#FAFAFA",
+ paper: "rgb(38, 38, 38)",
+ },
+ },
+});
+
+export default theme;
diff --git a/tsconfig.json b/tsconfig.json
index 89b7693..efcea3b 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -3,6 +3,10 @@
"target": "esnext",
"module": "esnext",
"jsx": "preserve",
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["src/*"]
+ },
"lib": ["dom", "es2017"],
"moduleResolution": "node",
"allowJs": true,
diff --git a/yarn.lock b/yarn.lock
index 063ceb2..b06fb2a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -107,6 +107,13 @@
dependencies:
regenerator-runtime "^0.13.4"
+"@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.7":
+ version "7.15.4"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a"
+ integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
"@babel/template@^7.15.4":
version "7.15.4"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194"
@@ -147,6 +154,11 @@
"@babel/helper-validator-identifier" "^7.14.9"
to-fast-properties "^2.0.0"
+"@emotion/hash@^0.8.0":
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
+ integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
+
"@emotion/is-prop-valid@^0.8.8":
version "0.8.8"
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a"
@@ -189,6 +201,77 @@
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17"
integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==
+"@material-ui/core@^4.12.3":
+ version "4.12.3"
+ resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-4.12.3.tgz#80d665caf0f1f034e52355c5450c0e38b099d3ca"
+ integrity sha512-sdpgI/PL56QVsEJldwEe4FFaFTLUqN+rd7sSZiRCdx2E/C7z5yK0y/khAWVBH24tXwto7I1hCzNWfJGZIYJKnw==
+ dependencies:
+ "@babel/runtime" "^7.4.4"
+ "@material-ui/styles" "^4.11.4"
+ "@material-ui/system" "^4.12.1"
+ "@material-ui/types" "5.1.0"
+ "@material-ui/utils" "^4.11.2"
+ "@types/react-transition-group" "^4.2.0"
+ clsx "^1.0.4"
+ hoist-non-react-statics "^3.3.2"
+ popper.js "1.16.1-lts"
+ prop-types "^15.7.2"
+ react-is "^16.8.0 || ^17.0.0"
+ react-transition-group "^4.4.0"
+
+"@material-ui/icons@^4.11.2":
+ version "4.11.2"
+ resolved "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.11.2.tgz#b3a7353266519cd743b6461ae9fdfcb1b25eb4c5"
+ integrity sha512-fQNsKX2TxBmqIGJCSi3tGTO/gZ+eJgWmMJkgDiOfyNaunNaxcklJQFaFogYcFl0qFuaEz1qaXYXboa/bUXVSOQ==
+ dependencies:
+ "@babel/runtime" "^7.4.4"
+
+"@material-ui/styles@^4.11.4":
+ version "4.11.4"
+ resolved "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.11.4.tgz#eb9dfccfcc2d208243d986457dff025497afa00d"
+ integrity sha512-KNTIZcnj/zprG5LW0Sao7zw+yG3O35pviHzejMdcSGCdWbiO8qzRgOYL8JAxAsWBKOKYwVZxXtHWaB5T2Kvxew==
+ dependencies:
+ "@babel/runtime" "^7.4.4"
+ "@emotion/hash" "^0.8.0"
+ "@material-ui/types" "5.1.0"
+ "@material-ui/utils" "^4.11.2"
+ clsx "^1.0.4"
+ csstype "^2.5.2"
+ hoist-non-react-statics "^3.3.2"
+ jss "^10.5.1"
+ jss-plugin-camel-case "^10.5.1"
+ jss-plugin-default-unit "^10.5.1"
+ jss-plugin-global "^10.5.1"
+ jss-plugin-nested "^10.5.1"
+ jss-plugin-props-sort "^10.5.1"
+ jss-plugin-rule-value-function "^10.5.1"
+ jss-plugin-vendor-prefixer "^10.5.1"
+ prop-types "^15.7.2"
+
+"@material-ui/system@^4.12.1":
+ version "4.12.1"
+ resolved "https://registry.yarnpkg.com/@material-ui/system/-/system-4.12.1.tgz#2dd96c243f8c0a331b2bb6d46efd7771a399707c"
+ integrity sha512-lUdzs4q9kEXZGhbN7BptyiS1rLNHe6kG9o8Y307HCvF4sQxbCgpL2qi+gUk+yI8a2DNk48gISEQxoxpgph0xIw==
+ dependencies:
+ "@babel/runtime" "^7.4.4"
+ "@material-ui/utils" "^4.11.2"
+ csstype "^2.5.2"
+ prop-types "^15.7.2"
+
+"@material-ui/types@5.1.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@material-ui/types/-/types-5.1.0.tgz#efa1c7a0b0eaa4c7c87ac0390445f0f88b0d88f2"
+ integrity sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==
+
+"@material-ui/utils@^4.11.2":
+ version "4.11.2"
+ resolved "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.11.2.tgz#f1aefa7e7dff2ebcb97d31de51aecab1bb57540a"
+ integrity sha512-Uul8w38u+PICe2Fg2pDKCaIG7kOyhowZ9vjiC1FsVwPABTW8vPPKfF6OvxRq3IiBaI1faOJmgdvMG7rMJARBhA==
+ dependencies:
+ "@babel/runtime" "^7.4.4"
+ prop-types "^15.7.2"
+ react-is "^16.8.0 || ^17.0.0"
+
"@napi-rs/triples@^1.0.3":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c"
@@ -253,6 +336,18 @@
dependencies:
"@napi-rs/triples" "^1.0.3"
+"@types/axios@^0.14.0":
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/@types/axios/-/axios-0.14.0.tgz#ec2300fbe7d7dddd7eb9d3abf87999964cafce46"
+ integrity sha1-7CMA++fX3d1+udOr+HmZlkyvzkY=
+ dependencies:
+ axios "*"
+
+"@types/content-type@^1.1.3":
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/@types/content-type/-/content-type-1.1.5.tgz#aa02dca40864749a9e2bf0161a6216da57e3ede5"
+ integrity sha512-dgMN+syt1xb7Hk8LU6AODOfPlvz5z1CbXpPuJE5ZrX9STfBOIXF09pEB8N7a97WT9dbngt3ksDCm6GW6yMrxfQ==
+
"@types/hoist-non-react-statics@*":
version "3.3.1"
resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f"
@@ -283,6 +378,13 @@
dependencies:
"@types/react" "*"
+"@types/react-transition-group@^4.2.0":
+ version "4.4.3"
+ resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.3.tgz#b0994da0a7023d67dbb4a8910a62112bc00d5688"
+ integrity sha512-fUx5muOWSYP8Bw2BUQ9M9RK9+W1XBK/7FLJ8PTQpnpTEkn0ccyMffyEQvan4C3h53gHdx7KE5Qrxi/LnUGQtdg==
+ dependencies:
+ "@types/react" "*"
+
"@types/react@*":
version "17.0.30"
resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.30.tgz#2f8e6f5ab6415c091cc5e571942ee9064b17609e"
@@ -385,6 +487,13 @@ available-typed-arrays@^1.0.5:
resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
+axios@*, axios@^0.23.0:
+ version "0.23.0"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.23.0.tgz#b0fa5d0948a8d1d75e3d5635238b6c4625b05149"
+ integrity sha512-NmvAE4i0YAv5cKq8zlDoPd1VLKAqX5oLuZKs8xkJa4qi6RGn0uhCYFjWtHHC9EM/MwOwYWOs53W+V0aqEXq1sg==
+ dependencies:
+ follow-redirects "^1.14.4"
+
"babel-plugin-styled-components@>= 1.12.0", babel-plugin-styled-components@^1.12.0:
version "1.13.3"
resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.13.3.tgz#1f1cb3927d4afa1e324695c78f690900e3d075bc"
@@ -604,6 +713,16 @@ classnames@2.2.6:
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
+classnames@^2.2.6:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e"
+ integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
+
+clsx@^1.0.4, clsx@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188"
+ integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==
+
color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
@@ -648,6 +767,11 @@ constants-browserify@1.0.0, constants-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
+content-type@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+ integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+
convert-source-map@1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
@@ -722,6 +846,14 @@ css-to-react-native@^3.0.0:
css-color-keywords "^1.0.0"
postcss-value-parser "^4.0.2"
+css-vendor@^2.0.8:
+ version "2.0.8"
+ resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d"
+ integrity sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==
+ dependencies:
+ "@babel/runtime" "^7.8.3"
+ is-in-browser "^1.0.2"
+
css.escape@1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb"
@@ -741,6 +873,11 @@ cssnano-simple@3.0.0:
dependencies:
cssnano-preset-simple "^3.0.0"
+csstype@^2.5.2:
+ version "2.6.18"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.18.tgz#980a8b53085f34af313410af064f2bd241784218"
+ integrity sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ==
+
csstype@^3.0.2:
version "3.0.9"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b"
@@ -794,6 +931,14 @@ diffie-hellman@^5.0.0:
miller-rabin "^4.0.0"
randombytes "^2.0.0"
+dom-helpers@^5.0.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
+ integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
+ dependencies:
+ "@babel/runtime" "^7.8.7"
+ csstype "^3.0.2"
+
domain-browser@4.19.0:
version "4.19.0"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1"
@@ -926,6 +1071,11 @@ find-up@^4.0.0:
locate-path "^5.0.0"
path-exists "^4.0.0"
+follow-redirects@^1.14.4:
+ version "1.14.4"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379"
+ integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==
+
foreach@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
@@ -1052,7 +1202,7 @@ hmac-drbg@^1.0.1:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0:
+hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, 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==
@@ -1075,6 +1225,11 @@ https-browserify@1.0.0, https-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
+hyphenate-style-name@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d"
+ integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==
+
iconv-lite@0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
@@ -1186,6 +1341,11 @@ is-glob@^4.0.1, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
+is-in-browser@^1.0.2, is-in-browser@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835"
+ integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=
+
is-nan@^1.2.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d"
@@ -1287,6 +1447,76 @@ json5@^1.0.1:
dependencies:
minimist "^1.2.0"
+jss-plugin-camel-case@^10.5.1:
+ version "10.8.1"
+ resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.1.tgz#342fd406c2e8781ecdc4ac298a78b892f75581ab"
+ integrity sha512-nOYKsvX9qh/AcUWSSRZHKyUj4RwqnhUSq4EKNFA1nHsNw0VJYwtF1yqtOPvztWEP3LTlNhcwoPINsb/eKVmYqA==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ hyphenate-style-name "^1.0.3"
+ jss "10.8.1"
+
+jss-plugin-default-unit@^10.5.1:
+ version "10.8.1"
+ resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.1.tgz#1c35b89cd70ca5b0e01c21d89d908e75c1ea80ad"
+ integrity sha512-W/uwVJNrFtUrVyAPfH/3ZngFYUVilMxgNbuWHYslqv3c5gnBKM6iXeoDzOnB+wtQJoSCTLzD3q77H7OeNK3oxg==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ jss "10.8.1"
+
+jss-plugin-global@^10.5.1:
+ version "10.8.1"
+ resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.8.1.tgz#992a14210c567178eb4cd385edcd267ae8cc6f28"
+ integrity sha512-ERYLzD+L/v3yQL2mM5/PE+3xU/GCXcfXuGIL1kVkiEIpXnWtND/Mphf2iHQaqedx59uhiVHFZaMtv6qv+iNsDw==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ jss "10.8.1"
+
+jss-plugin-nested@^10.5.1:
+ version "10.8.1"
+ resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.8.1.tgz#ac9750f8185725a0fd6ea484860767c53ec3d3dc"
+ integrity sha512-Z15G23Fb8/br23EclH9CAq2UGdi29XgpSWXFTBusMJbWjitFdDCdYMzk7bSUJ6P7L5+WpaIDNxIJ9WrdMRqdXw==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ jss "10.8.1"
+ tiny-warning "^1.0.2"
+
+jss-plugin-props-sort@^10.5.1:
+ version "10.8.1"
+ resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.1.tgz#ee07bebf8ebeab01f8d9369973c64891cca53af9"
+ integrity sha512-BNbKYuh4IawWr7cticlnbI+kBx01o39DNHkjAkc2CGKWVboUb2EpktDqonqVN/BjyzDgZXKOmwz36ZFkLQB45g==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ jss "10.8.1"
+
+jss-plugin-rule-value-function@^10.5.1:
+ version "10.8.1"
+ resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.1.tgz#40b19406f3cc027d9001de9026750e726c322993"
+ integrity sha512-XrvM4bokyU1xPXr+gVEIlT9WylLQZcdC+1JDxriXDEWmKEjJgtH+w6ZicchTydLqq1qtA4fEevhdMvm4QvgIKw==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ jss "10.8.1"
+ tiny-warning "^1.0.2"
+
+jss-plugin-vendor-prefixer@^10.5.1:
+ version "10.8.1"
+ resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.1.tgz#362146c2b641aae1d29f279307aec0e2167c7ee2"
+ integrity sha512-77b/iEFmA669s+USru2Y5eg9Hs1C1N0zE/4EaJm/fqKScCTNawHXZv5l5w6j81A9CNa63Ar7jekAIfBkoKFmLw==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ css-vendor "^2.0.8"
+ jss "10.8.1"
+
+jss@10.8.1, jss@^10.5.1:
+ version "10.8.1"
+ resolved "https://registry.yarnpkg.com/jss/-/jss-10.8.1.tgz#375797c259ffce417e56ae1a7fe703acde8de9ee"
+ integrity sha512-P4wKxU+2m5ReGl0Mmbf9XYgVjFIVZJOZ9ylXBxdpanX+HHgj5XVaAIgYzYpKbBLPCdkAUsI/Iq1fhQPsMNu0YA==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ csstype "^3.0.2"
+ is-in-browser "^1.1.3"
+ tiny-warning "^1.0.2"
+
loader-utils@1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
@@ -1313,7 +1543,7 @@ lodash@^4.17.11:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-loose-envify@^1.1.0:
+loose-envify@^1.1.0, 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==
@@ -1628,6 +1858,11 @@ pnp-webpack-plugin@1.6.4:
dependencies:
ts-pnp "^1.1.6"
+popper.js@1.16.1-lts:
+ version "1.16.1-lts"
+ resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1-lts.tgz#cf6847b807da3799d80ee3d6d2f90df8a3f50b05"
+ integrity sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==
+
postcss-value-parser@^4.0.2:
version "4.1.0"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
@@ -1652,6 +1887,15 @@ process@0.11.10, process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+prop-types@^15.6.2, prop-types@^15.7.2:
+ version "15.7.2"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
+ integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
+ dependencies:
+ loose-envify "^1.4.0"
+ object-assign "^4.1.1"
+ react-is "^16.8.1"
+
public-encrypt@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
@@ -1735,21 +1979,60 @@ react-dom@^17.0.2:
object-assign "^4.1.1"
scheduler "^0.20.2"
-react-is@17.0.2, react-is@^17.0.2:
+react-elastic-carousel@^0.11.5:
+ version "0.11.5"
+ resolved "https://registry.yarnpkg.com/react-elastic-carousel/-/react-elastic-carousel-0.11.5.tgz#4be027ea047c4f7678273caa844e83d91f3784dc"
+ integrity sha512-//k1IWUiUNXXNE8LHw4bLdP+8YCXLQHbeSOPiZo/+sTkUBp/YB/hjGKWH4RqSJ59AjF8PoxB+SUbqhdPTcwAuw==
+ dependencies:
+ classnames "^2.2.6"
+ react-only-when "^1.0.2"
+ react-swipeable "^5.5.1"
+ resize-observer-polyfill "1.5.0"
+
+react-is@17.0.2, "react-is@^16.8.0 || ^17.0.0", react-is@^17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
-react-is@^16.7.0:
+react-is@^16.7.0, react-is@^16.8.1:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+react-only-when@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/react-only-when/-/react-only-when-1.0.2.tgz#a8a79b48dd6cfbd91ddc710674a94153e88039d3"
+ integrity sha512-agE6l3L6bqaVuwNtjihTQ36M+VBfPS63KOzcNL4ZTmlwSxQPvhzIqmBWfiol0/wLYmKxCcBqgXkEJpvj5Kob8Q==
+
react-refresh@0.8.3:
version "0.8.3"
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f"
integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==
+react-swipeable@^5.5.1:
+ version "5.5.1"
+ resolved "https://registry.yarnpkg.com/react-swipeable/-/react-swipeable-5.5.1.tgz#48ae6182deaf62f21d4b87469b60281dbd7c4a76"
+ integrity sha512-EQObuU3Qg3JdX3WxOn5reZvOSCpU4fwpUAs+NlXSN3y+qtsO2r8VGkVnOQzmByt3BSYj9EWYdUOUfi7vaMdZZw==
+ dependencies:
+ prop-types "^15.6.2"
+
+react-toastify@^8.0.3:
+ version "8.0.3"
+ resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-8.0.3.tgz#7fbf65f69ec357aab8dd03c1496f9177aa92409a"
+ integrity sha512-rv3koC7f9lKKSkdpYgo/TGzgWlrB/aaiUInF1DyV7BpiM4kyTs+uhu6/r8XDMtBY2FOIHK+FlK3Iv7OzpA/tCA==
+ dependencies:
+ clsx "^1.1.1"
+
+react-transition-group@^4.4.0:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470"
+ integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==
+ dependencies:
+ "@babel/runtime" "^7.5.5"
+ dom-helpers "^5.0.1"
+ loose-envify "^1.4.0"
+ prop-types "^15.6.2"
+
react@^17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
@@ -1792,6 +2075,11 @@ regenerator-runtime@^0.13.4:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
+resize-observer-polyfill@1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.0.tgz#660ff1d9712a2382baa2cad450a4716209f9ca69"
+ integrity sha512-M2AelyJDVR/oLnToJLtuDJRBBWUGUvvGigj1411hXhAdyFWqMaqHp7TixW3FpiLuVaikIcR1QL+zqoJoZlOgpg==
+
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
@@ -2053,6 +2341,11 @@ timers-browserify@2.0.12, timers-browserify@^2.0.4:
dependencies:
setimmediate "^1.0.4"
+tiny-warning@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
+ integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
+
to-arraybuffer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
@@ -2122,6 +2415,14 @@ unpipe@1.0.0:
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
+unsplash-js@^7.0.15:
+ version "7.0.15"
+ resolved "https://registry.yarnpkg.com/unsplash-js/-/unsplash-js-7.0.15.tgz#9eee0ce552e2c2ee70fd30a767c59b159e004753"
+ integrity sha512-WGqKp9wl2m2tAUPyw2eMZs/KICR+A52tCaRapzVXWxkA4pjHqsaGwiJXTEW7hBy4Pu0QmP6KxTt2jST3tluawA==
+ dependencies:
+ "@types/content-type" "^1.1.3"
+ content-type "^1.0.4"
+
url@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"