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) => ( + +
+ {`Profile +
+ + + {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 ( + + + + instagram brand icon + + + + ) +} \ 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) => ( + + +
+ {`Perfil +
+
+ + + {username} + + + + + + + + + {user?.name} +
+ {user?.bio} +
+
+ + + {isLoad ? : ( + <> + {userPhotos.map((photo: any) => ( + + {`photo + + ))} + + )} + +
+ ))} +
+ + ); + +} 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"