From 8c2c9d486f0b9b92fce29ddd63f170236cc91484 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Tue, 12 Jul 2022 15:24:53 -0300 Subject: [PATCH 01/24] fixing eslint problem with imports --- .eslintrc | 2 +- package-lock.json | 85 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 - 3 files changed, 86 insertions(+), 2 deletions(-) diff --git a/.eslintrc b/.eslintrc index 316d5e03..9ad7912d 100644 --- a/.eslintrc +++ b/.eslintrc @@ -19,7 +19,7 @@ "expect": true, "sinon": true }, - "parser": "babel-eslint", + "parser": "@babel/eslint-parser", "plugins": [ "react", "jsx-a11y", diff --git a/package-lock.json b/package-lock.json index 75c4a203..bd4ec11d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,6 +25,7 @@ "webpack-dev-server": "4.9.3" }, "devDependencies": { + "@babel/eslint-parser": "^7.18.2", "babel-eslint": "10.1.0", "css-loader": "6.7.1", "eslint": "8.19.0", @@ -105,6 +106,55 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/eslint-parser": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.2.tgz", + "integrity": "sha512-oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==", + "dev": true, + "dependencies": { + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/@babel/generator": { "version": "7.18.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", @@ -13360,6 +13410,41 @@ "semver": "^6.3.0" } }, + "@babel/eslint-parser": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.2.tgz", + "integrity": "sha512-oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==", + "dev": true, + "requires": { + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, "@babel/generator": { "version": "7.18.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", diff --git a/package.json b/package.json index d56de193..368ce8db 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,6 @@ "webpack-dev-server": "4.9.3" }, "devDependencies": { - "babel-eslint": "10.1.0", "css-loader": "6.7.1", "eslint": "8.19.0", "eslint-config-airbnb": "19.0.4", From 528543ec21ebbc96dbd5f3d45feea606305eac3d Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Tue, 12 Jul 2022 15:44:45 -0300 Subject: [PATCH 02/24] creating first react components --- .vscode/settings.json | 3 +++ src/components/About.js | 15 +++++++++++++++ src/components/Academic.js | 9 +++++++++ src/components/AcademicItem.js | 14 ++++++++++++++ src/components/Experience.js | 9 +++++++++ src/components/ExperienceItem.js | 13 +++++++++++++ src/components/Header.js | 21 +++++++++++++++++++++ src/components/Interest.js | 14 ++++++++++++++ src/components/Languages.js | 13 +++++++++++++ src/components/Profile.js | 10 ++++++++++ src/components/Skills.js | 13 +++++++++++++ src/containers/App.jsx | 26 ++++++++++++-------------- src/index.js | 5 +++-- src/styles/components/App.styl | 2 +- 14 files changed, 150 insertions(+), 17 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 src/components/About.js create mode 100644 src/components/Academic.js create mode 100644 src/components/AcademicItem.js create mode 100644 src/components/Experience.js create mode 100644 src/components/ExperienceItem.js create mode 100644 src/components/Header.js create mode 100644 src/components/Interest.js create mode 100644 src/components/Languages.js create mode 100644 src/components/Profile.js create mode 100644 src/components/Skills.js diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..23fd35f0 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.formatOnSave": true +} \ No newline at end of file diff --git a/src/components/About.js b/src/components/About.js new file mode 100644 index 00000000..2fa00104 --- /dev/null +++ b/src/components/About.js @@ -0,0 +1,15 @@ +import React from 'react'; + +export default function About() { + return ( +
+

Programmer

+

+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eaque, + blanditiis! Facilis velit porro aperiam adipisci voluptate soluta quos + perspiciatis a tempore repellat laudantium, minima libero qui officiis + aliquid nulla eius? +

+
+ ); +} diff --git a/src/components/Academic.js b/src/components/Academic.js new file mode 100644 index 00000000..8cd76728 --- /dev/null +++ b/src/components/Academic.js @@ -0,0 +1,9 @@ +import React from 'react'; + +export default function Academic() { + return ( +
+

Academic

+
+ ); +} diff --git a/src/components/AcademicItem.js b/src/components/AcademicItem.js new file mode 100644 index 00000000..1717f16d --- /dev/null +++ b/src/components/AcademicItem.js @@ -0,0 +1,14 @@ +import React from 'react'; +import Academic from './Academic'; + +export function AcademicItem() { + return ( + + ); +} diff --git a/src/components/Experience.js b/src/components/Experience.js new file mode 100644 index 00000000..b1428c0f --- /dev/null +++ b/src/components/Experience.js @@ -0,0 +1,9 @@ +import React from 'react'; + +export default function Experience() { + return ( +
+

Experience

+
+ ); +} diff --git a/src/components/ExperienceItem.js b/src/components/ExperienceItem.js new file mode 100644 index 00000000..f8701ded --- /dev/null +++ b/src/components/ExperienceItem.js @@ -0,0 +1,13 @@ +import React from 'react'; + +export function ExperienceItem() { + return ( + + ); +} diff --git a/src/components/Header.js b/src/components/Header.js new file mode 100644 index 00000000..0f7ac808 --- /dev/null +++ b/src/components/Header.js @@ -0,0 +1,21 @@ +import React from 'react'; + +export default function Header({ children }) { + return ( +
+ myself +
+

+ CV + @bramucci +

+

+ Candela + {' '} + Bramucci +

+ {children} +
+
+ ); +} diff --git a/src/components/Interest.js b/src/components/Interest.js new file mode 100644 index 00000000..b37e655b --- /dev/null +++ b/src/components/Interest.js @@ -0,0 +1,14 @@ +import React from 'react'; + +export default function Interest() { + return ( +
+
    +
  • +
  • +
  • +
  • +
+
+ ); +} diff --git a/src/components/Languages.js b/src/components/Languages.js new file mode 100644 index 00000000..04a6fc58 --- /dev/null +++ b/src/components/Languages.js @@ -0,0 +1,13 @@ +import React from 'react'; + +export default function Languages() { + return ( +
+

Languages

+
    +
  • +
  • +
+
+ ); +} diff --git a/src/components/Profile.js b/src/components/Profile.js new file mode 100644 index 00000000..b040d45a --- /dev/null +++ b/src/components/Profile.js @@ -0,0 +1,10 @@ +import React from 'react'; + +export default function Profile() { + return ( +
+

Profile

+

Ignore the squirrels, you will never catch them anyway hack, for floof tum, tickle bum, jellybean footies curly toes climb leg roll over and sun my belly,

+
+ ); +} diff --git a/src/components/Skills.js b/src/components/Skills.js new file mode 100644 index 00000000..7cc53388 --- /dev/null +++ b/src/components/Skills.js @@ -0,0 +1,13 @@ +import React from 'react'; + +export function Skills() { + return ( +
+
    +
  • +
  • +
  • +
+
+ ); +} diff --git a/src/containers/App.jsx b/src/containers/App.jsx index 57224430..3053fc43 100644 --- a/src/containers/App.jsx +++ b/src/containers/App.jsx @@ -2,27 +2,25 @@ import React from 'react'; import '../styles/components/App.styl'; import Header from '../components/Header'; import About from '../components/About'; -import Profile from '../components/Profile'; import Experience from '../components/Experience'; import Academic from '../components/Academic'; -import Skills from '../components/Skills'; -import Interest from '../components/Interest'; import Languages from '../components/Languages'; +import Profile from '../components/Profile'; +import Interest from '../components/Interest'; -const App = () => { +export default function App() { return ( <>
- - - - - - +
+ + + + + +
- ) -}; - -export default App; + ); +} diff --git a/src/index.js b/src/index.js index 9077e5ff..8845186e 100644 --- a/src/index.js +++ b/src/index.js @@ -1,5 +1,6 @@ import React from 'react'; -import ReactDOM from 'react-dom'; +import ReactDOM from 'react-dom/client'; import App from './containers/App'; -ReactDOM.render(, document.getElementById('app')); +const root = ReactDOM.createRoot(document.getElementById('app')); +root.render(); diff --git a/src/styles/components/App.styl b/src/styles/components/App.styl index 4f92eccb..b5732cd4 100644 --- a/src/styles/components/App.styl +++ b/src/styles/components/App.styl @@ -1,2 +1,2 @@ body - background-color blue \ No newline at end of file + background-color gray \ No newline at end of file From 8fd22a764b433b2ac441cb6dcc4c915e248f98c4 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Tue, 12 Jul 2022 16:41:26 -0300 Subject: [PATCH 03/24] creating global context with data fetch --- src/components/Context.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/components/Context.js diff --git a/src/components/Context.js b/src/components/Context.js new file mode 100644 index 00000000..ff3e4028 --- /dev/null +++ b/src/components/Context.js @@ -0,0 +1,30 @@ +import React, { createContext, useState, useEffect } from 'react'; + +export const Context = createContext(); + +export default function Provider({ children }) { + const [data, setData] = useState(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + fetch('http://localhost:3000/data') + .then((res) => { + if (!res.ok) throw new Error(`HTTP error at fetching data: The status is ${res.status}`); + return res.json(); + }) + .then((data) => setData(data)) + .catch((error) => { + console.error(error.message); + setError(error.message); + }) + .finally(() => setLoading(false)); + + }, []); + + return ( + + {children} + + ); +} From b00efcbc811b48c175fa5920a6b9beedc272a049 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Tue, 12 Jul 2022 16:42:17 -0300 Subject: [PATCH 04/24] adding provider to app and extracting UI to AppUI --- src/containers/App.jsx | 24 +++++------------------- src/containers/AppUI.js | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 src/containers/AppUI.js diff --git a/src/containers/App.jsx b/src/containers/App.jsx index 3053fc43..41fb1612 100644 --- a/src/containers/App.jsx +++ b/src/containers/App.jsx @@ -1,26 +1,12 @@ import React from 'react'; import '../styles/components/App.styl'; -import Header from '../components/Header'; -import About from '../components/About'; -import Experience from '../components/Experience'; -import Academic from '../components/Academic'; -import Languages from '../components/Languages'; -import Profile from '../components/Profile'; -import Interest from '../components/Interest'; +import Provider from '../components/Context'; +import AppUI from './AppUI'; export default function App() { return ( - <> -
- -
-
- - - - - -
- + + + ); } diff --git a/src/containers/AppUI.js b/src/containers/AppUI.js new file mode 100644 index 00000000..4c82b6f0 --- /dev/null +++ b/src/containers/AppUI.js @@ -0,0 +1,33 @@ +import React from 'react'; +import Header from '../components/Header'; +import About from '../components/About'; +import Experience from '../components/Experience'; +import Academic from '../components/Academic'; +import Languages from '../components/Languages'; +import Profile from '../components/Profile'; +import Interest from '../components/Interest'; +import { Context } from '../components/Context'; + +export default function AppUI() { + const { data, loading, error } = React.useContext(Context); + + return ( + <> + {error &&

error

} + {data && !loading && ( + <> +
+ +
+
+ + + + + +
+ + )} + + ); +} From 8c545143793fa40e66ac8448f23654c4bf4fbd57 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Tue, 12 Jul 2022 18:00:05 -0300 Subject: [PATCH 05/24] using api data in components --- src/components/About.js | 7 +++++-- src/components/Academic.js | 16 +++++++++++++++- src/components/AcademicItem.js | 18 +++++++++++------- src/components/Experience.js | 16 +++++++++++++++- src/components/ExperienceItem.js | 12 ++++++------ src/components/Header.js | 15 ++++++++++----- src/components/Interest.js | 11 ++++++----- src/components/Languages.js | 8 +++++--- src/components/Profile.js | 7 +++++-- src/components/Skills.js | 12 +++++++----- src/containers/AppUI.js | 3 +++ 11 files changed, 88 insertions(+), 37 deletions(-) diff --git a/src/components/About.js b/src/components/About.js index 2fa00104..e8c9b5e1 100644 --- a/src/components/About.js +++ b/src/components/About.js @@ -1,9 +1,12 @@ -import React from 'react'; +import React, { useContext } from 'react'; +import { Context } from './Context'; export default function About() { + const { data } = useContext(Context); + return (
-

Programmer

+

{data.profession}

Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eaque, blanditiis! Facilis velit porro aperiam adipisci voluptate soluta quos diff --git a/src/components/Academic.js b/src/components/Academic.js index 8cd76728..9884ed7b 100644 --- a/src/components/Academic.js +++ b/src/components/Academic.js @@ -1,9 +1,23 @@ -import React from 'react'; +import React, { useContext } from 'react'; +import AcademicItem from './AcademicItem'; +import { Context } from './Context'; export default function Academic() { + const { data } = useContext(Context); + return (

Academic

+ {data.Academic.map((item) => ( + + ))}
); } diff --git a/src/components/AcademicItem.js b/src/components/AcademicItem.js index 1717f16d..5bd64038 100644 --- a/src/components/AcademicItem.js +++ b/src/components/AcademicItem.js @@ -1,14 +1,18 @@ import React from 'react'; -import Academic from './Academic'; -export function AcademicItem() { +export default function AcademicItem({ + degree, + description, + endDate, + startDate, + institution }) { return (
    -
  • -
  • -
  • -
  • -
  • +
  • {degree}
  • +
  • {description}
  • +
  • {endDate}
  • +
  • {startDate}
  • +
  • {institution}
); } diff --git a/src/components/Experience.js b/src/components/Experience.js index b1428c0f..57b94017 100644 --- a/src/components/Experience.js +++ b/src/components/Experience.js @@ -1,9 +1,23 @@ -import React from 'react'; +import React, { useContext } from 'react'; +import { Context } from './Context'; +import ExperienceItem from './ExperienceItem'; export default function Experience() { + const { data } = useContext(Context); + return (

Experience

+ {data.experience.map((item) => ( + + ))}
); } diff --git a/src/components/ExperienceItem.js b/src/components/ExperienceItem.js index f8701ded..b1607a5a 100644 --- a/src/components/ExperienceItem.js +++ b/src/components/ExperienceItem.js @@ -1,13 +1,13 @@ import React from 'react'; -export function ExperienceItem() { +export default function ExperienceItem({ company, endDate, jobDescription, jobTitle, startDate }) { return (
    -
  • -
  • -
  • -
  • -
  • +
  • {company}
  • +
  • {endDate}
  • +
  • {jobDescription}
  • +
  • {jobTitle}
  • +
  • {startDate}
); } diff --git a/src/components/Header.js b/src/components/Header.js index 0f7ac808..3fec0753 100644 --- a/src/components/Header.js +++ b/src/components/Header.js @@ -1,18 +1,23 @@ -import React from 'react'; +import React, { useContext } from 'react'; +import { Context } from './Context'; export default function Header({ children }) { + const { data } = useContext(Context); + const fullName = data.name.split(' '); + const name = fullName[0]; + const lastName = fullName[1]; + return (
- myself + myself

CV - @bramucci

- Candela + {name} {' '} - Bramucci + {lastName}

{children}
diff --git a/src/components/Interest.js b/src/components/Interest.js index b37e655b..b0fdbaa0 100644 --- a/src/components/Interest.js +++ b/src/components/Interest.js @@ -1,13 +1,14 @@ -import React from 'react'; +import React, { useContext } from 'react'; +import { Context } from './Context'; export default function Interest() { + const { data } = useContext(Context); + return (
+

Interest

    -
  • -
  • -
  • -
  • + {data.interest.map((interestName) =>
  • {interestName}
  • )}
); diff --git a/src/components/Languages.js b/src/components/Languages.js index 04a6fc58..3c1da8ff 100644 --- a/src/components/Languages.js +++ b/src/components/Languages.js @@ -1,12 +1,14 @@ -import React from 'react'; +import React, { useContext } from 'react'; +import { Context } from './Context'; export default function Languages() { + const { data } = useContext(Context); + return (

Languages

    -
  • -
  • + {data.languages.map((language) =>
  • {language.name}
  • )}
); diff --git a/src/components/Profile.js b/src/components/Profile.js index b040d45a..81429bb9 100644 --- a/src/components/Profile.js +++ b/src/components/Profile.js @@ -1,10 +1,13 @@ -import React from 'react'; +import React, { useContext } from 'react'; +import { Context } from './Context'; export default function Profile() { + const { data } = useContext(Context); + return (

Profile

-

Ignore the squirrels, you will never catch them anyway hack, for floof tum, tickle bum, jellybean footies curly toes climb leg roll over and sun my belly,

+

{data.Profile}

); } diff --git a/src/components/Skills.js b/src/components/Skills.js index 7cc53388..a1d6b8f8 100644 --- a/src/components/Skills.js +++ b/src/components/Skills.js @@ -1,12 +1,14 @@ -import React from 'react'; +import React, { useContext } from 'react'; +import { Context } from './Context'; + +export default function Skills() { + const { data } = useContext(Context); -export function Skills() { return (
+

Skills

    -
  • -
  • -
  • + {data.skills.map((skill) =>
  • {skill.name}
  • )}
); diff --git a/src/containers/AppUI.js b/src/containers/AppUI.js index 4c82b6f0..ab13491a 100644 --- a/src/containers/AppUI.js +++ b/src/containers/AppUI.js @@ -7,9 +7,11 @@ import Languages from '../components/Languages'; import Profile from '../components/Profile'; import Interest from '../components/Interest'; import { Context } from '../components/Context'; +import Skills from '../components/Skills'; export default function AppUI() { const { data, loading, error } = React.useContext(Context); + if (!loading) console.log(data); return ( <> @@ -25,6 +27,7 @@ export default function AppUI() { + )} From 4c30fb59511f223820d19f6787221c4e96e2fce9 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Tue, 12 Jul 2022 19:26:14 -0300 Subject: [PATCH 06/24] basic styles --- package-lock.json | 226 +++++------ package.json | 2 + src/assets/fonts/montserrat-v24-latin-200.eot | Bin 0 -> 14501 bytes src/assets/fonts/montserrat-v24-latin-200.svg | 326 +++++++++++++++ src/assets/fonts/montserrat-v24-latin-200.ttf | Bin 0 -> 31468 bytes .../fonts/montserrat-v24-latin-200.woff | Bin 0 -> 15704 bytes .../fonts/montserrat-v24-latin-200.woff2 | Bin 0 -> 12500 bytes src/assets/fonts/montserrat-v24-latin-600.eot | Bin 0 -> 14712 bytes src/assets/fonts/montserrat-v24-latin-600.svg | 329 +++++++++++++++ src/assets/fonts/montserrat-v24-latin-600.ttf | Bin 0 -> 31476 bytes .../fonts/montserrat-v24-latin-600.woff | Bin 0 -> 15756 bytes .../fonts/montserrat-v24-latin-600.woff2 | Bin 0 -> 12708 bytes .../fonts/montserrat-v24-latin-regular.eot | Bin 0 -> 14737 bytes .../fonts/montserrat-v24-latin-regular.svg | 327 +++++++++++++++ .../fonts/montserrat-v24-latin-regular.ttf | Bin 0 -> 31428 bytes .../fonts/montserrat-v24-latin-regular.woff | Bin 0 -> 15892 bytes .../fonts/montserrat-v24-latin-regular.woff2 | Bin 0 -> 12708 bytes src/containers/App.jsx | 2 +- src/styles/base/_index.scss | 2 + src/styles/base/_reset.scss | 7 + src/styles/base/_typography.scss | 70 ++++ src/styles/components/App.styl | 2 - src/styles/main.scss | 2 + src/styles/vendors/_index.scss | 1 + src/styles/vendors/_normalize.scss | 379 ++++++++++++++++++ webpack.config.js | 8 +- 26 files changed, 1542 insertions(+), 141 deletions(-) create mode 100644 src/assets/fonts/montserrat-v24-latin-200.eot create mode 100644 src/assets/fonts/montserrat-v24-latin-200.svg create mode 100644 src/assets/fonts/montserrat-v24-latin-200.ttf create mode 100644 src/assets/fonts/montserrat-v24-latin-200.woff create mode 100644 src/assets/fonts/montserrat-v24-latin-200.woff2 create mode 100644 src/assets/fonts/montserrat-v24-latin-600.eot create mode 100644 src/assets/fonts/montserrat-v24-latin-600.svg create mode 100644 src/assets/fonts/montserrat-v24-latin-600.ttf create mode 100644 src/assets/fonts/montserrat-v24-latin-600.woff create mode 100644 src/assets/fonts/montserrat-v24-latin-600.woff2 create mode 100644 src/assets/fonts/montserrat-v24-latin-regular.eot create mode 100644 src/assets/fonts/montserrat-v24-latin-regular.svg create mode 100644 src/assets/fonts/montserrat-v24-latin-regular.ttf create mode 100644 src/assets/fonts/montserrat-v24-latin-regular.woff create mode 100644 src/assets/fonts/montserrat-v24-latin-regular.woff2 create mode 100644 src/styles/base/_index.scss create mode 100644 src/styles/base/_reset.scss create mode 100644 src/styles/base/_typography.scss delete mode 100644 src/styles/components/App.styl create mode 100644 src/styles/main.scss create mode 100644 src/styles/vendors/_index.scss create mode 100644 src/styles/vendors/_normalize.scss diff --git a/package-lock.json b/package-lock.json index bd4ec11d..35f88d7e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,8 +25,6 @@ "webpack-dev-server": "4.9.3" }, "devDependencies": { - "@babel/eslint-parser": "^7.18.2", - "babel-eslint": "10.1.0", "css-loader": "6.7.1", "eslint": "8.19.0", "eslint-config-airbnb": "19.0.4", @@ -41,6 +39,8 @@ "json-server": "^0.17.0", "mini-css-extract-plugin": "2.6.1", "prettier": "2.7.1", + "sass": "^1.53.0", + "sass-loader": "^13.0.2", "style-loader": "3.3.1", "stylus": "0.58.1", "stylus-loader": "7.0.0" @@ -106,55 +106,6 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/eslint-parser": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.2.tgz", - "integrity": "sha512-oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==", - "dev": true, - "dependencies": { - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/@babel/eslint-parser/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@babel/eslint-parser/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/@babel/generator": { "version": "7.18.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", @@ -3621,27 +3572,6 @@ "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", "dev": true }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, "node_modules/babel-jest": { "version": "28.1.2", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.2.tgz", @@ -5807,15 +5737,6 @@ "node": ">=10" } }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -7136,6 +7057,12 @@ "node": ">= 4" } }, + "node_modules/immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -11483,6 +11410,61 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/sass": { + "version": "1.53.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz", + "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/sass-loader": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz", + "integrity": "sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==", + "dev": true, + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -13410,41 +13392,6 @@ "semver": "^6.3.0" } }, - "@babel/eslint-parser": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.2.tgz", - "integrity": "sha512-oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==", - "dev": true, - "requires": { - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } - } - }, "@babel/generator": { "version": "7.18.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", @@ -16002,20 +15949,6 @@ "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", "dev": true }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - } - }, "babel-jest": { "version": "28.1.2", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.2.tgz", @@ -17792,12 +17725,6 @@ } } }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, "espree": { "version": "9.3.2", "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", @@ -18610,6 +18537,12 @@ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, + "immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -21830,6 +21763,27 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "sass": { + "version": "1.53.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz", + "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz", + "integrity": "sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", diff --git a/package.json b/package.json index 368ce8db..4c08a1f0 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,8 @@ "json-server": "^0.17.0", "mini-css-extract-plugin": "2.6.1", "prettier": "2.7.1", + "sass": "^1.53.0", + "sass-loader": "^13.0.2", "style-loader": "3.3.1", "stylus": "0.58.1", "stylus-loader": "7.0.0" diff --git a/src/assets/fonts/montserrat-v24-latin-200.eot b/src/assets/fonts/montserrat-v24-latin-200.eot new file mode 100644 index 0000000000000000000000000000000000000000..7d5f1215cb9cbf0c1bcb91d93ebdf39b65a869f9 GIT binary patch literal 14501 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�s8 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/montserrat-v24-latin-200.svg b/src/assets/fonts/montserrat-v24-latin-200.svg new file mode 100644 index 00000000..4b1a28c4 --- /dev/null +++ b/src/assets/fonts/montserrat-v24-latin-200.svg @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/fonts/montserrat-v24-latin-200.ttf b/src/assets/fonts/montserrat-v24-latin-200.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d11e728cd0c9ba5ade7a46b7a561d9e3bdd1cfee GIT binary patch literal 31468 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/montserrat-v24-latin-200.woff b/src/assets/fonts/montserrat-v24-latin-200.woff new file mode 100644 index 0000000000000000000000000000000000000000..1ed016b50ba9e24052adc5b0656d8b061e797c85 GIT binary patch literal 15704 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%0DA{j4E`>kRy~}6~y!I_oX!5?epga-ADayhQ~*Y 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 RAixEHcEF#IdXN}^{{dL|bF2UW literal 0 HcmV?d00001 diff --git a/src/assets/fonts/montserrat-v24-latin-200.woff2 b/src/assets/fonts/montserrat-v24-latin-200.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..384e8dbcd4f317fdaa67baf99e545659d5f798b0 GIT binary patch literal 12500 zcmV;_Fe}e@Pew8T0RR9105H@55C8xG0DKq#05Ea@0RR9100000000000000000000 z0000Qb{o=29ELOoU_Vn-K~zKlg%S}63W0$<=ST~LKmY+Y0we>7d;}l`g*pcy3uhMD!Bb|KWfeL&1i=URVm3!XP+`ne0jof^KRCB;&txu^d=S zt~|y6v{5jCr}rA+Fm!J*~pu&olG>(&8rA z00UMVEk%15ORNJ{(3pg~=JNde`n_AW#*ussnMl6F-*+V5OKkX0`2V|fKo1@2DQZMf z_WM#@6=i!xbN|(MsSByhnUKtpZOAfnW*o4A*NU?|uibNageqLbX~5@`^rzp}|2cqh z=fKM95b9PKuOb-63tR2$@_pj(&8`L%H~={RmwN#PJcR-aJ#eQ)34900qozg36~h%8(P0R@DL3PMc_QNRje=Y(+cK?GDl zRG9%0F#r)W6JoYG5QiOshCl($f#wh(fTo0;&@)f@N+IjYto{gO-EAD~fh=)=dZ2)S zI&iJO2XNoha>$Bv2)a*C!l2iHk_06=CPQe%0iDb+Xxvs?z2hB6{q2FjgNl~XG8%Kf zf3hO>Ja_ruMhuZ7lYp3#ikgOBNQnv^<{I&-gC?DK$rV$+^#V%CWJ>2+yh&6iAWlJ? z$Mr2Lv=Z4$r6`vpUT6+V)!)f3vR`W;9MoNvu>D3&&rM+ER5&lWl^?izyyUh2@cA z2YJg|ilK~uX41=*OkTJBSq_0l0-u1$n_=d?C*Tryi3K`&r(WJFi1kV^ z+!G-GDxo;WJF0uyZZ*>M*cB?KLTn^uBc!=w+twVSadUP@U^u|6$IeBh zR>0PIfZYt389UmIy87k37M0^n2xBV0naeW+(F6G%jV7RLP{hKx3AwEMC7M&xk2k~3 z&F5gV*8!hnwc8>zAp0_f@N{wJF4d(cQbf)g(O5^IKoF3(T}e)J^Y6!+Z z)8N${t&@2#v7Pwf=mQl#5!@NC1>;EUQmpLlV&hyV6R|+YMtad_jb!}}%5@tC$d9@x za1hKP5fK^rvCr)_Z)z?LwZNJ*={bO7Z+RIfAwMxyjM31D`|G*qlCGxE_PeT~5=@>B z?EA_j-r>nVHnkjfxVQjUskQF1D1VU!1~O>aGkOCTN!YT)d}|nJ6MU@whJEO3Oe{mn zX;ch&t*gMo-kkF-MYyG6?xCK6Rygj?wc?zVX$I>Pyix`z=F=?Y-?fBl!KIM7hgPS3 z=UOwVoDHcIuh}siKrc5UStV`WZQB98Co8u|61K&wt44;rlmg*Z7Nt9X<{jUc`ILT6 zKtBtTUHF2UYlS~Yi0uh(aZ+11NQbK}->LhpA!=9TW@U#dmmO3>c>1)uRnL|qsoDj_ zzO$Kr^5oD?wUR<8(Sea^uJ)8bM-=bg9Au2q_rJzjwbeOhi7qILT2ut>r)9S*Z4Y{S zMaX35cE-G->289w>k3lRxoc{GU4xlic6psz*5SeywJPqYrEwL@Ocv6_PteXCC0Y77 zwRk6B!+*+Kh2EZi-_gv?3T&j-V)5tdAW)?CQq1nR`Rpl711M%YG zAu=d}HF~0z)23bGW&;ZZqw)EzQPIaqpIK++tt?ZZuQa8th^(HxV4G*q?k)NAEGp3? zj!Dmu52a8;_C3Z(hF5OH^9dz04tRpO8gmnC~M;8&!0&TVpFGzC3T?^qWIn$PaK z$XD3~IV>%~VEyLbw-;cI`b6A8%IZtq3@iNahm9&P5C2ox2whm#;%OP3neFI8aP@|V zsUnVehiGZvnHDj?0U`g+#as`|N{OkZ9h0NA{4a{V_hUDUEj!&TUS7}Oy=8FmM&;p3 zRw`(T-I$Fl=BDD|RNFk7Q|SXqBbaJ>gT)uE(zo9YXLQu?f*PHj%lmo!H?tHjhs;PnePd%;EN)oMF0;X`2<3PuUn+ry3U_HTY%yU13&A)*dowtsBFpTx^)Q}rhMzW<# zdc)b~QBlXHnSFLGDA_XSe4=-QC5<$HXglcO6?VD7(3MW9T-fd@)K1YB^(=eMECUWG z##Y_TcaJVH&>pO($ZlFOe-`b)(Aso0QL5ec9u-$Vqh>dD(1seoV!2XGHvJuGtlLEG zhx3yM(Sj+ou6e=UxzJV^@_BSYH4z|f#(DR^e(KSFi1cGy+GLxaavCj??Xw3^sgd_~ z5r|ZEdpY6*@vecZG0FWT^cK}42Md+KCo4}^zC+`)2RxlAS+223FcyUl)RP>e?_pI z5Lu4Jy&&KGqQ~{h=#ZgfQVEO3Vz@xb;6H!HZd&6Fdn9V1zm@sCr9BzjztSz!4#$c- z0d#5Ph%ACr`B;qhlP%U`W-F?aH67HS4Buv8%DBs40lVA`^6?H^|N6W77{ibe1M?}x z)Ui9D%Z#KMkEX4ktJ1@}?R&8nwF9iwZwE30z1)`ePb1<7b)H3c+Jm7kx5hCd;mupX|loK#b zIv80Gv{KuDYho7y8u_?52$UH3FRz%1MM_4flo#|9r-`P?I42DrsHVWNz7g^%T?UR= zrJ()v`gvC*00o7R0vehco#caSEe;4t5Exky5epzt4m>ygZRUQv3xZ?oZDx+90;f z&6(da2%P8H2>3n9I`HJcV2RT%JE&kjZYf2q^muV|$9YS2^V~~5`%Y_jea-uKi@k6E zXP_PlKtM^B0t4!i=uC$`62&EoPn3`-F;S8?B^23>4)qG89Q72uUPy1V}tdAk#?N4X4Y* zRc@v2-Z}H%JMJoS&m+aD-D$|oP7&lPi!5@kiz3g!ET~u)B}cIYr0_hi3nf7|L^Z_3 zK;DJ~iGiX;96C$lO&!aJMSSLx_?Dr=?3bnI)mJSiuX_Qq1Ry1&kLh8A6+B`sA?Y`L z5a-i|1k?gy*}J^*6qZ{*SF$2u{7}nuZgs8;V>XnKIZ#!4Tm0hkkUzzPJljfO z!Smc>GkNma2R{V{0SA2CR$Z_FJPrEpMW3B`fNE86y&)F>*&rVWdP74JJD~m7Q2$*W zztJ&>0Qfij_lIOc#7WyV5a}$4*bgdxIxf=VfcE|{xM`2e6Tn1Nafm<*5?b@Th%6~x zUNzziZ+pu-J{1oIEm52VNm67;l_p)T9C!p+R4jB1985o8Q;?F8)8Ol3qGw=XWM<{y zQ^>=sT(J_RTO-6ThkAri>cNVk2!`y0%4(yy)z)?ebbrNKmaS)cLS1j|VL3gKwMMxnAM4+Fp z>U6|6EfrGkS_x`SEHQiA;F1{1fTa0nT+@HOgoN@}o| zGLdRam6TseV>*k`xQ+&$EKRJ)JyPD<%#75`QvN#^wM^1jq4Ivnm?)1^%)tjuvnuto z0h(enS<+iSGl^>K7x$P7O?2G%3Y$EArx7)=iQohk$;Z@CUm;TEYRmz&=?lgc5=9zo z4}=#RH$X(yrCYB&dlX*GPlzbq86n{@#izE&;T)z zs+~)Xn2ssXNerP%%71;7zgQGA`U+1OPCpy`8SP^OHE0qhXf_LJ49D3-h#Hv1B{W%* z2g0g_)i-6QAROw2@ zoV0W_V9ef6Ep6biKi=;?!vB2T>?GP)d$Oo0%bZG`fk4TmKG zb6%9~K_!uN!)3R-&LS{+%i61Poof-jR=h}|uZ1guZaS=u{{vQyoS6_?5twMt<({)v z05$+KXs2`u=+y#t_i|X{?YXgl5i*;*^z9t($$%~Qo&wZ>idaemQuz={2LT*GlL zxez?e4N(bk@nyXO^Qc86q7M8+f(2l5Z;^Pk$J_FR#7iVVG;)mq>aFiX4SG54p8jFJ zBL^)~=u7g1WW0(*C>Odn93#!Y{=tFbvZ$0~ahM^PZt5zw;s?j#$(NwGe`U%;&%cqq zTDdE5Bitb5VG4dg0}S=jG^329^k;rlCB;`BVuGA3js@lMLUj9847HnxqcDQQ zFgo%T8se0jKF%g4qvtV?MM)D|fj9m*>QX&#r4?Wj80sjGS$f1C=_*Yfc-4-V|7wIN z1^5+}lu__}6rsY@uXT={9p4MT;}5C+yKlg={bKgOC1Ls3UAo-TjZEELF5~3OlistOOnA$!a=JiKiACqeXMy$O6g;JLokSt zr2EEU{-oc=+#t0y70S3t%6mvKARF;^l=gr>Y7~Nhz`Y$l7DD39!;`sr@ywd>m%{4G zuw{Vn_d8qLgH5y-e(%MVdQ$p<1(XHx%1hdv56KVOw-yzzsjCCxH0=*yN54Aw z9IahI&Kl`2YwSk{7Ac#iLdEz-0)?ZZOZopqSr*q!X%$04nw`ts&%UU+IVxOLgHX}1 za)Lfde<+2|+JB?`24njV$0U4&R@W;pInEb}rR(0l9!FvS(puFDJ3mama+9yID$cfa zluX(C+A5Z{wRdf&=;kdc)Tg@iM3|t#@)QF%!^FjmpBh0nq;I7ES)WGqfaDs&`6FyReQUwDP2X1ZcI>>+u1$*shkyiaO;b+8%o3!R}U)#97M~*m$yLv~GG` z-5jwsUm`Dx$RK_fLSaylU9b{8wtmx8NZ+_@WYNHYtXj5_mS8pxtl9~-cz@=sGrwv> z?vn}T5BoD7?WaB5pMG~g{kb;%$1O>Bw?GblC@((DeQLo{02@`Ek=@TlRbkD$0gOL} z=wGu^KTl8loXPll=ns(L|6V8ji$c7AD2d4waH5P6=Fa3*%~W;w>_y8q(l@qP7sV_j z&KCL>)|C~#imkot#(S0a(+{7|LQeUMf&pzEo1A0q;uh33)z^lmPzA*dfmOg}n2XuY zb9v{=oF2YH&2?zov3&_%!VJfn5qBBim-3(PGesCt{mM{a_s|T}?vaXWlCwcAD-)|! zrFAl6Q*V2zT3%Ko4*dA~;J!CNhw{g)wqc*&80)b)9X%G~pbr(V+{`<2#gg9^))@?h zx=Cw-y`ZCAXH!(OZfNdP3p1MycDI?-KudZNxpK8Coc3(NeUg|2)|1Y;!g6k`n``QB zZ|m7L&6Z^QhJ)Y?{yRoi3&tmam= zuE}cAwVE#pXihfQ$`lPQ8BJ1G7cR5ZDP&8Czw4GpXkw znn+#4%`$hmgEUmU614WUWWhs}Im*8D$GK*Xp~6=nWmH`EV7zHJO9ZS{C2Whdfp})x zz2Y2UQK3P^tiJBSdQ$&eB;Z~yr$G!w8g83go^2;(FjgxiVN(Eo-G#e6@cdB%bLx5OH_sW565xx|3Dk+_xFgTWho9pn zpHojIP$qv&KJ+8xUeCmy1J0)pai2V7pN~U5$l@LQYwyuNq5LG{6DQB{C7Hc#DXYl! z&2vU-X~Fkpqo4gRgE{pKL^)lzw)c@%zGITd=!v+erRsbO z&1tZ@A(Ocw*9O{qE<#L1lrv9Rjt@BTtn!CYt395BlU22PO+Hh@NlIu#^pJ5XCC;Q-d|Wy;CJf_0&YE@fkNmxc5eQ4Z)tg|vli17 zjs|tR%LPt!aCW(EcO)W6UBRN6DIzFDc6Is-*0!`3tT6#D=M2AYO>2v8t@(0-gKs@K zLb)~xe7rz(P+<9;=nNOvINP|M)<{g^w>1frAuWv}b>AXWZ=Ik38vW^fRc_ApVTGrq zz1rvNsE%^*-*NS8Deu@ic4W+*6{*yzDm&yLJcnQKHD|7&(vUwpcb@zKZ9Cx5AAi`) z=UgB93((#Y_U23c1Duv+%)(Ae^%ENZ&fLg6nY!AjQPy@S!H=$;U251J8TRd58mtin zaNj*x>%{WrtlzU2AMgF}w9!=6CNetPW!hS!Nmtvdu#$A;0$ETM>T0Mr)Jo(bIbRa0 zQ^2R{H*TH#cN^{X$9Tm)(4dP4#D;Rc&cNdZ#l?dHLy1Om^6Qi-RO>BxDs7+xZX)6R$sFM@{P=_v>U2fkUi7=|K zD5b6|=nCl9w6rj?-^IU#U^(vTS<0)Fn@@K=`GWF2gz;+8f2CFqNg%RTb6xgM_U!Vv zV*+3C45>UMqi30wu2df7;&lpm(dCO(xtt${6(y0*YM+lLMy2@2T>VFsFSd2OnKx%{ zq*AA@jL5-p4j=rQGyjEW<&h`PohQFf+Xm%mO=FIaw@i)9lofkwCBlG2F822En|HGc zhbZk&==>|IyGP{tRXVk@E~0@s=<1Oo+m60+(c-eInApt@q#+NEIM_DJQRySSIH@heq& zf1l7F;6a05rPRh>Eq)PxMqkKc8w|C#_lK<3Xb4P4$lmsf0~eU!U6)c|EAJ4R91-(i zwR)qWc81cTD@m_=YZ>baV~#5=Lg5Wmu(7YPL3mKnA_4*gYjI;mMR9}GK*QHqBm9!| zbP*wwu>R@z0FnpAX^iwv}ZtS_^v*R#K`CX5UWCbi}L1Xugb zb6uakS-7CDWazZV& zHCSCqzoJ5G5ZlQWOlGB>@|Di27K*HDqt>eyWnaDwo3F2X(>Pg|+gX=+Z3SFMX+os+ zbo%;Go<=KyFVpEShe%630XdIncJjD+Ex+7-FjTCONXm6Se}&HICH?PVrqwBCvRy)p z*(qeP9AbC_mFv;IqCJyS)Ld7sK%BfnXAn8oWK}pQ!s>dO7Ujgb4vjG9(q*aEmM;?8 zH1PJV3CbJ@^(gEUINTFhTnEk+L%~Y=&WzL-OlqZaOhTT3XDo)EWAT5ms1I`zOYfoY zL)gKkj`%w)%BGymB52vW2EQB=9zOEN#AjS%I9Tm$;}s5!3`zpFCZ5u(2EZlvPwk3h-7l_AU=bb3W-@Fl`a8&`!sF&wkSSH376H@G4Md&(wA z9I)*o(L=m?v3!CUBST*lLsoOvzIP~MLt*p#ehR$5Sk2qFW3lan6^}4<%me4T8?l%) z+&!kM);(UaLibEnLD4oUe;glosKrovjG}2&B}hm*rEF=RwLjU~#{kDPi!}`5%;^jg zWBM?Wpv}f!G+KIO$ zgH4$AP&Q);6cFjVGE)`U)b?m$Je6{K&lRrw{9-V80r(2(Yd^<$`ufiybQtwF&0URv zKKxtWZ;69)Tw14HE!8!1eI9;ezJ}lAD{SWL3R?K4 zK+vSg7c`b?ws7Be_L^;77Mm^7YjN5oYK_?RuKXGf^x?O1-%1&{zbz(V@Y(q3%dc6} z_M3B15!Ge_t`X5?)uSlebO#PHBC{N({6qg(b$LV#8p%!KY4{0yy&W=r#O}7s&TZB;ple+y1iTf2LS8T9Lw{wq>w=6O^;C|ON z%184_P`~!gZB!on@;GkaIBeQ9#%DN%b`h&os}62*)uKsTUxFA=M24OZf$chJY{ZZrg`Z~jozTTaN zu&{ml;@8harpu4J`Yh%lpU*tlXLUJyET(~g-!#;1wi8V^+N&Jec5OD9nzWX~PJdOK zbdZTQw+J*oC70LwnzOPRrIO0z@nGud~M4bSY0-2GplVXm*4HAOGFm3mdnfw znjBm^H(-9m6iTdR42`F^z&A6k=97%(()n{uFx8CctGMz)xkB!);TZn*kVVHuVA+8B z)vi;peFt3`uFOMrf%s`9%|tb)3_HwQgtTWxG%)HWyQ2E6O{n3O6W6Js#Dl z28^k^-Z5o;SUJ!1s>T``%5`|Mox_T%D%nhjQ#w>xIV^LgLGr3<*^t8_8?LO1 zT9vZSXcW}idU24xz9ecVa})uQs5n0#2us09&tkM>U63)+RpVUOv6tGu_r2L8)~TPp zd#kJ1Z7>wOTyrM+>&*`VdC`G># zg|-+*M=KEDj)g!_)o<<1AMb@f>c+{TdJ_iANIfJdbFgi08oR^| zg4I|B<_LX`#dbp52qq&1+lawX-v3YG9rtj859^zIxoDX+jcK<%Z~6oLgA4K&CNbT%?QQ@HB zI-te0GD9}{!C#C6-xbeR%(wZ(R`U2UW}RpO~~tR)%uSA9?#aaP21P0G-) zOx;2039Lw|m@6-95fTE!&rc;3qa0LQkScEg(L>rOZIU)iTcoYhHfg)G!@mULu>)01Li0Re?$xd6m3`KQQ2=R7DuN_wL>d?k9Z(d2 z^D3oOq-svX-)o1be=~Iip1m?=9+`e$Ck_E%(Zll$xYxwZ>r>!BJ_>Twub>zp_u&4CJRFq#I0~I0a5IF)*O~98puisZ zG1(wK>3w)}OYG!kS&yg;DP5feg7<@SN<0Ff^OfL2KtGp(FKBTAU>Pv@3Z_hqV1Ntm zf(!109qxiF{;o<;o~1E-)WD%8-j%VY(9ZyHBQ_P!#O$vaLMUrSFiZu_4K}|?!zIm_ z-_!79JckJwM(POUNRspMc{n>$x;&yYJSb}-i;q}5`3BZx0T)}A6)W99r+#)Mys{#zDD+F;YV)VU1nhuAh|r7A>8ghS zjls$9r@i4+{l6r1`3~^T_P?h9`1oV*$rt7S{xkit{s9_70R;HJH>+XKM)>bXhlTj| zZ4|xg#qDPje}>Di50JkY>p9whr8Bk)WOS!`10O2$gmy@h4V^(404PyZe3{8dM!?A@ zAxYZgpbc-Tn|s!n0vO@)H?x+y0&%5_*{ntnNUEk1bVyD+puo4&8M0o`Un^r2Ue_O} zFNu~#2`@oUf?!dMvimA_y<5}^VJ~9vLlSU94JGq4arJAqQ>}G~@P@xlcekmHGQ1H{ z8Y&>HEYi5#KtsRk;>%Jg@sHfNq7Gn_c}7&UU=6aPS!N|kw&8TIXxGrD zMsf}wFXl?`G9sOs)Kc1-FgifRh}MMA zMK3?kFhj_}O?k7}=D4`IrVdLGTLre5HU%H2nkMWV@7x72O+Y z_!g}^=T7Vc)(24Yc$QG^A<*+zqa!2&MNpsx5uL6wT>* z%ebZSa-&(AK%U|dZksGxnueUumZZzdjWq%^j~~FFK4>TX{@HCWIg?FPuUYzaYS&>9 zm7J7}3{|NPt*HE>dJG!Ss$aiG3=a_!pOK5^d(I+8u?|r_0Kuigzqtnn>kR%O zj%gy+EUKG?M@&SgR)ZRqiD)EAH$Bgz=Eysb$T5eR6wS z<6}|qiJ8PAD5nLA&L|&MZ)6%)A=Tg-Xm&dF#tSh$k0`C^Rnbl&$jMiO^&6T!z eT5qRWaRYv2je4K~)E~*&(uecn*0*XE00021XHiQ4 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/montserrat-v24-latin-600.eot b/src/assets/fonts/montserrat-v24-latin-600.eot new file mode 100644 index 0000000000000000000000000000000000000000..fa233124cd5b827efc8b98aff9243af44929ee3f GIT binary patch literal 14712 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/montserrat-v24-latin-600.svg b/src/assets/fonts/montserrat-v24-latin-600.svg new file mode 100644 index 00000000..a6983f68 --- /dev/null +++ b/src/assets/fonts/montserrat-v24-latin-600.svg @@ -0,0 +1,329 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/fonts/montserrat-v24-latin-600.ttf b/src/assets/fonts/montserrat-v24-latin-600.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f04cc3fc887c534bb94ba3db8630289ed0665cbc GIT binary patch literal 31476 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/montserrat-v24-latin-regular.eot b/src/assets/fonts/montserrat-v24-latin-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..ffa37971729e94164eab85178b0f2bf7517b2894 GIT binary patch literal 14737 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 cYP7rpiQjN8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/fonts/montserrat-v24-latin-regular.ttf b/src/assets/fonts/montserrat-v24-latin-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a921a9f445d1fffef95129aabfc9649de44632f8 GIT binary patch literal 31428 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 TZ#ehhvJdw(28k;%A`1T>J`U3z literal 0 HcmV?d00001 diff --git a/src/assets/fonts/montserrat-v24-latin-regular.woff b/src/assets/fonts/montserrat-v24-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..4cd6a57e57e618c622d67639a4842cac070a294f GIT binary patch literal 15892 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 DFIJ(7 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/montserrat-v24-latin-regular.woff2 b/src/assets/fonts/montserrat-v24-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..1617aace8648951c4c248ae02ddd71f6bc1a6c7c GIT binary patch literal 12708 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 literal 0 HcmV?d00001 diff --git a/src/containers/App.jsx b/src/containers/App.jsx index 41fb1612..630422cf 100644 --- a/src/containers/App.jsx +++ b/src/containers/App.jsx @@ -1,5 +1,5 @@ import React from 'react'; -import '../styles/components/App.styl'; +import '../styles/main.scss' import Provider from '../components/Context'; import AppUI from './AppUI'; diff --git a/src/styles/base/_index.scss b/src/styles/base/_index.scss new file mode 100644 index 00000000..95027d61 --- /dev/null +++ b/src/styles/base/_index.scss @@ -0,0 +1,2 @@ +@forward './reset'; +@forward './typography'; \ No newline at end of file diff --git a/src/styles/base/_reset.scss b/src/styles/base/_reset.scss new file mode 100644 index 00000000..4db348ad --- /dev/null +++ b/src/styles/base/_reset.scss @@ -0,0 +1,7 @@ +*, +*::after, +*::before { + box-sizing: border-box; + margin: 0; + padding: 0; +} \ No newline at end of file diff --git a/src/styles/base/_typography.scss b/src/styles/base/_typography.scss new file mode 100644 index 00000000..84ebf379 --- /dev/null +++ b/src/styles/base/_typography.scss @@ -0,0 +1,70 @@ +/* montserrat-200 - latin */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 200; + src: url('../assets/fonts/montserrat-v24-latin-200.eot'); + /* IE9 Compat Modes */ + src: local(''), + url('../assets/fonts/montserrat-v24-latin-200.eot?#iefix') format('embedded-opentype'), + /* IE6-IE8 */ + url('../assets/fonts/montserrat-v24-latin-200.woff2') format('woff2'), + /* Super Modern Browsers */ + url('../assets/fonts/montserrat-v24-latin-200.woff') format('woff'), + /* Modern Browsers */ + url('../assets/fonts/montserrat-v24-latin-200.ttf') format('truetype'), + /* Safari, Android, iOS */ + url('../assets/fonts/montserrat-v24-latin-200.svg#Montserrat') format('svg'); + /* Legacy iOS */ +} + +/* montserrat-regular - latin */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + src: url('../assets/fonts/montserrat-v24-latin-regular.eot'); + /* IE9 Compat Modes */ + src: local(''), + url('../assets/fonts/montserrat-v24-latin-regular.eot?#iefix') format('embedded-opentype'), + /* IE6-IE8 */ + url('../assets/fonts/montserrat-v24-latin-regular.woff2') format('woff2'), + /* Super Modern Browsers */ + url('../assets/fonts/montserrat-v24-latin-regular.woff') format('woff'), + /* Modern Browsers */ + url('../assets/fonts/montserrat-v24-latin-regular.ttf') format('truetype'), + /* Safari, Android, iOS */ + url('../assets/fonts/montserrat-v24-latin-regular.svg#Montserrat') format('svg'); + /* Legacy iOS */ +} + +/* montserrat-600 - latin */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 600; + src: url('../assets/fonts/montserrat-v24-latin-600.eot'); + /* IE9 Compat Modes */ + src: local(''), + url('../assets/fonts/montserrat-v24-latin-600.eot?#iefix') format('embedded-opentype'), + /* IE6-IE8 */ + url('../assets/fonts/montserrat-v24-latin-600.woff2') format('woff2'), + /* Super Modern Browsers */ + url('../assets/fonts/montserrat-v24-latin-600.woff') format('woff'), + /* Modern Browsers */ + url('../assets/fonts/montserrat-v24-latin-600.ttf') format('truetype'), + /* Safari, Android, iOS */ + url('../assets/fonts/montserrat-v24-latin-600.svg#Montserrat') format('svg'); + /* Legacy iOS */ +} + +body { + font-family: 'Montserrat'; +} + +h1, +h2, +h3 { + line-height: 1.1; + margin: 0; +} \ No newline at end of file diff --git a/src/styles/components/App.styl b/src/styles/components/App.styl deleted file mode 100644 index b5732cd4..00000000 --- a/src/styles/components/App.styl +++ /dev/null @@ -1,2 +0,0 @@ -body - background-color gray \ No newline at end of file diff --git a/src/styles/main.scss b/src/styles/main.scss new file mode 100644 index 00000000..8ff8d2e9 --- /dev/null +++ b/src/styles/main.scss @@ -0,0 +1,2 @@ +@use './vendors'; +@use './base'; \ No newline at end of file diff --git a/src/styles/vendors/_index.scss b/src/styles/vendors/_index.scss new file mode 100644 index 00000000..1b4a6319 --- /dev/null +++ b/src/styles/vendors/_index.scss @@ -0,0 +1 @@ +@forward './normalize'; \ No newline at end of file diff --git a/src/styles/vendors/_normalize.scss b/src/styles/vendors/_normalize.scss new file mode 100644 index 00000000..780ad9ca --- /dev/null +++ b/src/styles/vendors/_normalize.scss @@ -0,0 +1,379 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; + /* 1 */ + height: 0; + /* 1 */ + overflow: visible; + /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; + /* 1 */ + text-decoration: underline; + /* 2 */ + text-decoration: underline dotted; + /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + line-height: 1.15; + /* 1 */ + margin: 0; + /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; + /* 1 */ + color: inherit; + /* 2 */ + display: table; + /* 1 */ + max-width: 100%; + /* 1 */ + padding: 0; + /* 3 */ + white-space: normal; + /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js index f05a5c0e..dcdfd8cf 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -29,15 +29,19 @@ module.exports = { ], }, { - test: /\.css|.styl$/, + test: /\.css|.scss$/, use: [ { loader: MiniCssExtractPlugin.loader, }, 'css-loader', - 'stylus-loader', + 'sass-loader', ], }, + { + test: /\.(woff|woff2|eot|ttf|otf)$/i, + type: 'asset/resource', + }, ], }, plugins: [ From 633831be771e3724b93920f60228cc4b22223828 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Tue, 12 Jul 2022 20:15:00 -0300 Subject: [PATCH 07/24] basic styles for all components --- src/components/About.js | 16 +++++++++------- src/components/Academic.js | 12 +++++++----- src/components/Experience.js | 12 +++++++----- src/components/ExperienceItem.js | 2 +- src/components/Header.js | 11 +++-------- src/components/Interest.js | 4 ++-- src/components/Languages.js | 4 ++-- src/components/Profile.js | 1 - src/components/Skills.js | 10 ++++++---- src/containers/AppUI.js | 18 ++++++++++-------- src/styles/base/_reset.scss | 6 ++++++ src/styles/base/_typography.scss | 17 ++++++++++++++++- src/styles/layout/_about.scss | 18 ++++++++++++++++++ src/styles/layout/_academic.scss | 7 +++++++ src/styles/layout/_container.scss | 5 +++++ src/styles/layout/_experience.scss | 12 ++++++++++++ src/styles/layout/_header.scss | 13 +++++++++++++ src/styles/layout/_index.scss | 7 +++++++ src/styles/layout/_languages-and-interest.scss | 11 +++++++++++ src/styles/layout/_skills.scss | 17 +++++++++++++++++ src/styles/main.scss | 3 ++- 21 files changed, 161 insertions(+), 45 deletions(-) create mode 100644 src/styles/layout/_about.scss create mode 100644 src/styles/layout/_academic.scss create mode 100644 src/styles/layout/_container.scss create mode 100644 src/styles/layout/_experience.scss create mode 100644 src/styles/layout/_header.scss create mode 100644 src/styles/layout/_index.scss create mode 100644 src/styles/layout/_languages-and-interest.scss create mode 100644 src/styles/layout/_skills.scss diff --git a/src/components/About.js b/src/components/About.js index e8c9b5e1..d72c06e7 100644 --- a/src/components/About.js +++ b/src/components/About.js @@ -6,13 +6,15 @@ export default function About() { return (

-

{data.profession}

-

- Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eaque, - blanditiis! Facilis velit porro aperiam adipisci voluptate soluta quos - perspiciatis a tempore repellat laudantium, minima libero qui officiis - aliquid nulla eius? -

+
+
+

discoverAbout me

+
+
+

{data.profession}

+

{data.Profile}

+
+
); } diff --git a/src/components/Academic.js b/src/components/Academic.js index 9884ed7b..3c6ae9b9 100644 --- a/src/components/Academic.js +++ b/src/components/Academic.js @@ -7,17 +7,19 @@ export default function Academic() { return (
-

Academic

- {data.Academic.map((item) => ( - +

Academic

+ {data.Academic.map((item) => ( + - ))} + /> + ))} +
); } diff --git a/src/components/Experience.js b/src/components/Experience.js index 57b94017..81c3b179 100644 --- a/src/components/Experience.js +++ b/src/components/Experience.js @@ -7,17 +7,19 @@ export default function Experience() { return (
-

Experience

- {data.experience.map((item) => ( - +

Experience

+ {data.experience.map((item) => ( + - ))} + /> + ))} +
); } diff --git a/src/components/ExperienceItem.js b/src/components/ExperienceItem.js index b1607a5a..a7f6744d 100644 --- a/src/components/ExperienceItem.js +++ b/src/components/ExperienceItem.js @@ -2,7 +2,7 @@ import React from 'react'; export default function ExperienceItem({ company, endDate, jobDescription, jobTitle, startDate }) { return ( -
    +
    • {company}
    • {endDate}
    • {jobDescription}
    • diff --git a/src/components/Header.js b/src/components/Header.js index 3fec0753..ad3d0df8 100644 --- a/src/components/Header.js +++ b/src/components/Header.js @@ -8,19 +8,14 @@ export default function Header({ children }) { const lastName = fullName[1]; return ( -
      - myself -
      -

      - CV -

      +
      + avatar

      {name} {' '} {lastName}

      - {children} -
      +

      This is my CV

      ); } diff --git a/src/components/Interest.js b/src/components/Interest.js index b0fdbaa0..c2789f61 100644 --- a/src/components/Interest.js +++ b/src/components/Interest.js @@ -5,11 +5,11 @@ export default function Interest() { const { data } = useContext(Context); return ( -
      +

      Interest

        {data.interest.map((interestName) =>
      • {interestName}
      • )}
      -
      + ); } diff --git a/src/components/Languages.js b/src/components/Languages.js index 3c1da8ff..bb7b3c84 100644 --- a/src/components/Languages.js +++ b/src/components/Languages.js @@ -5,11 +5,11 @@ export default function Languages() { const { data } = useContext(Context); return ( -
      +

      Languages

        {data.languages.map((language) =>
      • {language.name}
      • )}
      -
      + ); } diff --git a/src/components/Profile.js b/src/components/Profile.js index 81429bb9..ef595f9b 100644 --- a/src/components/Profile.js +++ b/src/components/Profile.js @@ -7,7 +7,6 @@ export default function Profile() { return (

      Profile

      -

      {data.Profile}

      ); } diff --git a/src/components/Skills.js b/src/components/Skills.js index a1d6b8f8..0821ec7f 100644 --- a/src/components/Skills.js +++ b/src/components/Skills.js @@ -6,10 +6,12 @@ export default function Skills() { return (
      -

      Skills

      -
        - {data.skills.map((skill) =>
      • {skill.name}
      • )} -
      +
      +

      Skills

      +
        + {data.skills.map((skill) =>
      • {skill.name}
      • )} +
      +
      ); } diff --git a/src/containers/AppUI.js b/src/containers/AppUI.js index ab13491a..1c3501c4 100644 --- a/src/containers/AppUI.js +++ b/src/containers/AppUI.js @@ -4,7 +4,7 @@ import About from '../components/About'; import Experience from '../components/Experience'; import Academic from '../components/Academic'; import Languages from '../components/Languages'; -import Profile from '../components/Profile'; +// import Profile from '../components/Profile'; import Interest from '../components/Interest'; import { Context } from '../components/Context'; import Skills from '../components/Skills'; @@ -18,16 +18,18 @@ export default function AppUI() { {error &&

      error

      } {data && !loading && ( <> -
      - -
      +
      + + +
      +
      + + +
      +
      - - - -
      )} diff --git a/src/styles/base/_reset.scss b/src/styles/base/_reset.scss index 4db348ad..d2c4a960 100644 --- a/src/styles/base/_reset.scss +++ b/src/styles/base/_reset.scss @@ -4,4 +4,10 @@ box-sizing: border-box; margin: 0; padding: 0; +} + +ul { + list-style-type: none; + margin: 0; + padding: 0; } \ No newline at end of file diff --git a/src/styles/base/_typography.scss b/src/styles/base/_typography.scss index 84ebf379..2176fa6f 100644 --- a/src/styles/base/_typography.scss +++ b/src/styles/base/_typography.scss @@ -65,6 +65,21 @@ body { h1, h2, h3 { - line-height: 1.1; margin: 0; +} + +h1 { + font-size: 3rem; + font-weight: 600; + line-height: 1.1; +} + +h2 { + font-size: 2rem; + line-height: 1.6; +} + +h3 { + font-size: 1.5rem; + line-height: 1.6; } \ No newline at end of file diff --git a/src/styles/layout/_about.scss b/src/styles/layout/_about.scss new file mode 100644 index 00000000..073f3e14 --- /dev/null +++ b/src/styles/layout/_about.scss @@ -0,0 +1,18 @@ +.about { + background-color: hsl(0, 0%, 50%); + + .container { + display: flex; + gap: 2em; + } + + h2 { + font-size: 1rem; + + span { + font-size: 2rem; + display: block; + text-transform: capitalize; + } + } +} \ No newline at end of file diff --git a/src/styles/layout/_academic.scss b/src/styles/layout/_academic.scss new file mode 100644 index 00000000..5418c7d3 --- /dev/null +++ b/src/styles/layout/_academic.scss @@ -0,0 +1,7 @@ +.academic { + background-color: hsl(0, 0%, 50%); + + ul { + border: .2rem solid black; + } +} \ No newline at end of file diff --git a/src/styles/layout/_container.scss b/src/styles/layout/_container.scss new file mode 100644 index 00000000..81f00090 --- /dev/null +++ b/src/styles/layout/_container.scss @@ -0,0 +1,5 @@ +.container { + padding: 10em 2.5em; + max-width: 50rem; + margin: auto; +} \ No newline at end of file diff --git a/src/styles/layout/_experience.scss b/src/styles/layout/_experience.scss new file mode 100644 index 00000000..3f1ec5b7 --- /dev/null +++ b/src/styles/layout/_experience.scss @@ -0,0 +1,12 @@ +.experience { + background-color: hsl(0, 0%, 50%); + + &__item { + border: .2em solid #000; + + // selects all items with a previous sibling + &+* { + margin-top: 1em; + } + } +} \ No newline at end of file diff --git a/src/styles/layout/_header.scss b/src/styles/layout/_header.scss new file mode 100644 index 00000000..46557202 --- /dev/null +++ b/src/styles/layout/_header.scss @@ -0,0 +1,13 @@ +.header { + background-color: hsl(0, 0%, 60%); + display: flex; + padding: 10em 0; + flex-direction: column; + align-items: center; + text-align: center; + justify-content: center; + + .avatar { + border-radius: 5rem; + } +} \ No newline at end of file diff --git a/src/styles/layout/_index.scss b/src/styles/layout/_index.scss new file mode 100644 index 00000000..54711d82 --- /dev/null +++ b/src/styles/layout/_index.scss @@ -0,0 +1,7 @@ +@forward './header'; +@forward './container'; +@forward './about'; +@forward './skills'; +@forward './experience'; +@forward './languages-and-interest'; +@forward './academic'; \ No newline at end of file diff --git a/src/styles/layout/_languages-and-interest.scss b/src/styles/layout/_languages-and-interest.scss new file mode 100644 index 00000000..fefca314 --- /dev/null +++ b/src/styles/layout/_languages-and-interest.scss @@ -0,0 +1,11 @@ +.languages-and-interest { + background-color: hsl(0, 0%, 55%); + + .container { + display: flex; + + >* { + width: 100%; + } + } +} \ No newline at end of file diff --git a/src/styles/layout/_skills.scss b/src/styles/layout/_skills.scss new file mode 100644 index 00000000..0c81815c --- /dev/null +++ b/src/styles/layout/_skills.scss @@ -0,0 +1,17 @@ +.skills { + background-color: hsl(0, 0%, 55%); + + ul { + display: flex; + gap: 1em; + + li { + width: 100%; + aspect-ratio: 3/2; + text-align: center; + border: .1rem solid #000; + display: inline-block; + } + + } +} \ No newline at end of file diff --git a/src/styles/main.scss b/src/styles/main.scss index 8ff8d2e9..a0944cfe 100644 --- a/src/styles/main.scss +++ b/src/styles/main.scss @@ -1,2 +1,3 @@ @use './vendors'; -@use './base'; \ No newline at end of file +@use './base'; +@use './layout'; \ No newline at end of file From d685dbc34eb044ae5f995579895b31f2a8b47858 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Tue, 12 Jul 2022 20:46:29 -0300 Subject: [PATCH 08/24] adding contact component --- src/components/Contact.js | 17 +++++++++++++++++ src/containers/AppUI.js | 5 ++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/components/Contact.js diff --git a/src/components/Contact.js b/src/components/Contact.js new file mode 100644 index 00000000..d43df83f --- /dev/null +++ b/src/components/Contact.js @@ -0,0 +1,17 @@ +import React, { useContext } from "react"; +import { Context } from "./Context"; + +export default function Contact(){ + const {data} = useContext(Context) + + return( +
      +
        +
      • address: {data.address}
      • +
      • email: {data.email}
      • +
      • website: {data.website}
      • +
      • phone: {data.phone}
      • +
      +
      + ) +} \ No newline at end of file diff --git a/src/containers/AppUI.js b/src/containers/AppUI.js index 1c3501c4..81a02a80 100644 --- a/src/containers/AppUI.js +++ b/src/containers/AppUI.js @@ -8,6 +8,7 @@ import Languages from '../components/Languages'; import Interest from '../components/Interest'; import { Context } from '../components/Context'; import Skills from '../components/Skills'; +import Contact from '../components/Contact'; export default function AppUI() { const { data, loading, error } = React.useContext(Context); @@ -20,7 +21,9 @@ export default function AppUI() { <>
      - + + +
      From 22cf64098e9b5eb6398562fc48a75d00520af574 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Tue, 12 Jul 2022 20:47:41 -0300 Subject: [PATCH 09/24] adding variables --- src/styles/abstract/_index.scss | 1 + src/styles/abstract/_variables.scss | 9 +++++++++ src/styles/main.scss | 2 ++ 3 files changed, 12 insertions(+) create mode 100644 src/styles/abstract/_index.scss create mode 100644 src/styles/abstract/_variables.scss diff --git a/src/styles/abstract/_index.scss b/src/styles/abstract/_index.scss new file mode 100644 index 00000000..bb8a86ce --- /dev/null +++ b/src/styles/abstract/_index.scss @@ -0,0 +1 @@ +@forward './variables'; \ No newline at end of file diff --git a/src/styles/abstract/_variables.scss b/src/styles/abstract/_variables.scss new file mode 100644 index 00000000..9e6f67bf --- /dev/null +++ b/src/styles/abstract/_variables.scss @@ -0,0 +1,9 @@ +// $color-background: hsl(209, 100%, 12%); +$color-bg: ( + "light": hsl(209, 50%, 30%), + "neutral": hsl(209, 60%, 20%), + "dark": hsl(209, 60%, 12%) +); + +$color-text: hsl(75, 60%, 95%); +$color-accent: hsl(355, 50%, 40%); \ No newline at end of file diff --git a/src/styles/main.scss b/src/styles/main.scss index a0944cfe..5ad9a0ba 100644 --- a/src/styles/main.scss +++ b/src/styles/main.scss @@ -1,3 +1,5 @@ @use './vendors'; @use './base'; +@use './abstract'; +@use './components'; @use './layout'; \ No newline at end of file From ce2e4e6c008235b39926e5db3d52b014a5b7084e Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Tue, 12 Jul 2022 22:54:20 -0300 Subject: [PATCH 10/24] modifying data.json; adding personal information --- data.json | 86 ++++++++++++++++++++++++------------------------------- 1 file changed, 37 insertions(+), 49 deletions(-) diff --git a/data.json b/data.json index 94dbaad5..8d6c6f4a 100644 --- a/data.json +++ b/data.json @@ -1,41 +1,32 @@ { "data": { - "name": "Melissa Walsh", + "name": "Candela Bramucci", "profession": "FrontEnd Developer", - "address": "Bogotá, Colombia.", - "email": "melissa@example.com", - "website": "https://example.com", - "phone": "3042034240", - "avatar": "https://arepa.s3.amazonaws.com/melissa.jpg", - "Profile": "Ignore the squirrels, you'll never catch them anyway hack, for floof tum, tickle bum, jellybean footies curly toes climb leg roll over and sun my belly, ", - "certificate": [ - { - "date": "Jan 2021", - "description": "Hack up furballs try to jump onto window and fall while scratching at wall. ", - "institution": "Platzi", - "name": "FrontEnd Developer" - }, - { - "date": "Jan 2021", - "description": "Scratch at the door then walk away wack the mini furry mouse", - "institution": "Platzi", - "name": "Backend Developer" - } - ], + "address": "Buenos Aires, Argentina.", + "email": "candelabramucci05@gmail.com", + "user": "@bramuccci", + "website": "bramuccci.example", + "phone": "+54 1113-9863", + "avatar": "https://i.imgur.com/N7uYz3F.jpg", + "Profile": "I've been wondering to see what the web has to show me. Now I'm making it, taking it to the next level.", "Academic": [ { "degree": "Atomic Master", - "description": " I’m so hungry i’m so hungry but ew not for that pelt around the house and up and down stairs chasing phantoms", "endDate": "Jan 2017", "institution": "MIT", "startDate": "Jan 2018" }, { "degree": "Space Engineering", - "description": "Meow in empty rooms. Find empty spot in cupboard and sleep all day check cat door for ambush 10 times before coming in for hack. ", - "endDate": "Decenber 2015", + "endDate": "December 2015", "institution": "Harvard", "startDate": "Jan 2017" + }, + { + "degree": "Computer Science", + "endDate": "October 2017", + "institution": "Harvard", + "startDate": "Jan 2019" } ], "experience": [ @@ -57,53 +48,50 @@ "skills": [ { "name": "HTML5", - "percentage": "75%" + "description": "Solid bases for solid pages" }, { - "name": "CSS", - "percentage": "25%" + "name": "Sass", + "description": "Applying beauty to the web" }, { "name": "JavaScript", - "percentage": "55%" + "description": "Making ideas come true" }, { "name": "React", - "percentage": "90%" + "description": "Taking control about everything" + }, + { + "name": "webpack", + "description": "Putting all together" } ], "interest": [ - "javascript", - "develop", - "backend", - "frontend" + "Making frontend development with JavaScript and React", + "Participating in company activities", + "Taking a look in good design" ], "languages": [ - { - "name": "Spanish", - "percentage": "90%" - }, - { - "name": "English", - "percentage": "50%" - } + "Spanish", + "English" ], "social": [ - { - "name": "facebook", - "url": "https://facebook.com/" - }, { "name": "twitter", - "url": "https://twitter.com/" + "url": "https://twitter.com/bramuccci" }, { "name": "github", - "url": "https://github.com/" + "url": "https://github.com/bramuccci" + }, + { + "name": "platzi", + "url": "https://platzi.com/p/bramuccci/" }, { - "name": "linkedin", - "url": "https://www.linkedin.com/" + "name": "frontend mentor", + "url": "https://www.frontendmentor.io/profile/bramuccci" } ] } From 6508fa610bc9547834a16289f2c9490876feb9e4 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Wed, 13 Jul 2022 15:49:06 -0300 Subject: [PATCH 11/24] styling components --- src/components/About.js | 3 +- src/components/Academic.js | 5 +-- src/components/AcademicItem.js | 13 +++--- src/components/Experience.js | 2 + src/components/ExperienceItem.js | 12 +++-- src/components/Header.js | 2 +- src/components/Languages.js | 2 +- src/components/Skills.js | 14 +++--- src/containers/AppUI.js | 9 ++-- src/styles/abstract/_index.scss | 3 +- src/styles/abstract/_mixins.scss | 31 +++++++++++++ src/styles/base/_reset.scss | 4 ++ src/styles/base/_typography.scss | 3 ++ src/styles/components/_contact.scss | 20 +++++++++ src/styles/components/_index.scss | 1 + src/styles/layout/_about.scss | 11 ++++- src/styles/layout/_academic.scss | 7 --- src/styles/layout/_experience.scss | 45 ++++++++++++++++--- src/styles/layout/_header.scss | 11 ++++- src/styles/layout/_index.scss | 5 +-- .../layout/_languages-and-interest.scss | 45 +++++++++++++++++-- src/styles/layout/_skills-and-academic.scss | 36 +++++++++++++++ src/styles/layout/_skills.scss | 17 ------- 23 files changed, 232 insertions(+), 69 deletions(-) create mode 100644 src/styles/abstract/_mixins.scss create mode 100644 src/styles/components/_contact.scss create mode 100644 src/styles/components/_index.scss delete mode 100644 src/styles/layout/_academic.scss create mode 100644 src/styles/layout/_skills-and-academic.scss delete mode 100644 src/styles/layout/_skills.scss diff --git a/src/components/About.js b/src/components/About.js index d72c06e7..f6d16ef3 100644 --- a/src/components/About.js +++ b/src/components/About.js @@ -1,7 +1,7 @@ import React, { useContext } from 'react'; import { Context } from './Context'; -export default function About() { +export default function About({children}) { const { data } = useContext(Context); return ( @@ -13,6 +13,7 @@ export default function About() {

      {data.profession}

      {data.Profile}

      + {children}
      diff --git a/src/components/Academic.js b/src/components/Academic.js index 3c6ae9b9..3664318e 100644 --- a/src/components/Academic.js +++ b/src/components/Academic.js @@ -7,19 +7,18 @@ export default function Academic() { return (
      -

      Academic

      +
      {data.Academic.map((item) => ( ))} -
      +
      ); } diff --git a/src/components/AcademicItem.js b/src/components/AcademicItem.js index 5bd64038..f0c50234 100644 --- a/src/components/AcademicItem.js +++ b/src/components/AcademicItem.js @@ -2,17 +2,14 @@ import React from 'react'; export default function AcademicItem({ degree, - description, endDate, startDate, institution }) { return ( -
        -
      • {degree}
      • -
      • {description}
      • -
      • {endDate}
      • -
      • {startDate}
      • -
      • {institution}
      • -
      +
      +

      {degree}

      +

      {startDate} - {endDate}

      +

      {institution}

      +
      ); } diff --git a/src/components/Experience.js b/src/components/Experience.js index 81c3b179..4bd95f26 100644 --- a/src/components/Experience.js +++ b/src/components/Experience.js @@ -9,6 +9,7 @@ export default function Experience() {

      Experience

      +
      {data.experience.map((item) => ( ))} +
      ); diff --git a/src/components/ExperienceItem.js b/src/components/ExperienceItem.js index a7f6744d..0e556a83 100644 --- a/src/components/ExperienceItem.js +++ b/src/components/ExperienceItem.js @@ -2,12 +2,10 @@ import React from 'react'; export default function ExperienceItem({ company, endDate, jobDescription, jobTitle, startDate }) { return ( -
        -
      • {company}
      • -
      • {endDate}
      • -
      • {jobDescription}
      • -
      • {jobTitle}
      • -
      • {startDate}
      • -
      +
      +

      {company} - {jobTitle}

      +

      {startDate} - {endDate}

      +

      {jobDescription}

      +
      ); } diff --git a/src/components/Header.js b/src/components/Header.js index ad3d0df8..f4a55d81 100644 --- a/src/components/Header.js +++ b/src/components/Header.js @@ -15,7 +15,7 @@ export default function Header({ children }) { {' '} {lastName} -

      This is my CV

      +

      {data.user}

      ); } diff --git a/src/components/Languages.js b/src/components/Languages.js index bb7b3c84..ebfebf9b 100644 --- a/src/components/Languages.js +++ b/src/components/Languages.js @@ -8,7 +8,7 @@ export default function Languages() {

      Languages

        - {data.languages.map((language) =>
      • {language.name}
      • )} + {data.languages.map((language) =>
      • {language}
      • )}
      ); diff --git a/src/components/Skills.js b/src/components/Skills.js index 0821ec7f..fafbe2ff 100644 --- a/src/components/Skills.js +++ b/src/components/Skills.js @@ -6,12 +6,16 @@ export default function Skills() { return (
      -

      Skills

      -
        - {data.skills.map((skill) =>
      • {skill.name}
      • )} -
      -
      +
      + {data.skills.map((skill) => ( +
      +

      {skill.name}

      +

      {skill.description}

      +
      + ) + )} +
      ); } diff --git a/src/containers/AppUI.js b/src/containers/AppUI.js index 81a02a80..159d9480 100644 --- a/src/containers/AppUI.js +++ b/src/containers/AppUI.js @@ -12,7 +12,6 @@ import Contact from '../components/Contact'; export default function AppUI() { const { data, loading, error } = React.useContext(Context); - if (!loading) console.log(data); return ( <> @@ -24,7 +23,12 @@ export default function AppUI() { - +
      +
      + + +
      +
      @@ -32,7 +36,6 @@ export default function AppUI() {
      - )} diff --git a/src/styles/abstract/_index.scss b/src/styles/abstract/_index.scss index bb8a86ce..f91a61bc 100644 --- a/src/styles/abstract/_index.scss +++ b/src/styles/abstract/_index.scss @@ -1 +1,2 @@ -@forward './variables'; \ No newline at end of file +@forward './variables'; +@forward './mixins'; \ No newline at end of file diff --git a/src/styles/abstract/_mixins.scss b/src/styles/abstract/_mixins.scss new file mode 100644 index 00000000..7a86bc27 --- /dev/null +++ b/src/styles/abstract/_mixins.scss @@ -0,0 +1,31 @@ +@use './variables' as *; + +@mixin vertical-title($height) { + transform: scale(-1); + writing-mode: vertical-rl; + position: relative; + + &::after { + content: ''; + background-color: $color-accent; + width: .1rem; + height: $height; + inset: auto 0; + margin: auto; + margin-top: .5em; + position: absolute; + } +} + +@mixin block-mark { + padding-left: 1em; + + &::before { + content: ''; + height: 100%; + width: .5rem; + position: absolute; + background-color: $color-accent; + left: -.1em; + } +} \ No newline at end of file diff --git a/src/styles/base/_reset.scss b/src/styles/base/_reset.scss index d2c4a960..b37452b1 100644 --- a/src/styles/base/_reset.scss +++ b/src/styles/base/_reset.scss @@ -6,6 +6,10 @@ padding: 0; } +img { + max-width: 100%; +} + ul { list-style-type: none; margin: 0; diff --git a/src/styles/base/_typography.scss b/src/styles/base/_typography.scss index 2176fa6f..fc4cddc9 100644 --- a/src/styles/base/_typography.scss +++ b/src/styles/base/_typography.scss @@ -1,3 +1,5 @@ +@use '../abstract/' as *; + /* montserrat-200 - latin */ @font-face { font-family: 'Montserrat'; @@ -60,6 +62,7 @@ body { font-family: 'Montserrat'; + color: $color-text } h1, diff --git a/src/styles/components/_contact.scss b/src/styles/components/_contact.scss new file mode 100644 index 00000000..8f771728 --- /dev/null +++ b/src/styles/components/_contact.scss @@ -0,0 +1,20 @@ +@use '../abstract/' as *; + +.contact { + border: .2rem solid $color-accent; + + ul { + display: inline-flex; + flex-direction: column; + gap: .5em; + padding: 1em; + + li { + display: inline-block; + } + } + + span { + font-weight: 600; + } +} \ No newline at end of file diff --git a/src/styles/components/_index.scss b/src/styles/components/_index.scss new file mode 100644 index 00000000..a0e76c9b --- /dev/null +++ b/src/styles/components/_index.scss @@ -0,0 +1 @@ +@forward './contact'; \ No newline at end of file diff --git a/src/styles/layout/_about.scss b/src/styles/layout/_about.scss index 073f3e14..ce3b5be0 100644 --- a/src/styles/layout/_about.scss +++ b/src/styles/layout/_about.scss @@ -1,5 +1,7 @@ +@use '../abstract/' as *; + .about { - background-color: hsl(0, 0%, 50%); + background-color: map-get($map: $color-bg, $key: 'dark'); .container { display: flex; @@ -8,11 +10,18 @@ h2 { font-size: 1rem; + color: $color-accent; span { + color: $color-text; + line-height: 1; font-size: 2rem; display: block; text-transform: capitalize; } } + + .contact { + margin-top: 2rem; + } } \ No newline at end of file diff --git a/src/styles/layout/_academic.scss b/src/styles/layout/_academic.scss deleted file mode 100644 index 5418c7d3..00000000 --- a/src/styles/layout/_academic.scss +++ /dev/null @@ -1,7 +0,0 @@ -.academic { - background-color: hsl(0, 0%, 50%); - - ul { - border: .2rem solid black; - } -} \ No newline at end of file diff --git a/src/styles/layout/_experience.scss b/src/styles/layout/_experience.scss index 3f1ec5b7..f36519c4 100644 --- a/src/styles/layout/_experience.scss +++ b/src/styles/layout/_experience.scss @@ -1,12 +1,45 @@ +@use '../abstract' as *; + .experience { - background-color: hsl(0, 0%, 50%); + background-color: map-get($map: $color-bg, $key: "dark"); + + h2 { + text-align: right; + margin-bottom: 1em; + position: relative; + + &::before { + width: 5rem; + height: .2rem; + content: ''; + background-color: $color-accent; + position: absolute; + right: 0; + bottom: 0; + } + } + + h3 span { + color: $color-accent; + // text-transform: uppercase; + font-size: 1.25rem; + } - &__item { - border: .2em solid #000; + &__content { + display: flex; + gap: 2em; - // selects all items with a previous sibling - &+* { - margin-top: 1em; + >* { + width: 100%; } } + + &__dates { + font-weight: 600; + } + + &__description { + padding: 1em; + } + } \ No newline at end of file diff --git a/src/styles/layout/_header.scss b/src/styles/layout/_header.scss index 46557202..fd78e237 100644 --- a/src/styles/layout/_header.scss +++ b/src/styles/layout/_header.scss @@ -1,5 +1,7 @@ +@use '../abstract' as *; + .header { - background-color: hsl(0, 0%, 60%); + background-color: map-get($map: $color-bg, $key: 'neutral'); display: flex; padding: 10em 0; flex-direction: column; @@ -7,7 +9,12 @@ text-align: center; justify-content: center; + h1 { + color: $color-accent; + } + .avatar { - border-radius: 5rem; + border-radius: 50rem; + width: 15vw; } } \ No newline at end of file diff --git a/src/styles/layout/_index.scss b/src/styles/layout/_index.scss index 54711d82..2328b99f 100644 --- a/src/styles/layout/_index.scss +++ b/src/styles/layout/_index.scss @@ -1,7 +1,6 @@ @forward './header'; @forward './container'; @forward './about'; -@forward './skills'; +@forward './skills-and-academic'; @forward './experience'; -@forward './languages-and-interest'; -@forward './academic'; \ No newline at end of file +@forward './languages-and-interest'; \ No newline at end of file diff --git a/src/styles/layout/_languages-and-interest.scss b/src/styles/layout/_languages-and-interest.scss index fefca314..e8ff0e08 100644 --- a/src/styles/layout/_languages-and-interest.scss +++ b/src/styles/layout/_languages-and-interest.scss @@ -1,11 +1,50 @@ +@use '../abstract/' as *; + .languages-and-interest { - background-color: hsl(0, 0%, 55%); + background-color: map-get($map: $color-bg, $key: "neutral"); .container { display: flex; + gap: 2em; + } + + .languages { + display: flex; + + h2 { + @include vertical-title(0%) + } - >* { - width: 100%; + ul { + border: .2rem solid $color-accent ; + padding: 2em; + display: flex; + justify-content: space-between; + flex-direction: column; + position: relative; + + &::before { + content: ''; + height: 30%; + width: .2em; + background-color: $color-accent; + position: absolute; + inset: 0; + margin: auto; + transform: rotate(-30deg); + } + + li { + font-weight: 600; + + } } + + } + + .interest ul li { + position: relative; + margin-bottom: .75em; + @include block-mark } } \ No newline at end of file diff --git a/src/styles/layout/_skills-and-academic.scss b/src/styles/layout/_skills-and-academic.scss new file mode 100644 index 00000000..3d200d99 --- /dev/null +++ b/src/styles/layout/_skills-and-academic.scss @@ -0,0 +1,36 @@ +@use '../abstract/' as *; + +.skills-and-academic { + background-color: map-get($map: $color-bg, $key: 'neutral'); + + .container { + display: flex; + justify-content: space-between; + } + + .skills { + display: flex; + + h2 { + @include vertical-title(60%) + } + } + + .academic { + display: flex; + + h2 { + @include vertical-title(30%) + } + + span { + color: $color-accent; + font-weight: 600; + } + } + + p { + position: relative; + @include block-mark + } +} \ No newline at end of file diff --git a/src/styles/layout/_skills.scss b/src/styles/layout/_skills.scss deleted file mode 100644 index 0c81815c..00000000 --- a/src/styles/layout/_skills.scss +++ /dev/null @@ -1,17 +0,0 @@ -.skills { - background-color: hsl(0, 0%, 55%); - - ul { - display: flex; - gap: 1em; - - li { - width: 100%; - aspect-ratio: 3/2; - text-align: center; - border: .1rem solid #000; - display: inline-block; - } - - } -} \ No newline at end of file From c47031cf3c98d8da18342f8e7fecb09d04159611 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Wed, 13 Jul 2022 20:02:14 -0300 Subject: [PATCH 12/24] adding header background --- data.json | 1 + src/components/Header.js | 5 ++++- src/styles/layout/_header.scss | 6 +++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/data.json b/data.json index 8d6c6f4a..adf38c59 100644 --- a/data.json +++ b/data.json @@ -8,6 +8,7 @@ "website": "bramuccci.example", "phone": "+54 1113-9863", "avatar": "https://i.imgur.com/N7uYz3F.jpg", + "background": "https://i.imgur.com/awDr11K.jpg", "Profile": "I've been wondering to see what the web has to show me. Now I'm making it, taking it to the next level.", "Academic": [ { diff --git a/src/components/Header.js b/src/components/Header.js index f4a55d81..57368c09 100644 --- a/src/components/Header.js +++ b/src/components/Header.js @@ -6,9 +6,12 @@ export default function Header({ children }) { const fullName = data.name.split(' '); const name = fullName[0]; const lastName = fullName[1]; + const background = data.background; return ( -
      +
      avatar

      {name} diff --git a/src/styles/layout/_header.scss b/src/styles/layout/_header.scss index fd78e237..704cd0d6 100644 --- a/src/styles/layout/_header.scss +++ b/src/styles/layout/_header.scss @@ -1,18 +1,22 @@ @use '../abstract' as *; .header { - background-color: map-get($map: $color-bg, $key: 'neutral'); + background-color: rgba(map-get($map: $color-bg, $key: 'neutral'), .6); + background-blend-mode: multiply; display: flex; padding: 10em 0; flex-direction: column; align-items: center; text-align: center; justify-content: center; + font-weight: 600; h1 { color: $color-accent; + text-transform: uppercase; } + .avatar { border-radius: 50rem; width: 15vw; From 124e794a38813f4181c4f39def4948d40ae8dce0 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Wed, 13 Jul 2022 20:29:27 -0300 Subject: [PATCH 13/24] adding nav --- src/components/About.js | 2 +- src/components/Academic.js | 2 +- src/components/Experience.js | 2 +- src/components/Header.js | 5 ++++- src/components/Interest.js | 4 ++-- src/components/Languages.js | 4 ++-- src/components/Nav.js | 15 +++++++++++++++ src/components/Profile.js | 12 ------------ src/components/Skills.js | 2 +- src/containers/AppUI.js | 6 ++++-- src/styles/abstract/_variables.scss | 1 - src/styles/base/_reset.scss | 4 ++++ src/styles/components/_index.scss | 3 ++- src/styles/components/_nav.scss | 19 +++++++++++++++++++ src/styles/layout/_header.scss | 17 ++++++++++------- 15 files changed, 66 insertions(+), 32 deletions(-) create mode 100644 src/components/Nav.js delete mode 100644 src/components/Profile.js create mode 100644 src/styles/components/_nav.scss diff --git a/src/components/About.js b/src/components/About.js index f6d16ef3..c6333e30 100644 --- a/src/components/About.js +++ b/src/components/About.js @@ -5,7 +5,7 @@ export default function About({children}) { const { data } = useContext(Context); return ( -
      +

      discoverAbout me

      diff --git a/src/components/Academic.js b/src/components/Academic.js index 3664318e..28a6b976 100644 --- a/src/components/Academic.js +++ b/src/components/Academic.js @@ -6,7 +6,7 @@ export default function Academic() { const { data } = useContext(Context); return ( -
      +

      Academic

      {data.Academic.map((item) => ( diff --git a/src/components/Experience.js b/src/components/Experience.js index 4bd95f26..8b6bc462 100644 --- a/src/components/Experience.js +++ b/src/components/Experience.js @@ -6,7 +6,7 @@ export default function Experience() { const { data } = useContext(Context); return ( -
      +

      Experience

      diff --git a/src/components/Header.js b/src/components/Header.js index 57368c09..3805c1bc 100644 --- a/src/components/Header.js +++ b/src/components/Header.js @@ -9,9 +9,11 @@ export default function Header({ children }) { const background = data.background; return ( -
      + {children} +
      avatar

      {name} @@ -19,6 +21,7 @@ export default function Header({ children }) { {lastName}

      {data.user}

      +
      ); } diff --git a/src/components/Interest.js b/src/components/Interest.js index c2789f61..a627acf8 100644 --- a/src/components/Interest.js +++ b/src/components/Interest.js @@ -5,11 +5,11 @@ export default function Interest() { const { data } = useContext(Context); return ( -
      +

      Interest

        {data.interest.map((interestName) =>
      • {interestName}
      • )}
      -
      +
      ); } diff --git a/src/components/Languages.js b/src/components/Languages.js index ebfebf9b..33501105 100644 --- a/src/components/Languages.js +++ b/src/components/Languages.js @@ -5,11 +5,11 @@ export default function Languages() { const { data } = useContext(Context); return ( -
      +

      Languages

        {data.languages.map((language) =>
      • {language}
      • )}
      -
      +
      ); } diff --git a/src/components/Nav.js b/src/components/Nav.js new file mode 100644 index 00000000..540284e7 --- /dev/null +++ b/src/components/Nav.js @@ -0,0 +1,15 @@ +import React from "react"; + +export default function Nav(){ + return( + + ) +} \ No newline at end of file diff --git a/src/components/Profile.js b/src/components/Profile.js deleted file mode 100644 index ef595f9b..00000000 --- a/src/components/Profile.js +++ /dev/null @@ -1,12 +0,0 @@ -import React, { useContext } from 'react'; -import { Context } from './Context'; - -export default function Profile() { - const { data } = useContext(Context); - - return ( -
      -

      Profile

      -
      - ); -} diff --git a/src/components/Skills.js b/src/components/Skills.js index fafbe2ff..16f5e841 100644 --- a/src/components/Skills.js +++ b/src/components/Skills.js @@ -5,7 +5,7 @@ export default function Skills() { const { data } = useContext(Context); return ( -
      +

      Skills

      {data.skills.map((skill) => ( diff --git a/src/containers/AppUI.js b/src/containers/AppUI.js index 159d9480..e4fa312c 100644 --- a/src/containers/AppUI.js +++ b/src/containers/AppUI.js @@ -4,11 +4,11 @@ import About from '../components/About'; import Experience from '../components/Experience'; import Academic from '../components/Academic'; import Languages from '../components/Languages'; -// import Profile from '../components/Profile'; import Interest from '../components/Interest'; import { Context } from '../components/Context'; import Skills from '../components/Skills'; import Contact from '../components/Contact'; +import Nav from '../components/Nav'; export default function AppUI() { const { data, loading, error } = React.useContext(Context); @@ -18,7 +18,9 @@ export default function AppUI() { {error &&

      error

      } {data && !loading && ( <> -
      +
      +
      diff --git a/src/styles/abstract/_variables.scss b/src/styles/abstract/_variables.scss index 9e6f67bf..0be99f6d 100644 --- a/src/styles/abstract/_variables.scss +++ b/src/styles/abstract/_variables.scss @@ -1,6 +1,5 @@ // $color-background: hsl(209, 100%, 12%); $color-bg: ( - "light": hsl(209, 50%, 30%), "neutral": hsl(209, 60%, 20%), "dark": hsl(209, 60%, 12%) ); diff --git a/src/styles/base/_reset.scss b/src/styles/base/_reset.scss index b37452b1..c1642a8e 100644 --- a/src/styles/base/_reset.scss +++ b/src/styles/base/_reset.scss @@ -6,6 +6,10 @@ padding: 0; } +:root { + scroll-behavior: smooth; +} + img { max-width: 100%; } diff --git a/src/styles/components/_index.scss b/src/styles/components/_index.scss index a0e76c9b..b04d4d99 100644 --- a/src/styles/components/_index.scss +++ b/src/styles/components/_index.scss @@ -1 +1,2 @@ -@forward './contact'; \ No newline at end of file +@forward './contact'; +@forward './nav'; \ No newline at end of file diff --git a/src/styles/components/_nav.scss b/src/styles/components/_nav.scss new file mode 100644 index 00000000..825f73c5 --- /dev/null +++ b/src/styles/components/_nav.scss @@ -0,0 +1,19 @@ +@use '../abstract/' as *; + +.main-nav { + background-color: hsla(209, 20%, 40%, 0.5); + position: fixed; + top: 0; + display: flex; + gap: 1rem; + padding: 1em 2em; + z-index: 9999; + width: 100%; + + a { + color: $color-text; + text-decoration: none; + text-transform: capitalize; + + } +} \ No newline at end of file diff --git a/src/styles/layout/_header.scss b/src/styles/layout/_header.scss index 704cd0d6..1a1276a3 100644 --- a/src/styles/layout/_header.scss +++ b/src/styles/layout/_header.scss @@ -3,13 +3,16 @@ .header { background-color: rgba(map-get($map: $color-bg, $key: 'neutral'), .6); background-blend-mode: multiply; - display: flex; - padding: 10em 0; - flex-direction: column; - align-items: center; - text-align: center; - justify-content: center; - font-weight: 600; + + &__content { + display: flex; + padding: 10em 0; + flex-direction: column; + align-items: center; + text-align: center; + justify-content: center; + font-weight: 600; + } h1 { color: $color-accent; From b37e1b4d1f6823e04e1a335bb721e8010bedc443 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Wed, 13 Jul 2022 20:41:13 -0300 Subject: [PATCH 14/24] making page responsive --- public/index.html | 20 ++++++----- src/styles/abstract/_mixins.scss | 36 +++++++++++++++++++ src/styles/layout/_about.scss | 4 +++ src/styles/layout/_experience.scss | 4 +++ src/styles/layout/_header.scss | 2 +- .../layout/_languages-and-interest.scss | 4 +++ src/styles/layout/_skills-and-academic.scss | 5 +++ 7 files changed, 65 insertions(+), 10 deletions(-) diff --git a/public/index.html b/public/index.html index b76b4f47..273bf14f 100644 --- a/public/index.html +++ b/public/index.html @@ -1,10 +1,12 @@ - - - - React Base - - -
      - - + + + + + + Bramuccci - CV + + +
      + + \ No newline at end of file diff --git a/src/styles/abstract/_mixins.scss b/src/styles/abstract/_mixins.scss index 7a86bc27..f540542a 100644 --- a/src/styles/abstract/_mixins.scss +++ b/src/styles/abstract/_mixins.scss @@ -28,4 +28,40 @@ background-color: $color-accent; left: -.1em; } +} + +@mixin for-phone-only { + @media (max-width: 599px) { + @content; + } +} + +@mixin for-tablet-portrait-down { + @media (max-width: 700px) { + @content; + } +} + +@mixin for-tablet-portrait-up { + @media (min-width: 600px) { + @content; + } +} + +@mixin for-tablet-landscape-up { + @media (min-width: 900px) { + @content; + } +} + +@mixin for-desktop-up { + @media (min-width: 1200px) { + @content; + } +} + +@mixin for-big-desktop-up { + @media (min-width: 1800px) { + @content; + } } \ No newline at end of file diff --git a/src/styles/layout/_about.scss b/src/styles/layout/_about.scss index ce3b5be0..85b64b54 100644 --- a/src/styles/layout/_about.scss +++ b/src/styles/layout/_about.scss @@ -6,6 +6,10 @@ .container { display: flex; gap: 2em; + + @include for-phone-only { + flex-direction: column; + } } h2 { diff --git a/src/styles/layout/_experience.scss b/src/styles/layout/_experience.scss index f36519c4..dd991745 100644 --- a/src/styles/layout/_experience.scss +++ b/src/styles/layout/_experience.scss @@ -32,6 +32,10 @@ >* { width: 100%; } + + @include for-phone-only { + flex-direction: column; + } } &__dates { diff --git a/src/styles/layout/_header.scss b/src/styles/layout/_header.scss index 1a1276a3..4b65117b 100644 --- a/src/styles/layout/_header.scss +++ b/src/styles/layout/_header.scss @@ -22,6 +22,6 @@ .avatar { border-radius: 50rem; - width: 15vw; + width: 10rem; } } \ No newline at end of file diff --git a/src/styles/layout/_languages-and-interest.scss b/src/styles/layout/_languages-and-interest.scss index e8ff0e08..bf2f5589 100644 --- a/src/styles/layout/_languages-and-interest.scss +++ b/src/styles/layout/_languages-and-interest.scss @@ -6,6 +6,10 @@ .container { display: flex; gap: 2em; + + @include for-phone-only { + flex-direction: column; + } } .languages { diff --git a/src/styles/layout/_skills-and-academic.scss b/src/styles/layout/_skills-and-academic.scss index 3d200d99..ec6f9053 100644 --- a/src/styles/layout/_skills-and-academic.scss +++ b/src/styles/layout/_skills-and-academic.scss @@ -6,6 +6,11 @@ .container { display: flex; justify-content: space-between; + + @include for-tablet-portrait-down { + flex-direction: column; + gap: 5rem; + } } .skills { From b2e3dd322c1a6b2da45f05a8ca6df5e51f6e74f1 Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Wed, 13 Jul 2022 22:50:39 -0300 Subject: [PATCH 15/24] adding toggle nav button --- src/assets/images/menu-close.svg | 54 +++++++++++++++++++ src/assets/images/menu.svg | 1 + src/components/Header.js | 11 +++- src/components/Nav.js | 4 +- src/containers/AppUI.js | 5 +- src/styles/base/_index.scss | 3 +- src/styles/base/_reset.scss | 4 ++ src/styles/base/_utils.scss | 9 ++++ src/styles/components/_index.scss | 3 +- src/styles/components/_mobile-nav-toggle.scss | 21 ++++++++ src/styles/components/_nav.scss | 20 ++++++- 11 files changed, 124 insertions(+), 11 deletions(-) create mode 100644 src/assets/images/menu-close.svg create mode 100644 src/assets/images/menu.svg create mode 100644 src/styles/base/_utils.scss create mode 100644 src/styles/components/_mobile-nav-toggle.scss diff --git a/src/assets/images/menu-close.svg b/src/assets/images/menu-close.svg new file mode 100644 index 00000000..9a69efb6 --- /dev/null +++ b/src/assets/images/menu-close.svg @@ -0,0 +1,54 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/src/assets/images/menu.svg b/src/assets/images/menu.svg new file mode 100644 index 00000000..cb39d075 --- /dev/null +++ b/src/assets/images/menu.svg @@ -0,0 +1 @@ + diff --git a/src/components/Header.js b/src/components/Header.js index 3805c1bc..8c85d3ac 100644 --- a/src/components/Header.js +++ b/src/components/Header.js @@ -1,5 +1,6 @@ -import React, { useContext } from 'react'; +import React, { useContext, useState } from 'react'; import { Context } from './Context'; +import Nav from './Nav'; export default function Header({ children }) { const { data } = useContext(Context); @@ -8,11 +9,17 @@ export default function Header({ children }) { const lastName = fullName[1]; const background = data.background; + const [navVisible, setNavVisible] = useState(false) + const toggleNav = ()=>{ + setNavVisible(!navVisible) + } + return (
      - {children} + +
      + )} diff --git a/src/styles/abstract/_variables.scss b/src/styles/abstract/_variables.scss index 0be99f6d..e6507a47 100644 --- a/src/styles/abstract/_variables.scss +++ b/src/styles/abstract/_variables.scss @@ -1,7 +1,8 @@ // $color-background: hsl(209, 100%, 12%); $color-bg: ( "neutral": hsl(209, 60%, 20%), - "dark": hsl(209, 60%, 12%) + "dark": hsl(209, 60%, 12%), + "very-dark": hsl(209, 60%, 5%) ); $color-text: hsl(75, 60%, 95%); diff --git a/src/styles/layout/_index.scss b/src/styles/layout/_index.scss index 2328b99f..e791eef7 100644 --- a/src/styles/layout/_index.scss +++ b/src/styles/layout/_index.scss @@ -3,4 +3,5 @@ @forward './about'; @forward './skills-and-academic'; @forward './experience'; -@forward './languages-and-interest'; \ No newline at end of file +@forward './languages-and-interest'; +@forward './social-media'; \ No newline at end of file diff --git a/src/styles/layout/_social-media.scss b/src/styles/layout/_social-media.scss new file mode 100644 index 00000000..8358dab7 --- /dev/null +++ b/src/styles/layout/_social-media.scss @@ -0,0 +1,44 @@ +@use '../abstract/' as *; + +.social-media { + background-color: map-get($map: $color-bg, $key: "very-dark"); + + .container { + display: flex; + + >* { + width: 100%; + } + + } + + p { + font-size: 1.25rem; + + span { + color: $color-accent; + font-weight: 600; + } + } + + + &__content { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 2rem; + + a { + text-decoration: none; + color: inherit; + border: .2rem solid $color-accent; + padding: 1em; + transition: all 300ms ease-in-out; + + &:hover, + &:focus { + padding-left: 50%; + } + } + } +} \ No newline at end of file From 017bc20dc3419770c53f7f89bd529430da26ba6f Mon Sep 17 00:00:00 2001 From: Candela Bramucci Date: Wed, 13 Jul 2022 23:49:53 -0300 Subject: [PATCH 18/24] linting the entire project --- package-lock.json | 274 ++++++++++-------------- package.json | 1 + public/favicon.png | Bin 0 -> 699 bytes src/__test__/components/Profile.test.js | 20 -- src/components/About.js | 9 +- src/components/Academic.js | 18 +- src/components/AcademicItem.js | 8 +- src/components/Contact.js | 42 ++-- src/components/Experience.js | 22 +- src/components/ExperienceItem.js | 16 +- src/components/Header.js | 26 ++- src/components/Nav.js | 38 ++-- src/components/Skills.js | 15 +- src/components/SocialMedia.js | 41 ++-- src/containers/AppUI.js | 6 +- 15 files changed, 255 insertions(+), 281 deletions(-) create mode 100644 public/favicon.png delete mode 100644 src/__test__/components/Profile.test.js diff --git a/package-lock.json b/package-lock.json index 35f88d7e..535ee7eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "MIT", "dependencies": { "@babel/core": "7.18.6", + "@babel/eslint-parser": "^7.18.2", "@babel/preset-env": "7.18.6", "@babel/preset-react": "7.18.6", "babel-loader": "8.2.5", @@ -106,6 +107,43 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/eslint-parser": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.2.tgz", + "integrity": "sha512-oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==", + "dependencies": { + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, "node_modules/@babel/generator": { "version": "7.18.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", @@ -1698,7 +1736,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", - "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -1717,14 +1754,12 @@ "node_modules/@eslint/eslintrc/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.16.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==", - "dev": true, "dependencies": { "type-fest": "^0.20.2" }, @@ -1739,7 +1774,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "dependencies": { "argparse": "^2.0.1" }, @@ -1751,7 +1785,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, "engines": { "node": ">=8" }, @@ -1763,7 +1796,6 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, "engines": { "node": ">=10" }, @@ -1775,7 +1807,6 @@ "version": "0.9.5", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -1788,8 +1819,7 @@ "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", @@ -3274,7 +3304,6 @@ "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, "peer": true, "bin": { "acorn": "bin/acorn" @@ -3287,7 +3316,6 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -4133,7 +4161,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -4787,8 +4814,7 @@ "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "node_modules/deepmerge": { "version": "4.2.2", @@ -4916,7 +4942,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, "dependencies": { "esutils": "^2.0.2" }, @@ -5365,7 +5390,6 @@ "version": "8.19.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.19.0.tgz", "integrity": "sha512-SXOPj3x9VKvPe81TjjUJCYlV4oJjQw68Uek+AM0X4p+33dj2HY5bpTZOgnQHcG2eAm1mtCU9uNMnJi7exU/kYw==", - "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", @@ -5701,7 +5725,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -5714,7 +5737,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, "dependencies": { "eslint-visitor-keys": "^2.0.0" }, @@ -5728,11 +5750,10 @@ "eslint": ">=5" } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, "engines": { "node": ">=10" } @@ -5741,7 +5762,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -5755,14 +5775,12 @@ "node_modules/eslint/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5778,7 +5796,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -5789,14 +5806,12 @@ "node_modules/eslint/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, "engines": { "node": ">=10" }, @@ -5808,7 +5823,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -5817,7 +5831,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, "dependencies": { "is-glob": "^4.0.3" }, @@ -5829,7 +5842,6 @@ "version": "13.16.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==", - "dev": true, "dependencies": { "type-fest": "^0.20.2" }, @@ -5844,7 +5856,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -5853,7 +5864,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "dependencies": { "argparse": "^2.0.1" }, @@ -5865,7 +5875,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -5878,7 +5887,6 @@ "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -5895,7 +5903,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, "engines": { "node": ">= 0.8.0" } @@ -5904,7 +5911,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, "engines": { "node": ">=8" }, @@ -5916,7 +5922,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -5928,7 +5933,6 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, "dependencies": { "prelude-ls": "^1.2.1" }, @@ -5940,7 +5944,6 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, "engines": { "node": ">=10" }, @@ -5952,7 +5955,6 @@ "version": "9.3.2", "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", - "dev": true, "dependencies": { "acorn": "^8.7.1", "acorn-jsx": "^5.3.2", @@ -5966,7 +5968,6 @@ "version": "8.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -5978,7 +5979,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -6000,7 +6000,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, "dependencies": { "estraverse": "^5.1.0" }, @@ -6277,8 +6276,7 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fastest-levenshtein": { "version": "1.0.12", @@ -6318,7 +6316,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, "dependencies": { "flat-cache": "^3.0.4" }, @@ -6399,7 +6396,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -6411,8 +6407,7 @@ "node_modules/flatted": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", - "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", - "dev": true + "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==" }, "node_modules/follow-redirects": { "version": "1.15.1", @@ -6497,8 +6492,7 @@ "node_modules/functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" }, "node_modules/functions-have-names": { "version": "1.2.3", @@ -7052,7 +7046,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, "engines": { "node": ">= 4" } @@ -7067,7 +7060,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -7110,7 +7102,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, "engines": { "node": ">=0.8.19" } @@ -9372,8 +9363,7 @@ "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, "node_modules/json5": { "version": "2.2.1", @@ -9547,8 +9537,7 @@ "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "node_modules/loose-envify": { "version": "1.4.0", @@ -9930,8 +9919,7 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "node_modules/nearley": { "version": "2.20.1", @@ -10306,7 +10294,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "dependencies": { "callsites": "^3.0.0" }, @@ -11071,7 +11058,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, "engines": { "node": ">=8" }, @@ -11305,7 +11291,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "engines": { "node": ">=4" } @@ -12306,8 +12291,7 @@ "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, "node_modules/throat": { "version": "6.0.1", @@ -12721,8 +12705,7 @@ "node_modules/v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" }, "node_modules/v8-to-istanbul": { "version": "9.0.1", @@ -13222,7 +13205,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -13392,6 +13374,32 @@ "semver": "^6.3.0" } }, + "@babel/eslint-parser": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.2.tgz", + "integrity": "sha512-oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==", + "requires": { + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, "@babel/generator": { "version": "7.18.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", @@ -14461,7 +14469,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", - "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -14477,14 +14484,12 @@ "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "globals": { "version": "13.16.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==", - "dev": true, "requires": { "type-fest": "^0.20.2" } @@ -14493,7 +14498,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "requires": { "argparse": "^2.0.1" } @@ -14501,14 +14505,12 @@ "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" } } }, @@ -14516,7 +14518,6 @@ "version": "0.9.5", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -14526,8 +14527,7 @@ "@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", @@ -15738,14 +15738,12 @@ "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, "peer": true }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, "requires": {} }, "ajv": { @@ -16372,8 +16370,7 @@ "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, "camelcase": { "version": "5.3.1", @@ -16856,8 +16853,7 @@ "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "deepmerge": { "version": "4.2.2", @@ -16951,7 +16947,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, "requires": { "esutils": "^2.0.2" } @@ -17302,7 +17297,6 @@ "version": "8.19.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.19.0.tgz", "integrity": "sha512-SXOPj3x9VKvPe81TjjUJCYlV4oJjQw68Uek+AM0X4p+33dj2HY5bpTZOgnQHcG2eAm1mtCU9uNMnJi7exU/kYw==", - "dev": true, "requires": { "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", @@ -17345,7 +17339,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -17353,14 +17346,12 @@ "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -17370,7 +17361,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -17378,26 +17368,22 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "eslint-visitor-keys": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, "requires": { "is-glob": "^4.0.3" } @@ -17406,7 +17392,6 @@ "version": "13.16.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==", - "dev": true, "requires": { "type-fest": "^0.20.2" } @@ -17414,14 +17399,12 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "requires": { "argparse": "^2.0.1" } @@ -17430,7 +17413,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -17440,7 +17422,6 @@ "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, "requires": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -17453,20 +17434,17 @@ "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -17475,7 +17453,6 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, "requires": { "prelude-ls": "^1.2.1" } @@ -17483,8 +17460,7 @@ "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" } } }, @@ -17702,7 +17678,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -17712,24 +17687,19 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, "requires": { "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } } }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + }, "espree": { "version": "9.3.2", "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", - "dev": true, "requires": { "acorn": "^8.7.1", "acorn-jsx": "^5.3.2", @@ -17739,14 +17709,12 @@ "acorn": { "version": "8.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==" }, "eslint-visitor-keys": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" } } }, @@ -17760,7 +17728,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, "requires": { "estraverse": "^5.1.0" } @@ -17975,8 +17942,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "fastest-levenshtein": { "version": "1.0.12", @@ -18013,7 +17979,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, "requires": { "flat-cache": "^3.0.4" } @@ -18078,7 +18043,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, "requires": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -18087,8 +18051,7 @@ "flatted": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", - "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", - "dev": true + "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==" }, "follow-redirects": { "version": "1.15.1", @@ -18140,8 +18103,7 @@ "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" }, "functions-have-names": { "version": "1.2.3", @@ -18534,8 +18496,7 @@ "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" }, "immutable": { "version": "4.1.0", @@ -18547,7 +18508,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -18571,8 +18531,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" }, "inflight": { "version": "1.0.6", @@ -20237,8 +20196,7 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, "json5": { "version": "2.2.1", @@ -20376,8 +20334,7 @@ "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "loose-envify": { "version": "1.4.0", @@ -20669,8 +20626,7 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "nearley": { "version": "2.20.1", @@ -20938,7 +20894,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "requires": { "callsites": "^3.0.0" } @@ -21520,8 +21475,7 @@ "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" }, "regexpu-core": { "version": "5.1.0", @@ -21693,8 +21647,7 @@ "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "resolve.exports": { "version": "1.1.0", @@ -22423,8 +22376,7 @@ "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, "throat": { "version": "6.0.1", @@ -22723,8 +22675,7 @@ "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" }, "v8-to-istanbul": { "version": "9.0.1", @@ -23062,8 +23013,7 @@ "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, "wrap-ansi": { "version": "7.0.0", diff --git a/package.json b/package.json index 4c08a1f0..f0c75fcc 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "license": "MIT", "dependencies": { "@babel/core": "7.18.6", + "@babel/eslint-parser": "^7.18.2", "@babel/preset-env": "7.18.6", "@babel/preset-react": "7.18.6", "babel-loader": "8.2.5", diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..07964ce2d095c0c9df9a9ab51fbb422e51f9b6b2 GIT binary patch literal 699 zcmV;s0!00ZP)Qq$g-{0(b~0QVI19>fV69 zMJe9x%m$lf!Hyy_64;)?hy*qeD&D7uztEuNA@fxgE74MVuo*hv z@4)==1}th3C)AlfzgD=4Uai5#j7)skKqSC-8qCPn_o|H+CD-do1qHNjdtwe4=Y`Q4 z@M;t#FSC`&{)7hA*m(!>y#`Maj}1RpI8OgtZRew%;H6Q3DroP5DxE)X6pDNi$IKGak0I&-1n0(Y~ zrb32Wo%S_8#Gc_~c(F9?TmU6~#Y3|+p?PAJNV=k@GF%o*JAX;>ADBH^hh+hp&y{c` h%BgVV)TGcI>i70 literal 0 HcmV?d00001 diff --git a/src/__test__/components/Profile.test.js b/src/__test__/components/Profile.test.js deleted file mode 100644 index f71ed22b..00000000 --- a/src/__test__/components/Profile.test.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; -import { mount } from 'enzyme'; -import Profile from '../../components/Profile'; - -describe('', () => { - const profile = mount(); - - test('Profile render', () => { - expect(profile.length).toEqual(1); - }); - - test('Profile title', () => { - expect(profile.find('.Profile-title').length).toEqual(1); - }); - - test('Profile have a description', () => { - expect(profile.find('.Profile-desc').length).toEqual(1); - }); - -}); diff --git a/src/components/About.js b/src/components/About.js index c6333e30..4a864633 100644 --- a/src/components/About.js +++ b/src/components/About.js @@ -1,21 +1,24 @@ import React, { useContext } from 'react'; import { Context } from './Context'; -export default function About({children}) { +export default function About({ children }) { const { data } = useContext(Context); return (
      -

      discoverAbout me

      +

      + discover + About me +

      {data.profession}

      {data.Profile}

      {children}
      -
      +
      ); } diff --git a/src/components/Academic.js b/src/components/Academic.js index 28a6b976..346d307b 100644 --- a/src/components/Academic.js +++ b/src/components/Academic.js @@ -7,18 +7,18 @@ export default function Academic() { return (
      -

      Academic

      -
      +

      Academic

      +
      {data.Academic.map((item) => ( - ))} -
      + ))} +
      ); } diff --git a/src/components/AcademicItem.js b/src/components/AcademicItem.js index f0c50234..932bc9bf 100644 --- a/src/components/AcademicItem.js +++ b/src/components/AcademicItem.js @@ -8,7 +8,13 @@ export default function AcademicItem({ return (

      {degree}

      -

      {startDate} - {endDate}

      +

      + {startDate} + {' '} + - + {' '} + {endDate} +

      {institution}

      ); diff --git a/src/components/Contact.js b/src/components/Contact.js index d43df83f..f059c393 100644 --- a/src/components/Contact.js +++ b/src/components/Contact.js @@ -1,17 +1,29 @@ -import React, { useContext } from "react"; -import { Context } from "./Context"; +import React, { useContext } from 'react'; +import { Context } from './Context'; -export default function Contact(){ - const {data} = useContext(Context) +export default function Contact() { + const { data } = useContext(Context); - return( -
      -
        -
      • address: {data.address}
      • -
      • email: {data.email}
      • -
      • website: {data.website}
      • -
      • phone: {data.phone}
      • -
      -
      - ) -} \ No newline at end of file + return ( +
      +
        +
      • + address: + {data.address} +
      • +
      • + email: + {data.email} +
      • +
      • + website: + {data.website} +
      • +
      • + phone: + {data.phone} +
      • +
      +
      + ); +} diff --git a/src/components/Experience.js b/src/components/Experience.js index 8b6bc462..f3a0ea02 100644 --- a/src/components/Experience.js +++ b/src/components/Experience.js @@ -7,20 +7,20 @@ export default function Experience() { return (
      -
      +

      Experience

      - {data.experience.map((item) => ( - + {data.experience.map((item) => ( + ))} -
      +
      ); diff --git a/src/components/ExperienceItem.js b/src/components/ExperienceItem.js index 0e556a83..39b15fd6 100644 --- a/src/components/ExperienceItem.js +++ b/src/components/ExperienceItem.js @@ -3,8 +3,20 @@ import React from 'react'; export default function ExperienceItem({ company, endDate, jobDescription, jobTitle, startDate }) { return (
      -

      {company} - {jobTitle}

      -

      {startDate} - {endDate}

      +

      + {company} + {' '} + - + {' '} + {jobTitle} +

      +

      + {startDate} + {' '} + - + {' '} + {endDate} +

      {jobDescription}

      ); diff --git a/src/components/Header.js b/src/components/Header.js index 8c85d3ac..6437f0b4 100644 --- a/src/components/Header.js +++ b/src/components/Header.js @@ -7,21 +7,25 @@ export default function Header({ children }) { const fullName = data.name.split(' '); const name = fullName[0]; const lastName = fullName[1]; - const background = data.background; + const { background } = data; - const [navVisible, setNavVisible] = useState(false) - const toggleNav = ()=>{ - setNavVisible(!navVisible) - } + const [navVisible, setNavVisible] = useState(false); + const toggleNav = () => { + setNavVisible(!navVisible); + }; return ( -
      - -