├── .gitignore
├── index.html
├── package.json
├── src
├── App.jsx
├── assets
│ └── todoLogo.svg
├── components
│ ├── Header
│ │ ├── header.module.css
│ │ └── index.jsx
│ ├── Task
│ │ ├── index.jsx
│ │ └── task.module.css
│ └── Tasks
│ │ ├── index.jsx
│ │ └── tasks.module.css
├── main.jsx
└── styles
│ └── global.css
├── vite.config.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | To Do App
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "todo-tutorial",
3 | "private": true,
4 | "version": "0.0.0",
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "vite build",
8 | "preview": "vite preview"
9 | },
10 | "dependencies": {
11 | "react": "^18.0.0",
12 | "react-dom": "^18.0.0",
13 | "react-icons": "^4.4.0"
14 | },
15 | "devDependencies": {
16 | "@types/react": "^18.0.0",
17 | "@types/react-dom": "^18.0.0",
18 | "@vitejs/plugin-react": "^1.3.0",
19 | "vite": "^2.9.9"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/App.jsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from "react";
2 | import { Header } from "./components/Header";
3 | import { Tasks } from "./components/Tasks";
4 |
5 | const LOCAL_STORAGE_KEY = 'todo:tasks';
6 |
7 | function App() {
8 | const [tasks, setTasks] = useState([]);
9 |
10 | function loadSavedTasks() {
11 | const saved = localStorage.getItem(LOCAL_STORAGE_KEY);
12 | if(saved) {
13 | setTasks(JSON.parse(saved));
14 | }
15 | }
16 |
17 | function setTasksAndSave(newTasks) {
18 | setTasks(newTasks);
19 | localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(newTasks));
20 | }
21 |
22 | useEffect(() => {
23 | loadSavedTasks();
24 | }, [])
25 |
26 | function addTask(taskTitle) {
27 | setTasksAndSave([...tasks, {
28 | id: crypto.randomUUID(),
29 | title: taskTitle,
30 | isCompleted: false
31 | }]);
32 | }
33 |
34 | function deleteTaskById(taskId) {
35 | const newTasks = tasks.filter(task => task.id !== taskId);
36 | setTasksAndSave(newTasks);
37 | }
38 |
39 | function toggleTaskCompletedById(taskId) {
40 | const newTasks = tasks.map(task => {
41 | if(task.id === taskId) {
42 | return {
43 | ...task,
44 | isCompleted: !task.isCompleted
45 | }
46 | }
47 | return task;
48 | });
49 | setTasksAndSave(newTasks);
50 | }
51 |
52 | return (
53 | <>
54 |
55 |
60 | >
61 | )
62 | }
63 |
64 | export default App
65 |
--------------------------------------------------------------------------------
/src/assets/todoLogo.svg:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/src/components/Header/header.module.css:
--------------------------------------------------------------------------------
1 | .header {
2 | background: #0D0D0D;
3 | display: flex;
4 | align-items: center;
5 | justify-content: center;
6 | height: 200px;
7 | position: relative;
8 | }
9 |
10 | .newTaskForm {
11 | position: absolute;
12 | height: 54px;
13 | bottom: -27px;
14 | width: 100%;
15 | max-width: 736px;
16 | display: flex;
17 | gap: 8px;
18 | padding: 0 1rem;
19 | }
20 |
21 | .newTaskForm input {
22 | height: 100%;
23 | flex: 1;
24 | color: #fff;
25 | background: #262626;
26 | border: 1px solid #0D0D0D;
27 | border-radius: 8px;
28 | padding: 0 16px;
29 | font-size: 16px;
30 | }
31 |
32 | .newTaskForm input::placeholder {
33 | color: #808080;
34 | }
35 |
36 | .newTaskForm button {
37 | height: 100%;
38 | padding: 0 16px;
39 | background: #1E6F9F;
40 | color: #fff;
41 | border: none;
42 | border-radius: 8px;
43 | display: flex;
44 | align-items: center;
45 | gap: 6px;
46 | font-weight: 700;
47 | font-size: 14px;
48 | }
--------------------------------------------------------------------------------
/src/components/Header/index.jsx:
--------------------------------------------------------------------------------
1 | import todoLogo from '../../assets/todoLogo.svg';
2 | import styles from './header.module.css';
3 | import { AiOutlinePlusCircle } from 'react-icons/ai';
4 | import { useState } from 'react';
5 |
6 | export function Header({ handleAddTask }) {
7 | const [title, setTitle] = useState('');
8 |
9 | function handleSubmit(event) {
10 | event.preventDefault();
11 |
12 | handleAddTask(title);
13 | setTitle('');
14 | }
15 |
16 | function onChangeTitle(event) {
17 | setTitle(event.target.value);
18 | }
19 |
20 | return (
21 |
22 |
23 |
24 |
28 |
29 | )
30 | }
--------------------------------------------------------------------------------
/src/components/Task/index.jsx:
--------------------------------------------------------------------------------
1 | import styles from './task.module.css';
2 | import { BsFillCheckCircleFill } from 'react-icons/bs';
3 | import { TbTrash } from 'react-icons/tb';
4 |
5 | export function Task({ task, onDelete, onComplete }) {
6 | return (
7 |
8 |
11 |
12 |
13 | {task.title}
14 |
15 |
16 |
19 |
20 | )
21 | }
--------------------------------------------------------------------------------
/src/components/Task/task.module.css:
--------------------------------------------------------------------------------
1 | .task {
2 | width: 100%;
3 | background: #262626;
4 | border: 1px solid #333333;
5 | padding: 16px;
6 | border-radius: 8px;
7 | display: flex;
8 | align-items: center;
9 | justify-content: space-between;
10 | gap: 12px;
11 | }
12 |
13 | .task p {
14 | font-size: 14px;
15 | line-height: 19px;
16 | color: #F2F2F2;
17 | margin-right: auto;
18 | }
19 |
20 | p.textCompleted {
21 | color: #808080;
22 | text-decoration: line-through;
23 | }
24 |
25 | .checkContainer {
26 | width: 18px;
27 | height: 18px;
28 | background: none;
29 | border: none;
30 | }
31 |
32 | .checkContainer div {
33 | width: 100%;
34 | height: 100%;
35 | border-radius: 999px;
36 | border: 2px solid #4EA8DE;
37 | }
38 |
39 | .checkContainer svg {
40 | width: 100%;
41 | height: 100%;
42 | color: #5E60CE;
43 | }
44 |
45 | .deleteButton {
46 | background: none;
47 | border: none;
48 | color: #808080;
49 | }
--------------------------------------------------------------------------------
/src/components/Tasks/index.jsx:
--------------------------------------------------------------------------------
1 | import { Task } from '../Task';
2 | import styles from './tasks.module.css';
3 |
4 | export function Tasks({ tasks, onDelete, onComplete }) {
5 | const tasksQuantity = tasks.length;
6 | const completedTasks = tasks.filter(task => task.isCompleted).length;
7 |
8 | return (
9 |
10 |
11 |
12 |
Created tasks
13 |
{tasksQuantity}
14 |
15 |
16 |
17 |
Completed tasks
18 |
{completedTasks} of {tasksQuantity}
19 |
20 |
21 |
22 |
23 | {tasks.map((task) => (
24 |
25 | ))}
26 |
27 |
28 | )
29 | }
--------------------------------------------------------------------------------
/src/components/Tasks/tasks.module.css:
--------------------------------------------------------------------------------
1 | .tasks {
2 | width: 100%;
3 | max-width: 736px;
4 | margin: 0 auto;
5 | margin-top: 90px;
6 | padding: 0 1rem;
7 | }
8 |
9 | .header {
10 | display: flex;
11 | align-items: center;
12 | justify-content: space-between;
13 | margin-bottom: 24px;
14 | }
15 |
16 | .header > div {
17 | display: flex;
18 | align-items: center;
19 | gap: 8px;
20 | }
21 |
22 | .header p {
23 | color: #4EA8DE;
24 | font-size: 14px;
25 | font-weight: 700;
26 | }
27 |
28 | .textPurple {
29 | color: #8284FA !important;
30 | }
31 |
32 | .header span {
33 | background: #333333;
34 | color: #D9D9D9;
35 | padding: 3px 9px;
36 | border-radius: 999px;
37 | font-size: 12px;
38 | font-weight: 700;
39 | }
40 |
41 | .list {
42 | display: flex;
43 | flex-direction: column;
44 | gap: 12px;
45 | }
--------------------------------------------------------------------------------
/src/main.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom/client'
3 | import App from './App'
4 | import './styles/global.css'
5 |
6 | ReactDOM.createRoot(document.getElementById('root')).render(
7 |
8 |
9 |
10 | )
11 |
--------------------------------------------------------------------------------
/src/styles/global.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | font-family: 'Inter', sans-serif;
6 | }
7 |
8 | body {
9 | background: #191919;
10 | color: #F2F2F2;
11 | min-height: 100vh;
12 | }
13 |
14 | button {
15 | cursor: pointer;
16 | }
17 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()]
7 | })
8 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@ampproject/remapping@^2.1.0":
6 | version "2.2.0"
7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
9 | dependencies:
10 | "@jridgewell/gen-mapping" "^0.1.0"
11 | "@jridgewell/trace-mapping" "^0.3.9"
12 |
13 | "@babel/code-frame@^7.16.7":
14 | version "7.16.7"
15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
16 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
17 | dependencies:
18 | "@babel/highlight" "^7.16.7"
19 |
20 | "@babel/compat-data@^7.17.10":
21 | version "7.18.5"
22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471"
23 | integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==
24 |
25 | "@babel/core@^7.17.10":
26 | version "7.18.5"
27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000"
28 | integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==
29 | dependencies:
30 | "@ampproject/remapping" "^2.1.0"
31 | "@babel/code-frame" "^7.16.7"
32 | "@babel/generator" "^7.18.2"
33 | "@babel/helper-compilation-targets" "^7.18.2"
34 | "@babel/helper-module-transforms" "^7.18.0"
35 | "@babel/helpers" "^7.18.2"
36 | "@babel/parser" "^7.18.5"
37 | "@babel/template" "^7.16.7"
38 | "@babel/traverse" "^7.18.5"
39 | "@babel/types" "^7.18.4"
40 | convert-source-map "^1.7.0"
41 | debug "^4.1.0"
42 | gensync "^1.0.0-beta.2"
43 | json5 "^2.2.1"
44 | semver "^6.3.0"
45 |
46 | "@babel/generator@^7.18.2":
47 | version "7.18.2"
48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d"
49 | integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==
50 | dependencies:
51 | "@babel/types" "^7.18.2"
52 | "@jridgewell/gen-mapping" "^0.3.0"
53 | jsesc "^2.5.1"
54 |
55 | "@babel/helper-annotate-as-pure@^7.16.7":
56 | version "7.16.7"
57 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862"
58 | integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==
59 | dependencies:
60 | "@babel/types" "^7.16.7"
61 |
62 | "@babel/helper-compilation-targets@^7.18.2":
63 | version "7.18.2"
64 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b"
65 | integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==
66 | dependencies:
67 | "@babel/compat-data" "^7.17.10"
68 | "@babel/helper-validator-option" "^7.16.7"
69 | browserslist "^4.20.2"
70 | semver "^6.3.0"
71 |
72 | "@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.2":
73 | version "7.18.2"
74 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd"
75 | integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==
76 |
77 | "@babel/helper-function-name@^7.17.9":
78 | version "7.17.9"
79 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12"
80 | integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==
81 | dependencies:
82 | "@babel/template" "^7.16.7"
83 | "@babel/types" "^7.17.0"
84 |
85 | "@babel/helper-hoist-variables@^7.16.7":
86 | version "7.16.7"
87 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
88 | integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
89 | dependencies:
90 | "@babel/types" "^7.16.7"
91 |
92 | "@babel/helper-module-imports@^7.16.7":
93 | version "7.16.7"
94 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
95 | integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
96 | dependencies:
97 | "@babel/types" "^7.16.7"
98 |
99 | "@babel/helper-module-transforms@^7.18.0":
100 | version "7.18.0"
101 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd"
102 | integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==
103 | dependencies:
104 | "@babel/helper-environment-visitor" "^7.16.7"
105 | "@babel/helper-module-imports" "^7.16.7"
106 | "@babel/helper-simple-access" "^7.17.7"
107 | "@babel/helper-split-export-declaration" "^7.16.7"
108 | "@babel/helper-validator-identifier" "^7.16.7"
109 | "@babel/template" "^7.16.7"
110 | "@babel/traverse" "^7.18.0"
111 | "@babel/types" "^7.18.0"
112 |
113 | "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12":
114 | version "7.17.12"
115 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96"
116 | integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==
117 |
118 | "@babel/helper-simple-access@^7.17.7":
119 | version "7.18.2"
120 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9"
121 | integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==
122 | dependencies:
123 | "@babel/types" "^7.18.2"
124 |
125 | "@babel/helper-split-export-declaration@^7.16.7":
126 | version "7.16.7"
127 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
128 | integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
129 | dependencies:
130 | "@babel/types" "^7.16.7"
131 |
132 | "@babel/helper-validator-identifier@^7.16.7":
133 | version "7.16.7"
134 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
135 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
136 |
137 | "@babel/helper-validator-option@^7.16.7":
138 | version "7.16.7"
139 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
140 | integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
141 |
142 | "@babel/helpers@^7.18.2":
143 | version "7.18.2"
144 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384"
145 | integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==
146 | dependencies:
147 | "@babel/template" "^7.16.7"
148 | "@babel/traverse" "^7.18.2"
149 | "@babel/types" "^7.18.2"
150 |
151 | "@babel/highlight@^7.16.7":
152 | version "7.17.12"
153 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351"
154 | integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==
155 | dependencies:
156 | "@babel/helper-validator-identifier" "^7.16.7"
157 | chalk "^2.0.0"
158 | js-tokens "^4.0.0"
159 |
160 | "@babel/parser@^7.16.7", "@babel/parser@^7.18.5":
161 | version "7.18.5"
162 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c"
163 | integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==
164 |
165 | "@babel/plugin-syntax-jsx@^7.17.12":
166 | version "7.17.12"
167 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.17.12.tgz#834035b45061983a491f60096f61a2e7c5674a47"
168 | integrity sha512-spyY3E3AURfxh/RHtjx5j6hs8am5NbUBGfcZ2vB3uShSpZdQyXSf5rR5Mk76vbtlAZOelyVQ71Fg0x9SG4fsog==
169 | dependencies:
170 | "@babel/helper-plugin-utils" "^7.17.12"
171 |
172 | "@babel/plugin-transform-react-jsx-development@^7.16.7":
173 | version "7.16.7"
174 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8"
175 | integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==
176 | dependencies:
177 | "@babel/plugin-transform-react-jsx" "^7.16.7"
178 |
179 | "@babel/plugin-transform-react-jsx-self@^7.16.7":
180 | version "7.17.12"
181 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.17.12.tgz#7f2e9b8c08d6a4204733138d8c29d4dba4bb66c2"
182 | integrity sha512-7S9G2B44EnYOx74mue02t1uD8ckWZ/ee6Uz/qfdzc35uWHX5NgRy9i+iJSb2LFRgMd+QV9zNcStQaazzzZ3n3Q==
183 | dependencies:
184 | "@babel/helper-plugin-utils" "^7.17.12"
185 |
186 | "@babel/plugin-transform-react-jsx-source@^7.16.7":
187 | version "7.16.7"
188 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.7.tgz#1879c3f23629d287cc6186a6c683154509ec70c0"
189 | integrity sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==
190 | dependencies:
191 | "@babel/helper-plugin-utils" "^7.16.7"
192 |
193 | "@babel/plugin-transform-react-jsx@^7.16.7", "@babel/plugin-transform-react-jsx@^7.17.3":
194 | version "7.17.12"
195 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.12.tgz#2aa20022709cd6a3f40b45d60603d5f269586dba"
196 | integrity sha512-Lcaw8bxd1DKht3thfD4A12dqo1X16he1Lm8rIv8sTwjAYNInRS1qHa9aJoqvzpscItXvftKDCfaEQzwoVyXpEQ==
197 | dependencies:
198 | "@babel/helper-annotate-as-pure" "^7.16.7"
199 | "@babel/helper-module-imports" "^7.16.7"
200 | "@babel/helper-plugin-utils" "^7.17.12"
201 | "@babel/plugin-syntax-jsx" "^7.17.12"
202 | "@babel/types" "^7.17.12"
203 |
204 | "@babel/template@^7.16.7":
205 | version "7.16.7"
206 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
207 | integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
208 | dependencies:
209 | "@babel/code-frame" "^7.16.7"
210 | "@babel/parser" "^7.16.7"
211 | "@babel/types" "^7.16.7"
212 |
213 | "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5":
214 | version "7.18.5"
215 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd"
216 | integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==
217 | dependencies:
218 | "@babel/code-frame" "^7.16.7"
219 | "@babel/generator" "^7.18.2"
220 | "@babel/helper-environment-visitor" "^7.18.2"
221 | "@babel/helper-function-name" "^7.17.9"
222 | "@babel/helper-hoist-variables" "^7.16.7"
223 | "@babel/helper-split-export-declaration" "^7.16.7"
224 | "@babel/parser" "^7.18.5"
225 | "@babel/types" "^7.18.4"
226 | debug "^4.1.0"
227 | globals "^11.1.0"
228 |
229 | "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.17.12", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4":
230 | version "7.18.4"
231 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354"
232 | integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==
233 | dependencies:
234 | "@babel/helper-validator-identifier" "^7.16.7"
235 | to-fast-properties "^2.0.0"
236 |
237 | "@jridgewell/gen-mapping@^0.1.0":
238 | version "0.1.1"
239 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
240 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
241 | dependencies:
242 | "@jridgewell/set-array" "^1.0.0"
243 | "@jridgewell/sourcemap-codec" "^1.4.10"
244 |
245 | "@jridgewell/gen-mapping@^0.3.0":
246 | version "0.3.1"
247 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9"
248 | integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==
249 | dependencies:
250 | "@jridgewell/set-array" "^1.0.0"
251 | "@jridgewell/sourcemap-codec" "^1.4.10"
252 | "@jridgewell/trace-mapping" "^0.3.9"
253 |
254 | "@jridgewell/resolve-uri@^3.0.3":
255 | version "3.0.7"
256 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe"
257 | integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==
258 |
259 | "@jridgewell/set-array@^1.0.0":
260 | version "1.1.1"
261 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea"
262 | integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==
263 |
264 | "@jridgewell/sourcemap-codec@^1.4.10":
265 | version "1.4.13"
266 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
267 | integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==
268 |
269 | "@jridgewell/trace-mapping@^0.3.9":
270 | version "0.3.13"
271 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea"
272 | integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==
273 | dependencies:
274 | "@jridgewell/resolve-uri" "^3.0.3"
275 | "@jridgewell/sourcemap-codec" "^1.4.10"
276 |
277 | "@rollup/pluginutils@^4.2.1":
278 | version "4.2.1"
279 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d"
280 | integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==
281 | dependencies:
282 | estree-walker "^2.0.1"
283 | picomatch "^2.2.2"
284 |
285 | "@types/prop-types@*":
286 | version "15.7.5"
287 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
288 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
289 |
290 | "@types/react-dom@^18.0.0":
291 | version "18.0.5"
292 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.5.tgz#330b2d472c22f796e5531446939eacef8378444a"
293 | integrity sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==
294 | dependencies:
295 | "@types/react" "*"
296 |
297 | "@types/react@*", "@types/react@^18.0.0":
298 | version "18.0.14"
299 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.14.tgz#e016616ffff51dba01b04945610fe3671fdbe06d"
300 | integrity sha512-x4gGuASSiWmo0xjDLpm5mPb52syZHJx02VKbqUKdLmKtAwIh63XClGsiTI1K6DO5q7ox4xAsQrU+Gl3+gGXF9Q==
301 | dependencies:
302 | "@types/prop-types" "*"
303 | "@types/scheduler" "*"
304 | csstype "^3.0.2"
305 |
306 | "@types/scheduler@*":
307 | version "0.16.2"
308 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
309 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
310 |
311 | "@vitejs/plugin-react@^1.3.0":
312 | version "1.3.2"
313 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-1.3.2.tgz#2fcf0b6ce9bcdcd4cec5c760c199779d5657ece1"
314 | integrity sha512-aurBNmMo0kz1O4qRoY+FM4epSA39y3ShWGuqfLRA/3z0oEJAdtoSfgA3aO98/PCCHAqMaduLxIxErWrVKIFzXA==
315 | dependencies:
316 | "@babel/core" "^7.17.10"
317 | "@babel/plugin-transform-react-jsx" "^7.17.3"
318 | "@babel/plugin-transform-react-jsx-development" "^7.16.7"
319 | "@babel/plugin-transform-react-jsx-self" "^7.16.7"
320 | "@babel/plugin-transform-react-jsx-source" "^7.16.7"
321 | "@rollup/pluginutils" "^4.2.1"
322 | react-refresh "^0.13.0"
323 | resolve "^1.22.0"
324 |
325 | ansi-styles@^3.2.1:
326 | version "3.2.1"
327 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
328 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
329 | dependencies:
330 | color-convert "^1.9.0"
331 |
332 | browserslist@^4.20.2:
333 | version "4.21.0"
334 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe"
335 | integrity sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA==
336 | dependencies:
337 | caniuse-lite "^1.0.30001358"
338 | electron-to-chromium "^1.4.164"
339 | node-releases "^2.0.5"
340 | update-browserslist-db "^1.0.0"
341 |
342 | caniuse-lite@^1.0.30001358:
343 | version "1.0.30001359"
344 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz#a1c1cbe1c2da9e689638813618b4219acbd4925e"
345 | integrity sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw==
346 |
347 | chalk@^2.0.0:
348 | version "2.4.2"
349 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
350 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
351 | dependencies:
352 | ansi-styles "^3.2.1"
353 | escape-string-regexp "^1.0.5"
354 | supports-color "^5.3.0"
355 |
356 | color-convert@^1.9.0:
357 | version "1.9.3"
358 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
359 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
360 | dependencies:
361 | color-name "1.1.3"
362 |
363 | color-name@1.1.3:
364 | version "1.1.3"
365 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
366 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
367 |
368 | convert-source-map@^1.7.0:
369 | version "1.8.0"
370 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
371 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
372 | dependencies:
373 | safe-buffer "~5.1.1"
374 |
375 | csstype@^3.0.2:
376 | version "3.1.0"
377 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2"
378 | integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==
379 |
380 | debug@^4.1.0:
381 | version "4.3.4"
382 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
383 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
384 | dependencies:
385 | ms "2.1.2"
386 |
387 | electron-to-chromium@^1.4.164:
388 | version "1.4.170"
389 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.170.tgz#0415fc489402e09bfbe1f0c99bbf4d73f31d48d4"
390 | integrity sha512-rZ8PZLhK4ORPjFqLp9aqC4/S1j4qWFsPPz13xmWdrbBkU/LlxMcok+f+6f8YnQ57MiZwKtOaW15biZZsY5Igvw==
391 |
392 | esbuild-android-64@0.14.47:
393 | version "0.14.47"
394 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz#ef95b42c67bcf4268c869153fa3ad1466c4cea6b"
395 | integrity sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==
396 |
397 | esbuild-android-arm64@0.14.47:
398 | version "0.14.47"
399 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz#4ebd7ce9fb250b4695faa3ee46fd3b0754ecd9e6"
400 | integrity sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==
401 |
402 | esbuild-darwin-64@0.14.47:
403 | version "0.14.47"
404 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz#e0da6c244f497192f951807f003f6a423ed23188"
405 | integrity sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==
406 |
407 | esbuild-darwin-arm64@0.14.47:
408 | version "0.14.47"
409 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz#cd40fd49a672fca581ed202834239dfe540a9028"
410 | integrity sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==
411 |
412 | esbuild-freebsd-64@0.14.47:
413 | version "0.14.47"
414 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz#8da6a14c095b29c01fc8087a16cb7906debc2d67"
415 | integrity sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==
416 |
417 | esbuild-freebsd-arm64@0.14.47:
418 | version "0.14.47"
419 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz#ad31f9c92817ff8f33fd253af7ab5122dc1b83f6"
420 | integrity sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==
421 |
422 | esbuild-linux-32@0.14.47:
423 | version "0.14.47"
424 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz#de085e4db2e692ea30c71208ccc23fdcf5196c58"
425 | integrity sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==
426 |
427 | esbuild-linux-64@0.14.47:
428 | version "0.14.47"
429 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz#2a9321bbccb01f01b04cebfcfccbabeba3658ba1"
430 | integrity sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==
431 |
432 | esbuild-linux-arm64@0.14.47:
433 | version "0.14.47"
434 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz#b9da7b6fc4b0ca7a13363a0c5b7bb927e4bc535a"
435 | integrity sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==
436 |
437 | esbuild-linux-arm@0.14.47:
438 | version "0.14.47"
439 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz#56fec2a09b9561c337059d4af53625142aded853"
440 | integrity sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==
441 |
442 | esbuild-linux-mips64le@0.14.47:
443 | version "0.14.47"
444 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz#9db21561f8f22ed79ef2aedb7bbef082b46cf823"
445 | integrity sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==
446 |
447 | esbuild-linux-ppc64le@0.14.47:
448 | version "0.14.47"
449 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz#dc3a3da321222b11e96e50efafec9d2de408198b"
450 | integrity sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==
451 |
452 | esbuild-linux-riscv64@0.14.47:
453 | version "0.14.47"
454 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz#9bd6dcd3dca6c0357084ecd06e1d2d4bf105335f"
455 | integrity sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==
456 |
457 | esbuild-linux-s390x@0.14.47:
458 | version "0.14.47"
459 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz#a458af939b52f2cd32fc561410d441a51f69d41f"
460 | integrity sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==
461 |
462 | esbuild-netbsd-64@0.14.47:
463 | version "0.14.47"
464 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz#6388e785d7e7e4420cb01348d7483ab511b16aa8"
465 | integrity sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==
466 |
467 | esbuild-openbsd-64@0.14.47:
468 | version "0.14.47"
469 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz#309af806db561aa886c445344d1aacab850dbdc5"
470 | integrity sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==
471 |
472 | esbuild-sunos-64@0.14.47:
473 | version "0.14.47"
474 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz#3f19612dcdb89ba6c65283a7ff6e16f8afbf8aaa"
475 | integrity sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==
476 |
477 | esbuild-windows-32@0.14.47:
478 | version "0.14.47"
479 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz#a92d279c8458d5dc319abcfeb30aa49e8f2e6f7f"
480 | integrity sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==
481 |
482 | esbuild-windows-64@0.14.47:
483 | version "0.14.47"
484 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz#2564c3fcf0c23d701edb71af8c52d3be4cec5f8a"
485 | integrity sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==
486 |
487 | esbuild-windows-arm64@0.14.47:
488 | version "0.14.47"
489 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz#86d9db1a22d83360f726ac5fba41c2f625db6878"
490 | integrity sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==
491 |
492 | esbuild@^0.14.27:
493 | version "0.14.47"
494 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.47.tgz#0d6415f6bd8eb9e73a58f7f9ae04c5276cda0e4d"
495 | integrity sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==
496 | optionalDependencies:
497 | esbuild-android-64 "0.14.47"
498 | esbuild-android-arm64 "0.14.47"
499 | esbuild-darwin-64 "0.14.47"
500 | esbuild-darwin-arm64 "0.14.47"
501 | esbuild-freebsd-64 "0.14.47"
502 | esbuild-freebsd-arm64 "0.14.47"
503 | esbuild-linux-32 "0.14.47"
504 | esbuild-linux-64 "0.14.47"
505 | esbuild-linux-arm "0.14.47"
506 | esbuild-linux-arm64 "0.14.47"
507 | esbuild-linux-mips64le "0.14.47"
508 | esbuild-linux-ppc64le "0.14.47"
509 | esbuild-linux-riscv64 "0.14.47"
510 | esbuild-linux-s390x "0.14.47"
511 | esbuild-netbsd-64 "0.14.47"
512 | esbuild-openbsd-64 "0.14.47"
513 | esbuild-sunos-64 "0.14.47"
514 | esbuild-windows-32 "0.14.47"
515 | esbuild-windows-64 "0.14.47"
516 | esbuild-windows-arm64 "0.14.47"
517 |
518 | escalade@^3.1.1:
519 | version "3.1.1"
520 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
521 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
522 |
523 | escape-string-regexp@^1.0.5:
524 | version "1.0.5"
525 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
526 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
527 |
528 | estree-walker@^2.0.1:
529 | version "2.0.2"
530 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
531 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
532 |
533 | fsevents@~2.3.2:
534 | version "2.3.2"
535 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
536 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
537 |
538 | function-bind@^1.1.1:
539 | version "1.1.1"
540 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
541 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
542 |
543 | gensync@^1.0.0-beta.2:
544 | version "1.0.0-beta.2"
545 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
546 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
547 |
548 | globals@^11.1.0:
549 | version "11.12.0"
550 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
551 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
552 |
553 | has-flag@^3.0.0:
554 | version "3.0.0"
555 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
556 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
557 |
558 | has@^1.0.3:
559 | version "1.0.3"
560 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
561 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
562 | dependencies:
563 | function-bind "^1.1.1"
564 |
565 | is-core-module@^2.9.0:
566 | version "2.9.0"
567 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
568 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
569 | dependencies:
570 | has "^1.0.3"
571 |
572 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
573 | version "4.0.0"
574 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
575 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
576 |
577 | jsesc@^2.5.1:
578 | version "2.5.2"
579 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
580 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
581 |
582 | json5@^2.2.1:
583 | version "2.2.1"
584 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
585 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
586 |
587 | loose-envify@^1.1.0:
588 | version "1.4.0"
589 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
590 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
591 | dependencies:
592 | js-tokens "^3.0.0 || ^4.0.0"
593 |
594 | ms@2.1.2:
595 | version "2.1.2"
596 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
597 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
598 |
599 | nanoid@^3.3.4:
600 | version "3.3.4"
601 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
602 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
603 |
604 | node-releases@^2.0.5:
605 | version "2.0.5"
606 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666"
607 | integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==
608 |
609 | path-parse@^1.0.7:
610 | version "1.0.7"
611 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
612 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
613 |
614 | picocolors@^1.0.0:
615 | version "1.0.0"
616 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
617 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
618 |
619 | picomatch@^2.2.2:
620 | version "2.3.1"
621 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
622 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
623 |
624 | postcss@^8.4.13:
625 | version "8.4.14"
626 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
627 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
628 | dependencies:
629 | nanoid "^3.3.4"
630 | picocolors "^1.0.0"
631 | source-map-js "^1.0.2"
632 |
633 | react-dom@^18.0.0:
634 | version "18.2.0"
635 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
636 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
637 | dependencies:
638 | loose-envify "^1.1.0"
639 | scheduler "^0.23.0"
640 |
641 | react-icons@^4.4.0:
642 | version "4.4.0"
643 | resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.4.0.tgz#a13a8a20c254854e1ec9aecef28a95cdf24ef703"
644 | integrity sha512-fSbvHeVYo/B5/L4VhB7sBA1i2tS8MkT0Hb9t2H1AVPkwGfVHLJCqyr2Py9dKMxsyM63Eng1GkdZfbWj+Fmv8Rg==
645 |
646 | react-refresh@^0.13.0:
647 | version "0.13.0"
648 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.13.0.tgz#cbd01a4482a177a5da8d44c9755ebb1f26d5a1c1"
649 | integrity sha512-XP8A9BT0CpRBD+NYLLeIhld/RqG9+gktUjW1FkE+Vm7OCinbG1SshcK5tb9ls4kzvjZr9mOQc7HYgBngEyPAXg==
650 |
651 | react@^18.0.0:
652 | version "18.2.0"
653 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
654 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
655 | dependencies:
656 | loose-envify "^1.1.0"
657 |
658 | resolve@^1.22.0:
659 | version "1.22.1"
660 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
661 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
662 | dependencies:
663 | is-core-module "^2.9.0"
664 | path-parse "^1.0.7"
665 | supports-preserve-symlinks-flag "^1.0.0"
666 |
667 | rollup@^2.59.0:
668 | version "2.75.7"
669 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.7.tgz#221ff11887ae271e37dcc649ba32ce1590aaa0b9"
670 | integrity sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==
671 | optionalDependencies:
672 | fsevents "~2.3.2"
673 |
674 | safe-buffer@~5.1.1:
675 | version "5.1.2"
676 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
677 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
678 |
679 | scheduler@^0.23.0:
680 | version "0.23.0"
681 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
682 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
683 | dependencies:
684 | loose-envify "^1.1.0"
685 |
686 | semver@^6.3.0:
687 | version "6.3.0"
688 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
689 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
690 |
691 | source-map-js@^1.0.2:
692 | version "1.0.2"
693 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
694 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
695 |
696 | supports-color@^5.3.0:
697 | version "5.5.0"
698 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
699 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
700 | dependencies:
701 | has-flag "^3.0.0"
702 |
703 | supports-preserve-symlinks-flag@^1.0.0:
704 | version "1.0.0"
705 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
706 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
707 |
708 | to-fast-properties@^2.0.0:
709 | version "2.0.0"
710 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
711 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
712 |
713 | update-browserslist-db@^1.0.0:
714 | version "1.0.4"
715 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824"
716 | integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==
717 | dependencies:
718 | escalade "^3.1.1"
719 | picocolors "^1.0.0"
720 |
721 | vite@^2.9.9:
722 | version "2.9.12"
723 | resolved "https://registry.yarnpkg.com/vite/-/vite-2.9.12.tgz#b1d636b0a8ac636afe9d83e3792d4895509a941b"
724 | integrity sha512-suxC36dQo9Rq1qMB2qiRorNJtJAdxguu5TMvBHOc/F370KvqAe9t48vYp+/TbPKRNrMh/J55tOUmkuIqstZaew==
725 | dependencies:
726 | esbuild "^0.14.27"
727 | postcss "^8.4.13"
728 | resolve "^1.22.0"
729 | rollup "^2.59.0"
730 | optionalDependencies:
731 | fsevents "~2.3.2"
732 |
--------------------------------------------------------------------------------