├── src ├── index.css ├── styles │ ├── DragGroup.module.css │ ├── App.css │ ├── Content.module.css │ ├── Card.module.css │ ├── Draggable.module.css │ ├── Droppable.module.css │ └── Box.module.css ├── components │ ├── DragGroup.jsx │ ├── Box.jsx │ ├── Eg1.jsx │ ├── Draggable.jsx │ ├── Eg5.jsx │ ├── Droppable.jsx │ ├── Content.jsx │ ├── Eg6.jsx │ ├── Eg7.jsx │ ├── Eg4.jsx │ ├── Eg2.jsx │ ├── Card.jsx │ └── Eg3.jsx ├── main.jsx ├── App.jsx └── assets │ └── react.svg ├── vite.config.js ├── .gitignore ├── README.md ├── package.json ├── index.html ├── LICENSE ├── public └── vite.svg └── yarn.lock /src/index.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | font-family: 'Roboto', sans-serif; 5 | } 6 | -------------------------------------------------------------------------------- /src/styles/DragGroup.module.css: -------------------------------------------------------------------------------- 1 | .group { 2 | display: flex; 3 | justify-content: center; 4 | gap: 10px; 5 | } 6 | -------------------------------------------------------------------------------- /src/styles/App.css: -------------------------------------------------------------------------------- 1 | .App { 2 | padding: 30px; 3 | } 4 | 5 | .big-title { 6 | text-align: center; 7 | font-weight: 500; 8 | font-size: 2.5em; 9 | } 10 | -------------------------------------------------------------------------------- /src/styles/Content.module.css: -------------------------------------------------------------------------------- 1 | .content { 2 | display: flex; 3 | flex-wrap: wrap; 4 | justify-content: center; 5 | gap: 50px; 6 | margin-top: 40px; 7 | } 8 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/components/DragGroup.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styles from '../styles/DragGroup.module.css'; 3 | 4 | function DragGroup({ children }) { 5 | return
{children}
; 6 | } 7 | 8 | export default DragGroup; 9 | -------------------------------------------------------------------------------- /src/styles/Card.module.css: -------------------------------------------------------------------------------- 1 | .draggable { 2 | border: 2px solid skyblue; 3 | text-align: center; 4 | padding: 10px 20px; 5 | cursor: grab; 6 | margin: 5px; 7 | } 8 | 9 | .dragging { 10 | background-color: #f3fafd; 11 | cursor: grabbing; 12 | } 13 | -------------------------------------------------------------------------------- /src/main.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './App' 4 | import './index.css' 5 | 6 | ReactDOM.createRoot(document.getElementById('root')).render( 7 | 8 | 9 | 10 | ) 11 | -------------------------------------------------------------------------------- /src/styles/Draggable.module.css: -------------------------------------------------------------------------------- 1 | .draggable { 2 | display: inline-block; 3 | border: 2px solid skyblue; 4 | padding: 10px 20px; 5 | flex: 0; 6 | cursor: grab; 7 | margin: 5px; 8 | } 9 | 10 | .dragging { 11 | background-color: #f3fafd; 12 | cursor: grabbing; 13 | } 14 | -------------------------------------------------------------------------------- /src/styles/Droppable.module.css: -------------------------------------------------------------------------------- 1 | .droppable { 2 | border: 2px solid greenyellow; 3 | text-align: center; 4 | width: 80%; 5 | padding: 20px 0; 6 | } 7 | 8 | .over { 9 | background-color: #ebffd4; 10 | } 11 | 12 | .can { 13 | background-color: #f7ffee; 14 | } 15 | 16 | .big { 17 | height: 70%; 18 | } 19 | -------------------------------------------------------------------------------- /src/components/Box.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styles from '../styles/Box.module.css'; 3 | 4 | function Box({ title, children }) { 5 | return ( 6 |
7 |

{title}

8 | {children} 9 |
10 | ); 11 | } 12 | 13 | export default Box; 14 | -------------------------------------------------------------------------------- /src/styles/Box.module.css: -------------------------------------------------------------------------------- 1 | .box { 2 | display: flex; 3 | flex-direction: column; 4 | align-items: center; 5 | justify-content: space-between; 6 | width: 400px; 7 | height: 350px; 8 | border: orange dashed 1px; 9 | padding: 10px; 10 | border-radius: 15px; 11 | } 12 | 13 | .title { 14 | text-align: center; 15 | font-weight: 400; 16 | } 17 | -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # React Drag & Drop Playground 2 | 3 | This project depends on [react-dnd](https://github.com/react-dnd/react-dnd) which is an excellent React Drag and Drop library. 4 | 5 | - [x] Single Target 6 | - [x] Mutiple Target 7 | - [x] Real Drag and Drop 8 | - [x] Drag Around 9 | - [x] Nested Draggable 10 | - [x] Nested Droppable 11 | - [x] Sortable 12 | 13 | ![Screenshot](https://imgbed.codingkelvin.fun/uPic/dndasdasd.png) -------------------------------------------------------------------------------- /src/App.jsx: -------------------------------------------------------------------------------- 1 | import Content from './components/Content'; 2 | import { DndProvider } from 'react-dnd'; 3 | import { HTML5Backend } from 'react-dnd-html5-backend'; 4 | import './styles/App.css'; 5 | 6 | function App() { 7 | return ( 8 |
9 |

React Drag & Drop Playground

10 | 11 | 12 | 13 |
14 | ); 15 | } 16 | 17 | export default App; 18 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-dnd-playground", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "react": "^18.2.0", 13 | "react-dnd": "^16.0.1", 14 | "react-dnd-html5-backend": "^16.0.1", 15 | "react-dom": "^18.2.0" 16 | }, 17 | "devDependencies": { 18 | "@types/react": "^18.0.17", 19 | "@types/react-dom": "^18.0.6", 20 | "@vitejs/plugin-react": "^2.1.0", 21 | "vite": "^3.1.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | React DnD Playground 14 | 15 | 16 |
17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/components/Eg1.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Draggable from './Draggable'; 3 | import DragGroup from './DragGroup'; 4 | import Droppable from './Droppable'; 5 | 6 | function Eg1() { 7 | const handleDrop = (item) => { 8 | alert(`You drop ${item.name}!`); 9 | }; 10 | 11 | return ( 12 | <> 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | ); 21 | } 22 | 23 | export default Eg1; 24 | -------------------------------------------------------------------------------- /src/components/Draggable.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { useDrag } from 'react-dnd'; 3 | import styles from '../styles/Draggable.module.css'; 4 | 5 | function Draggable({ children, type, item, text, style, hideWhenDrag, state }) { 6 | const [{ isDragging }, drag] = useDrag( 7 | () => ({ 8 | type, 9 | item, 10 | collect: (monitor) => ({ 11 | isDragging: !!monitor.isDragging(), 12 | }), 13 | }), 14 | [state] 15 | ); 16 | 17 | if (isDragging && hideWhenDrag) { 18 | return
; 19 | } 20 | 21 | return ( 22 | 27 | {text} 28 | {children} 29 | 30 | ); 31 | } 32 | 33 | export default Draggable; 34 | -------------------------------------------------------------------------------- /src/components/Eg5.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Draggable from './Draggable'; 3 | import Droppable from './Droppable'; 4 | 5 | function Eg5() { 6 | const handleDrop = (item, monitor, state) => { 7 | alert(`You drop ${item.name}!`); 8 | }; 9 | return ( 10 | <> 11 | 12 | 13 | 18 | 23 | 24 | 25 | 26 | 27 | ); 28 | } 29 | 30 | export default Eg5; 31 | -------------------------------------------------------------------------------- /src/components/Droppable.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { useDrop } from 'react-dnd'; 3 | import styles from '../styles/Droppable.module.css'; 4 | 5 | function Droppable({ accept, handleDrop, text, children, state, big, style }) { 6 | const [{ isOver, canDrop }, drop] = useDrop( 7 | () => ({ 8 | accept, 9 | drop: (item, monitor) => handleDrop(item, monitor, state), 10 | collect: (monitor) => ({ 11 | isOver: !!monitor.isOver({ shallow: true }), 12 | canDrop: !!monitor.canDrop(), 13 | }), 14 | }), 15 | [state] // Dependency 16 | ); 17 | 18 | const isActive = isOver && canDrop; 19 | 20 | return ( 21 |
28 |
{text}
29 | {children} 30 |
31 | ); 32 | } 33 | 34 | export default Droppable; 35 | -------------------------------------------------------------------------------- /src/components/Content.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styles from '../styles/Content.module.css'; 3 | import Box from './Box'; 4 | import Eg1 from './Eg1'; 5 | import Eg2 from './Eg2'; 6 | import Eg3 from './Eg3'; 7 | import Eg4 from './Eg4'; 8 | import Eg5 from './Eg5'; 9 | import Eg6 from './Eg6'; 10 | import Eg7 from './Eg7'; 11 | 12 | function Content() { 13 | return ( 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |
37 | ); 38 | } 39 | 40 | export default Content; 41 | -------------------------------------------------------------------------------- /src/components/Eg6.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Draggable from './Draggable'; 3 | import Droppable from './Droppable'; 4 | 5 | function Eg6() { 6 | const handleOuter = (item, monitor, state) => { 7 | if (!!monitor.didDrop() && !!monitor.getDropResult()) return; 8 | alert('Outer!'); 9 | }; 10 | const handleMiddle = (item, monitor, state) => { 11 | if (!!monitor.didDrop() && !!monitor.getDropResult()) return; 12 | alert('Middle!'); 13 | }; 14 | const handleInner = (item, monitor, state) => { 15 | if (!!monitor.didDrop() && !!monitor.getDropResult()) return; 16 | alert('Inner!'); 17 | }; 18 | return ( 19 | <> 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | ); 28 | } 29 | 30 | export default Eg6; 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 KelvinQiu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/components/Eg7.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Card from './Card'; 3 | 4 | function Eg7() { 5 | const [cards, setCards] = React.useState([ 6 | { 7 | id: 1, 8 | text: 'JavaScript', 9 | }, 10 | { 11 | id: 2, 12 | text: 'Python', 13 | }, 14 | { 15 | id: 3, 16 | text: 'Go', 17 | }, 18 | { 19 | id: 4, 20 | text: 'Java', 21 | }, 22 | { 23 | id: 5, 24 | text: 'Ruby', 25 | }, 26 | { 27 | id: 6, 28 | text: 'C++', 29 | }, 30 | ]); 31 | 32 | const handleDrag = (dragIndex, hoverIndex) => { 33 | setCards((prev) => { 34 | const copy = [...prev]; 35 | const card = copy[dragIndex]; 36 | // remove origin 37 | copy.splice(dragIndex, 1); 38 | // add to target 39 | copy.splice(hoverIndex, 0, card); 40 | return copy; 41 | }); 42 | }; 43 | 44 | return ( 45 |
46 | {cards.map((item, index) => ( 47 | 54 | ))} 55 |
56 | ); 57 | } 58 | 59 | export default Eg7; 60 | -------------------------------------------------------------------------------- /src/components/Eg4.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Draggable from './Draggable'; 3 | import Droppable from './Droppable'; 4 | 5 | function Eg4() { 6 | const [position, setPosition] = React.useState({ top: 50, left: 100 }); 7 | 8 | const handleDrop = (item, monitor, state) => { 9 | const { x, y } = monitor.getDifferenceFromInitialOffset(); 10 | const { top, left } = { top: state.top + y, left: state.left + x }; 11 | if (top > 0 && left > 0) { 12 | setPosition((prev) => ({ top, left })); 13 | } 14 | }; 15 | 16 | const dragStyle = { 17 | position: 'relative', 18 | justifyContent: 'left', 19 | left: `${position.left}px`, 20 | top: `${position.top}px`, 21 | }; 22 | 23 | return ( 24 | <> 25 | 32 | 40 | 41 | 42 | ); 43 | } 44 | 45 | export default Eg4; 46 | -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/Eg2.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Draggable from './Draggable'; 3 | import DragGroup from './DragGroup'; 4 | import Droppable from './Droppable'; 5 | 6 | function Eg2() { 7 | const handleShort = (item) => { 8 | alert(`${item.name} is Shorthair!`); 9 | }; 10 | 11 | const handleLong = (item) => { 12 | alert(`${item.name} is Longhair!`); 13 | }; 14 | 15 | return ( 16 | <> 17 | 18 | 23 | 28 | 29 | 30 | 35 | 40 | 41 | 46 | 51 | 52 | ); 53 | } 54 | 55 | export default Eg2; 56 | -------------------------------------------------------------------------------- /src/components/Card.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { useDrop, useDrag } from 'react-dnd'; 3 | import styles from '../styles/Card.module.css'; 4 | 5 | function Card({ index, id, text, handleDrag, state }) { 6 | const ref = React.useRef(null); 7 | 8 | const [{ isDragging }, drag] = useDrag(() => ({ 9 | type: 'card', 10 | item: { id, index }, 11 | collect: (monitor) => ({ 12 | isDragging: !!monitor.isDragging(), 13 | }), 14 | })); 15 | 16 | const [{ handlerId }, drop] = useDrop( 17 | () => ({ 18 | accept: 'card', 19 | collect: (monitor) => ({ 20 | handlerId: monitor.getHandlerId(), 21 | }), 22 | hover: (item, monitor) => { 23 | if (!ref.current) return; 24 | const dragIndex = item.index; 25 | const hoverIndex = index; 26 | // Do nothing if target and source are same 27 | if (dragIndex === hoverIndex) return; 28 | 29 | const hoverRect = ref.current.getBoundingClientRect(); 30 | // Get vertical middle 31 | const hoverMiddleY = (hoverRect.bottom - hoverRect.top) / 2; 32 | // Determine mouse position 33 | const clientOffset = monitor.getClientOffset(); 34 | // Get pixels to the top 35 | const hoverClientY = clientOffset.y - hoverRect.top; 36 | 37 | // Only move when the mouse has crossed half of the items height 38 | if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) { 39 | return; 40 | } 41 | if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) { 42 | return; 43 | } 44 | 45 | handleDrag(dragIndex, hoverIndex); 46 | item.index = hoverIndex; 47 | }, 48 | }), 49 | [state] 50 | ); 51 | 52 | const opacity = isDragging ? 0 : 1; 53 | 54 | drag(drop(ref)); 55 | return ( 56 |
62 | {text} 63 |
64 | ); 65 | } 66 | 67 | export default Card; 68 | -------------------------------------------------------------------------------- /src/components/Eg3.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Draggable from './Draggable'; 3 | import DragGroup from './DragGroup'; 4 | import Droppable from './Droppable'; 5 | 6 | function Eg3() { 7 | const [box1, setBox1] = React.useState([ 8 | { text: 'Hello' }, 9 | { text: 'World' }, 10 | ]); 11 | const [box2, setBox2] = React.useState([]); 12 | 13 | const handleBox1 = (item, monitor, state) => { 14 | if (state.find((each) => each.text === item.text)) return; 15 | // remove from box2 16 | setBox2((prev) => { 17 | const index = prev.findIndex((each) => each.text === item.text); 18 | const copy = [...prev]; 19 | copy.splice(index, 1); 20 | return copy; 21 | }); 22 | // add to box1 23 | setBox1((prev) => { 24 | return [...prev, { text: item.text }]; 25 | }); 26 | }; 27 | 28 | const handleBox2 = (item, monitor, state) => { 29 | if (state.find((each) => each.text === item.text)) return; 30 | // remove from box1 31 | setBox1((prev) => { 32 | const index = prev.findIndex((each) => each.text === item.text); 33 | const copy = [...prev]; 34 | copy.splice(index, 1); 35 | return copy; 36 | }); 37 | // add to box2 38 | setBox2((prev) => { 39 | return [...prev, { text: item.text }]; 40 | }); 41 | }; 42 | 43 | return ( 44 | <> 45 | 51 | 52 | {box1.map((drag) => ( 53 | 60 | ))} 61 | 62 | 63 | 69 | 70 | {box2.map((drag) => ( 71 | 78 | ))} 79 | 80 | 81 | 82 | ); 83 | } 84 | 85 | export default Eg3; 86 | -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /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.18.6": 14 | version "7.18.6" 15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 16 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 17 | dependencies: 18 | "@babel/highlight" "^7.18.6" 19 | 20 | "@babel/compat-data@^7.19.1": 21 | version "7.19.1" 22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.1.tgz#72d647b4ff6a4f82878d184613353af1dd0290f9" 23 | integrity sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg== 24 | 25 | "@babel/core@^7.18.13": 26 | version "7.19.1" 27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.1.tgz#c8fa615c5e88e272564ace3d42fbc8b17bfeb22b" 28 | integrity sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw== 29 | dependencies: 30 | "@ampproject/remapping" "^2.1.0" 31 | "@babel/code-frame" "^7.18.6" 32 | "@babel/generator" "^7.19.0" 33 | "@babel/helper-compilation-targets" "^7.19.1" 34 | "@babel/helper-module-transforms" "^7.19.0" 35 | "@babel/helpers" "^7.19.0" 36 | "@babel/parser" "^7.19.1" 37 | "@babel/template" "^7.18.10" 38 | "@babel/traverse" "^7.19.1" 39 | "@babel/types" "^7.19.0" 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.19.0": 47 | version "7.19.0" 48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" 49 | integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== 50 | dependencies: 51 | "@babel/types" "^7.19.0" 52 | "@jridgewell/gen-mapping" "^0.3.2" 53 | jsesc "^2.5.1" 54 | 55 | "@babel/helper-annotate-as-pure@^7.18.6": 56 | version "7.18.6" 57 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" 58 | integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== 59 | dependencies: 60 | "@babel/types" "^7.18.6" 61 | 62 | "@babel/helper-compilation-targets@^7.19.1": 63 | version "7.19.1" 64 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz#7f630911d83b408b76fe584831c98e5395d7a17c" 65 | integrity sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg== 66 | dependencies: 67 | "@babel/compat-data" "^7.19.1" 68 | "@babel/helper-validator-option" "^7.18.6" 69 | browserslist "^4.21.3" 70 | semver "^6.3.0" 71 | 72 | "@babel/helper-environment-visitor@^7.18.9": 73 | version "7.18.9" 74 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" 75 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 76 | 77 | "@babel/helper-function-name@^7.19.0": 78 | version "7.19.0" 79 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" 80 | integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== 81 | dependencies: 82 | "@babel/template" "^7.18.10" 83 | "@babel/types" "^7.19.0" 84 | 85 | "@babel/helper-hoist-variables@^7.18.6": 86 | version "7.18.6" 87 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" 88 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 89 | dependencies: 90 | "@babel/types" "^7.18.6" 91 | 92 | "@babel/helper-module-imports@^7.18.6": 93 | version "7.18.6" 94 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 95 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 96 | dependencies: 97 | "@babel/types" "^7.18.6" 98 | 99 | "@babel/helper-module-transforms@^7.19.0": 100 | version "7.19.0" 101 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" 102 | integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== 103 | dependencies: 104 | "@babel/helper-environment-visitor" "^7.18.9" 105 | "@babel/helper-module-imports" "^7.18.6" 106 | "@babel/helper-simple-access" "^7.18.6" 107 | "@babel/helper-split-export-declaration" "^7.18.6" 108 | "@babel/helper-validator-identifier" "^7.18.6" 109 | "@babel/template" "^7.18.10" 110 | "@babel/traverse" "^7.19.0" 111 | "@babel/types" "^7.19.0" 112 | 113 | "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": 114 | version "7.19.0" 115 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" 116 | integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== 117 | 118 | "@babel/helper-simple-access@^7.18.6": 119 | version "7.18.6" 120 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" 121 | integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== 122 | dependencies: 123 | "@babel/types" "^7.18.6" 124 | 125 | "@babel/helper-split-export-declaration@^7.18.6": 126 | version "7.18.6" 127 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" 128 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 129 | dependencies: 130 | "@babel/types" "^7.18.6" 131 | 132 | "@babel/helper-string-parser@^7.18.10": 133 | version "7.18.10" 134 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" 135 | integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== 136 | 137 | "@babel/helper-validator-identifier@^7.18.6": 138 | version "7.19.1" 139 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" 140 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== 141 | 142 | "@babel/helper-validator-option@^7.18.6": 143 | version "7.18.6" 144 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" 145 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 146 | 147 | "@babel/helpers@^7.19.0": 148 | version "7.19.0" 149 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" 150 | integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== 151 | dependencies: 152 | "@babel/template" "^7.18.10" 153 | "@babel/traverse" "^7.19.0" 154 | "@babel/types" "^7.19.0" 155 | 156 | "@babel/highlight@^7.18.6": 157 | version "7.18.6" 158 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 159 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 160 | dependencies: 161 | "@babel/helper-validator-identifier" "^7.18.6" 162 | chalk "^2.0.0" 163 | js-tokens "^4.0.0" 164 | 165 | "@babel/parser@^7.18.10", "@babel/parser@^7.19.1": 166 | version "7.19.1" 167 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.1.tgz#6f6d6c2e621aad19a92544cc217ed13f1aac5b4c" 168 | integrity sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A== 169 | 170 | "@babel/plugin-syntax-jsx@^7.18.6": 171 | version "7.18.6" 172 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" 173 | integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== 174 | dependencies: 175 | "@babel/helper-plugin-utils" "^7.18.6" 176 | 177 | "@babel/plugin-transform-react-jsx-development@^7.18.6": 178 | version "7.18.6" 179 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" 180 | integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== 181 | dependencies: 182 | "@babel/plugin-transform-react-jsx" "^7.18.6" 183 | 184 | "@babel/plugin-transform-react-jsx-self@^7.18.6": 185 | version "7.18.6" 186 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7" 187 | integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== 188 | dependencies: 189 | "@babel/helper-plugin-utils" "^7.18.6" 190 | 191 | "@babel/plugin-transform-react-jsx-source@^7.18.6": 192 | version "7.18.6" 193 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz#06e9ae8a14d2bc19ce6e3c447d842032a50598fc" 194 | integrity sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw== 195 | dependencies: 196 | "@babel/helper-plugin-utils" "^7.18.6" 197 | 198 | "@babel/plugin-transform-react-jsx@^7.18.10", "@babel/plugin-transform-react-jsx@^7.18.6": 199 | version "7.19.0" 200 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz#b3cbb7c3a00b92ec8ae1027910e331ba5c500eb9" 201 | integrity sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg== 202 | dependencies: 203 | "@babel/helper-annotate-as-pure" "^7.18.6" 204 | "@babel/helper-module-imports" "^7.18.6" 205 | "@babel/helper-plugin-utils" "^7.19.0" 206 | "@babel/plugin-syntax-jsx" "^7.18.6" 207 | "@babel/types" "^7.19.0" 208 | 209 | "@babel/runtime@^7.9.2": 210 | version "7.19.0" 211 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" 212 | integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== 213 | dependencies: 214 | regenerator-runtime "^0.13.4" 215 | 216 | "@babel/template@^7.18.10": 217 | version "7.18.10" 218 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" 219 | integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== 220 | dependencies: 221 | "@babel/code-frame" "^7.18.6" 222 | "@babel/parser" "^7.18.10" 223 | "@babel/types" "^7.18.10" 224 | 225 | "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1": 226 | version "7.19.1" 227 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.1.tgz#0fafe100a8c2a603b4718b1d9bf2568d1d193347" 228 | integrity sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA== 229 | dependencies: 230 | "@babel/code-frame" "^7.18.6" 231 | "@babel/generator" "^7.19.0" 232 | "@babel/helper-environment-visitor" "^7.18.9" 233 | "@babel/helper-function-name" "^7.19.0" 234 | "@babel/helper-hoist-variables" "^7.18.6" 235 | "@babel/helper-split-export-declaration" "^7.18.6" 236 | "@babel/parser" "^7.19.1" 237 | "@babel/types" "^7.19.0" 238 | debug "^4.1.0" 239 | globals "^11.1.0" 240 | 241 | "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0": 242 | version "7.19.0" 243 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" 244 | integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== 245 | dependencies: 246 | "@babel/helper-string-parser" "^7.18.10" 247 | "@babel/helper-validator-identifier" "^7.18.6" 248 | to-fast-properties "^2.0.0" 249 | 250 | "@esbuild/linux-loong64@0.15.7": 251 | version "0.15.7" 252 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" 253 | integrity sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw== 254 | 255 | "@jridgewell/gen-mapping@^0.1.0": 256 | version "0.1.1" 257 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 258 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 259 | dependencies: 260 | "@jridgewell/set-array" "^1.0.0" 261 | "@jridgewell/sourcemap-codec" "^1.4.10" 262 | 263 | "@jridgewell/gen-mapping@^0.3.2": 264 | version "0.3.2" 265 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 266 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 267 | dependencies: 268 | "@jridgewell/set-array" "^1.0.1" 269 | "@jridgewell/sourcemap-codec" "^1.4.10" 270 | "@jridgewell/trace-mapping" "^0.3.9" 271 | 272 | "@jridgewell/resolve-uri@^3.0.3": 273 | version "3.1.0" 274 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 275 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 276 | 277 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 278 | version "1.1.2" 279 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 280 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 281 | 282 | "@jridgewell/sourcemap-codec@^1.4.10": 283 | version "1.4.14" 284 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 285 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 286 | 287 | "@jridgewell/trace-mapping@^0.3.9": 288 | version "0.3.15" 289 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" 290 | integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== 291 | dependencies: 292 | "@jridgewell/resolve-uri" "^3.0.3" 293 | "@jridgewell/sourcemap-codec" "^1.4.10" 294 | 295 | "@react-dnd/asap@^5.0.1": 296 | version "5.0.2" 297 | resolved "https://registry.yarnpkg.com/@react-dnd/asap/-/asap-5.0.2.tgz#1f81f124c1cd6f39511c11a881cfb0f715343488" 298 | integrity sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A== 299 | 300 | "@react-dnd/invariant@^4.0.1": 301 | version "4.0.2" 302 | resolved "https://registry.yarnpkg.com/@react-dnd/invariant/-/invariant-4.0.2.tgz#b92edffca10a26466643349fac7cdfb8799769df" 303 | integrity sha512-xKCTqAK/FFauOM9Ta2pswIyT3D8AQlfrYdOi/toTPEhqCuAs1v5tcJ3Y08Izh1cJ5Jchwy9SeAXmMg6zrKs2iw== 304 | 305 | "@react-dnd/shallowequal@^4.0.1": 306 | version "4.0.2" 307 | resolved "https://registry.yarnpkg.com/@react-dnd/shallowequal/-/shallowequal-4.0.2.tgz#d1b4befa423f692fa4abf1c79209702e7d8ae4b4" 308 | integrity sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA== 309 | 310 | "@types/prop-types@*": 311 | version "15.7.5" 312 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 313 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 314 | 315 | "@types/react-dom@^18.0.6": 316 | version "18.0.6" 317 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1" 318 | integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA== 319 | dependencies: 320 | "@types/react" "*" 321 | 322 | "@types/react@*", "@types/react@^18.0.17": 323 | version "18.0.20" 324 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.20.tgz#e4c36be3a55eb5b456ecf501bd4a00fd4fd0c9ab" 325 | integrity sha512-MWul1teSPxujEHVwZl4a5HxQ9vVNsjTchVA+xRqv/VYGCuKGAU6UhfrTdF5aBefwD1BHUD8i/zq+O/vyCm/FrA== 326 | dependencies: 327 | "@types/prop-types" "*" 328 | "@types/scheduler" "*" 329 | csstype "^3.0.2" 330 | 331 | "@types/scheduler@*": 332 | version "0.16.2" 333 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 334 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 335 | 336 | "@vitejs/plugin-react@^2.1.0": 337 | version "2.1.0" 338 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-2.1.0.tgz#4c99df15e71d2630601bd3018093bdc787d40e55" 339 | integrity sha512-am6rPyyU3LzUYne3Gd9oj9c4Rzbq5hQnuGXSMT6Gujq45Il/+bunwq3lrB7wghLkiF45ygMwft37vgJ/NE8IAA== 340 | dependencies: 341 | "@babel/core" "^7.18.13" 342 | "@babel/plugin-transform-react-jsx" "^7.18.10" 343 | "@babel/plugin-transform-react-jsx-development" "^7.18.6" 344 | "@babel/plugin-transform-react-jsx-self" "^7.18.6" 345 | "@babel/plugin-transform-react-jsx-source" "^7.18.6" 346 | magic-string "^0.26.2" 347 | react-refresh "^0.14.0" 348 | 349 | ansi-styles@^3.2.1: 350 | version "3.2.1" 351 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 352 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 353 | dependencies: 354 | color-convert "^1.9.0" 355 | 356 | browserslist@^4.21.3: 357 | version "4.21.3" 358 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" 359 | integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== 360 | dependencies: 361 | caniuse-lite "^1.0.30001370" 362 | electron-to-chromium "^1.4.202" 363 | node-releases "^2.0.6" 364 | update-browserslist-db "^1.0.5" 365 | 366 | caniuse-lite@^1.0.30001370: 367 | version "1.0.30001400" 368 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001400.tgz#3038bee70d8b875604cd8833cb0e5e254ee0281a" 369 | integrity sha512-Mv659Hn65Z4LgZdJ7ge5JTVbE3rqbJaaXgW5LEI9/tOaXclfIZ8DW7D7FCWWWmWiiPS7AC48S8kf3DApSxQdgA== 370 | 371 | chalk@^2.0.0: 372 | version "2.4.2" 373 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 374 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 375 | dependencies: 376 | ansi-styles "^3.2.1" 377 | escape-string-regexp "^1.0.5" 378 | supports-color "^5.3.0" 379 | 380 | color-convert@^1.9.0: 381 | version "1.9.3" 382 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 383 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 384 | dependencies: 385 | color-name "1.1.3" 386 | 387 | color-name@1.1.3: 388 | version "1.1.3" 389 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 390 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 391 | 392 | convert-source-map@^1.7.0: 393 | version "1.8.0" 394 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 395 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 396 | dependencies: 397 | safe-buffer "~5.1.1" 398 | 399 | csstype@^3.0.2: 400 | version "3.1.1" 401 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" 402 | integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== 403 | 404 | debug@^4.1.0: 405 | version "4.3.4" 406 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 407 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 408 | dependencies: 409 | ms "2.1.2" 410 | 411 | dnd-core@^16.0.1: 412 | version "16.0.1" 413 | resolved "https://registry.yarnpkg.com/dnd-core/-/dnd-core-16.0.1.tgz#a1c213ed08961f6bd1959a28bb76f1a868360d19" 414 | integrity sha512-HK294sl7tbw6F6IeuK16YSBUoorvHpY8RHO+9yFfaJyCDVb6n7PRcezrOEOa2SBCqiYpemh5Jx20ZcjKdFAVng== 415 | dependencies: 416 | "@react-dnd/asap" "^5.0.1" 417 | "@react-dnd/invariant" "^4.0.1" 418 | redux "^4.2.0" 419 | 420 | electron-to-chromium@^1.4.202: 421 | version "1.4.251" 422 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.251.tgz#8b62448f3c591f0d32488df09454dda72dec96d5" 423 | integrity sha512-k4o4cFrWPv4SoJGGAydd07GmlRVzmeDIJ6MaEChTUjk4Dmomn189tCicSzil2oyvbPoGgg2suwPDNWq4gWRhoQ== 424 | 425 | esbuild-android-64@0.15.7: 426 | version "0.15.7" 427 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz#a521604d8c4c6befc7affedc897df8ccde189bea" 428 | integrity sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w== 429 | 430 | esbuild-android-arm64@0.15.7: 431 | version "0.15.7" 432 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz#307b81f1088bf1e81dfe5f3d1d63a2d2a2e3e68e" 433 | integrity sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ== 434 | 435 | esbuild-darwin-64@0.15.7: 436 | version "0.15.7" 437 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz#270117b0c4ec6bcbc5cf3a297a7d11954f007e11" 438 | integrity sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg== 439 | 440 | esbuild-darwin-arm64@0.15.7: 441 | version "0.15.7" 442 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz#97851eacd11dacb7719713602e3319e16202fc77" 443 | integrity sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ== 444 | 445 | esbuild-freebsd-64@0.15.7: 446 | version "0.15.7" 447 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz#1de15ffaf5ae916aa925800aa6d02579960dd8c4" 448 | integrity sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ== 449 | 450 | esbuild-freebsd-arm64@0.15.7: 451 | version "0.15.7" 452 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz#0f160dbf5c9a31a1d8dd87acbbcb1a04b7031594" 453 | integrity sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q== 454 | 455 | esbuild-linux-32@0.15.7: 456 | version "0.15.7" 457 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz#422eb853370a5e40bdce8b39525380de11ccadec" 458 | integrity sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg== 459 | 460 | esbuild-linux-64@0.15.7: 461 | version "0.15.7" 462 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz#f89c468453bb3194b14f19dc32e0b99612e81d2b" 463 | integrity sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ== 464 | 465 | esbuild-linux-arm64@0.15.7: 466 | version "0.15.7" 467 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz#68a79d6eb5e032efb9168a0f340ccfd33d6350a1" 468 | integrity sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw== 469 | 470 | esbuild-linux-arm@0.15.7: 471 | version "0.15.7" 472 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz#2b7c784d0b3339878013dfa82bf5eaf82c7ce7d3" 473 | integrity sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ== 474 | 475 | esbuild-linux-mips64le@0.15.7: 476 | version "0.15.7" 477 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz#bb8330a50b14aa84673816cb63cc6c8b9beb62cc" 478 | integrity sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw== 479 | 480 | esbuild-linux-ppc64le@0.15.7: 481 | version "0.15.7" 482 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz#52544e7fa992811eb996674090d0bc41f067a14b" 483 | integrity sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw== 484 | 485 | esbuild-linux-riscv64@0.15.7: 486 | version "0.15.7" 487 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz#a43ae60697992b957e454cbb622f7ee5297e8159" 488 | integrity sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g== 489 | 490 | esbuild-linux-s390x@0.15.7: 491 | version "0.15.7" 492 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz#8c76a125dd10a84c166294d77416caaf5e1c7b64" 493 | integrity sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ== 494 | 495 | esbuild-netbsd-64@0.15.7: 496 | version "0.15.7" 497 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz#19b2e75449d7d9c32b5d8a222bac2f1e0c3b08fd" 498 | integrity sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ== 499 | 500 | esbuild-openbsd-64@0.15.7: 501 | version "0.15.7" 502 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz#1357b2bf72fd037d9150e751420a1fe4c8618ad7" 503 | integrity sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ== 504 | 505 | esbuild-sunos-64@0.15.7: 506 | version "0.15.7" 507 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz#87ab2c604592a9c3c763e72969da0d72bcde91d2" 508 | integrity sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag== 509 | 510 | esbuild-windows-32@0.15.7: 511 | version "0.15.7" 512 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz#c81e688c0457665a8d463a669e5bf60870323e99" 513 | integrity sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA== 514 | 515 | esbuild-windows-64@0.15.7: 516 | version "0.15.7" 517 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz#2421d1ae34b0561a9d6767346b381961266c4eff" 518 | integrity sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q== 519 | 520 | esbuild-windows-arm64@0.15.7: 521 | version "0.15.7" 522 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz#7d5e9e060a7b454cb2f57f84a3f3c23c8f30b7d2" 523 | integrity sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw== 524 | 525 | esbuild@^0.15.6: 526 | version "0.15.7" 527 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.7.tgz#8a1f1aff58671a3199dd24df95314122fc1ddee8" 528 | integrity sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw== 529 | optionalDependencies: 530 | "@esbuild/linux-loong64" "0.15.7" 531 | esbuild-android-64 "0.15.7" 532 | esbuild-android-arm64 "0.15.7" 533 | esbuild-darwin-64 "0.15.7" 534 | esbuild-darwin-arm64 "0.15.7" 535 | esbuild-freebsd-64 "0.15.7" 536 | esbuild-freebsd-arm64 "0.15.7" 537 | esbuild-linux-32 "0.15.7" 538 | esbuild-linux-64 "0.15.7" 539 | esbuild-linux-arm "0.15.7" 540 | esbuild-linux-arm64 "0.15.7" 541 | esbuild-linux-mips64le "0.15.7" 542 | esbuild-linux-ppc64le "0.15.7" 543 | esbuild-linux-riscv64 "0.15.7" 544 | esbuild-linux-s390x "0.15.7" 545 | esbuild-netbsd-64 "0.15.7" 546 | esbuild-openbsd-64 "0.15.7" 547 | esbuild-sunos-64 "0.15.7" 548 | esbuild-windows-32 "0.15.7" 549 | esbuild-windows-64 "0.15.7" 550 | esbuild-windows-arm64 "0.15.7" 551 | 552 | escalade@^3.1.1: 553 | version "3.1.1" 554 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 555 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 556 | 557 | escape-string-regexp@^1.0.5: 558 | version "1.0.5" 559 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 560 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 561 | 562 | fast-deep-equal@^3.1.3: 563 | version "3.1.3" 564 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 565 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 566 | 567 | fsevents@~2.3.2: 568 | version "2.3.2" 569 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 570 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 571 | 572 | function-bind@^1.1.1: 573 | version "1.1.1" 574 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 575 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 576 | 577 | gensync@^1.0.0-beta.2: 578 | version "1.0.0-beta.2" 579 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 580 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 581 | 582 | globals@^11.1.0: 583 | version "11.12.0" 584 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 585 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 586 | 587 | has-flag@^3.0.0: 588 | version "3.0.0" 589 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 590 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 591 | 592 | has@^1.0.3: 593 | version "1.0.3" 594 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 595 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 596 | dependencies: 597 | function-bind "^1.1.1" 598 | 599 | hoist-non-react-statics@^3.3.2: 600 | version "3.3.2" 601 | resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" 602 | integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== 603 | dependencies: 604 | react-is "^16.7.0" 605 | 606 | is-core-module@^2.9.0: 607 | version "2.10.0" 608 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" 609 | integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== 610 | dependencies: 611 | has "^1.0.3" 612 | 613 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 614 | version "4.0.0" 615 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 616 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 617 | 618 | jsesc@^2.5.1: 619 | version "2.5.2" 620 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 621 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 622 | 623 | json5@^2.2.1: 624 | version "2.2.1" 625 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" 626 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== 627 | 628 | loose-envify@^1.1.0: 629 | version "1.4.0" 630 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 631 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 632 | dependencies: 633 | js-tokens "^3.0.0 || ^4.0.0" 634 | 635 | magic-string@^0.26.2: 636 | version "0.26.3" 637 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.3.tgz#25840b875140f7b4785ab06bddc384270b7dd452" 638 | integrity sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg== 639 | dependencies: 640 | sourcemap-codec "^1.4.8" 641 | 642 | ms@2.1.2: 643 | version "2.1.2" 644 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 645 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 646 | 647 | nanoid@^3.3.4: 648 | version "3.3.4" 649 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 650 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 651 | 652 | node-releases@^2.0.6: 653 | version "2.0.6" 654 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" 655 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== 656 | 657 | path-parse@^1.0.7: 658 | version "1.0.7" 659 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 660 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 661 | 662 | picocolors@^1.0.0: 663 | version "1.0.0" 664 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 665 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 666 | 667 | postcss@^8.4.16: 668 | version "8.4.16" 669 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" 670 | integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== 671 | dependencies: 672 | nanoid "^3.3.4" 673 | picocolors "^1.0.0" 674 | source-map-js "^1.0.2" 675 | 676 | react-dnd-html5-backend@^16.0.1: 677 | version "16.0.1" 678 | resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-16.0.1.tgz#87faef15845d512a23b3c08d29ecfd34871688b6" 679 | integrity sha512-Wu3dw5aDJmOGw8WjH1I1/yTH+vlXEL4vmjk5p+MHxP8HuHJS1lAGeIdG/hze1AvNeXWo/JgULV87LyQOr+r5jw== 680 | dependencies: 681 | dnd-core "^16.0.1" 682 | 683 | react-dnd@^16.0.1: 684 | version "16.0.1" 685 | resolved "https://registry.yarnpkg.com/react-dnd/-/react-dnd-16.0.1.tgz#2442a3ec67892c60d40a1559eef45498ba26fa37" 686 | integrity sha512-QeoM/i73HHu2XF9aKksIUuamHPDvRglEwdHL4jsp784BgUuWcg6mzfxT0QDdQz8Wj0qyRKx2eMg8iZtWvU4E2Q== 687 | dependencies: 688 | "@react-dnd/invariant" "^4.0.1" 689 | "@react-dnd/shallowequal" "^4.0.1" 690 | dnd-core "^16.0.1" 691 | fast-deep-equal "^3.1.3" 692 | hoist-non-react-statics "^3.3.2" 693 | 694 | react-dom@^18.2.0: 695 | version "18.2.0" 696 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" 697 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== 698 | dependencies: 699 | loose-envify "^1.1.0" 700 | scheduler "^0.23.0" 701 | 702 | react-is@^16.7.0: 703 | version "16.13.1" 704 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 705 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 706 | 707 | react-refresh@^0.14.0: 708 | version "0.14.0" 709 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" 710 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== 711 | 712 | react@^18.2.0: 713 | version "18.2.0" 714 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 715 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 716 | dependencies: 717 | loose-envify "^1.1.0" 718 | 719 | redux@^4.2.0: 720 | version "4.2.0" 721 | resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.0.tgz#46f10d6e29b6666df758780437651eeb2b969f13" 722 | integrity sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA== 723 | dependencies: 724 | "@babel/runtime" "^7.9.2" 725 | 726 | regenerator-runtime@^0.13.4: 727 | version "0.13.9" 728 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 729 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 730 | 731 | resolve@^1.22.1: 732 | version "1.22.1" 733 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 734 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 735 | dependencies: 736 | is-core-module "^2.9.0" 737 | path-parse "^1.0.7" 738 | supports-preserve-symlinks-flag "^1.0.0" 739 | 740 | rollup@~2.78.0: 741 | version "2.78.1" 742 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.1.tgz#52fe3934d9c83cb4f7c4cb5fb75d88591be8648f" 743 | integrity sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg== 744 | optionalDependencies: 745 | fsevents "~2.3.2" 746 | 747 | safe-buffer@~5.1.1: 748 | version "5.1.2" 749 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 750 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 751 | 752 | scheduler@^0.23.0: 753 | version "0.23.0" 754 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" 755 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 756 | dependencies: 757 | loose-envify "^1.1.0" 758 | 759 | semver@^6.3.0: 760 | version "6.3.0" 761 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 762 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 763 | 764 | source-map-js@^1.0.2: 765 | version "1.0.2" 766 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 767 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 768 | 769 | sourcemap-codec@^1.4.8: 770 | version "1.4.8" 771 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 772 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 773 | 774 | supports-color@^5.3.0: 775 | version "5.5.0" 776 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 777 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 778 | dependencies: 779 | has-flag "^3.0.0" 780 | 781 | supports-preserve-symlinks-flag@^1.0.0: 782 | version "1.0.0" 783 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 784 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 785 | 786 | to-fast-properties@^2.0.0: 787 | version "2.0.0" 788 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 789 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 790 | 791 | update-browserslist-db@^1.0.5: 792 | version "1.0.9" 793 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" 794 | integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== 795 | dependencies: 796 | escalade "^3.1.1" 797 | picocolors "^1.0.0" 798 | 799 | vite@^3.1.0: 800 | version "3.1.0" 801 | resolved "https://registry.yarnpkg.com/vite/-/vite-3.1.0.tgz#3138b279072941d57e76bcf7f66f272fc6a17fe2" 802 | integrity sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g== 803 | dependencies: 804 | esbuild "^0.15.6" 805 | postcss "^8.4.16" 806 | resolve "^1.22.1" 807 | rollup "~2.78.0" 808 | optionalDependencies: 809 | fsevents "~2.3.2" 810 | --------------------------------------------------------------------------------