├── .gitignore
├── index.html
├── package.json
├── public
└── vite.svg
├── src
├── App.css
├── App.tsx
├── assets
│ ├── react.svg
│ └── style
│ │ ├── addTodo.css
│ │ └── listTodo.css
├── component
│ ├── AddTodo.tsx
│ └── Listtodo.tsx
├── index.css
├── main.tsx
├── redux
│ ├── TodoReducer
│ │ ├── todoActions.ts
│ │ └── todoReducer.ts
│ └── store.ts
├── type.ts
└── vite-env.d.ts
├── tsconfig.json
├── tsconfig.node.json
├── vite.config.ts
└── 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 | Vite + React + TS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "typescript-todo-frontend",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "tsc && vite build",
9 | "preview": "vite preview"
10 | },
11 | "dependencies": {
12 | "react": "^18.2.0",
13 | "react-dom": "^18.2.0",
14 | "react-redux": "^8.0.5",
15 | "redux": "^4.2.1",
16 | "redux-thunk": "^2.4.2"
17 | },
18 | "devDependencies": {
19 | "@types/react": "^18.0.28",
20 | "@types/react-dom": "^18.0.11",
21 | "@types/react-redux": "^7.1.25",
22 | "@types/redux": "^3.6.0",
23 | "@types/redux-thunk": "^2.1.0",
24 | "@vitejs/plugin-react-swc": "^3.0.0",
25 | "typescript": "^4.9.3",
26 | "vite": "^4.2.0"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/App.css:
--------------------------------------------------------------------------------
1 | #root {
2 | max-width: 1280px;
3 | margin: 0 auto;
4 | padding: 2rem;
5 | text-align: center;
6 | }
7 | .contentBox {
8 | border: 1px solid red;
9 | min-height: 400px;
10 | min-width: 400px;
11 | }
12 |
--------------------------------------------------------------------------------
/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from 'react'
2 | import './App.css'
3 | import AddTodo from './component/AddTodo'
4 | import { rootReducerType } from './redux/store'
5 | import { useSelector } from 'react-redux'
6 | import Listtodo from './component/Listtodo'
7 | import { TodoTask } from './type'
8 |
9 | function App() {
10 | const {
11 | iserror,
12 | isloading,
13 | todoList
14 | } = useSelector((store: rootReducerType) => store.todolist)
15 |
16 |
17 | return (
18 |
19 |
Todo App with typescript
20 |
21 |
22 | {
23 | todoList.map((todo: TodoTask, index :number) => {
24 | return
25 | })
26 | }
27 |
28 |
29 | )
30 | }
31 |
32 | export default App
33 |
--------------------------------------------------------------------------------
/src/assets/react.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/style/addTodo.css:
--------------------------------------------------------------------------------
1 | .addBox {
2 | width: 100%;
3 |
4 | }
5 | .form{
6 | display: flex;
7 | justify-content: space-between;
8 | padding: 10px 5%;
9 | }
10 | input{
11 | width: 90%;
12 | height: 30px;
13 | outline: none;
14 | padding-left: 10px;
15 | }
16 | button{
17 | height: 34px;
18 | }
19 |
--------------------------------------------------------------------------------
/src/assets/style/listTodo.css:
--------------------------------------------------------------------------------
1 | .listbar {
2 | width: 80%;
3 | padding: 1rem 6%;
4 | margin: auto;
5 | margin-top: 10px;
6 | display: flex;
7 | justify-content: space-around;
8 | align-items: center;
9 | box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/src/component/AddTodo.tsx:
--------------------------------------------------------------------------------
1 | import React, { FormEvent, ChangeEvent, useState, Dispatch, useRef } from 'react'
2 | import '../assets/style/addTodo.css'
3 | import { useDispatch } from 'react-redux'
4 | import { addTodo } from '../redux/TodoReducer/todoActions'
5 |
6 | const AddTodo: React.FC = () => {
7 | const [context, setContext] = useState('')
8 | const dispatch = useDispatch()
9 | const focus = useRef(null)
10 | const handleChange = (event: ChangeEvent) => {
11 | setContext(event.target.value)
12 | }
13 |
14 | const handleadd = (event: FormEvent) => {
15 | event.preventDefault()
16 | addTodo(context)(dispatch)
17 | setContext('')
18 | focus.current?.focus()
19 | }
20 | return (
21 | handleadd(event)}>
22 |
26 |
27 | )
28 | }
29 |
30 | export default AddTodo
31 |
--------------------------------------------------------------------------------
/src/component/Listtodo.tsx:
--------------------------------------------------------------------------------
1 | import React, { ChangeEvent, useState } from 'react'
2 | import { TodoTask } from '../type'
3 | import "../assets/style/listTodo.css"
4 | import { useDispatch } from 'react-redux'
5 | import { deleteTodoTask } from '../redux/TodoReducer/todoActions'
6 |
7 | interface ListTodoType {
8 | todo: TodoTask
9 | }
10 |
11 | const Listtodo: React.FC = ({ todo }) => {
12 | console.log('Listtodo', todo)
13 | const dispatch = useDispatch()
14 | const deletetask = (id: number) => {
15 | deleteTodoTask(id)(dispatch)
16 | }
17 | const [isedit, setIsedit] = useState(false)
18 | const [value, setValue] = useState(todo.context)
19 | const handleeditvalue = (event: ChangeEvent) => {
20 | setValue(event.target.value)
21 | }
22 | const handleEdit = (id: number) => { }
23 | return (
24 |
25 | {
26 | isedit ?
:
27 |
setIsedit((prev) => !prev)}>{todo.context}
28 | }
29 |
30 |
31 |
32 | )
33 | }
34 |
35 | export default Listtodo
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | :root {
2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
3 | line-height: 1.5;
4 | font-weight: 400;
5 |
6 | color-scheme: light dark;
7 | color: rgba(255, 255, 255, 0.87);
8 | background-color: #242424;
9 |
10 | font-synthesis: none;
11 | text-rendering: optimizeLegibility;
12 | -webkit-font-smoothing: antialiased;
13 | -moz-osx-font-smoothing: grayscale;
14 | -webkit-text-size-adjust: 100%;
15 | }
16 |
17 | a {
18 | font-weight: 500;
19 | color: #646cff;
20 | text-decoration: inherit;
21 | }
22 | a:hover {
23 | color: #535bf2;
24 | }
25 |
26 | body {
27 | margin: 0;
28 | display: flex;
29 | place-items: center;
30 | min-width: 320px;
31 | min-height: 100vh;
32 | }
33 |
34 | h1 {
35 | font-size: 3.2em;
36 | line-height: 1.1;
37 | }
38 |
39 | button {
40 | border-radius: 8px;
41 | border: 1px solid transparent;
42 | padding: 0.6em 1.2em;
43 | font-size: 1em;
44 | font-weight: 500;
45 | font-family: inherit;
46 | background-color: #1a1a1a;
47 | cursor: pointer;
48 | transition: border-color 0.25s;
49 | }
50 | button:hover {
51 | border-color: #646cff;
52 | }
53 | button:focus,
54 | button:focus-visible {
55 | outline: 4px auto -webkit-focus-ring-color;
56 | }
57 |
58 | @media (prefers-color-scheme: light) {
59 | :root {
60 | color: #213547;
61 | background-color: #ffffff;
62 | }
63 | a:hover {
64 | color: #747bff;
65 | }
66 | button {
67 | background-color: #f9f9f9;
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom/client'
3 | import App from './App'
4 | import './index.css'
5 | import { Provider } from 'react-redux'
6 | import { store } from './redux/store'
7 |
8 | ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
9 |
10 |
11 |
12 |
13 | ,
14 | )
15 |
--------------------------------------------------------------------------------
/src/redux/TodoReducer/todoActions.ts:
--------------------------------------------------------------------------------
1 | import { Dispatch } from "react";
2 | import { ActionTypes, payloadType } from "../../type";
3 |
4 | export const addTodo = (payload: payloadType) => (dispatch: Dispatch<{ type: ActionTypes, payload?: payloadType }>) => {
5 | dispatch({
6 | type: ActionTypes.LOADING
7 | })
8 |
9 | dispatch({
10 | type: ActionTypes.COMPLETED,
11 | payload: payload
12 | })
13 | // dispatch({
14 | // type: ActionTypes.ERROR
15 | // })
16 | }
17 | export const deleteTodoTask = (payload: number) => (dispatch: Dispatch<{
18 | type: ActionTypes, payload: {
19 | id: number,
20 | }
21 | }>) => {
22 | dispatch({
23 | type: ActionTypes.DELETE, payload: {
24 | id: payload
25 | }
26 | })
27 | }
28 |
29 | interface editPayload {
30 | id: number,
31 | context: string
32 | }
33 | export const editvalue = (payload: { id: number, context: string }) => (dispatch: Dispatch<{
34 | type: ActionTypes, payload: payloadType
35 | }>) => {
36 |
37 | dispatch({ type: ActionTypes.UPDATE, payload: payload })
38 | }
--------------------------------------------------------------------------------
/src/redux/TodoReducer/todoReducer.ts:
--------------------------------------------------------------------------------
1 | import { ActionType, ActionTypes, TodoTask, Todos, initialStatetype } from "../../type";
2 |
3 |
4 | export const initialState: initialStatetype = {
5 | isloading: false,
6 | iserror: false,
7 | todoList: []
8 | }
9 |
10 | export const todoReducer = (state = initialState, action: ActionType) => {
11 | switch (action.type) {
12 | case ActionTypes.LOADING: {
13 | return {
14 | ...state,
15 | isloading: true
16 | }
17 | }
18 | case ActionTypes.ERROR: {
19 | return {
20 | ...state,
21 | iserror: true
22 | }
23 | }
24 | case ActionTypes.COMPLETED: {
25 | return {
26 | ...state,
27 | isloading: false,
28 | iserror: false,
29 | todoList: [
30 | ...state.todoList,
31 | {
32 | id: state.todoList.length + 1,
33 | isdone: false,
34 | context: action.payload
35 | }
36 | ]
37 | }
38 | }
39 | case ActionTypes.UPDATE: {
40 | let targetContext = state.todoList.map((todo) => {
41 | if (todo.id !== action.payload.id) return todo
42 | else return {
43 | ...todo,
44 | context: action.payload.context
45 | }
46 | })
47 | console.log("update", {
48 |
49 | ...state,
50 | todoList: targetContext
51 | })
52 | return {
53 | ...state,
54 | todoList: [
55 | ...state.todoList,
56 | ...targetContext]
57 | }
58 |
59 | }
60 | case ActionTypes.DELETE: {
61 | const DeleteTask = state.todoList.filter(todoObject => todoObject.id != action.payload.id)
62 | return {
63 | ...state,
64 | todoList: [
65 | ...DeleteTask
66 | ]
67 | }
68 | }
69 |
70 |
71 | default: return state
72 | }
73 | }
--------------------------------------------------------------------------------
/src/redux/store.ts:
--------------------------------------------------------------------------------
1 | import { applyMiddleware, combineReducers, compose, legacy_createStore } from "redux";
2 | import { todoReducer } from "./TodoReducer/todoReducer";
3 | import { initialStatetype } from "../type";
4 | // import { composeWithDevTools } from '@redux-devtools/extension';
5 | import thunk from "redux-thunk"
6 |
7 | declare global {
8 | interface Window {
9 | __REDUX_DEVTOOLS_EXTENSION_COMPOSE__?: typeof compose;
10 | }
11 | }
12 |
13 | const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
14 |
15 | export type rootReducerType = {
16 | todolist: initialStatetype
17 | }
18 |
19 | const rootReducer = combineReducers({
20 | todolist: todoReducer
21 | })
22 |
23 |
24 | export const store = legacy_createStore(rootReducer,
25 | // composeWithDevTools(
26 | composeEnhancers(
27 | applyMiddleware(thunk)
28 | )
29 | // )
30 | )
31 |
--------------------------------------------------------------------------------
/src/type.ts:
--------------------------------------------------------------------------------
1 | export interface TodoTask {
2 | id: number,
3 | context: string,
4 | isdone: boolean
5 | }
6 | export type Todos = TodoTask[];
7 |
8 |
9 | export interface initialStatetype {
10 | isloading: boolean,
11 | iserror: boolean,
12 | todoList: Todos | []
13 | }
14 |
15 |
16 | // export const ActionTypes: string = LOADING | ERROR | COMPLETED | UPDATE | DELETE
17 |
18 | export enum ActionTypes {
19 | LOADING = "loading",
20 | ERROR = "error",
21 | COMPLETED = "completed",
22 | UPDATE = "update",
23 | DELETE = "delete",
24 | }
25 | export type payloadType = {
26 | id: number,
27 | context: string
28 | }
29 |
30 |
31 |
32 | export interface ActionType {
33 | payload: payloadType,
34 | type: ActionTypes
35 | }
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "lib": ["DOM", "DOM.Iterable", "ESNext"],
6 | "allowJs": false,
7 | "skipLibCheck": true,
8 | "esModuleInterop": false,
9 | "allowSyntheticDefaultImports": true,
10 | "strict": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Node",
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "noEmit": true,
17 | "jsx": "react-jsx"
18 | },
19 | "include": ["src"],
20 | "references": [{ "path": "./tsconfig.node.json" }]
21 | }
22 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "ESNext",
5 | "moduleResolution": "Node",
6 | "allowSyntheticDefaultImports": true
7 | },
8 | "include": ["vite.config.ts"]
9 | }
10 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react-swc'
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 | "@babel/runtime@^7.12.1", "@babel/runtime@^7.9.2":
6 | version "7.21.0"
7 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673"
8 | integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==
9 | dependencies:
10 | regenerator-runtime "^0.13.11"
11 |
12 | "@esbuild/android-arm64@0.17.16":
13 | version "0.17.16"
14 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.16.tgz#7b18cab5f4d93e878306196eed26b6d960c12576"
15 | integrity sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q==
16 |
17 | "@esbuild/android-arm@0.17.16":
18 | version "0.17.16"
19 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.16.tgz#5c47f6a7c2cada6ed4b4d4e72d8c66e76d812812"
20 | integrity sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==
21 |
22 | "@esbuild/android-x64@0.17.16":
23 | version "0.17.16"
24 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.16.tgz#8686a6e98359071ffd5312046551943e7244c51a"
25 | integrity sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow==
26 |
27 | "@esbuild/darwin-arm64@0.17.16":
28 | version "0.17.16"
29 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.16.tgz#aa79fbf447630ca0696a596beba962a775bbf394"
30 | integrity sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==
31 |
32 | "@esbuild/darwin-x64@0.17.16":
33 | version "0.17.16"
34 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.16.tgz#d5d68ee510507104da7e7503224c647c957e163e"
35 | integrity sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ==
36 |
37 | "@esbuild/freebsd-arm64@0.17.16":
38 | version "0.17.16"
39 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.16.tgz#b00b4cc8c2e424907cfe3a607384ab24794edd52"
40 | integrity sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA==
41 |
42 | "@esbuild/freebsd-x64@0.17.16":
43 | version "0.17.16"
44 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.16.tgz#84af4430a07730b50bbc945a90cf7036c1853b76"
45 | integrity sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g==
46 |
47 | "@esbuild/linux-arm64@0.17.16":
48 | version "0.17.16"
49 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.16.tgz#35571d15de6272c862d9ce6341372fb3cef0f266"
50 | integrity sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA==
51 |
52 | "@esbuild/linux-arm@0.17.16":
53 | version "0.17.16"
54 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.16.tgz#b65c7cd5b0eadd08f91aab66b9dda81b6a4b2a70"
55 | integrity sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw==
56 |
57 | "@esbuild/linux-ia32@0.17.16":
58 | version "0.17.16"
59 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.16.tgz#673a68cb251ce44a00a6422ada29064c5a1cd2c0"
60 | integrity sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA==
61 |
62 | "@esbuild/linux-loong64@0.17.16":
63 | version "0.17.16"
64 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.16.tgz#477e2da34ab46ffdbf4740fa6441e80045249385"
65 | integrity sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==
66 |
67 | "@esbuild/linux-mips64el@0.17.16":
68 | version "0.17.16"
69 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.16.tgz#e1e9687bbdaa831d7c34edc9278200982c1a4bf4"
70 | integrity sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA==
71 |
72 | "@esbuild/linux-ppc64@0.17.16":
73 | version "0.17.16"
74 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.16.tgz#2f19075d63622987e86e83a4b7866cd57b796c60"
75 | integrity sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q==
76 |
77 | "@esbuild/linux-riscv64@0.17.16":
78 | version "0.17.16"
79 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.16.tgz#bbf40a38f03ba2434fe69b5ceeec5d13c742b329"
80 | integrity sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA==
81 |
82 | "@esbuild/linux-s390x@0.17.16":
83 | version "0.17.16"
84 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.16.tgz#d2b8c0779ccd2b7917cdf0fab8831a468e0f9c01"
85 | integrity sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw==
86 |
87 | "@esbuild/linux-x64@0.17.16":
88 | version "0.17.16"
89 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.16.tgz#da48b39cfdc1b12a74976625f583f031eac43590"
90 | integrity sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g==
91 |
92 | "@esbuild/netbsd-x64@0.17.16":
93 | version "0.17.16"
94 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.16.tgz#ddef985aed37cc81908d2573b66c0299dbc49037"
95 | integrity sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA==
96 |
97 | "@esbuild/openbsd-x64@0.17.16":
98 | version "0.17.16"
99 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.16.tgz#85035bf89efd66e9068bc72aa6bb85a2c317d090"
100 | integrity sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew==
101 |
102 | "@esbuild/sunos-x64@0.17.16":
103 | version "0.17.16"
104 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.16.tgz#16338ecab854cb2d831cc9ee9cc21ef69566e1f3"
105 | integrity sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag==
106 |
107 | "@esbuild/win32-arm64@0.17.16":
108 | version "0.17.16"
109 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.16.tgz#423f46bb744aff897a5f74435469e1ef4952e343"
110 | integrity sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg==
111 |
112 | "@esbuild/win32-ia32@0.17.16":
113 | version "0.17.16"
114 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.16.tgz#1978be5b192c7063bd2c8d5960eb213e1964740e"
115 | integrity sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA==
116 |
117 | "@esbuild/win32-x64@0.17.16":
118 | version "0.17.16"
119 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.16.tgz#260f19b0a3300d22c3a3f52722c671dc561edaa3"
120 | integrity sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg==
121 |
122 | "@swc/core-darwin-arm64@1.3.50":
123 | version "1.3.50"
124 | resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.50.tgz#d665b79dc308dda2d250e44461edc7f7bb091f5e"
125 | integrity sha512-riJGLORCFOMeUccEV0hzua0iyJFks7kef+5GfcmC93SLno+LHFDnaJ4mKVXcCAmQ7GYhVTPJs9gSHIW2fO5anQ==
126 |
127 | "@swc/core-darwin-x64@1.3.50":
128 | version "1.3.50"
129 | resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.50.tgz#8201b90f19b0cbec9099655600d52552c07ce592"
130 | integrity sha512-XaAhpeUoAK8tOUYSXH/v35yEjIoSP6ClGV/EaqBmDuCzAPue6uJMlIAW+nTmdtqVm5ZNZy2cKtP4ZHhVlfl7xw==
131 |
132 | "@swc/core-linux-arm-gnueabihf@1.3.50":
133 | version "1.3.50"
134 | resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.50.tgz#9ae3b044cbeb871df293f7b281a48e5b37a1c011"
135 | integrity sha512-8hDtXs0T5biMtA3I21JQG1uxL+Hb/D2t0NZENuajVK5Vky3GXmf+ICVeQzwGzSXiyftaDgyNAvBidbKPBlNEtw==
136 |
137 | "@swc/core-linux-arm64-gnu@1.3.50":
138 | version "1.3.50"
139 | resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.50.tgz#6598d5a2af6e5bc1e4ea4eff3c8c6f102fcee10f"
140 | integrity sha512-iS908P5cNTHWus4QefSg2jn4lDYcl15sN1Fvx8fQgqYQra2O9CsR8lXBJYkvllykkzoKvWfcOLRCTquz3vsnVQ==
141 |
142 | "@swc/core-linux-arm64-musl@1.3.50":
143 | version "1.3.50"
144 | resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.50.tgz#e9733c0d4df035c50faea05c8630e1db7605c1ed"
145 | integrity sha512-ysh8MeaWjGqVwIPCDUhUOr4oczIx5qb8vFBoegI+SOUfcpWik22/+hG25LWzZY6PwAtqUGkhsJt/+5dY4IMhEA==
146 |
147 | "@swc/core-linux-x64-gnu@1.3.50":
148 | version "1.3.50"
149 | resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.50.tgz#f1afb3e0f31fc7e936bcc38387302b94690e2f3a"
150 | integrity sha512-Ci4LQaGIPweWNVWgR2f47nrYEfq7002Pj6WWKGrnO6g+k5cwR3izxHMOnZhcKyAD3cWOS904i/GbfgXs2wBCDQ==
151 |
152 | "@swc/core-linux-x64-musl@1.3.50":
153 | version "1.3.50"
154 | resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.50.tgz#fa93456591850caf76b15be99421af5d6fdf12a5"
155 | integrity sha512-SEXOhGjmC4rdBeucCvNmtO2vflUEhkmWLfqvkalHYDbPMA/gwLSoYu3D85u5XqB8DatDi4TOCUx80IR1b/vDBQ==
156 |
157 | "@swc/core-win32-arm64-msvc@1.3.50":
158 | version "1.3.50"
159 | resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.50.tgz#7afd5754514232ba951e12ffce879d18192faee4"
160 | integrity sha512-DPsJ2r9mYU8VzF9vhK323psyE8modj5be9M9diOsqF58Fu9ARtOfuulY+eiS5e41ya2XM/H2N/qOfsA+h2KRcg==
161 |
162 | "@swc/core-win32-ia32-msvc@1.3.50":
163 | version "1.3.50"
164 | resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.50.tgz#4032d941a7afd81a7e959f82d6a5d910a116653a"
165 | integrity sha512-2iyzHLat0C93S3XLp7QJ6RTA9Md+EcPl2fq1S/m2EZqofcq7wu5SuywaXoF89xOibOJBnWe6KwOnOFWFaXrPjQ==
166 |
167 | "@swc/core-win32-x64-msvc@1.3.50":
168 | version "1.3.50"
169 | resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.50.tgz#3fa800cfc82a7f5140c8bba93aef686c3c1bb3d5"
170 | integrity sha512-iFRU2Y5DVIEdjaWnlLij8QQBM5Q91UJotNNgzuevPSIOhOyhF6V2AQS1QC4mfkPCy3Bw0GrZDChu3GcuBj9Rzw==
171 |
172 | "@swc/core@^1.3.42":
173 | version "1.3.50"
174 | resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.50.tgz#f0a49f87a39119a3643929dd4578e84f83f98fe0"
175 | integrity sha512-soTAHlwkI8zukR9KftWZ0gZ7HKU99B/C3CtBxzSI3N23QG+EfSSOgrYARfuZk5g4yLWpsU0rEkojd78vixqkwg==
176 | optionalDependencies:
177 | "@swc/core-darwin-arm64" "1.3.50"
178 | "@swc/core-darwin-x64" "1.3.50"
179 | "@swc/core-linux-arm-gnueabihf" "1.3.50"
180 | "@swc/core-linux-arm64-gnu" "1.3.50"
181 | "@swc/core-linux-arm64-musl" "1.3.50"
182 | "@swc/core-linux-x64-gnu" "1.3.50"
183 | "@swc/core-linux-x64-musl" "1.3.50"
184 | "@swc/core-win32-arm64-msvc" "1.3.50"
185 | "@swc/core-win32-ia32-msvc" "1.3.50"
186 | "@swc/core-win32-x64-msvc" "1.3.50"
187 |
188 | "@types/hoist-non-react-statics@^3.3.0", "@types/hoist-non-react-statics@^3.3.1":
189 | version "3.3.1"
190 | resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f"
191 | integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==
192 | dependencies:
193 | "@types/react" "*"
194 | hoist-non-react-statics "^3.3.0"
195 |
196 | "@types/prop-types@*":
197 | version "15.7.5"
198 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
199 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
200 |
201 | "@types/react-dom@^18.0.11":
202 | version "18.0.11"
203 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.11.tgz#321351c1459bc9ca3d216aefc8a167beec334e33"
204 | integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==
205 | dependencies:
206 | "@types/react" "*"
207 |
208 | "@types/react-redux@^7.1.25":
209 | version "7.1.25"
210 | resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.25.tgz#de841631205b24f9dfb4967dd4a7901e048f9a88"
211 | integrity sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg==
212 | dependencies:
213 | "@types/hoist-non-react-statics" "^3.3.0"
214 | "@types/react" "*"
215 | hoist-non-react-statics "^3.3.0"
216 | redux "^4.0.0"
217 |
218 | "@types/react@*", "@types/react@^18.0.28":
219 | version "18.0.35"
220 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.35.tgz#192061cb1044fe01f2d3a94272cd35dd50502741"
221 | integrity sha512-6Laome31HpetaIUGFWl1VQ3mdSImwxtFZ39rh059a1MNnKGqBpC88J6NJ8n/Is3Qx7CefDGLgf/KhN/sYCf7ag==
222 | dependencies:
223 | "@types/prop-types" "*"
224 | "@types/scheduler" "*"
225 | csstype "^3.0.2"
226 |
227 | "@types/redux-thunk@^2.1.0":
228 | version "2.1.0"
229 | resolved "https://registry.yarnpkg.com/@types/redux-thunk/-/redux-thunk-2.1.0.tgz#bc2b6e972961831afb82a9bf4f06726e351f9416"
230 | integrity sha512-8M+kcrnZQYO3A40d8a1lieBFur/ab8EXHqa2dGMQqsmBaVCbNp3gd8ed/HuSjLoLA63ov/trXaXWlkiKVF4VUw==
231 | dependencies:
232 | redux-thunk "*"
233 |
234 | "@types/redux@^3.6.0":
235 | version "3.6.0"
236 | resolved "https://registry.yarnpkg.com/@types/redux/-/redux-3.6.0.tgz#f1ebe1e5411518072e4fdfca5c76e16e74c1399a"
237 | integrity sha512-ic+60DXHW5seNyqFvfr7Sk5cnXs+HsF9tIeIaxjOuSP5kzgDXC+AzKTYmjAfuLx4Sccm/0vjwBQj3OOkUkwOqg==
238 | dependencies:
239 | redux "*"
240 |
241 | "@types/scheduler@*":
242 | version "0.16.3"
243 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5"
244 | integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==
245 |
246 | "@types/use-sync-external-store@^0.0.3":
247 | version "0.0.3"
248 | resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43"
249 | integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==
250 |
251 | "@vitejs/plugin-react-swc@^3.0.0":
252 | version "3.3.0"
253 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react-swc/-/plugin-react-swc-3.3.0.tgz#d443a4bbb423542c5a089c65a58dca597170c549"
254 | integrity sha512-Ycg+n2eyCOTpn/wRy+evVo859+hw7qCj9iaX5CMny6x1fx1Uoq0xBG+a98lFtwLNGfGEnpI0F26YigRuxCRkwg==
255 | dependencies:
256 | "@swc/core" "^1.3.42"
257 |
258 | csstype@^3.0.2:
259 | version "3.1.2"
260 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
261 | integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
262 |
263 | esbuild@^0.17.5:
264 | version "0.17.16"
265 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.16.tgz#5efec24a8ff29e0c157359f27e1b5532a728b720"
266 | integrity sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==
267 | optionalDependencies:
268 | "@esbuild/android-arm" "0.17.16"
269 | "@esbuild/android-arm64" "0.17.16"
270 | "@esbuild/android-x64" "0.17.16"
271 | "@esbuild/darwin-arm64" "0.17.16"
272 | "@esbuild/darwin-x64" "0.17.16"
273 | "@esbuild/freebsd-arm64" "0.17.16"
274 | "@esbuild/freebsd-x64" "0.17.16"
275 | "@esbuild/linux-arm" "0.17.16"
276 | "@esbuild/linux-arm64" "0.17.16"
277 | "@esbuild/linux-ia32" "0.17.16"
278 | "@esbuild/linux-loong64" "0.17.16"
279 | "@esbuild/linux-mips64el" "0.17.16"
280 | "@esbuild/linux-ppc64" "0.17.16"
281 | "@esbuild/linux-riscv64" "0.17.16"
282 | "@esbuild/linux-s390x" "0.17.16"
283 | "@esbuild/linux-x64" "0.17.16"
284 | "@esbuild/netbsd-x64" "0.17.16"
285 | "@esbuild/openbsd-x64" "0.17.16"
286 | "@esbuild/sunos-x64" "0.17.16"
287 | "@esbuild/win32-arm64" "0.17.16"
288 | "@esbuild/win32-ia32" "0.17.16"
289 | "@esbuild/win32-x64" "0.17.16"
290 |
291 | fsevents@~2.3.2:
292 | version "2.3.2"
293 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
294 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
295 |
296 | function-bind@^1.1.1:
297 | version "1.1.1"
298 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
299 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
300 |
301 | has@^1.0.3:
302 | version "1.0.3"
303 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
304 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
305 | dependencies:
306 | function-bind "^1.1.1"
307 |
308 | hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2:
309 | version "3.3.2"
310 | resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
311 | integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
312 | dependencies:
313 | react-is "^16.7.0"
314 |
315 | is-core-module@^2.12.0:
316 | version "2.12.0"
317 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4"
318 | integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==
319 | dependencies:
320 | has "^1.0.3"
321 |
322 | "js-tokens@^3.0.0 || ^4.0.0":
323 | version "4.0.0"
324 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
325 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
326 |
327 | loose-envify@^1.1.0:
328 | version "1.4.0"
329 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
330 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
331 | dependencies:
332 | js-tokens "^3.0.0 || ^4.0.0"
333 |
334 | nanoid@^3.3.4:
335 | version "3.3.6"
336 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
337 | integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
338 |
339 | path-parse@^1.0.7:
340 | version "1.0.7"
341 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
342 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
343 |
344 | picocolors@^1.0.0:
345 | version "1.0.0"
346 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
347 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
348 |
349 | postcss@^8.4.21:
350 | version "8.4.21"
351 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
352 | integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
353 | dependencies:
354 | nanoid "^3.3.4"
355 | picocolors "^1.0.0"
356 | source-map-js "^1.0.2"
357 |
358 | react-dom@^18.2.0:
359 | version "18.2.0"
360 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
361 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
362 | dependencies:
363 | loose-envify "^1.1.0"
364 | scheduler "^0.23.0"
365 |
366 | react-is@^16.7.0:
367 | version "16.13.1"
368 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
369 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
370 |
371 | react-is@^18.0.0:
372 | version "18.2.0"
373 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
374 | integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
375 |
376 | react-redux@^8.0.5:
377 | version "8.0.5"
378 | resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.0.5.tgz#e5fb8331993a019b8aaf2e167a93d10af469c7bd"
379 | integrity sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==
380 | dependencies:
381 | "@babel/runtime" "^7.12.1"
382 | "@types/hoist-non-react-statics" "^3.3.1"
383 | "@types/use-sync-external-store" "^0.0.3"
384 | hoist-non-react-statics "^3.3.2"
385 | react-is "^18.0.0"
386 | use-sync-external-store "^1.0.0"
387 |
388 | react@^18.2.0:
389 | version "18.2.0"
390 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
391 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
392 | dependencies:
393 | loose-envify "^1.1.0"
394 |
395 | redux-thunk@*, redux-thunk@^2.4.2:
396 | version "2.4.2"
397 | resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.2.tgz#b9d05d11994b99f7a91ea223e8b04cf0afa5ef3b"
398 | integrity sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==
399 |
400 | redux@*, redux@^4.0.0, redux@^4.2.1:
401 | version "4.2.1"
402 | resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197"
403 | integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==
404 | dependencies:
405 | "@babel/runtime" "^7.9.2"
406 |
407 | regenerator-runtime@^0.13.11:
408 | version "0.13.11"
409 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
410 | integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
411 |
412 | resolve@^1.22.1:
413 | version "1.22.3"
414 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.3.tgz#4b4055349ffb962600972da1fdc33c46a4eb3283"
415 | integrity sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==
416 | dependencies:
417 | is-core-module "^2.12.0"
418 | path-parse "^1.0.7"
419 | supports-preserve-symlinks-flag "^1.0.0"
420 |
421 | rollup@^3.18.0:
422 | version "3.20.2"
423 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.20.2.tgz#f798c600317f216de2e4ad9f4d9ab30a89b690ff"
424 | integrity sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==
425 | optionalDependencies:
426 | fsevents "~2.3.2"
427 |
428 | scheduler@^0.23.0:
429 | version "0.23.0"
430 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
431 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
432 | dependencies:
433 | loose-envify "^1.1.0"
434 |
435 | source-map-js@^1.0.2:
436 | version "1.0.2"
437 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
438 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
439 |
440 | supports-preserve-symlinks-flag@^1.0.0:
441 | version "1.0.0"
442 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
443 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
444 |
445 | typescript@^4.9.3:
446 | version "4.9.5"
447 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
448 | integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
449 |
450 | use-sync-external-store@^1.0.0:
451 | version "1.2.0"
452 | resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
453 | integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
454 |
455 | vite@^4.2.0:
456 | version "4.2.1"
457 | resolved "https://registry.yarnpkg.com/vite/-/vite-4.2.1.tgz#6c2eb337b0dfd80a9ded5922163b94949d7fc254"
458 | integrity sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==
459 | dependencies:
460 | esbuild "^0.17.5"
461 | postcss "^8.4.21"
462 | resolve "^1.22.1"
463 | rollup "^3.18.0"
464 | optionalDependencies:
465 | fsevents "~2.3.2"
466 |
--------------------------------------------------------------------------------