From 810ccb0ffcea596a354f707efa14c1bbdf099648 Mon Sep 17 00:00:00 2001 From: Tapas Adhikary Date: Tue, 25 Jan 2022 15:27:05 +0530 Subject: [PATCH 1/5] =?UTF-8?q?=E2=9C=A8=20Added=20a=20new=20component=20w?= =?UTF-8?q?hy-react?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.js | 3 +++ src/meta/play-meta.js | 8 ++++++- src/plays/index.js | 1 + src/plays/why-react/WhyReact.js | 37 +++++++++++++++++++++++++++++++ src/plays/why-react/why-react.css | 4 ++++ 5 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 src/plays/why-react/WhyReact.js create mode 100644 src/plays/why-react/why-react.css diff --git a/src/App.js b/src/App.js index 3ae1930696..d88c8db779 100644 --- a/src/App.js +++ b/src/App.js @@ -15,6 +15,9 @@ function App() {
  • CountDown Timer
  • +
  • + Why React +
  • diff --git a/src/meta/play-meta.js b/src/meta/play-meta.js index 28d6b3994b..e4a4d3f361 100644 --- a/src/meta/play-meta.js +++ b/src/meta/play-meta.js @@ -4,7 +4,8 @@ import { CurrentTimer, Home, MovieContainer, - PageNotFound + PageNotFound, + WhyReact } from "../plays"; const plays = [ @@ -29,6 +30,11 @@ const plays = [ component: () => {return }, path: '/movies', }, + { + name: 'WhyReact', + component: () => {return }, + path: '/why-react', + }, { name: 'PageNotFound', component: () => {return }, diff --git a/src/plays/index.js b/src/plays/index.js index ed87774b60..b01d59e674 100644 --- a/src/plays/index.js +++ b/src/plays/index.js @@ -3,4 +3,5 @@ export { default as CurrentTimer } from './clock/CurrentTimer'; export { default as CountDownTimer } from './date-time-counter/CountDownTimer'; export { default as Home } from './home/Home'; export { default as MovieContainer } from './movies/MovieContainer'; +export { default as WhyReact } from './why-react/WhyReact'; diff --git a/src/plays/why-react/WhyReact.js b/src/plays/why-react/WhyReact.js new file mode 100644 index 0000000000..c4b650e6d5 --- /dev/null +++ b/src/plays/why-react/WhyReact.js @@ -0,0 +1,37 @@ +import { useState } from 'react'; +import './why-react.css'; + +const WhyReact = () => { + const [reasons] = useState([ + "React is Declarative", + "It is fast", + "JSX is simple", + "It is Component-based", + "It is easy to learn", + "It is fun to use", + "Write Once, Use Everywhere", + ]); + + return( + <> +

    React

    +

    + React is a JavaScript library for building user interfaces. + It is maintained by Facebook and a community of individual developers and companies. +

    + +
      +

      Why React?

      + { + reasons.map((reason, index) => { + return( +
    • {reason}
    • + ); + }) + } +
    + + ) +}; + +export default WhyReact; \ No newline at end of file diff --git a/src/plays/why-react/why-react.css b/src/plays/why-react/why-react.css new file mode 100644 index 0000000000..2258fe2639 --- /dev/null +++ b/src/plays/why-react/why-react.css @@ -0,0 +1,4 @@ +.heading { + font-size: 1.5em; + color: rgb(29, 91, 223) +} \ No newline at end of file From 4f33788a247d444be311885a6dbf634755193056 Mon Sep 17 00:00:00 2001 From: Tapas Adhikary Date: Tue, 25 Jan 2022 16:05:06 +0530 Subject: [PATCH 2/5] =?UTF-8?q?=E2=9C=A8=20Made=20the=20routing=20menu=20d?= =?UTF-8?q?ynamic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.js | 23 +++++++++++------------ src/index.js | 5 +++-- src/meta/play-meta.js | 35 +++++++++++++++++++++++++---------- 3 files changed, 39 insertions(+), 24 deletions(-) diff --git a/src/App.js b/src/App.js index d88c8db779..e2c032010c 100644 --- a/src/App.js +++ b/src/App.js @@ -1,23 +1,22 @@ +import { useState } from 'react'; import { Link, Outlet } from 'react-router-dom'; import './App.css'; +import { getPlaysToInclude } from './meta/play-meta'; + function App() { + const [plays] = useState(getPlaysToInclude()); return (
    diff --git a/src/index.js b/src/index.js index 5d424fd21b..75bb0470b4 100644 --- a/src/index.js +++ b/src/index.js @@ -4,11 +4,12 @@ import { BrowserRouter, Route, Routes } from "react-router-dom"; import App from "./App"; import { Footer, Header } from "./common"; import "./index.css"; -import { getPlays } from './meta/play-meta'; +import { getAllPlays } from './meta/play-meta'; import reportWebVitals from "./reportWebVitals"; + const Index = () => { - const plays = getPlays(); + const plays = getAllPlays(); return (
    diff --git a/src/meta/play-meta.js b/src/meta/play-meta.js index e4a4d3f361..1db5e375c7 100644 --- a/src/meta/play-meta.js +++ b/src/meta/play-meta.js @@ -10,41 +10,56 @@ import { const plays = [ { - name: 'CurrentTimer', + name: 'Why React', + component: () => {return }, + path: '/why-react', + includeInMenu: true, + }, + { + name: 'Current Timer', component: () => {return }, path: '/clock', + includeInMenu: true, }, { - name: 'CountDownTimer', + name: 'Countdown Timer', component: () => {return }, path: '/countdown', + includeInMenu: true, }, { name: 'Home', component: () => {return }, path: '/', index: true, + includeInMenu: false, }, { - name: 'MovieContainer', + name: 'Movies', component: () => {return }, path: '/movies', + includeInMenu: true, }, { - name: 'WhyReact', - component: () => {return }, - path: '/why-react', - }, - { - name: 'PageNotFound', + name: 'Page Not Found', component: () => {return }, path: '/*', + includeInMenu: false, }, ]; -export const getPlays = () => { +const getAllPlays = () => { return plays; }; +const getPlaysToInclude = () => { + return plays.filter(play => play.includeInMenu); +} + +export { + getAllPlays, + getPlaysToInclude, +}; + From 421494fd1721f4d1adcf16006a71bd60216467c6 Mon Sep 17 00:00:00 2001 From: Tapas Adhikary Date: Tue, 25 Jan 2022 16:56:04 +0530 Subject: [PATCH 3/5] =?UTF-8?q?=F0=9F=8E=A8=20Now=20we=20have=20a=20dedica?= =?UTF-8?q?ted=20Home?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/404/PageNotFound.js | 15 +++++++++++++++ src/common/Header.js | 4 ++-- src/common/header.css | 5 +++++ src/{plays => common}/home/Home.js | 5 ++++- src/{plays => common}/home/home.css | 0 src/{plays => common}/home/index.js | 0 src/common/index.js | 6 +++++- src/index.css | 2 +- src/index.js | 20 +++++++++++++++++--- src/meta/play-meta.js | 24 +++++------------------- src/plays/404/PageNotFound.js | 10 ---------- src/plays/index.js | 4 ++-- 12 files changed, 56 insertions(+), 39 deletions(-) create mode 100644 src/common/404/PageNotFound.js rename src/{plays => common}/home/Home.js (60%) rename src/{plays => common}/home/home.css (100%) rename src/{plays => common}/home/index.js (100%) delete mode 100644 src/plays/404/PageNotFound.js diff --git a/src/common/404/PageNotFound.js b/src/common/404/PageNotFound.js new file mode 100644 index 0000000000..0ec2014230 --- /dev/null +++ b/src/common/404/PageNotFound.js @@ -0,0 +1,15 @@ +import { Link } from 'react-router-dom'; + +const PageNotFound = () => { + + return( +
    +

    OOPs!!! Look like you are lost.

    +

    + Why don't you go back to home? +

    +
    + ); +}; + +export default PageNotFound; \ No newline at end of file diff --git a/src/common/Header.js b/src/common/Header.js index 02e3ae0050..75bc4642d7 100644 --- a/src/common/Header.js +++ b/src/common/Header.js @@ -1,11 +1,11 @@ - +import { Link } from 'react-router-dom'; import './header.css'; const Header = () => { return (
    - React Play + React Play
    • GitHub diff --git a/src/common/header.css b/src/common/header.css index b86e66b377..2dcec351ed 100644 --- a/src/common/header.css +++ b/src/common/header.css @@ -12,6 +12,11 @@ font-weight: bold; } +.app-header > span > a { + text-decoration: none; + color: #fff; +} + .header-links { display: flex; align-items: center; diff --git a/src/plays/home/Home.js b/src/common/home/Home.js similarity index 60% rename from src/plays/home/Home.js rename to src/common/home/Home.js index e3f7815e0d..855654dcec 100644 --- a/src/plays/home/Home.js +++ b/src/common/home/Home.js @@ -1,4 +1,4 @@ - +import { Link } from 'react-router-dom'; import './home.css'; const Home = () => { @@ -8,6 +8,9 @@ const Home = () => {

      This is the home page.

      +

      + See all the plays +

    ); }; diff --git a/src/plays/home/home.css b/src/common/home/home.css similarity index 100% rename from src/plays/home/home.css rename to src/common/home/home.css diff --git a/src/plays/home/index.js b/src/common/home/index.js similarity index 100% rename from src/plays/home/index.js rename to src/common/home/index.js diff --git a/src/common/index.js b/src/common/index.js index 23bd655d6b..13bd255b18 100644 --- a/src/common/index.js +++ b/src/common/index.js @@ -1,8 +1,12 @@ +import PageNotFound from './404/PageNotFound'; import Footer from './Footer'; import Header from './Header'; +import Home from './home/Home'; export { Header, - Footer + Footer, + Home, + PageNotFound, }; diff --git a/src/index.css b/src/index.css index 78bbdfbeee..89f51f401d 100644 --- a/src/index.css +++ b/src/index.css @@ -10,4 +10,4 @@ body { code { font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; -} \ No newline at end of file +} diff --git a/src/index.js b/src/index.js index 75bb0470b4..97e996cfa4 100644 --- a/src/index.js +++ b/src/index.js @@ -2,7 +2,10 @@ import React from "react"; import ReactDOM from "react-dom"; import { BrowserRouter, Route, Routes } from "react-router-dom"; import App from "./App"; -import { Footer, Header } from "./common"; +import { + Footer, + Header, Home, PageNotFound +} from "./common"; import "./index.css"; import { getAllPlays } from './meta/play-meta'; import reportWebVitals from "./reportWebVitals"; @@ -12,10 +15,20 @@ const Index = () => { const plays = getAllPlays(); return ( -
    + +
    - }> + } /> + }> + +

    Select a Play

    + + } + /> { plays.map((play, index) => ( { )) } + } />
    diff --git a/src/meta/play-meta.js b/src/meta/play-meta.js index 1db5e375c7..510d614652 100644 --- a/src/meta/play-meta.js +++ b/src/meta/play-meta.js @@ -2,9 +2,7 @@ import { CountDownTimer, CurrentTimer, - Home, MovieContainer, - PageNotFound, WhyReact } from "../plays"; @@ -12,40 +10,28 @@ const plays = [ { name: 'Why React', component: () => {return }, - path: '/why-react', + path: '/plays/why-react', + index: true, includeInMenu: true, }, { name: 'Current Timer', component: () => {return }, - path: '/clock', + path: '/plays/clock', includeInMenu: true, }, { name: 'Countdown Timer', component: () => {return }, - path: '/countdown', + path: '/plays/countdown', includeInMenu: true, }, - { - name: 'Home', - component: () => {return }, - path: '/', - index: true, - includeInMenu: false, - }, { name: 'Movies', component: () => {return }, - path: '/movies', + path: '/plays/movies', includeInMenu: true, }, - { - name: 'Page Not Found', - component: () => {return }, - path: '/*', - includeInMenu: false, - }, ]; const getAllPlays = () => { diff --git a/src/plays/404/PageNotFound.js b/src/plays/404/PageNotFound.js deleted file mode 100644 index 4fc0beaf9e..0000000000 --- a/src/plays/404/PageNotFound.js +++ /dev/null @@ -1,10 +0,0 @@ -const PageNotFound = () => { - - return( -
    -

    There's nothing here!

    -
    - ); -}; - -export default PageNotFound; \ No newline at end of file diff --git a/src/plays/index.js b/src/plays/index.js index b01d59e674..a0b6265059 100644 --- a/src/plays/index.js +++ b/src/plays/index.js @@ -1,7 +1,7 @@ -export { default as PageNotFound } from './404/PageNotFound'; +export { default as PageNotFound } from '../common/404/PageNotFound'; +export { default as Home } from '../common/home/Home'; export { default as CurrentTimer } from './clock/CurrentTimer'; export { default as CountDownTimer } from './date-time-counter/CountDownTimer'; -export { default as Home } from './home/Home'; export { default as MovieContainer } from './movies/MovieContainer'; export { default as WhyReact } from './why-react/WhyReact'; From c1ff7676f91a141c9922d9292935af1a7259262e Mon Sep 17 00:00:00 2001 From: Tapas Adhikary Date: Sun, 30 Jan 2022 12:10:58 +0530 Subject: [PATCH 4/5] =?UTF-8?q?=E2=9C=A8=20A=20basic=20tree?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data/family.js | 34 ++++++++++++++++++++++++++ src/meta/play-meta.js | 10 ++++++-- src/plays/family-tree/BasicTree.js | 38 ++++++++++++++++++++++++++++++ src/plays/index.js | 1 + 4 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 src/data/family.js create mode 100644 src/plays/family-tree/BasicTree.js diff --git a/src/data/family.js b/src/data/family.js new file mode 100644 index 0000000000..0a963d0fc0 --- /dev/null +++ b/src/data/family.js @@ -0,0 +1,34 @@ +export const family = [ + { + "name": "Alex B", + "children": [ + { + "name": "Clark A", + "children": [ + { + "name": "Rozy C" + } + ] + }, + { + "name": "Diana A", + "children": [ + { + "name": "Marshal D", + "children": [ + { + "name": "John M" + }, + { + "name": "Jojy M" + } + ] + } + ] + }, + { + "name": "Ibrahim A" + } + ] + } +]; \ No newline at end of file diff --git a/src/meta/play-meta.js b/src/meta/play-meta.js index 510d614652..3fb6ec4fd4 100644 --- a/src/meta/play-meta.js +++ b/src/meta/play-meta.js @@ -1,6 +1,6 @@ import { - CountDownTimer, + BasicTree, CountDownTimer, CurrentTimer, MovieContainer, WhyReact @@ -22,7 +22,7 @@ const plays = [ }, { name: 'Countdown Timer', - component: () => {return }, + component: () => {return }, path: '/plays/countdown', includeInMenu: true, }, @@ -32,6 +32,12 @@ const plays = [ path: '/plays/movies', includeInMenu: true, }, + { + name: 'Basic Family Tree', + component: () => {return }, + path: '/plays/basic-family-tree', + includeInMenu: true, + }, ]; const getAllPlays = () => { diff --git a/src/plays/family-tree/BasicTree.js b/src/plays/family-tree/BasicTree.js new file mode 100644 index 0000000000..926675a048 --- /dev/null +++ b/src/plays/family-tree/BasicTree.js @@ -0,0 +1,38 @@ +import React, { Fragment } from "react"; +import { family } from '../../data/family'; + +const Card = (props) => { + + return ( +
      + {props.data.map((item,index) => ( + +
    • +
      +
      +

      {item.name}

      +
      + +
      +
      + {item.children?.length && } +
    • +
      + ))} +
    + ); +}; + +const BasicTree = () => { + return ( +
    +

    Basic Family Tree

    +

    + This is a basic family tree. It shows the family tree. The family tree is a hierarchical data structure. It is a tree data +

    + +
    + ); +}; + +export default BasicTree; diff --git a/src/plays/index.js b/src/plays/index.js index a0b6265059..1af057259a 100644 --- a/src/plays/index.js +++ b/src/plays/index.js @@ -2,6 +2,7 @@ export { default as PageNotFound } from '../common/404/PageNotFound'; export { default as Home } from '../common/home/Home'; export { default as CurrentTimer } from './clock/CurrentTimer'; export { default as CountDownTimer } from './date-time-counter/CountDownTimer'; +export { default as BasicTree } from './family-tree/BasicTree'; export { default as MovieContainer } from './movies/MovieContainer'; export { default as WhyReact } from './why-react/WhyReact'; From e60d9c05190af97d9c942187691eea245dda8a6b Mon Sep 17 00:00:00 2001 From: Tapas Adhikary Date: Sun, 30 Jan 2022 12:37:41 +0530 Subject: [PATCH 5/5] =?UTF-8?q?=E2=9C=A8=20using=20the=20react-organizatio?= =?UTF-8?q?nal-chart=20lib?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/data/family.js | 66 +++++++-------- src/plays/family-tree/BasicTree.js | 24 +++--- yarn.lock | 131 +++++++++++++++++++++++++++-- 4 files changed, 169 insertions(+), 53 deletions(-) diff --git a/package.json b/package.json index fb9a4925ef..40960c7299 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "@testing-library/user-event": "^13.2.1", "react": "^17.0.2", "react-dom": "^17.0.2", + "react-organizational-chart": "^2.1.1", "react-router-dom": "6", "react-scripts": "5.0.0", "web-vitals": "^2.1.0" diff --git a/src/data/family.js b/src/data/family.js index 0a963d0fc0..5b289c11d0 100644 --- a/src/data/family.js +++ b/src/data/family.js @@ -1,34 +1,32 @@ -export const family = [ - { - "name": "Alex B", - "children": [ - { - "name": "Clark A", - "children": [ - { - "name": "Rozy C" - } - ] - }, - { - "name": "Diana A", - "children": [ - { - "name": "Marshal D", - "children": [ - { - "name": "John M" - }, - { - "name": "Jojy M" - } - ] - } - ] - }, - { - "name": "Ibrahim A" - } - ] - } -]; \ No newline at end of file +export const family = { + name: "Root", + children: [ + { + name: "Child 1", + children: [ + { + name: "Grand Child(child 1)", + }, + ], + }, + { + name: "Child 2", + children: [ + { + name: "Grand Child(child 2)", + children: [ + { + name: "Great Grand Child 1(child 2)", + }, + { + name: "Grand Grand Child 2(child 2)", + }, + ], + }, + ], + }, + { + name: "Child 3", + }, + ], +}; diff --git a/src/plays/family-tree/BasicTree.js b/src/plays/family-tree/BasicTree.js index 926675a048..3f86afef3c 100644 --- a/src/plays/family-tree/BasicTree.js +++ b/src/plays/family-tree/BasicTree.js @@ -1,25 +1,19 @@ import React, { Fragment } from "react"; +import { Tree, TreeNode } from "react-organizational-chart"; import { family } from '../../data/family'; const Card = (props) => { - return ( -
      - {props.data.map((item,index) => ( + <> + { + props.data.map((item,index) => ( -
    • -
      -
      -

      {item.name}

      -
      - -
      -
      + {item.name}
    }> {item.children?.length && } - + ))} - + ); }; @@ -30,7 +24,9 @@ const BasicTree = () => {

    This is a basic family tree. It shows the family tree. The family tree is a hierarchical data structure. It is a tree data

    - + {family.name}
    }> + + ); }; diff --git a/yarn.lock b/yarn.lock index 2016bf0d71..75cc294ac0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -684,7 +684,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.16.7": +"@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== @@ -1215,7 +1215,7 @@ core-js-pure "^3.19.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.7.6", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.16.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.9.2": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== @@ -1305,6 +1305,87 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz#a9583a75c3f150667771f30b60d9f059473e62c4" integrity sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg== +"@emotion/babel-plugin@^11.7.1": + version "11.7.2" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.7.2.tgz#fec75f38a6ab5b304b0601c74e2a5e77c95e5fa0" + integrity sha512-6mGSCWi9UzXut/ZAN6lGFu33wGR3SJisNl3c0tvlmb8XChH1b2SUvxvnOh7hvLpqyRdHHU9AiazV3Cwbk5SXKQ== + dependencies: + "@babel/helper-module-imports" "^7.12.13" + "@babel/plugin-syntax-jsx" "^7.12.13" + "@babel/runtime" "^7.13.10" + "@emotion/hash" "^0.8.0" + "@emotion/memoize" "^0.7.5" + "@emotion/serialize" "^1.0.2" + babel-plugin-macros "^2.6.1" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.0.13" + +"@emotion/cache@^11.7.1": + version "11.7.1" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.7.1.tgz#08d080e396a42e0037848214e8aa7bf879065539" + integrity sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A== + dependencies: + "@emotion/memoize" "^0.7.4" + "@emotion/sheet" "^1.1.0" + "@emotion/utils" "^1.0.0" + "@emotion/weak-memoize" "^0.2.5" + stylis "4.0.13" + +"@emotion/css@^11.7.1": + version "11.7.1" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.7.1.tgz#516b717340d36b0bbd2304ba7e1a090e866f8acc" + integrity sha512-RUUgPlMZunlc7SE5A6Hg+VWRzb2cU6O9xlV78KCFgcnl25s7Qz/20oQg71iKudpLqk7xj0vhbJlwcJJMT0BOZg== + dependencies: + "@emotion/babel-plugin" "^11.7.1" + "@emotion/cache" "^11.7.1" + "@emotion/serialize" "^1.0.0" + "@emotion/sheet" "^1.0.3" + "@emotion/utils" "^1.0.0" + +"@emotion/hash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" + integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== + +"@emotion/memoize@^0.7.4", "@emotion/memoize@^0.7.5": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz#2c40f81449a4e554e9fc6396910ed4843ec2be50" + integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ== + +"@emotion/serialize@^1.0.0", "@emotion/serialize@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.0.2.tgz#77cb21a0571c9f68eb66087754a65fa97bfcd965" + integrity sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A== + dependencies: + "@emotion/hash" "^0.8.0" + "@emotion/memoize" "^0.7.4" + "@emotion/unitless" "^0.7.5" + "@emotion/utils" "^1.0.0" + csstype "^3.0.2" + +"@emotion/sheet@^1.0.3", "@emotion/sheet@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz#56d99c41f0a1cda2726a05aa6a20afd4c63e58d2" + integrity sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g== + +"@emotion/unitless@^0.7.5": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" + integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== + +"@emotion/utils@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.0.0.tgz#abe06a83160b10570816c913990245813a2fd6af" + integrity sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA== + +"@emotion/weak-memoize@^0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" + integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== + "@eslint/eslintrc@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318" @@ -2694,6 +2775,15 @@ babel-plugin-jest-hoist@^27.4.0: "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" +babel-plugin-macros@^2.6.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + babel-plugin-macros@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" @@ -3224,7 +3314,7 @@ convert-source-map@^1.4.0, convert-source-map@^1.7.0: dependencies: safe-buffer "~5.1.1" -convert-source-map@^1.6.0: +convert-source-map@^1.5.0, convert-source-map@^1.6.0: version "1.8.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== @@ -3508,6 +3598,11 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" +csstype@^3.0.2: + version "3.0.10" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" + integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== + damerau-levenshtein@^1.0.7: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" @@ -4453,6 +4548,11 @@ find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -5115,7 +5215,7 @@ is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-core-module@^2.2.0, is-core-module@^2.8.0: +is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== @@ -7476,6 +7576,13 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +react-organizational-chart@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/react-organizational-chart/-/react-organizational-chart-2.1.1.tgz#282ea956848eb8580127343f6d42d6fb18a30359" + integrity sha512-YiZly+VVRCMoktq102weqZkKXrYZCssx8qWdJDjHW+3DSkOlueITn6xO2/7An0MChwNficB6WRilHaHF6g7IzA== + dependencies: + "@emotion/css" "^11.7.1" + react-refresh@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" @@ -7783,6 +7890,15 @@ resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== +resolve@^1.12.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0: version "1.21.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" @@ -8145,7 +8261,7 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, sourc resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.5.0: +source-map@^0.5.0, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -8391,6 +8507,11 @@ stylehacks@^5.0.1: browserslist "^4.16.0" postcss-selector-parser "^6.0.4" +stylis@4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91" + integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag== + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"