diff --git a/package.json b/package.json
index 78deb0d..be615d7 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
"dependencies": {
"react": "^16.13.1",
"react-dom": "^16.13.1",
+ "react-pdf": "^5.7.2",
"react-router-dom": "^5.1.2",
"react-scripts": "^3.4.3",
"react-use": "^13.27.0",
diff --git a/src/App.css b/src/App.css
index 6803d72..5c97f63 100644
--- a/src/App.css
+++ b/src/App.css
@@ -1,3 +1,5 @@
+@import url('https://fonts.googleapis.com/css?family=Montserrat:regular,bold,italic&subset=latin,latin-ext');
+
* {
padding: 0px;
margin: 0px;
@@ -19,7 +21,7 @@ a {
.text {
color: black;
- font-family: 'Avenir';
+ font-family: 'Montserrat';
font-size: 18px;
}
@@ -27,6 +29,7 @@ a {
display: flex;
width: 100vw;
flex-direction: row;
+ scroll-behavior: smooth;
}
.content {
@@ -34,24 +37,37 @@ a {
transition: 500ms ease-out;
border: none;
outline: none;
+ /* overflow: hidden; */
+ height: 100%;
}
.row {
display: flex;
flex-direction: row;
}
+
+@keyframes fadeInOpacity {
+ 0% { opacity: 0 }
+ 100% { opacity: 1 }
+}
+
.fade-in {
opacity: 1;
animation-name: fadeInOpacity;
animation-iteration-count: 1;
animation-timing-function: ease-in;
- animation-duration: 1s;
+ animation-duration: 0.8s;
}
.disable-selection {
+ user-select: none;
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer */
-khtml-user-select: none; /* KHTML browsers (e.g. Konqueror) */
-webkit-user-select: none; /* Chrome, Safari, and Opera */
-webkit-touch-callout: none; /* Disable Android and iOS callouts*/
}
+
+body {
+ height: 100%;
+}
\ No newline at end of file
diff --git a/src/App.js b/src/App.js
index edf3011..478cf1f 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,7 +1,7 @@
import React from 'react';
import { BrowserRouter, Route, Switch } from 'react-router-dom';
-import { Home } from 'containers/Home';
+import { NewHome } from 'containers/NewHome';
import { NoMatchPage } from 'containers/NoMatchPage';
import './App.css';
@@ -16,7 +16,7 @@ const App = () => {
-
+
diff --git a/src/assets/data/projects.jsx b/src/assets/data/projects.jsx
index b5e1868..7c4b5e2 100644
--- a/src/assets/data/projects.jsx
+++ b/src/assets/data/projects.jsx
@@ -139,7 +139,7 @@ const PROJECTS = [
wideSS: true,
},
{
- name: 'CoverLove',
+ name: 'coverlove',
logo: coverloveLogo,
color: '#d35400',
title: 'A simple tool to create new playlist cover art.',
@@ -168,20 +168,20 @@ const PROJECTS = [
techs: ['React Native, Voximplant API, Google Speech-to-Text API, Twilio API'],
contributors: 'Harun Kaneti, Eytan Nahmiyas',
},
- {
- name: 'ClaimMate',
- logo: claimmateLogo,
- color: '#2c3e50',
- title: 'Global Legal Hackathon 2019 finalist.',
- // description: 'Done in 48 hours. I slept like 5 hours.',
- awards: ['2nd Place, Global Legal Hackathon 2019'],
- platforms: {
- github: 'https://github.com/ralfisalhon/CLAIMate',
- website: 'https://globallegalhackathon.com/',
- },
- video: 'https://www.youtube.com/embed/3uotkVSIglA',
- techs: ['React Native'],
- },
+ // {
+ // name: 'ClaimMate',
+ // logo: claimmateLogo,
+ // color: '#2c3e50',
+ // title: 'Global Legal Hackathon 2019 finalist.',
+ // // description: 'Done in 48 hours. I slept like 5 hours.',
+ // awards: ['2nd Place, Global Legal Hackathon 2019'],
+ // platforms: {
+ // github: 'https://github.com/ralfisalhon/CLAIMate',
+ // website: 'https://globallegalhackathon.com/',
+ // },
+ // video: 'https://www.youtube.com/embed/3uotkVSIglA',
+ // techs: ['React Native'],
+ // },
];
export default PROJECTS;
diff --git a/src/assets/images/leftarrow.png b/src/assets/images/leftarrow.png
new file mode 100644
index 0000000..30a9681
Binary files /dev/null and b/src/assets/images/leftarrow.png differ
diff --git a/src/assets/images/magglass.png b/src/assets/images/magglass.png
new file mode 100644
index 0000000..31b19c7
Binary files /dev/null and b/src/assets/images/magglass.png differ
diff --git a/src/assets/pdf/RRS_Resume_Feb_2022.pdf b/src/assets/pdf/RRS_Resume_Feb_2022.pdf
new file mode 100644
index 0000000..e87a3ed
Binary files /dev/null and b/src/assets/pdf/RRS_Resume_Feb_2022.pdf differ
diff --git a/src/assets/pdf/RRS_Resume_Sep_2020.pdf b/src/assets/pdf/RRS_Resume_Sep_2020.pdf
deleted file mode 100644
index 141d879..0000000
Binary files a/src/assets/pdf/RRS_Resume_Sep_2020.pdf and /dev/null differ
diff --git a/src/components/projects/FloatingProjects.js b/src/components/projects/FloatingProjects.js
new file mode 100644
index 0000000..07ec244
--- /dev/null
+++ b/src/components/projects/FloatingProjects.js
@@ -0,0 +1,85 @@
+import React, { useCallback, useState } from 'react';
+import './styles.css';
+import { Base, Item, RoundIcon } from './styles.js';
+
+import PROJECTS from 'assets/data/projects';
+
+// const getLink = name => {
+// const proj = PROJECTS.find(proj => proj.name === name);
+// return proj.platforms.appstore || proj.platforms.github;
+// };
+
+export const FloatingProjects = ({ isPaused, setIsPaused }) => {
+ const [someAnimationState, setSomeAnimationState] = useState(0);
+ const [selectedIndex, setSelectedIndex] = useState(100);
+ const [numClicksGreater, setNumClicksGreater] = useState(0);
+ const [preventClicks, setPreventClicks] = useState(false);
+
+ const handleOnClickProject = useCallback(
+ index => {
+ if (selectedIndex === index) {
+ setSelectedIndex(-1);
+ return setIsPaused(false);
+ }
+ setPreventClicks(true);
+ setTimeout(() => {
+ setPreventClicks(false);
+ }, 500);
+ if (selectedIndex < index || index === 0) {
+ setNumClicksGreater(numClicksGreater + 1);
+ }
+ setSomeAnimationState(2 + numClicksGreater - index * 0.125 - 0.125);
+ setIsPaused(true);
+ setSelectedIndex(index);
+ // const el = document.getElementById('base');
+ // el.classList.remove('base');
+ // void el.offsetHeight; /* trigger reflow */
+ // el.classList.add('base');
+
+ // const el2 = document.getElementById('item');
+ // el2.classList.remove('item');
+ // void el2.offsetHeight; /* trigger reflow */
+ // el2.classList.add('item');
+ },
+ [numClicksGreater, selectedIndex, setIsPaused]
+ );
+ return (
+ <>
+ {/* */}
+
+ {PROJECTS.map((project, index) => (
+ -
+
!preventClicks && handleOnClickProject(index)}
+ rel="noopener noreferrer"
+ target="_blank"
+ >
+
+
{project.name}
+
+
+ ))}
+
+ >
+ );
+};
diff --git a/src/components/projects/index.js b/src/components/projects/index.js
new file mode 100644
index 0000000..a823895
--- /dev/null
+++ b/src/components/projects/index.js
@@ -0,0 +1 @@
+export * from './FloatingProjects';
diff --git a/src/components/projects/styles.css b/src/components/projects/styles.css
new file mode 100644
index 0000000..3f163a6
--- /dev/null
+++ b/src/components/projects/styles.css
@@ -0,0 +1,159 @@
+
+.base p {
+ color: var(--light-color);
+}
+
+.base a {
+ text-decoration-line: none;
+}
+
+.row {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-evenly;
+}
+
+.drop-glow {
+ filter: drop-shadow(0 0 0.75rem gray);
+}
+
+.round_icon {
+ width: 100px;
+ height: 100px;
+ cursor: pointer;
+ filter: drop-shadow(0 0 0.75rem #2f3640);
+}
+
+.centertext {
+ position: absolute;
+ top: 50%;
+ left: calc(50% + 5vw);
+ transform: translate(-50%, -50%);
+ opacity: 1 !important;
+}
+
+.centertext-mobile {
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+ justify-content: center;
+ overflow: hidden;
+}
+
+:root {
+ --size: 800px;
+}
+
+.base {
+ width: var(--size);
+ height: var(--size);
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ margin-left: -135px;
+ margin-top: -380px;
+ position: absolute;
+ border-radius: 50%;
+ /* border: 1px solid white; */
+
+
+ animation-delay: -2s;
+ animation-name: spin;
+ animation-fill-mode: forwards;
+ /* animation-iteration-count: infinite; */
+ animation-timing-function: linear;
+
+ pointer-events: none;
+}
+
+.item {
+ position: absolute;
+ font-family: Arial;
+ font-size: 85px;
+ text-align: center;
+ width: 100px;
+ height: 100px;
+
+ animation-delay: -2s;
+ animation-name: spin;
+ animation-fill-mode: forwards;
+ animation-iteration-count: infinite;
+ animation-timing-function: linear;
+ animation-direction: reverse;
+
+ pointer-events: auto;
+}
+
+
+
+.base:hover .item {
+ /* animation-play-state: paused; */
+ opacity: 0.5;
+
+}
+
+.base:hover {
+ /* animation-play-state: paused; */
+}
+
+.item:hover {
+ opacity: 1 !important;
+ filter: drop-shadow(0 0 0.75rem gray);
+}
+
+.item-8 {
+ top: calc(50% - 50px);
+ left: calc(100% - 100px);
+}
+
+.item-6 {
+ top: 0px;
+ left: calc(50% - 50px);
+}
+
+.item-4 {
+ top: calc(50% - 54px);
+ left: 0px;
+}
+
+.item-2 {
+ top: calc(100% - 100px);
+ left: calc(50% - 54px);
+}
+
+.item-1 {
+ top: calc(84% - 75px);
+ left: calc(84% - 79px);
+}
+
+.item-3 {
+ top: calc(84% - 71px);
+ left: calc(16% - 33px);
+}
+
+.item-7 {
+ top: calc(16% - 33px);
+ left: calc(84% - 67px);
+}
+
+.item-5 {
+ top: calc(16% - 37px);
+ left: calc(16% - 33px);
+}
+
+@keyframes spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+.footer-mobile {
+ display: flex;
+ flex-direction: row;
+ min-height: 35px;
+}
diff --git a/src/components/projects/styles.js b/src/components/projects/styles.js
new file mode 100644
index 0000000..ed12afe
--- /dev/null
+++ b/src/components/projects/styles.js
@@ -0,0 +1,25 @@
+import styled from 'styled-components/macro';
+
+export const Base = styled.div`
+ animation-iteration-count: ${({ isPaused, someAnimationState }) =>
+ isPaused ? `${someAnimationState}` : 'infinite'};
+ transition: left 1s ease;
+ left: ${({ isPaused }) => (isPaused ? `-220px` : '0')};
+
+ animation-duration: ${({ isPaused, someAnimationState }) =>
+ isPaused ? `3s` : '45s'};
+
+ ${({ isPaused }) => isPaused && `animation-play-state: running`};
+`;
+
+export const Item = styled.div`
+ animation-iteration-count: ${({ isPaused, someAnimationState }) =>
+ isPaused ? `${someAnimationState}` : 'infinite'};
+
+ animation-duration: ${({ isPaused, someAnimationState }) =>
+ isPaused ? `3s` : '45s'};
+ ${({ selected, isPaused }) => isPaused && !selected && `opacity: 0.5`};
+
+ ${({ isPaused }) => isPaused && `animation-play-state: running`};
+`;
+export const RoundIcon = styled.img``;
diff --git a/src/components/resume/AnnotationLayer.css b/src/components/resume/AnnotationLayer.css
new file mode 100644
index 0000000..77b28ed
--- /dev/null
+++ b/src/components/resume/AnnotationLayer.css
@@ -0,0 +1,205 @@
+/* Copyright 2014 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.annotationLayer section {
+ position: absolute;
+}
+
+.annotationLayer .linkAnnotation > a,
+.annotationLayer .buttonWidgetAnnotation.pushButton > a {
+ position: absolute;
+ font-size: 1em;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.annotationLayer .linkAnnotation > a:hover,
+.annotationLayer .buttonWidgetAnnotation.pushButton > a:hover {
+ opacity: 0.2;
+ background: #ff0;
+ box-shadow: 0px 2px 10px #ff0;
+}
+
+.annotationLayer .textAnnotation img {
+ position: absolute;
+ cursor: pointer;
+}
+
+.annotationLayer .textWidgetAnnotation input,
+.annotationLayer .textWidgetAnnotation textarea,
+.annotationLayer .choiceWidgetAnnotation select,
+.annotationLayer .buttonWidgetAnnotation.checkBox input,
+.annotationLayer .buttonWidgetAnnotation.radioButton input {
+ background-color: rgba(0, 54, 255, 0.13);
+ border: 1px solid transparent;
+ box-sizing: border-box;
+ font-size: 9px;
+ height: 100%;
+ margin: 0;
+ padding: 0 3px;
+ vertical-align: top;
+ width: 100%;
+}
+
+.annotationLayer .choiceWidgetAnnotation select option {
+ padding: 0;
+}
+
+.annotationLayer .buttonWidgetAnnotation.radioButton input {
+ border-radius: 50%;
+}
+
+.annotationLayer .textWidgetAnnotation textarea {
+ font: message-box;
+ font-size: 9px;
+ resize: none;
+}
+
+.annotationLayer .textWidgetAnnotation input[disabled],
+.annotationLayer .textWidgetAnnotation textarea[disabled],
+.annotationLayer .choiceWidgetAnnotation select[disabled],
+.annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],
+.annotationLayer .buttonWidgetAnnotation.radioButton input[disabled] {
+ background: none;
+ border: 1px solid transparent;
+ cursor: not-allowed;
+}
+
+.annotationLayer .textWidgetAnnotation input:hover,
+.annotationLayer .textWidgetAnnotation textarea:hover,
+.annotationLayer .choiceWidgetAnnotation select:hover,
+.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,
+.annotationLayer .buttonWidgetAnnotation.radioButton input:hover {
+ border: 1px solid #000;
+}
+
+.annotationLayer .textWidgetAnnotation input:focus,
+.annotationLayer .textWidgetAnnotation textarea:focus,
+.annotationLayer .choiceWidgetAnnotation select:focus {
+ background: none;
+ border: 1px solid transparent;
+}
+
+.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,
+.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,
+.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
+ background-color: #000;
+ content: '';
+ display: block;
+ position: absolute;
+}
+
+.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,
+.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
+ height: 80%;
+ left: 45%;
+ width: 1px;
+}
+
+.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before {
+ transform: rotate(45deg);
+}
+
+.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
+ transform: rotate(-45deg);
+}
+
+.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
+ border-radius: 50%;
+ height: 50%;
+ left: 30%;
+ top: 20%;
+ width: 50%;
+}
+
+.annotationLayer .textWidgetAnnotation input.comb {
+ font-family: monospace;
+ padding-left: 2px;
+ padding-right: 0;
+}
+
+.annotationLayer .textWidgetAnnotation input.comb:focus {
+ /*
+ * Letter spacing is placed on the right side of each character. Hence, the
+ * letter spacing of the last character may be placed outside the visible
+ * area, causing horizontal scrolling. We avoid this by extending the width
+ * when the element has focus and revert this when it loses focus.
+ */
+ width: 115%;
+}
+
+.annotationLayer .buttonWidgetAnnotation.checkBox input,
+.annotationLayer .buttonWidgetAnnotation.radioButton input {
+ appearance: none;
+ padding: 0;
+}
+
+.annotationLayer .popupWrapper {
+ position: absolute;
+ width: 20em;
+}
+
+.annotationLayer .popup {
+ position: absolute;
+ z-index: 200;
+ max-width: 20em;
+ background-color: #ffff99;
+ box-shadow: 0px 2px 5px #888;
+ border-radius: 2px;
+ padding: 6px;
+ margin-left: 5px;
+ cursor: pointer;
+ font: message-box;
+ font-size: 9px;
+ word-wrap: break-word;
+}
+
+.annotationLayer .popup > * {
+ font-size: 9px;
+}
+
+.annotationLayer .popup h1 {
+ display: inline-block;
+}
+
+.annotationLayer .popup span {
+ display: inline-block;
+ margin-left: 5px;
+}
+
+.annotationLayer .popup p {
+ border-top: 1px solid #333;
+ margin-top: 2px;
+ padding-top: 2px;
+}
+
+.annotationLayer .highlightAnnotation,
+.annotationLayer .underlineAnnotation,
+.annotationLayer .squigglyAnnotation,
+.annotationLayer .strikeoutAnnotation,
+.annotationLayer .freeTextAnnotation,
+.annotationLayer .lineAnnotation svg line,
+.annotationLayer .squareAnnotation svg rect,
+.annotationLayer .circleAnnotation svg ellipse,
+.annotationLayer .polylineAnnotation svg polyline,
+.annotationLayer .polygonAnnotation svg polygon,
+.annotationLayer .caretAnnotation,
+.annotationLayer .inkAnnotation svg polyline,
+.annotationLayer .stampAnnotation,
+.annotationLayer .fileAttachmentAnnotation {
+ cursor: pointer;
+}
diff --git a/src/components/resume/index.jsx b/src/components/resume/index.jsx
new file mode 100644
index 0000000..cf3d91a
--- /dev/null
+++ b/src/components/resume/index.jsx
@@ -0,0 +1,35 @@
+import React, { Component } from 'react';
+import { Document, Page, pdfjs } from 'react-pdf';
+import resume from '../../assets/pdf/RRS_Resume_Feb_2022.pdf';
+import './AnnotationLayer.css';
+import './styles.css';
+pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;
+
+function removeTextLayerOffset() {
+ const textLayers = document.querySelectorAll('.react-pdf__Page__textContent');
+ textLayers.forEach((layer) => {
+ const { style } = layer;
+ style.top = '0';
+ style.left = '0';
+ style.transform = '';
+ });
+}
+
+class ResumePage extends Component {
+ render() {
+ // const resumeHeight = window.innerHeight * 1.25;
+ const resumeHeight = this.props.height;
+ return (
+
+
+
Last Updated: February 2022
+
+ );
+ }
+}
+
+export default ResumePage;
diff --git a/src/components/resume/styles.css b/src/components/resume/styles.css
new file mode 100644
index 0000000..220b1fd
--- /dev/null
+++ b/src/components/resume/styles.css
@@ -0,0 +1,18 @@
+.resume-page {
+ width: 540px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding-bottom: 20px;
+}
+
+.resume-page a {
+ border: none;
+ text-decoration-line: none;
+}
+
+.download {
+ color: white !important;
+ font-size: 16px;
+ padding-top: 10px;
+}
\ No newline at end of file
diff --git a/src/containers/Home/home.css b/src/containers/Home/home.css
deleted file mode 100644
index 4aa346a..0000000
--- a/src/containers/Home/home.css
+++ /dev/null
@@ -1,14 +0,0 @@
-.pointer {
- cursor: pointer;
-}
-
-.rotate {
- -moz-transition: all 250ms linear;
- -webkit-transition: all 250ms linear;
- transition: all 250ms linear;
-}
-.rotate.down {
- -moz-transform: rotate(150deg);
- -webkit-transform: rotate(150deg);
- transform: rotate(150deg);
-}
diff --git a/src/containers/Home/index.js b/src/containers/Home/index.js
deleted file mode 100644
index 5cf53a4..0000000
--- a/src/containers/Home/index.js
+++ /dev/null
@@ -1,267 +0,0 @@
-import React, { useState, useCallback } from 'react';
-import {
- Wrapper,
- Splash,
- ButtonWrapper,
- Button,
- SocialButtons,
- RefreshContainer,
- InfoWrapper,
- Projects,
- Resume,
- ProjLinks,
- Awards,
- ProjScreenshots,
- ProjVideo,
- Logo,
- HeaderRow,
- SelectedProj,
-} from './styles';
-
-import LinkedInLogo from 'assets/svg/linkedin.svg';
-import YoutubeLogo from 'assets/svg/youtube.svg';
-import GithubLogo from 'assets/svg/github.svg';
-import SpotifyLogo from 'assets/svg/spotify.svg';
-
-import RefreshLogo from 'assets/svg/refresh.svg';
-import SunLogo from 'assets/svg/sun.svg';
-
-import PROJECTS from 'assets/data/projects';
-import RESUME from 'assets/pdf/RRS_Resume_Sep_2020.pdf';
-
-import { Fun } from 'components/Fun';
-
-import './home.css';
-
-const PLATFORM_CONVERSIONS = {
- github: 'GitHub',
- playstore: 'Play Store',
- appstore: 'App Store',
- website: 'Website',
-};
-
-const COLORS = [
- { fg: '#f2f2f2', bg: '#181818', darkBg: true },
- { fg: '#f2f2f2', bg: '#16a085', darkBg: false },
- { fg: '#f2f2f2', bg: '#f39c12', darkBg: false },
- { fg: '#f2f2f2', bg: '#27ae60', darkBg: false },
- { fg: '#f2f2f2', bg: '#d35400', darkBg: false },
- { fg: '#f2f2f2', bg: '#2980b9', darkBg: false },
- { fg: '#f2f2f2', bg: '#c0392b', darkBg: false },
- { fg: '#f2f2f2', bg: '#8e44ad', darkBg: false },
- { fg: '#f2f2f2', bg: '#2c3e50', darkBg: false },
-];
-
-const IS_MOBILE = window.innerWidth <= 1200 || window.innerHeight < 600;
-
-const getRandomNumber = (min, max) => {
- let randomNum = Math.random() * (max - min) + min;
- return Math.round(randomNum);
-};
-
-export const Home = () => {
- const [color, setColor] = useState(COLORS[0]);
- const [lightMode, setLightMode] = useState(true);
- const [pressed, setPressed] = useState(false);
- const [randNumber, setRandNumber] = useState(getRandomNumber(0, COLORS.length - 1));
- const [selected, setSelected] = useState();
- const [selectedProj, setSelectedProj] = useState();
-
- const handleKeyPress = (e) => {
- e.persist();
- if (e.key === ' ') {
- setLightMode(!lightMode);
- }
- };
-
- const handleRefresh = useCallback(() => {
- setPressed(true);
- setTimeout(() => setPressed(false), 250);
- let newRand = randNumber;
- while (newRand === randNumber) newRand = getRandomNumber(0, COLORS.length - 1);
- setRandNumber(newRand);
- setColor(COLORS[newRand]);
- }, [randNumber]);
-
- const handleSelectedTab = (id) => {
- if (selected === id) {
- setSelected(null);
- } else {
- setSelected(id);
- }
- };
-
- if (!color) return null;
- return (
-
-
-
-
-
handleRefresh()}
- />
-
setLightMode(!lightMode)}
- />
-
- Ralfi Salhon
-
-
- /
-
- /
-
- /
- handleRefresh()} onClick={() => setLightMode(false)}>
-
-
-
- {selected && (
-
- {selected === 'resume' && (
-
-
-
- View
-
-
- Download
-
-
-
- )}
- {selected === 'projects' && (
- <>
-
- {PROJECTS?.map((proj) => (
- setSelectedProj(proj)}
- >
- {proj.name}
-
- ))}
-
- {selectedProj && (
-
-
- {!IS_MOBILE && (
-
-
-
- )}
-
-
- {selectedProj?.awards?.map((award) => (
-
-
- {'🏆'} {award}
-
-
- ))}
-
-
- {Object.keys(selectedProj.platforms).map((platform) => (
-
- {PLATFORM_CONVERSIONS[platform]}
-
- ))}
-
-
-
-
- {selectedProj.screenshots?.map((screenshot) => (
-
- ))}
-
-
-
- {selectedProj?.video && (
-
- )}
-
-
- )}
- >
- )}
- {selected === 'contact' && (
-
-
- ralfisalhon@gmail.com
-
-
- )}
- {selected === 'fun' && (
-
-
-
- )}
-
- )}
-
-
window.open('https://www.linkedin.com/in/ralfisalhon/')}
- />
-
window.open('https://github.com/ralfisalhon')}
- />
-
window.open('https://open.spotify.com/user/pnoig1591pjau15ah9ja412k6')}
- />
-
- window.open(
- 'https://www.youtube.com/channel/UCZOm0qLlSm19QyvAc_rsOmQ?view_as=subscriber'
- )
- }
- />
-
-
-
-
- );
-};
diff --git a/src/containers/Home/styles.js b/src/containers/Home/styles.js
deleted file mode 100644
index 45805af..0000000
--- a/src/containers/Home/styles.js
+++ /dev/null
@@ -1,235 +0,0 @@
-import styled from 'styled-components/macro';
-
-export const Splash = styled.div`
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- min-height: calc(var(--vh, 1vh) * 100);
- width: 100vw;
- overflow-x: hidden;
-`;
-
-export const Wrapper = styled.div`
- background: ${({ fgColor, bgColor, lightMode }) =>
- lightMode ? fgColor : bgColor};
-
- h1,
- p {
- color: ${({ fgColor, bgColor, lightMode }) =>
- lightMode ? bgColor : fgColor};
- }
-
- p {
- margin: 0px 3px;
- font-weight: 400;
- }
-
- font-family: Helvetica;
- letter-spacing: 2px;
- transition: 1s;
-
- img {
- height: 30px;
- width: 30px;
- margin: 0px 5px;
- -webkit-tap-highlight-color: transparent;
- }
-`;
-
-export const ButtonWrapper = styled.span`
- display: flex;
- flex-direction: row;
- align-items: flex-end;
- margin-top: 5px;
- height: 30px;
-`;
-
-export const Button = styled.p`
- transition: 150ms;
- transition-timing-function: ease-out;
- cursor: pointer;
-
- &:hover {
- font-size: 22px;
- margin: 0px 5px;
- font-weight: 500;
- }
-
- ${({ selected }) => {
- return selected
- ? 'font-size: 22px; margin: 0px 20px !important; font-weight: 500;'
- : '';
- }};
-`;
-
-export const SocialButtons = styled.span`
- display: flex;
- flex-direction: row;
- margin: 20px 0px;
-
- img {
- cursor: pointer;
- }
-`;
-
-export const RefreshContainer = styled.div`
- margin: 10px 0px;
-`;
-
-export const InfoWrapper = styled.div`
- a {
- color: ${({ fgColor, bgColor, lightMode }) =>
- lightMode ? bgColor : fgColor};
- text-decoration-line: none;
- }
-
- p {
- line-height: 1.15;
- }
-
- margin-top: 15px;
-
- @keyframes fade-in {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- }
- }
-
- animation-timing-function: ease-in;
- animation: fade-in 750ms;
- -webkit-backface-visibility: hidden;
- max-width: 90vw;
-`;
-
-export const Projects = styled.div`
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: center;
- padding: 0px 20px;
- margin: -5px 0px -8px;
-
- p {
- cursor: pointer;
- line-height: 2;
- }
-
- p:not(:last-child) {
- ::after {
- color: var(--light-color);
- content: ' | ';
- }
- }
-`;
-
-export const Resume = styled.div`
- a:not(:last-child) {
- ::after {
- color: var(--${({ lightMode }) => (lightMode ? 'dark' : 'light')}-color);
- content: ' | ';
- }
- }
-`;
-
-export const ProjLinks = styled.div`
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: center;
- text-align: center;
- margin-top: 5px;
- a {
- margin: 0px 8px;
- cursor: pointer;
- padding-bottom: 2px;
- border-bottom: 0.5px solid ${({ color }) => color};
- }
-
- @keyframes fade-in {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- }
- }
-
- animation-timing-function: ease-in;
- animation: fade-in 750ms;
-`;
-
-export const Awards = styled.div`
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: center;
- text-align: center;
- padding: 0px 20px;
- text-wrap: wrap;
-
- a {
- padding: 5px;
- margin: 0px 2px;
- cursor: pointer;
- }
-
- @keyframes fade-in {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- }
- }
-
- animation-timing-function: ease-in;
- animation: fade-in 750ms;
- -webkit-backface-visibility: hidden;
-`;
-
-export const ProjScreenshots = styled.div`
- margin-top: 10px;
- justify-content: center;
- display: flex;
- flex-wrap: wrap;
- img {
- width: calc(42vh * 0.56);
- height: 42vh;
- border-radius: 20px;
- border: 1px solid lightgray;
- }
-`;
-
-export const ProjVideo = styled.div`
- justify-content: center;
- display: flex;
-
- iframe {
- height: calc(70vh * 0.56);
- width: 70vh;
- }
-`;
-
-export const Logo = styled.div`
- display: flex;
- justify-content: center;
-
- img {
- height: 3rem;
- width: 3rem;
- }
-`;
-
-export const HeaderRow = styled.div`
- margin: 20px 0px;
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
-`;
-
-export const SelectedProj = styled.div``;
diff --git a/src/containers/NewHome/gradient.css b/src/containers/NewHome/gradient.css
new file mode 100644
index 0000000..81333f4
--- /dev/null
+++ b/src/containers/NewHome/gradient.css
@@ -0,0 +1,37 @@
+.gradient-border {
+ --borderWidth: 2px;
+ background: var(--dark-color);
+ position: relative;
+ border-radius: var(--borderWidth);
+ z-index: 0;
+ margin: 10px var(--borderWidth) 15px var(--borderWidth);
+ }
+
+.gradient-border:after {
+ content: '';
+ position: absolute;
+ top: calc(-1 * var(--borderWidth));
+ left: calc(-1 * var(--borderWidth));
+ height: calc(100% + var(--borderWidth) * 2);
+ width: calc(100% + var(--borderWidth) * 2);
+ background: linear-gradient(60deg, #5073b8, #1098ad, #07b39b,#1098ad,#5073b8);
+ border-radius: calc(2 * var(--borderWidth));
+ z-index: -1;
+ animation: animatedgradient 5s ease alternate infinite;
+ background-size: 250% 250%;
+ }
+
+
+@keyframes animatedgradient {
+ 0% {
+ background-position: 0% 50%;
+ }
+ 50% {
+ background-position: 100% 50%;
+ }
+ 100% {
+ background-position: 0% 50%;
+ }
+}
+
+
diff --git a/src/containers/NewHome/index.js b/src/containers/NewHome/index.js
new file mode 100644
index 0000000..e135f2c
--- /dev/null
+++ b/src/containers/NewHome/index.js
@@ -0,0 +1,291 @@
+import React, { useEffect, useState } from 'react';
+import {
+ Main,
+ Words,
+ Word,
+ Name,
+ Wrapper,
+ Content,
+ SocialButtons,
+ InfoBox,
+ Emoji,
+} from './styles';
+
+import LinkedInLogo from 'assets/svg/linkedin.svg';
+import YoutubeLogo from 'assets/svg/youtube.svg';
+import GithubLogo from 'assets/svg/github.svg';
+import SpotifyLogo from 'assets/svg/spotify.svg';
+import MAGGLASS from 'assets/images/magglass.png';
+import LEFTARROW from 'assets/images/leftarrow.png';
+
+import RESUME from 'assets/pdf/RRS_Resume_Feb_2022.pdf';
+import './gradient.css';
+import ResumePage from 'components/resume';
+import { FloatingProjects } from 'components/projects';
+
+const isMobile = window.innerWidth < 700;
+
+const RESUME_LOAD_DELAY = 150;
+
+export const NewHome = () => {
+ const [index, setIndex] = useState(3);
+ const [showResume, setShowResume] = useState(false);
+ const [resumeHeight, setResumeHeight] = useState(window.innerHeight * 1.25);
+ const [resumeLoaded, setResumeLoaded] = useState(false);
+ const [isPaused, setIsPaused] = useState(false);
+
+ useEffect(() => {
+ setIsPaused(false);
+ }, [index]);
+
+ useEffect(() => {
+ setShowResume(false);
+ }, [index]);
+
+ useEffect(() => {
+ const keydownFunction = function (e) {
+ console.log(e.keyCode);
+ switch (e.keyCode) {
+ case 37: // Left Arrow
+ // case 16: // Shift
+ setIndex(prev => Math.max(prev - 1, 0));
+ break;
+ case 39: // Right Arrow
+ case 13: // Enter
+ setIndex(prev => Math.min(prev + 1, 4));
+ break;
+ default:
+ break;
+ }
+ };
+ document.addEventListener('keydown', keydownFunction);
+ return () => document.removeEventListener('keydown', keydownFunction);
+ });
+
+ return (
+
+ {isMobile ? (
+
+ The new ralfi.dev isn't ready for mobile yet.
+
+
+ Contact:
+
+ ralfisalhon@gmail.com
+
+
+
+ ) : (
+
+ setIndex(0)}>
+ ralfi.dev
+
+
+
+ setIndex(0)}
+ width={40}
+ visible
+ >
+ 1 ? '0px' : '8px',
+ }}
+ />
+
+
+ setIndex(index !== 1 ? 1 : 0)}
+ width={105}
+ color="white"
+ >
+ Resume
+
+ setIndex(index !== 2 ? 2 : 0)}
+ width={102}
+ color="white"
+ >
+ Contact
+
+ setIndex(index !== 3 ? 3 : 0)}
+ width={100}
+ color="white"
+ style={{ position: 'relative' }}
+ >
+ Projects
+
+ {index === 3 && (
+
+
+
+ )}
+ setIndex(index !== 4 ? 4 : 0)}
+ width={50}
+ color="white"
+ >
+ Fun
+
+
+
+
+ {index === 1 && (
+
+
+ {
+ if (!showResume) {
+ setTimeout(() => {
+ setResumeLoaded(true);
+ }, RESUME_LOAD_DELAY);
+ }
+ setShowResume(prev => !prev);
+ }}
+ >
+ View
+
+ |
+
+ Download
+
+
+ {showResume && (
+
+ {'>'}
+
+ setResumeHeight(prev =>
+ Math.max(prev - window.innerHeight * 0.2, 650)
+ )
+ }
+ >
+ Smaller
+
+ |
+
+ setResumeHeight(prev =>
+ Math.min(
+ prev + window.innerHeight * 0.2,
+ window.innerHeight * 2
+ )
+ )
+ }
+ >
+ Bigger
+
+
+ )}
+
+ )}
+ {index === 2 && (
+
+ ralfisalhon@gmail.com
+
+ )}
+ {index === 3 && (
+
+
+ Github://ralfisalhon
+
+
+ )}
+ {index === 4 && (
+
+ {`// 🚜 Under construction`}
+
+ )}
+ {!isPaused && (
+
+
+ window.open('https://www.linkedin.com/in/ralfisalhon/')
+ }
+ title="LinkedIn"
+ />
+
window.open('https://github.com/ralfisalhon')}
+ title="Github"
+ />
+
+ window.open(
+ 'https://open.spotify.com/user/pnoig1591pjau15ah9ja412k6'
+ )
+ }
+ title="Spotify"
+ />
+
+ window.open(
+ 'https://www.youtube.com/channel/UCZOm0qLlSm19QyvAc_rsOmQ?view_as=subscriber'
+ )
+ }
+ title="Youtube"
+ />
+
+ )}
+
+ {index === 1 && showResume && }
+
+ )}
+
+ );
+};
diff --git a/src/containers/NewHome/styles.js b/src/containers/NewHome/styles.js
new file mode 100644
index 0000000..fe7e453
--- /dev/null
+++ b/src/containers/NewHome/styles.js
@@ -0,0 +1,191 @@
+import styled from 'styled-components/macro';
+
+export const Main = styled.div`
+ background: var(--dark-color);
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ min-height: 100vh;
+ overflow: scroll;
+
+ font-family: Montserrat;
+
+ color: var(--light-color);
+
+ p,
+ a {
+ margin: 0px;
+ padding: 0px;
+ }
+ line-height: 1;
+ font-size: 1.5rem;
+`;
+
+export const Wrapper = styled.div`
+ transition: 1s ease-in-out;
+ height: ${({ height }) => height}vh;
+ ${({ animationDelay }) =>
+ animationDelay && `transition-delay: ${animationDelay}ms`};
+
+ display: flex;
+ flex-direction: column;
+ width: 525px;
+
+ // transition: left 1s ease;
+ // background: red;
+ position: absolute;
+ right: 0;
+ top: calc(50% - ${({ height }) => height / 2}vh);
+ bottom: 0;
+ left: ${({ isPaused }) => (isPaused ? `40px` : 'calc(50% - 260px)')};
+`;
+
+const WIDTHS = [-8, 41, 146, 256, 365];
+export const Word = styled.div`
+ color: var(--light-color);
+ ${({ selected, color }) => selected && `color: ${color}`};
+
+ transition: all 400ms ease-out;
+ user-select: none;
+
+ margin-left: ${({ visible, currentIndex }) =>
+ visible ? `${-WIDTHS[currentIndex]}px` : '8px'};
+
+ ${({ selected }) => !selected && `cursor: pointer`};
+
+ // Default non-hovered
+ opacity: 0.5;
+ ${({ selected, currentIndex, index, visible }) =>
+ selected
+ ? // Selected
+ `opacity: 1;`
+ : currentIndex < index
+ ? // Hovered
+ `&:hover {
+ opacity: 0.9;
+ }`
+ : !visible && // After out of view
+ `opacity: 0.15;
+ &:hover {
+ opacity: 0.5;
+ };
+ ${
+ currentIndex - 1 === index && `&::after { color: var(--dark-color); }`
+ }
+ `};
+
+ ${({ visible }) => visible && 'opacity: 1'};
+`;
+
+export const Words = styled.div`
+ display: flex;
+ flex-direction: row;
+ position: relative;
+ padding: 12px 8px 10px 8px;
+ line-height: 1;
+ background: var(--dark-color);
+ border-radius: 4px;
+
+ ::after {
+ color: var(--light-color);
+ content: '';
+ opacity: 0.6;
+ }
+
+ ${Word}:not(:last-child):not(:first-child) {
+ ::after {
+ content: ',';
+ }
+ }
+ ${({ index }) =>
+ `${Word}:nth-child(${index + 1}) {
+ ::after {
+ opacity: 0.5;
+ }
+ }`};
+`;
+
+export const Name = styled.p`
+ font-size: 2.5rem;
+ font-weight: 600;
+ display: flex;
+ flex-direction: row;
+ gap: 10px;
+ ${({ index }) => index !== 0 && `cursor: pointer`};
+`;
+
+export const Content = styled.div`
+ display: flex;
+ flex-direction: row;
+ padding-bottom: 20px;
+`;
+
+export const SocialButtons = styled.span`
+ display: flex;
+ flex-direction: row;
+ gap: 10px;
+ margin-left: auto;
+
+ img {
+ cursor: pointer;
+ width: 40px;
+ height: 40px;
+ opacity: 0.9;
+ }
+ position: absolute;
+ right: 0px;
+`;
+
+export const InfoBox = styled.div`
+ font-size: 1rem;
+ gap: 10px;
+ display: flex;
+ flex-wrap: wrap;
+ margin-right: 10px;
+ a {
+ color: var(--light-color);
+ text-decoration-line: none;
+ }
+`;
+
+export const Resume = styled.div``;
+
+export const Emoji = styled.img`
+ transition: transform 1.5s;
+ transform: rotate(0deg);
+ transition-delay: 500ms;
+ ${({ index }) =>
+ index === 0 &&
+ `&:hover {
+ transform: rotate(360deg);
+ }`};
+`;
+
+export const Projects = styled.div`
+ display: flex;
+ flex-direction: column;
+
+ gap: 10px;
+
+ img {
+ width: 100px;
+ height: 100px;
+ }
+`;
+
+export const Project = styled.div`
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ gap: 10px;
+ border-radius: 20px;
+
+ transition: 500ms;
+ &:hover {
+ background: rgba(255, 255, 255, 0.2);
+ }
+ padding-right: 5px;
+ cursor: pointer;
+`;
diff --git a/src/hooks/useWindowSize.js b/src/hooks/useWindowSize.js
deleted file mode 100644
index eda928a..0000000
--- a/src/hooks/useWindowSize.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { useState, useEffect } from 'react';
-
-export function useWindowSize() {
- const getSize = () => {
- return {
- width: window.innerWidth,
- height: window.innerHeight,
- };
- };
-
- const [windowSize, setWindowSize] = useState(getSize);
-
- useEffect(() => {
- const handleResize = () => {
- setWindowSize(getSize());
- };
-
- window.addEventListener('resize', handleResize);
-
- return () => {
- window.removeEventListener('resize', handleResize);
- };
- }, []);
-
- return windowSize;
-}
diff --git a/yarn.lock b/yarn.lock
index 559bd5e..b67d44b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1534,6 +1534,11 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd"
integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==
+"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8":
+ version "7.0.11"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
+ integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
+
"@types/minimatch@*":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
@@ -1854,16 +1859,13 @@ address@1.1.2, address@^1.0.1:
resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6"
integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==
-adjust-sourcemap-loader@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4"
- integrity sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==
+adjust-sourcemap-loader@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz#5ae12fb5b7b1c585e80bbb5a63ec163a1a45e61e"
+ integrity sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==
dependencies:
- assert "1.4.1"
- camelcase "5.0.0"
- loader-utils "1.2.3"
- object-path "0.11.4"
- regex-parser "2.2.10"
+ loader-utils "^2.0.0"
+ regex-parser "^2.2.11"
aggregate-error@^3.0.0:
version "3.0.1"
@@ -1883,6 +1885,11 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.0.tgz#5c894537098785926d71e696114a53ce768ed773"
integrity sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw==
+ajv-keywords@^3.5.2:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
+ integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5:
version "6.12.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
@@ -1893,6 +1900,16 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
+ajv@^6.12.4, ajv@^6.12.5:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
alphanum-sort@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
@@ -2096,13 +2113,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
-assert@1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
- integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=
- dependencies:
- util "0.10.3"
-
assert@^1.1.1:
version "1.5.0"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
@@ -2733,11 +2743,6 @@ camel-case@^4.1.1:
pascal-case "^3.1.1"
tslib "^1.10.0"
-camelcase@5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42"
- integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==
-
camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
@@ -2922,15 +2927,6 @@ cli-width@^2.0.0:
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
-cliui@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
- integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==
- dependencies:
- string-width "^2.1.1"
- strip-ansi "^4.0.0"
- wrap-ansi "^2.0.0"
-
cliui@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
@@ -2974,11 +2970,6 @@ coa@^2.0.2:
chalk "^2.4.1"
q "^1.1.2"
-code-point-at@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
- integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
-
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
@@ -4613,6 +4604,14 @@ file-loader@4.3.0:
loader-utils "^1.2.3"
schema-utils "^2.5.0"
+file-loader@^6.0.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d"
+ integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==
+ dependencies:
+ loader-utils "^2.0.0"
+ schema-utils "^3.0.0"
+
file-uri-to-path@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
@@ -4671,10 +4670,10 @@ find-cache-dir@^2.1.0:
make-dir "^2.0.0"
pkg-dir "^3.0.0"
-find-cache-dir@^3.2.0:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
- integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
+find-cache-dir@^3.3.1:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b"
+ integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==
dependencies:
commondir "^1.0.1"
make-dir "^3.0.2"
@@ -4901,11 +4900,6 @@ gensync@^1.0.0-beta.1:
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
-get-caller-file@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
- integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
-
get-caller-file@^2.0.1:
version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
@@ -5219,10 +5213,10 @@ html-encoding-sniffer@^1.0.2:
dependencies:
whatwg-encoding "^1.0.1"
-html-entities@^1.2.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"
- integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==
+html-entities@^1.3.1:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc"
+ integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==
html-escaper@^2.0.0:
version "2.0.2"
@@ -5569,11 +5563,6 @@ invariant@^2.2.2, invariant@^2.2.4:
dependencies:
loose-envify "^1.0.0"
-invert-kv@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
- integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==
-
ip-regex@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
@@ -5735,13 +5724,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1:
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
-is-fullwidth-code-point@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
- integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
- dependencies:
- number-is-nan "^1.0.0"
-
is-fullwidth-code-point@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
@@ -6345,7 +6327,7 @@ jest-worker@^24.6.0, jest-worker@^24.9.0:
merge-stream "^2.0.0"
supports-color "^6.1.0"
-jest-worker@^25.1.0:
+jest-worker@^25.4.0:
version "25.5.0"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1"
integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==
@@ -6603,13 +6585,6 @@ lazy-cache@^1.0.3:
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
-lcid@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
- integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==
- dependencies:
- invert-kv "^2.0.0"
-
left-pad@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
@@ -6726,6 +6701,15 @@ loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
emojis-list "^3.0.0"
json5 "^1.0.1"
+loader-utils@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129"
+ integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^2.1.2"
+
locate-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
@@ -6806,10 +6790,10 @@ log-update@^4.0.0:
slice-ansi "^4.0.0"
wrap-ansi "^6.2.0"
-loglevel@^1.6.6:
- version "1.6.8"
- resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171"
- integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==
+loglevel@^1.6.8:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114"
+ integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
version "1.4.0"
@@ -6832,6 +6816,11 @@ lru-cache@^5.1.1:
dependencies:
yallist "^3.0.2"
+make-cancellable-promise@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/make-cancellable-promise/-/make-cancellable-promise-1.1.0.tgz#b4e9fcb31db3a27417e44f80cffa598ec9ac9f4e"
+ integrity sha512-X5Opjm2xcZsOLuJ+Bnhb4t5yfu4ehlA3OKEYLtqUchgVzL/QaqW373ZUVxVHKwvJ38cmYuR4rAHD2yUvAIkTPA==
+
make-dir@^2.0.0, make-dir@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
@@ -6847,6 +6836,11 @@ make-dir@^3.0.2:
dependencies:
semver "^6.0.0"
+make-event-props@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/make-event-props/-/make-event-props-1.3.0.tgz#2434cb390d58bcf40898d009ef5b1f936de9671b"
+ integrity sha512-oWiDZMcVB1/A487251hEWza1xzgCzl6MXxe9aF24l5Bt9N9UEbqTqKumEfuuLhmlhRZYnc+suVvW4vUs8bwO7Q==
+
makeerror@1.0.x:
version "1.0.11"
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
@@ -6859,13 +6853,6 @@ mamacro@^0.0.3:
resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4"
integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==
-map-age-cleaner@^0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
- integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
- dependencies:
- p-defer "^1.0.0"
-
map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
@@ -6902,15 +6889,6 @@ media-typer@0.3.0:
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
-mem@^4.0.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
- integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==
- dependencies:
- map-age-cleaner "^0.1.1"
- mimic-fn "^2.0.0"
- p-is-promise "^2.0.0"
-
memory-fs@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@@ -6927,6 +6905,11 @@ memory-fs@^0.5.0:
errno "^0.1.3"
readable-stream "^2.0.1"
+merge-class-names@^1.1.1:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/merge-class-names/-/merge-class-names-1.4.2.tgz#78d6d95ab259e7e647252a7988fd25a27d5a8835"
+ integrity sha512-bOl98VzwCGi25Gcn3xKxnR5p/WrhWFQB59MS/aGENcmUc6iSm96yrFDF0XSNurX9qN4LbJm0R9kfvsQ17i8zCw==
+
merge-deep@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2"
@@ -6941,6 +6924,11 @@ merge-descriptors@1.0.1:
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
+merge-refs@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/merge-refs/-/merge-refs-1.0.0.tgz#388348bce22e623782c6df9d3c4fc55888276120"
+ integrity sha512-WZ4S5wqD9FCR9hxkLgvcHJCBxzXzy3VVE6p8W2OzxRzB+hLRlcadGE2bW9xp2KSzk10rvp4y+pwwKO6JQVguMg==
+
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -7018,7 +7006,7 @@ mime@^2.4.4:
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1"
integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==
-mimic-fn@^2.0.0, mimic-fn@^2.1.0:
+mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
@@ -7063,6 +7051,11 @@ minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+minimist@^1.2.6:
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
+ integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
+
minipass-collect@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617"
@@ -7130,6 +7123,13 @@ mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1:
dependencies:
minimist "^1.2.5"
+mkdirp@^0.5.5:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+ integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
+ dependencies:
+ minimist "^1.2.6"
+
move-concurrently@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
@@ -7372,11 +7372,6 @@ num2fraction@^1.2.2:
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=
-number-is-nan@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
- integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-
nwsapi@^2.0.7, nwsapi@^2.1.3:
version "2.2.0"
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
@@ -7424,11 +7419,6 @@ object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-object-path@0.11.4:
- version "0.11.4"
- resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949"
- integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=
-
object-visit@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
@@ -7573,25 +7563,11 @@ os-browserify@^0.3.0:
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
-os-locale@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
- integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
- dependencies:
- execa "^1.0.0"
- lcid "^2.0.0"
- mem "^4.0.0"
-
os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-p-defer@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
- integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=
-
p-each-series@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71"
@@ -7604,11 +7580,6 @@ p-finally@^1.0.0:
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
-p-is-promise@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
- integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
-
p-limit@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
@@ -7616,7 +7587,7 @@ p-limit@^1.1.0:
dependencies:
p-try "^1.0.0"
-p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.2:
+p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
@@ -7873,6 +7844,11 @@ pbkdf2@^3.0.3:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
+pdfjs-dist@2.12.313:
+ version "2.12.313"
+ resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-2.12.313.tgz#62f2273737bb956267ae2e02cdfaddcb1099819c"
+ integrity sha512-1x6iXO4Qnv6Eb+YFdN5JdUzt4pAkxSp3aLAYPX93eQCyg/m7QFzXVWJHJVtoW48CI8HCXju4dSkhQZwoheL5mA==
+
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
@@ -7971,14 +7947,14 @@ pnp-webpack-plugin@1.6.4:
dependencies:
ts-pnp "^1.1.6"
-portfinder@^1.0.25:
- version "1.0.26"
- resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70"
- integrity sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==
+portfinder@^1.0.26:
+ version "1.0.28"
+ resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778"
+ integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==
dependencies:
async "^2.6.2"
debug "^3.1.1"
- mkdirp "^0.5.1"
+ mkdirp "^0.5.5"
posix-character-classes@^0.1.0:
version "0.1.1"
@@ -8940,6 +8916,22 @@ react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+react-pdf@^5.7.2:
+ version "5.7.2"
+ resolved "https://registry.yarnpkg.com/react-pdf/-/react-pdf-5.7.2.tgz#c458dedf7983822668b40dcac1eae052c1f6e056"
+ integrity sha512-hdDwvf007V0i2rPCqQVS1fa70CXut17SN3laJYlRHzuqcu8sLLjEoeXihty6c0Ev5g1mw31b8OT8EwRw1s8C4g==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ file-loader "^6.0.0"
+ make-cancellable-promise "^1.0.0"
+ make-event-props "^1.1.0"
+ merge-class-names "^1.1.1"
+ merge-refs "^1.0.0"
+ pdfjs-dist "2.12.313"
+ prop-types "^15.6.2"
+ tiny-invariant "^1.0.0"
+ tiny-warning "^1.0.0"
+
react-router-dom@^5.1.2:
version "5.2.0"
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662"
@@ -8969,10 +8961,10 @@ react-router@5.2.0:
tiny-invariant "^1.0.2"
tiny-warning "^1.0.0"
-react-scripts@^3.4.1:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.4.1.tgz#f551298b5c71985cc491b9acf3c8e8c0ae3ada0a"
- integrity sha512-JpTdi/0Sfd31mZA6Ukx+lq5j1JoKItX7qqEK4OiACjVQletM1P38g49d9/D0yTxp9FrSF+xpJFStkGgKEIRjlQ==
+react-scripts@^3.4.3:
+ version "3.4.4"
+ resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.4.4.tgz#eef024ed5c566374005e3f509877350ba99d08a7"
+ integrity sha512-7J7GZyF/QvZkKAZLneiOIhHozvOMHey7hO9cdO9u68jjhGZlI8hDdOm6UyuHofn6Ajc9Uji5I6Psm/nKNuWdyw==
dependencies:
"@babel/core" "7.9.0"
"@svgr/webpack" "4.3.3"
@@ -9015,15 +9007,15 @@ react-scripts@^3.4.1:
react-app-polyfill "^1.0.6"
react-dev-utils "^10.2.1"
resolve "1.15.0"
- resolve-url-loader "3.1.1"
+ resolve-url-loader "3.1.2"
sass-loader "8.0.2"
semver "6.3.0"
style-loader "0.23.1"
- terser-webpack-plugin "2.3.5"
+ terser-webpack-plugin "2.3.8"
ts-pnp "1.1.6"
url-loader "2.3.0"
webpack "4.42.0"
- webpack-dev-server "3.10.3"
+ webpack-dev-server "3.11.0"
webpack-manifest-plugin "2.2.0"
workbox-webpack-plugin "4.3.1"
optionalDependencies:
@@ -9191,10 +9183,10 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
-regex-parser@2.2.10:
- version "2.2.10"
- resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37"
- integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==
+regex-parser@^2.2.11:
+ version "2.2.11"
+ resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58"
+ integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==
regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0:
version "1.3.0"
@@ -9321,11 +9313,6 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
-require-main-filename@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
- integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
-
require-main-filename@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
@@ -9363,12 +9350,12 @@ resolve-pathname@^3.0.0:
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd"
integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==
-resolve-url-loader@3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz#28931895fa1eab9be0647d3b2958c100ae3c0bf0"
- integrity sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ==
+resolve-url-loader@3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz#235e2c28e22e3e432ba7a5d4e305c59a58edfc08"
+ integrity sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ==
dependencies:
- adjust-sourcemap-loader "2.0.0"
+ adjust-sourcemap-loader "3.0.0"
camelcase "5.3.1"
compose-function "3.0.3"
convert-source-map "1.7.0"
@@ -9579,7 +9566,7 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
-schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5:
+schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.5:
version "2.7.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
@@ -9588,6 +9575,24 @@ schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6
ajv "^6.12.2"
ajv-keywords "^3.4.1"
+schema-utils@^2.6.6:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7"
+ integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
+ dependencies:
+ "@types/json-schema" "^7.0.5"
+ ajv "^6.12.4"
+ ajv-keywords "^3.5.2"
+
+schema-utils@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
+ integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
+ dependencies:
+ "@types/json-schema" "^7.0.8"
+ ajv "^6.12.5"
+ ajv-keywords "^3.5.2"
+
screenfull@^5.0.0:
version "5.0.2"
resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.0.2.tgz#b9acdcf1ec676a948674df5cd0ff66b902b0bed7"
@@ -9654,11 +9659,6 @@ send@0.17.1:
range-parser "~1.2.1"
statuses "~1.5.0"
-serialize-javascript@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61"
- integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==
-
serialize-javascript@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea"
@@ -9666,6 +9666,13 @@ serialize-javascript@^3.1.0:
dependencies:
randombytes "^2.1.0"
+serialize-javascript@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
+ integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==
+ dependencies:
+ randombytes "^2.1.0"
+
serve-index@^1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
@@ -9897,13 +9904,14 @@ sockjs-client@1.4.0:
json3 "^3.3.2"
url-parse "^1.4.3"
-sockjs@0.3.19:
- version "0.3.19"
- resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d"
- integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==
+sockjs@0.3.20:
+ version "0.3.20"
+ resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855"
+ integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==
dependencies:
faye-websocket "^0.10.0"
- uuid "^3.0.1"
+ uuid "^3.4.0"
+ websocket-driver "0.6.5"
sort-keys@^1.0.0:
version "1.1.2"
@@ -9999,7 +10007,7 @@ spdy-transport@^3.0.0:
readable-stream "^3.0.6"
wbuf "^1.7.3"
-spdy@^4.0.1:
+spdy@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b"
integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==
@@ -10167,23 +10175,6 @@ string-length@^3.1.0:
astral-regex "^1.0.0"
strip-ansi "^5.2.0"
-string-width@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
- integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- strip-ansi "^3.0.0"
-
-string-width@^2.0.0, string-width@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
- integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
- dependencies:
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^4.0.0"
-
string-width@^3.0.0, string-width@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
@@ -10429,19 +10420,19 @@ tapable@^1.0.0, tapable@^1.1.3:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
-terser-webpack-plugin@2.3.5:
- version "2.3.5"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz#5ad971acce5c517440ba873ea4f09687de2f4a81"
- integrity sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w==
+terser-webpack-plugin@2.3.8:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724"
+ integrity sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w==
dependencies:
cacache "^13.0.1"
- find-cache-dir "^3.2.0"
- jest-worker "^25.1.0"
- p-limit "^2.2.2"
- schema-utils "^2.6.4"
- serialize-javascript "^2.1.2"
+ find-cache-dir "^3.3.1"
+ jest-worker "^25.4.0"
+ p-limit "^2.3.0"
+ schema-utils "^2.6.6"
+ serialize-javascript "^4.0.0"
source-map "^0.6.1"
- terser "^4.4.3"
+ terser "^4.6.12"
webpack-sources "^1.4.3"
terser-webpack-plugin@^1.4.3:
@@ -10459,7 +10450,7 @@ terser-webpack-plugin@^1.4.3:
webpack-sources "^1.4.0"
worker-farm "^1.7.0"
-terser@^4.1.2, terser@^4.4.3, terser@^4.6.3:
+terser@^4.1.2, terser@^4.6.12, terser@^4.6.3:
version "4.8.0"
resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17"
integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==
@@ -10523,6 +10514,11 @@ timsort@^0.3.0:
resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
+tiny-invariant@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.2.0.tgz#a1141f86b672a9148c72e978a19a73b9b94a15a9"
+ integrity sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==
+
tiny-invariant@^1.0.2:
version "1.1.0"
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875"
@@ -10870,7 +10866,7 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
-uuid@^3.0.1, uuid@^3.3.2:
+uuid@^3.3.2, uuid@^3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
@@ -10981,10 +10977,10 @@ webpack-dev-middleware@^3.7.2:
range-parser "^1.2.1"
webpack-log "^2.0.0"
-webpack-dev-server@3.10.3:
- version "3.10.3"
- resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz#f35945036813e57ef582c2420ef7b470e14d3af0"
- integrity sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==
+webpack-dev-server@3.11.0:
+ version "3.11.0"
+ resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c"
+ integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==
dependencies:
ansi-html "0.0.7"
bonjour "^3.5.0"
@@ -10994,31 +10990,31 @@ webpack-dev-server@3.10.3:
debug "^4.1.1"
del "^4.1.1"
express "^4.17.1"
- html-entities "^1.2.1"
+ html-entities "^1.3.1"
http-proxy-middleware "0.19.1"
import-local "^2.0.0"
internal-ip "^4.3.0"
ip "^1.1.5"
is-absolute-url "^3.0.3"
killable "^1.0.1"
- loglevel "^1.6.6"
+ loglevel "^1.6.8"
opn "^5.5.0"
p-retry "^3.0.1"
- portfinder "^1.0.25"
+ portfinder "^1.0.26"
schema-utils "^1.0.0"
selfsigned "^1.10.7"
semver "^6.3.0"
serve-index "^1.9.1"
- sockjs "0.3.19"
+ sockjs "0.3.20"
sockjs-client "1.4.0"
- spdy "^4.0.1"
+ spdy "^4.0.2"
strip-ansi "^3.0.1"
supports-color "^6.1.0"
url "^0.11.0"
webpack-dev-middleware "^3.7.2"
webpack-log "^2.0.0"
ws "^6.2.1"
- yargs "12.0.5"
+ yargs "^13.3.2"
webpack-log@^2.0.0:
version "2.0.0"
@@ -11075,6 +11071,13 @@ webpack@4.42.0:
watchpack "^1.6.0"
webpack-sources "^1.4.1"
+websocket-driver@0.6.5:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
+ integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=
+ dependencies:
+ websocket-extensions ">=0.1.1"
+
websocket-driver@>=0.5.1:
version "0.7.4"
resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760"
@@ -11302,14 +11305,6 @@ worker-rpc@^0.1.0:
dependencies:
microevent.ts "~0.1.1"
-wrap-ansi@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
- integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
- dependencies:
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
-
wrap-ansi@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
@@ -11385,7 +11380,7 @@ xtend@^4.0.0, xtend@~4.0.1:
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0:
+y18n@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
@@ -11405,14 +11400,6 @@ yaml@^1.7.2:
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
-yargs-parser@^11.1.1:
- version "11.1.1"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
- integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
yargs-parser@^13.1.2:
version "13.1.2"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
@@ -11421,25 +11408,7 @@ yargs-parser@^13.1.2:
camelcase "^5.0.0"
decamelize "^1.2.0"
-yargs@12.0.5:
- version "12.0.5"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
- integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==
- dependencies:
- cliui "^4.0.0"
- decamelize "^1.2.0"
- find-up "^3.0.0"
- get-caller-file "^1.0.1"
- os-locale "^3.0.0"
- require-directory "^2.1.1"
- require-main-filename "^1.0.1"
- set-blocking "^2.0.0"
- string-width "^2.0.0"
- which-module "^2.0.0"
- y18n "^3.2.1 || ^4.0.0"
- yargs-parser "^11.1.1"
-
-yargs@^13.3.0:
+yargs@^13.3.0, yargs@^13.3.2:
version "13.3.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==