├── .gitignore
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── public
└── vite.svg
├── src
├── App.jsx
├── assets
│ └── react.svg
├── getFormValues.js
├── index.css
└── main.jsx
└── vite.config.js
/.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 Course
2 |
3 | If you enjoy the content and my teaching style, you can always enroll in my React Course (link below)
4 |
5 | [React 18 Course](https://www.udemy.com/course/react-tutorial-and-projects-course/?referralCode=FEE6A921AF07E2563CEF)
6 |
7 | ## All My Courses
8 |
9 | [Project Based Web Dev Courses](https://www.johnsmilga.com/)
10 |
11 | - FormData API
12 |
13 | [JS Nuggets - FormData API](https://youtu.be/5-x4OUM-SP8)
14 |
15 | The FormData interface provides a way to construct a set of key/value pairs representing form fields and their values, which can be sent using the fetch() or XMLHttpRequest.send() method. It uses the same format a form would use if the encoding type were set to "multipart/form-data".
16 |
17 | - a great solution when you have bunch of inputs
18 | - inputs must have name attribute
19 |
20 | - e.currentTarget
21 |
22 | In React, e.currentTarget returns the DOM element that triggered the event.
23 |
24 | - includes()
25 |
26 | The includes() method is a built-in method in JavaScript that is used to determine whether an array includes a certain value among its elements. The method returns a boolean value (true or false) indicating whether the array includes the specified value or not.
27 |
28 | ```js
29 | const array = [1, 2, 3, 4, 5];
30 |
31 | console.log(array.includes(3)); // true
32 | console.log(array.includes(6)); // false
33 | ```
34 |
35 | - Object From Entries
36 |
37 | The Object.fromEntries() static method transforms a list of key-value pairs into an object.
38 |
39 | ```js
40 | const entries = new Map([
41 | ['foo', 'bar'],
42 | ['baz', 42],
43 | ]);
44 |
45 | const obj = Object.fromEntries(entries);
46 |
47 | console.log(obj);
48 | // Expected output: Object { foo: "bar", baz: 42 }
49 | ```
50 |
51 | - reset()
52 |
53 | The reset() method is a built-in method in HTML that can be used to reset all form controls to their initial values. When this method is called on a form element, it will clear any user-entered data and reset the values of all form elements to their default values.
54 |
55 | ```js
56 | const onSubmit = (e) => {
57 | e.preventDefault();
58 | const formData = new FormData(e.currentTarget);
59 | // const name = formData.get('name');
60 | // console.log(name);
61 | // check for empty values
62 | const values = [...formData.values()];
63 | const isEmpty = values.includes('');
64 | if (isEmpty) {
65 | console.log('please provide all values');
66 | return;
67 | }
68 |
69 | // get an object with all values
70 | const data = Object.fromEntries(formData);
71 | // do something
72 | console.log(data);
73 |
74 | // clear inputs
75 | e.currentTarget.reset();
76 | };
77 | ```
78 |
79 | - getFormValues
80 |
81 | ```js
82 | const getFormValues = (form) => {
83 | const formData = new FormData(form);
84 |
85 | const values = [...formData.values()];
86 | const isEmpty = values.includes('');
87 | const data = Object.fromEntries(formData);
88 | return { isEmpty, data };
89 | };
90 |
91 | export default getFormValues;
92 | ```
93 |
94 | ```js
95 | import getFormValues from './getFormValues';
96 |
97 | const onSubmit = (e) => {
98 | e.preventDefault();
99 | const { isEmpty, data } = getFormValues(e.currentTarget);
100 |
101 | if (isEmpty) {
102 | console.log('please provide all values');
103 | return;
104 | }
105 |
106 | // do something
107 | console.log(data);
108 |
109 | // clear inputs
110 | e.currentTarget.reset();
111 | };
112 | ```
113 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + React
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "form-data",
3 | "version": "0.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "form-data",
9 | "version": "0.0.0",
10 | "dependencies": {
11 | "react": "^18.2.0",
12 | "react-dom": "^18.2.0"
13 | },
14 | "devDependencies": {
15 | "@types/react": "^18.0.27",
16 | "@types/react-dom": "^18.0.10",
17 | "@vitejs/plugin-react": "^3.1.0",
18 | "vite": "^4.1.0"
19 | }
20 | },
21 | "node_modules/@ampproject/remapping": {
22 | "version": "2.2.0",
23 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
24 | "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
25 | "dev": true,
26 | "dependencies": {
27 | "@jridgewell/gen-mapping": "^0.1.0",
28 | "@jridgewell/trace-mapping": "^0.3.9"
29 | },
30 | "engines": {
31 | "node": ">=6.0.0"
32 | }
33 | },
34 | "node_modules/@babel/code-frame": {
35 | "version": "7.18.6",
36 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
37 | "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
38 | "dev": true,
39 | "dependencies": {
40 | "@babel/highlight": "^7.18.6"
41 | },
42 | "engines": {
43 | "node": ">=6.9.0"
44 | }
45 | },
46 | "node_modules/@babel/compat-data": {
47 | "version": "7.20.14",
48 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz",
49 | "integrity": "sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==",
50 | "dev": true,
51 | "engines": {
52 | "node": ">=6.9.0"
53 | }
54 | },
55 | "node_modules/@babel/core": {
56 | "version": "7.20.12",
57 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz",
58 | "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==",
59 | "dev": true,
60 | "dependencies": {
61 | "@ampproject/remapping": "^2.1.0",
62 | "@babel/code-frame": "^7.18.6",
63 | "@babel/generator": "^7.20.7",
64 | "@babel/helper-compilation-targets": "^7.20.7",
65 | "@babel/helper-module-transforms": "^7.20.11",
66 | "@babel/helpers": "^7.20.7",
67 | "@babel/parser": "^7.20.7",
68 | "@babel/template": "^7.20.7",
69 | "@babel/traverse": "^7.20.12",
70 | "@babel/types": "^7.20.7",
71 | "convert-source-map": "^1.7.0",
72 | "debug": "^4.1.0",
73 | "gensync": "^1.0.0-beta.2",
74 | "json5": "^2.2.2",
75 | "semver": "^6.3.0"
76 | },
77 | "engines": {
78 | "node": ">=6.9.0"
79 | },
80 | "funding": {
81 | "type": "opencollective",
82 | "url": "https://opencollective.com/babel"
83 | }
84 | },
85 | "node_modules/@babel/generator": {
86 | "version": "7.20.14",
87 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz",
88 | "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==",
89 | "dev": true,
90 | "dependencies": {
91 | "@babel/types": "^7.20.7",
92 | "@jridgewell/gen-mapping": "^0.3.2",
93 | "jsesc": "^2.5.1"
94 | },
95 | "engines": {
96 | "node": ">=6.9.0"
97 | }
98 | },
99 | "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
100 | "version": "0.3.2",
101 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
102 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
103 | "dev": true,
104 | "dependencies": {
105 | "@jridgewell/set-array": "^1.0.1",
106 | "@jridgewell/sourcemap-codec": "^1.4.10",
107 | "@jridgewell/trace-mapping": "^0.3.9"
108 | },
109 | "engines": {
110 | "node": ">=6.0.0"
111 | }
112 | },
113 | "node_modules/@babel/helper-compilation-targets": {
114 | "version": "7.20.7",
115 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
116 | "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
117 | "dev": true,
118 | "dependencies": {
119 | "@babel/compat-data": "^7.20.5",
120 | "@babel/helper-validator-option": "^7.18.6",
121 | "browserslist": "^4.21.3",
122 | "lru-cache": "^5.1.1",
123 | "semver": "^6.3.0"
124 | },
125 | "engines": {
126 | "node": ">=6.9.0"
127 | },
128 | "peerDependencies": {
129 | "@babel/core": "^7.0.0"
130 | }
131 | },
132 | "node_modules/@babel/helper-environment-visitor": {
133 | "version": "7.18.9",
134 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
135 | "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
136 | "dev": true,
137 | "engines": {
138 | "node": ">=6.9.0"
139 | }
140 | },
141 | "node_modules/@babel/helper-function-name": {
142 | "version": "7.19.0",
143 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
144 | "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
145 | "dev": true,
146 | "dependencies": {
147 | "@babel/template": "^7.18.10",
148 | "@babel/types": "^7.19.0"
149 | },
150 | "engines": {
151 | "node": ">=6.9.0"
152 | }
153 | },
154 | "node_modules/@babel/helper-hoist-variables": {
155 | "version": "7.18.6",
156 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
157 | "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
158 | "dev": true,
159 | "dependencies": {
160 | "@babel/types": "^7.18.6"
161 | },
162 | "engines": {
163 | "node": ">=6.9.0"
164 | }
165 | },
166 | "node_modules/@babel/helper-module-imports": {
167 | "version": "7.18.6",
168 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
169 | "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
170 | "dev": true,
171 | "dependencies": {
172 | "@babel/types": "^7.18.6"
173 | },
174 | "engines": {
175 | "node": ">=6.9.0"
176 | }
177 | },
178 | "node_modules/@babel/helper-module-transforms": {
179 | "version": "7.20.11",
180 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz",
181 | "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==",
182 | "dev": true,
183 | "dependencies": {
184 | "@babel/helper-environment-visitor": "^7.18.9",
185 | "@babel/helper-module-imports": "^7.18.6",
186 | "@babel/helper-simple-access": "^7.20.2",
187 | "@babel/helper-split-export-declaration": "^7.18.6",
188 | "@babel/helper-validator-identifier": "^7.19.1",
189 | "@babel/template": "^7.20.7",
190 | "@babel/traverse": "^7.20.10",
191 | "@babel/types": "^7.20.7"
192 | },
193 | "engines": {
194 | "node": ">=6.9.0"
195 | }
196 | },
197 | "node_modules/@babel/helper-plugin-utils": {
198 | "version": "7.20.2",
199 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
200 | "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
201 | "dev": true,
202 | "engines": {
203 | "node": ">=6.9.0"
204 | }
205 | },
206 | "node_modules/@babel/helper-simple-access": {
207 | "version": "7.20.2",
208 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
209 | "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
210 | "dev": true,
211 | "dependencies": {
212 | "@babel/types": "^7.20.2"
213 | },
214 | "engines": {
215 | "node": ">=6.9.0"
216 | }
217 | },
218 | "node_modules/@babel/helper-split-export-declaration": {
219 | "version": "7.18.6",
220 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
221 | "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
222 | "dev": true,
223 | "dependencies": {
224 | "@babel/types": "^7.18.6"
225 | },
226 | "engines": {
227 | "node": ">=6.9.0"
228 | }
229 | },
230 | "node_modules/@babel/helper-string-parser": {
231 | "version": "7.19.4",
232 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
233 | "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
234 | "dev": true,
235 | "engines": {
236 | "node": ">=6.9.0"
237 | }
238 | },
239 | "node_modules/@babel/helper-validator-identifier": {
240 | "version": "7.19.1",
241 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
242 | "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
243 | "dev": true,
244 | "engines": {
245 | "node": ">=6.9.0"
246 | }
247 | },
248 | "node_modules/@babel/helper-validator-option": {
249 | "version": "7.18.6",
250 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
251 | "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
252 | "dev": true,
253 | "engines": {
254 | "node": ">=6.9.0"
255 | }
256 | },
257 | "node_modules/@babel/helpers": {
258 | "version": "7.20.13",
259 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz",
260 | "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==",
261 | "dev": true,
262 | "dependencies": {
263 | "@babel/template": "^7.20.7",
264 | "@babel/traverse": "^7.20.13",
265 | "@babel/types": "^7.20.7"
266 | },
267 | "engines": {
268 | "node": ">=6.9.0"
269 | }
270 | },
271 | "node_modules/@babel/highlight": {
272 | "version": "7.18.6",
273 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
274 | "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
275 | "dev": true,
276 | "dependencies": {
277 | "@babel/helper-validator-identifier": "^7.18.6",
278 | "chalk": "^2.0.0",
279 | "js-tokens": "^4.0.0"
280 | },
281 | "engines": {
282 | "node": ">=6.9.0"
283 | }
284 | },
285 | "node_modules/@babel/parser": {
286 | "version": "7.20.15",
287 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz",
288 | "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==",
289 | "dev": true,
290 | "bin": {
291 | "parser": "bin/babel-parser.js"
292 | },
293 | "engines": {
294 | "node": ">=6.0.0"
295 | }
296 | },
297 | "node_modules/@babel/plugin-transform-react-jsx-self": {
298 | "version": "7.18.6",
299 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz",
300 | "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==",
301 | "dev": true,
302 | "dependencies": {
303 | "@babel/helper-plugin-utils": "^7.18.6"
304 | },
305 | "engines": {
306 | "node": ">=6.9.0"
307 | },
308 | "peerDependencies": {
309 | "@babel/core": "^7.0.0-0"
310 | }
311 | },
312 | "node_modules/@babel/plugin-transform-react-jsx-source": {
313 | "version": "7.19.6",
314 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz",
315 | "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==",
316 | "dev": true,
317 | "dependencies": {
318 | "@babel/helper-plugin-utils": "^7.19.0"
319 | },
320 | "engines": {
321 | "node": ">=6.9.0"
322 | },
323 | "peerDependencies": {
324 | "@babel/core": "^7.0.0-0"
325 | }
326 | },
327 | "node_modules/@babel/template": {
328 | "version": "7.20.7",
329 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
330 | "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
331 | "dev": true,
332 | "dependencies": {
333 | "@babel/code-frame": "^7.18.6",
334 | "@babel/parser": "^7.20.7",
335 | "@babel/types": "^7.20.7"
336 | },
337 | "engines": {
338 | "node": ">=6.9.0"
339 | }
340 | },
341 | "node_modules/@babel/traverse": {
342 | "version": "7.20.13",
343 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz",
344 | "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==",
345 | "dev": true,
346 | "dependencies": {
347 | "@babel/code-frame": "^7.18.6",
348 | "@babel/generator": "^7.20.7",
349 | "@babel/helper-environment-visitor": "^7.18.9",
350 | "@babel/helper-function-name": "^7.19.0",
351 | "@babel/helper-hoist-variables": "^7.18.6",
352 | "@babel/helper-split-export-declaration": "^7.18.6",
353 | "@babel/parser": "^7.20.13",
354 | "@babel/types": "^7.20.7",
355 | "debug": "^4.1.0",
356 | "globals": "^11.1.0"
357 | },
358 | "engines": {
359 | "node": ">=6.9.0"
360 | }
361 | },
362 | "node_modules/@babel/types": {
363 | "version": "7.20.7",
364 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
365 | "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
366 | "dev": true,
367 | "dependencies": {
368 | "@babel/helper-string-parser": "^7.19.4",
369 | "@babel/helper-validator-identifier": "^7.19.1",
370 | "to-fast-properties": "^2.0.0"
371 | },
372 | "engines": {
373 | "node": ">=6.9.0"
374 | }
375 | },
376 | "node_modules/@esbuild/android-arm": {
377 | "version": "0.16.17",
378 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
379 | "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
380 | "cpu": [
381 | "arm"
382 | ],
383 | "dev": true,
384 | "optional": true,
385 | "os": [
386 | "android"
387 | ],
388 | "engines": {
389 | "node": ">=12"
390 | }
391 | },
392 | "node_modules/@esbuild/android-arm64": {
393 | "version": "0.16.17",
394 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
395 | "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
396 | "cpu": [
397 | "arm64"
398 | ],
399 | "dev": true,
400 | "optional": true,
401 | "os": [
402 | "android"
403 | ],
404 | "engines": {
405 | "node": ">=12"
406 | }
407 | },
408 | "node_modules/@esbuild/android-x64": {
409 | "version": "0.16.17",
410 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
411 | "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
412 | "cpu": [
413 | "x64"
414 | ],
415 | "dev": true,
416 | "optional": true,
417 | "os": [
418 | "android"
419 | ],
420 | "engines": {
421 | "node": ">=12"
422 | }
423 | },
424 | "node_modules/@esbuild/darwin-arm64": {
425 | "version": "0.16.17",
426 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
427 | "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
428 | "cpu": [
429 | "arm64"
430 | ],
431 | "dev": true,
432 | "optional": true,
433 | "os": [
434 | "darwin"
435 | ],
436 | "engines": {
437 | "node": ">=12"
438 | }
439 | },
440 | "node_modules/@esbuild/darwin-x64": {
441 | "version": "0.16.17",
442 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
443 | "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
444 | "cpu": [
445 | "x64"
446 | ],
447 | "dev": true,
448 | "optional": true,
449 | "os": [
450 | "darwin"
451 | ],
452 | "engines": {
453 | "node": ">=12"
454 | }
455 | },
456 | "node_modules/@esbuild/freebsd-arm64": {
457 | "version": "0.16.17",
458 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
459 | "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
460 | "cpu": [
461 | "arm64"
462 | ],
463 | "dev": true,
464 | "optional": true,
465 | "os": [
466 | "freebsd"
467 | ],
468 | "engines": {
469 | "node": ">=12"
470 | }
471 | },
472 | "node_modules/@esbuild/freebsd-x64": {
473 | "version": "0.16.17",
474 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
475 | "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
476 | "cpu": [
477 | "x64"
478 | ],
479 | "dev": true,
480 | "optional": true,
481 | "os": [
482 | "freebsd"
483 | ],
484 | "engines": {
485 | "node": ">=12"
486 | }
487 | },
488 | "node_modules/@esbuild/linux-arm": {
489 | "version": "0.16.17",
490 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
491 | "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
492 | "cpu": [
493 | "arm"
494 | ],
495 | "dev": true,
496 | "optional": true,
497 | "os": [
498 | "linux"
499 | ],
500 | "engines": {
501 | "node": ">=12"
502 | }
503 | },
504 | "node_modules/@esbuild/linux-arm64": {
505 | "version": "0.16.17",
506 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
507 | "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
508 | "cpu": [
509 | "arm64"
510 | ],
511 | "dev": true,
512 | "optional": true,
513 | "os": [
514 | "linux"
515 | ],
516 | "engines": {
517 | "node": ">=12"
518 | }
519 | },
520 | "node_modules/@esbuild/linux-ia32": {
521 | "version": "0.16.17",
522 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
523 | "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
524 | "cpu": [
525 | "ia32"
526 | ],
527 | "dev": true,
528 | "optional": true,
529 | "os": [
530 | "linux"
531 | ],
532 | "engines": {
533 | "node": ">=12"
534 | }
535 | },
536 | "node_modules/@esbuild/linux-loong64": {
537 | "version": "0.16.17",
538 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
539 | "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
540 | "cpu": [
541 | "loong64"
542 | ],
543 | "dev": true,
544 | "optional": true,
545 | "os": [
546 | "linux"
547 | ],
548 | "engines": {
549 | "node": ">=12"
550 | }
551 | },
552 | "node_modules/@esbuild/linux-mips64el": {
553 | "version": "0.16.17",
554 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
555 | "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
556 | "cpu": [
557 | "mips64el"
558 | ],
559 | "dev": true,
560 | "optional": true,
561 | "os": [
562 | "linux"
563 | ],
564 | "engines": {
565 | "node": ">=12"
566 | }
567 | },
568 | "node_modules/@esbuild/linux-ppc64": {
569 | "version": "0.16.17",
570 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
571 | "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
572 | "cpu": [
573 | "ppc64"
574 | ],
575 | "dev": true,
576 | "optional": true,
577 | "os": [
578 | "linux"
579 | ],
580 | "engines": {
581 | "node": ">=12"
582 | }
583 | },
584 | "node_modules/@esbuild/linux-riscv64": {
585 | "version": "0.16.17",
586 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
587 | "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
588 | "cpu": [
589 | "riscv64"
590 | ],
591 | "dev": true,
592 | "optional": true,
593 | "os": [
594 | "linux"
595 | ],
596 | "engines": {
597 | "node": ">=12"
598 | }
599 | },
600 | "node_modules/@esbuild/linux-s390x": {
601 | "version": "0.16.17",
602 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
603 | "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
604 | "cpu": [
605 | "s390x"
606 | ],
607 | "dev": true,
608 | "optional": true,
609 | "os": [
610 | "linux"
611 | ],
612 | "engines": {
613 | "node": ">=12"
614 | }
615 | },
616 | "node_modules/@esbuild/linux-x64": {
617 | "version": "0.16.17",
618 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
619 | "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
620 | "cpu": [
621 | "x64"
622 | ],
623 | "dev": true,
624 | "optional": true,
625 | "os": [
626 | "linux"
627 | ],
628 | "engines": {
629 | "node": ">=12"
630 | }
631 | },
632 | "node_modules/@esbuild/netbsd-x64": {
633 | "version": "0.16.17",
634 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
635 | "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
636 | "cpu": [
637 | "x64"
638 | ],
639 | "dev": true,
640 | "optional": true,
641 | "os": [
642 | "netbsd"
643 | ],
644 | "engines": {
645 | "node": ">=12"
646 | }
647 | },
648 | "node_modules/@esbuild/openbsd-x64": {
649 | "version": "0.16.17",
650 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
651 | "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
652 | "cpu": [
653 | "x64"
654 | ],
655 | "dev": true,
656 | "optional": true,
657 | "os": [
658 | "openbsd"
659 | ],
660 | "engines": {
661 | "node": ">=12"
662 | }
663 | },
664 | "node_modules/@esbuild/sunos-x64": {
665 | "version": "0.16.17",
666 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
667 | "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
668 | "cpu": [
669 | "x64"
670 | ],
671 | "dev": true,
672 | "optional": true,
673 | "os": [
674 | "sunos"
675 | ],
676 | "engines": {
677 | "node": ">=12"
678 | }
679 | },
680 | "node_modules/@esbuild/win32-arm64": {
681 | "version": "0.16.17",
682 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
683 | "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
684 | "cpu": [
685 | "arm64"
686 | ],
687 | "dev": true,
688 | "optional": true,
689 | "os": [
690 | "win32"
691 | ],
692 | "engines": {
693 | "node": ">=12"
694 | }
695 | },
696 | "node_modules/@esbuild/win32-ia32": {
697 | "version": "0.16.17",
698 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
699 | "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
700 | "cpu": [
701 | "ia32"
702 | ],
703 | "dev": true,
704 | "optional": true,
705 | "os": [
706 | "win32"
707 | ],
708 | "engines": {
709 | "node": ">=12"
710 | }
711 | },
712 | "node_modules/@esbuild/win32-x64": {
713 | "version": "0.16.17",
714 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
715 | "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
716 | "cpu": [
717 | "x64"
718 | ],
719 | "dev": true,
720 | "optional": true,
721 | "os": [
722 | "win32"
723 | ],
724 | "engines": {
725 | "node": ">=12"
726 | }
727 | },
728 | "node_modules/@jridgewell/gen-mapping": {
729 | "version": "0.1.1",
730 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
731 | "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
732 | "dev": true,
733 | "dependencies": {
734 | "@jridgewell/set-array": "^1.0.0",
735 | "@jridgewell/sourcemap-codec": "^1.4.10"
736 | },
737 | "engines": {
738 | "node": ">=6.0.0"
739 | }
740 | },
741 | "node_modules/@jridgewell/resolve-uri": {
742 | "version": "3.1.0",
743 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
744 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
745 | "dev": true,
746 | "engines": {
747 | "node": ">=6.0.0"
748 | }
749 | },
750 | "node_modules/@jridgewell/set-array": {
751 | "version": "1.1.2",
752 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
753 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
754 | "dev": true,
755 | "engines": {
756 | "node": ">=6.0.0"
757 | }
758 | },
759 | "node_modules/@jridgewell/sourcemap-codec": {
760 | "version": "1.4.14",
761 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
762 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
763 | "dev": true
764 | },
765 | "node_modules/@jridgewell/trace-mapping": {
766 | "version": "0.3.17",
767 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
768 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
769 | "dev": true,
770 | "dependencies": {
771 | "@jridgewell/resolve-uri": "3.1.0",
772 | "@jridgewell/sourcemap-codec": "1.4.14"
773 | }
774 | },
775 | "node_modules/@types/prop-types": {
776 | "version": "15.7.5",
777 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
778 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
779 | "dev": true
780 | },
781 | "node_modules/@types/react": {
782 | "version": "18.0.28",
783 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz",
784 | "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==",
785 | "dev": true,
786 | "dependencies": {
787 | "@types/prop-types": "*",
788 | "@types/scheduler": "*",
789 | "csstype": "^3.0.2"
790 | }
791 | },
792 | "node_modules/@types/react-dom": {
793 | "version": "18.0.11",
794 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz",
795 | "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==",
796 | "dev": true,
797 | "dependencies": {
798 | "@types/react": "*"
799 | }
800 | },
801 | "node_modules/@types/scheduler": {
802 | "version": "0.16.2",
803 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
804 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
805 | "dev": true
806 | },
807 | "node_modules/@vitejs/plugin-react": {
808 | "version": "3.1.0",
809 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz",
810 | "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==",
811 | "dev": true,
812 | "dependencies": {
813 | "@babel/core": "^7.20.12",
814 | "@babel/plugin-transform-react-jsx-self": "^7.18.6",
815 | "@babel/plugin-transform-react-jsx-source": "^7.19.6",
816 | "magic-string": "^0.27.0",
817 | "react-refresh": "^0.14.0"
818 | },
819 | "engines": {
820 | "node": "^14.18.0 || >=16.0.0"
821 | },
822 | "peerDependencies": {
823 | "vite": "^4.1.0-beta.0"
824 | }
825 | },
826 | "node_modules/ansi-styles": {
827 | "version": "3.2.1",
828 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
829 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
830 | "dev": true,
831 | "dependencies": {
832 | "color-convert": "^1.9.0"
833 | },
834 | "engines": {
835 | "node": ">=4"
836 | }
837 | },
838 | "node_modules/browserslist": {
839 | "version": "4.21.5",
840 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
841 | "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
842 | "dev": true,
843 | "funding": [
844 | {
845 | "type": "opencollective",
846 | "url": "https://opencollective.com/browserslist"
847 | },
848 | {
849 | "type": "tidelift",
850 | "url": "https://tidelift.com/funding/github/npm/browserslist"
851 | }
852 | ],
853 | "dependencies": {
854 | "caniuse-lite": "^1.0.30001449",
855 | "electron-to-chromium": "^1.4.284",
856 | "node-releases": "^2.0.8",
857 | "update-browserslist-db": "^1.0.10"
858 | },
859 | "bin": {
860 | "browserslist": "cli.js"
861 | },
862 | "engines": {
863 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
864 | }
865 | },
866 | "node_modules/caniuse-lite": {
867 | "version": "1.0.30001457",
868 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz",
869 | "integrity": "sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==",
870 | "dev": true,
871 | "funding": [
872 | {
873 | "type": "opencollective",
874 | "url": "https://opencollective.com/browserslist"
875 | },
876 | {
877 | "type": "tidelift",
878 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
879 | }
880 | ]
881 | },
882 | "node_modules/chalk": {
883 | "version": "2.4.2",
884 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
885 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
886 | "dev": true,
887 | "dependencies": {
888 | "ansi-styles": "^3.2.1",
889 | "escape-string-regexp": "^1.0.5",
890 | "supports-color": "^5.3.0"
891 | },
892 | "engines": {
893 | "node": ">=4"
894 | }
895 | },
896 | "node_modules/color-convert": {
897 | "version": "1.9.3",
898 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
899 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
900 | "dev": true,
901 | "dependencies": {
902 | "color-name": "1.1.3"
903 | }
904 | },
905 | "node_modules/color-name": {
906 | "version": "1.1.3",
907 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
908 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
909 | "dev": true
910 | },
911 | "node_modules/convert-source-map": {
912 | "version": "1.9.0",
913 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
914 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
915 | "dev": true
916 | },
917 | "node_modules/csstype": {
918 | "version": "3.1.1",
919 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
920 | "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
921 | "dev": true
922 | },
923 | "node_modules/debug": {
924 | "version": "4.3.4",
925 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
926 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
927 | "dev": true,
928 | "dependencies": {
929 | "ms": "2.1.2"
930 | },
931 | "engines": {
932 | "node": ">=6.0"
933 | },
934 | "peerDependenciesMeta": {
935 | "supports-color": {
936 | "optional": true
937 | }
938 | }
939 | },
940 | "node_modules/electron-to-chromium": {
941 | "version": "1.4.302",
942 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.302.tgz",
943 | "integrity": "sha512-Uk7C+7aPBryUR1Fwvk9VmipBcN9fVsqBO57jV2ZjTm+IZ6BMNqu7EDVEg2HxCNufk6QcWlFsBkhQyQroB2VWKw==",
944 | "dev": true
945 | },
946 | "node_modules/esbuild": {
947 | "version": "0.16.17",
948 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz",
949 | "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==",
950 | "dev": true,
951 | "hasInstallScript": true,
952 | "bin": {
953 | "esbuild": "bin/esbuild"
954 | },
955 | "engines": {
956 | "node": ">=12"
957 | },
958 | "optionalDependencies": {
959 | "@esbuild/android-arm": "0.16.17",
960 | "@esbuild/android-arm64": "0.16.17",
961 | "@esbuild/android-x64": "0.16.17",
962 | "@esbuild/darwin-arm64": "0.16.17",
963 | "@esbuild/darwin-x64": "0.16.17",
964 | "@esbuild/freebsd-arm64": "0.16.17",
965 | "@esbuild/freebsd-x64": "0.16.17",
966 | "@esbuild/linux-arm": "0.16.17",
967 | "@esbuild/linux-arm64": "0.16.17",
968 | "@esbuild/linux-ia32": "0.16.17",
969 | "@esbuild/linux-loong64": "0.16.17",
970 | "@esbuild/linux-mips64el": "0.16.17",
971 | "@esbuild/linux-ppc64": "0.16.17",
972 | "@esbuild/linux-riscv64": "0.16.17",
973 | "@esbuild/linux-s390x": "0.16.17",
974 | "@esbuild/linux-x64": "0.16.17",
975 | "@esbuild/netbsd-x64": "0.16.17",
976 | "@esbuild/openbsd-x64": "0.16.17",
977 | "@esbuild/sunos-x64": "0.16.17",
978 | "@esbuild/win32-arm64": "0.16.17",
979 | "@esbuild/win32-ia32": "0.16.17",
980 | "@esbuild/win32-x64": "0.16.17"
981 | }
982 | },
983 | "node_modules/escalade": {
984 | "version": "3.1.1",
985 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
986 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
987 | "dev": true,
988 | "engines": {
989 | "node": ">=6"
990 | }
991 | },
992 | "node_modules/escape-string-regexp": {
993 | "version": "1.0.5",
994 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
995 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
996 | "dev": true,
997 | "engines": {
998 | "node": ">=0.8.0"
999 | }
1000 | },
1001 | "node_modules/fsevents": {
1002 | "version": "2.3.2",
1003 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1004 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1005 | "dev": true,
1006 | "hasInstallScript": true,
1007 | "optional": true,
1008 | "os": [
1009 | "darwin"
1010 | ],
1011 | "engines": {
1012 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1013 | }
1014 | },
1015 | "node_modules/function-bind": {
1016 | "version": "1.1.1",
1017 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1018 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1019 | "dev": true
1020 | },
1021 | "node_modules/gensync": {
1022 | "version": "1.0.0-beta.2",
1023 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
1024 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1025 | "dev": true,
1026 | "engines": {
1027 | "node": ">=6.9.0"
1028 | }
1029 | },
1030 | "node_modules/globals": {
1031 | "version": "11.12.0",
1032 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
1033 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
1034 | "dev": true,
1035 | "engines": {
1036 | "node": ">=4"
1037 | }
1038 | },
1039 | "node_modules/has": {
1040 | "version": "1.0.3",
1041 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1042 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1043 | "dev": true,
1044 | "dependencies": {
1045 | "function-bind": "^1.1.1"
1046 | },
1047 | "engines": {
1048 | "node": ">= 0.4.0"
1049 | }
1050 | },
1051 | "node_modules/has-flag": {
1052 | "version": "3.0.0",
1053 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1054 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
1055 | "dev": true,
1056 | "engines": {
1057 | "node": ">=4"
1058 | }
1059 | },
1060 | "node_modules/is-core-module": {
1061 | "version": "2.11.0",
1062 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
1063 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
1064 | "dev": true,
1065 | "dependencies": {
1066 | "has": "^1.0.3"
1067 | },
1068 | "funding": {
1069 | "url": "https://github.com/sponsors/ljharb"
1070 | }
1071 | },
1072 | "node_modules/js-tokens": {
1073 | "version": "4.0.0",
1074 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1075 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
1076 | },
1077 | "node_modules/jsesc": {
1078 | "version": "2.5.2",
1079 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
1080 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
1081 | "dev": true,
1082 | "bin": {
1083 | "jsesc": "bin/jsesc"
1084 | },
1085 | "engines": {
1086 | "node": ">=4"
1087 | }
1088 | },
1089 | "node_modules/json5": {
1090 | "version": "2.2.3",
1091 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
1092 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
1093 | "dev": true,
1094 | "bin": {
1095 | "json5": "lib/cli.js"
1096 | },
1097 | "engines": {
1098 | "node": ">=6"
1099 | }
1100 | },
1101 | "node_modules/loose-envify": {
1102 | "version": "1.4.0",
1103 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1104 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1105 | "dependencies": {
1106 | "js-tokens": "^3.0.0 || ^4.0.0"
1107 | },
1108 | "bin": {
1109 | "loose-envify": "cli.js"
1110 | }
1111 | },
1112 | "node_modules/lru-cache": {
1113 | "version": "5.1.1",
1114 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1115 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1116 | "dev": true,
1117 | "dependencies": {
1118 | "yallist": "^3.0.2"
1119 | }
1120 | },
1121 | "node_modules/magic-string": {
1122 | "version": "0.27.0",
1123 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
1124 | "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
1125 | "dev": true,
1126 | "dependencies": {
1127 | "@jridgewell/sourcemap-codec": "^1.4.13"
1128 | },
1129 | "engines": {
1130 | "node": ">=12"
1131 | }
1132 | },
1133 | "node_modules/ms": {
1134 | "version": "2.1.2",
1135 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1136 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1137 | "dev": true
1138 | },
1139 | "node_modules/nanoid": {
1140 | "version": "3.3.4",
1141 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
1142 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
1143 | "dev": true,
1144 | "bin": {
1145 | "nanoid": "bin/nanoid.cjs"
1146 | },
1147 | "engines": {
1148 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1149 | }
1150 | },
1151 | "node_modules/node-releases": {
1152 | "version": "2.0.10",
1153 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
1154 | "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
1155 | "dev": true
1156 | },
1157 | "node_modules/path-parse": {
1158 | "version": "1.0.7",
1159 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1160 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1161 | "dev": true
1162 | },
1163 | "node_modules/picocolors": {
1164 | "version": "1.0.0",
1165 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
1166 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
1167 | "dev": true
1168 | },
1169 | "node_modules/postcss": {
1170 | "version": "8.4.21",
1171 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
1172 | "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
1173 | "dev": true,
1174 | "funding": [
1175 | {
1176 | "type": "opencollective",
1177 | "url": "https://opencollective.com/postcss/"
1178 | },
1179 | {
1180 | "type": "tidelift",
1181 | "url": "https://tidelift.com/funding/github/npm/postcss"
1182 | }
1183 | ],
1184 | "dependencies": {
1185 | "nanoid": "^3.3.4",
1186 | "picocolors": "^1.0.0",
1187 | "source-map-js": "^1.0.2"
1188 | },
1189 | "engines": {
1190 | "node": "^10 || ^12 || >=14"
1191 | }
1192 | },
1193 | "node_modules/react": {
1194 | "version": "18.2.0",
1195 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
1196 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
1197 | "dependencies": {
1198 | "loose-envify": "^1.1.0"
1199 | },
1200 | "engines": {
1201 | "node": ">=0.10.0"
1202 | }
1203 | },
1204 | "node_modules/react-dom": {
1205 | "version": "18.2.0",
1206 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
1207 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
1208 | "dependencies": {
1209 | "loose-envify": "^1.1.0",
1210 | "scheduler": "^0.23.0"
1211 | },
1212 | "peerDependencies": {
1213 | "react": "^18.2.0"
1214 | }
1215 | },
1216 | "node_modules/react-refresh": {
1217 | "version": "0.14.0",
1218 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
1219 | "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==",
1220 | "dev": true,
1221 | "engines": {
1222 | "node": ">=0.10.0"
1223 | }
1224 | },
1225 | "node_modules/resolve": {
1226 | "version": "1.22.1",
1227 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1228 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1229 | "dev": true,
1230 | "dependencies": {
1231 | "is-core-module": "^2.9.0",
1232 | "path-parse": "^1.0.7",
1233 | "supports-preserve-symlinks-flag": "^1.0.0"
1234 | },
1235 | "bin": {
1236 | "resolve": "bin/resolve"
1237 | },
1238 | "funding": {
1239 | "url": "https://github.com/sponsors/ljharb"
1240 | }
1241 | },
1242 | "node_modules/rollup": {
1243 | "version": "3.17.2",
1244 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.17.2.tgz",
1245 | "integrity": "sha512-qMNZdlQPCkWodrAZ3qnJtvCAl4vpQ8q77uEujVCCbC/6CLB7Lcmvjq7HyiOSnf4fxTT9XgsE36oLHJBH49xjqA==",
1246 | "dev": true,
1247 | "bin": {
1248 | "rollup": "dist/bin/rollup"
1249 | },
1250 | "engines": {
1251 | "node": ">=14.18.0",
1252 | "npm": ">=8.0.0"
1253 | },
1254 | "optionalDependencies": {
1255 | "fsevents": "~2.3.2"
1256 | }
1257 | },
1258 | "node_modules/scheduler": {
1259 | "version": "0.23.0",
1260 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
1261 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
1262 | "dependencies": {
1263 | "loose-envify": "^1.1.0"
1264 | }
1265 | },
1266 | "node_modules/semver": {
1267 | "version": "6.3.0",
1268 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1269 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1270 | "dev": true,
1271 | "bin": {
1272 | "semver": "bin/semver.js"
1273 | }
1274 | },
1275 | "node_modules/source-map-js": {
1276 | "version": "1.0.2",
1277 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1278 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1279 | "dev": true,
1280 | "engines": {
1281 | "node": ">=0.10.0"
1282 | }
1283 | },
1284 | "node_modules/supports-color": {
1285 | "version": "5.5.0",
1286 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1287 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1288 | "dev": true,
1289 | "dependencies": {
1290 | "has-flag": "^3.0.0"
1291 | },
1292 | "engines": {
1293 | "node": ">=4"
1294 | }
1295 | },
1296 | "node_modules/supports-preserve-symlinks-flag": {
1297 | "version": "1.0.0",
1298 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1299 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1300 | "dev": true,
1301 | "engines": {
1302 | "node": ">= 0.4"
1303 | },
1304 | "funding": {
1305 | "url": "https://github.com/sponsors/ljharb"
1306 | }
1307 | },
1308 | "node_modules/to-fast-properties": {
1309 | "version": "2.0.0",
1310 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
1311 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
1312 | "dev": true,
1313 | "engines": {
1314 | "node": ">=4"
1315 | }
1316 | },
1317 | "node_modules/update-browserslist-db": {
1318 | "version": "1.0.10",
1319 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
1320 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
1321 | "dev": true,
1322 | "funding": [
1323 | {
1324 | "type": "opencollective",
1325 | "url": "https://opencollective.com/browserslist"
1326 | },
1327 | {
1328 | "type": "tidelift",
1329 | "url": "https://tidelift.com/funding/github/npm/browserslist"
1330 | }
1331 | ],
1332 | "dependencies": {
1333 | "escalade": "^3.1.1",
1334 | "picocolors": "^1.0.0"
1335 | },
1336 | "bin": {
1337 | "browserslist-lint": "cli.js"
1338 | },
1339 | "peerDependencies": {
1340 | "browserslist": ">= 4.21.0"
1341 | }
1342 | },
1343 | "node_modules/vite": {
1344 | "version": "4.1.3",
1345 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.3.tgz",
1346 | "integrity": "sha512-0Zqo4/Fr/swSOBmbl+HAAhOjrqNwju+yTtoe4hQX9UsARdcuc9njyOdr6xU0DDnV7YP0RT6mgTTOiRtZgxfCxA==",
1347 | "dev": true,
1348 | "dependencies": {
1349 | "esbuild": "^0.16.14",
1350 | "postcss": "^8.4.21",
1351 | "resolve": "^1.22.1",
1352 | "rollup": "^3.10.0"
1353 | },
1354 | "bin": {
1355 | "vite": "bin/vite.js"
1356 | },
1357 | "engines": {
1358 | "node": "^14.18.0 || >=16.0.0"
1359 | },
1360 | "optionalDependencies": {
1361 | "fsevents": "~2.3.2"
1362 | },
1363 | "peerDependencies": {
1364 | "@types/node": ">= 14",
1365 | "less": "*",
1366 | "sass": "*",
1367 | "stylus": "*",
1368 | "sugarss": "*",
1369 | "terser": "^5.4.0"
1370 | },
1371 | "peerDependenciesMeta": {
1372 | "@types/node": {
1373 | "optional": true
1374 | },
1375 | "less": {
1376 | "optional": true
1377 | },
1378 | "sass": {
1379 | "optional": true
1380 | },
1381 | "stylus": {
1382 | "optional": true
1383 | },
1384 | "sugarss": {
1385 | "optional": true
1386 | },
1387 | "terser": {
1388 | "optional": true
1389 | }
1390 | }
1391 | },
1392 | "node_modules/yallist": {
1393 | "version": "3.1.1",
1394 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
1395 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
1396 | "dev": true
1397 | }
1398 | },
1399 | "dependencies": {
1400 | "@ampproject/remapping": {
1401 | "version": "2.2.0",
1402 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
1403 | "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
1404 | "dev": true,
1405 | "requires": {
1406 | "@jridgewell/gen-mapping": "^0.1.0",
1407 | "@jridgewell/trace-mapping": "^0.3.9"
1408 | }
1409 | },
1410 | "@babel/code-frame": {
1411 | "version": "7.18.6",
1412 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
1413 | "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
1414 | "dev": true,
1415 | "requires": {
1416 | "@babel/highlight": "^7.18.6"
1417 | }
1418 | },
1419 | "@babel/compat-data": {
1420 | "version": "7.20.14",
1421 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz",
1422 | "integrity": "sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==",
1423 | "dev": true
1424 | },
1425 | "@babel/core": {
1426 | "version": "7.20.12",
1427 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz",
1428 | "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==",
1429 | "dev": true,
1430 | "requires": {
1431 | "@ampproject/remapping": "^2.1.0",
1432 | "@babel/code-frame": "^7.18.6",
1433 | "@babel/generator": "^7.20.7",
1434 | "@babel/helper-compilation-targets": "^7.20.7",
1435 | "@babel/helper-module-transforms": "^7.20.11",
1436 | "@babel/helpers": "^7.20.7",
1437 | "@babel/parser": "^7.20.7",
1438 | "@babel/template": "^7.20.7",
1439 | "@babel/traverse": "^7.20.12",
1440 | "@babel/types": "^7.20.7",
1441 | "convert-source-map": "^1.7.0",
1442 | "debug": "^4.1.0",
1443 | "gensync": "^1.0.0-beta.2",
1444 | "json5": "^2.2.2",
1445 | "semver": "^6.3.0"
1446 | }
1447 | },
1448 | "@babel/generator": {
1449 | "version": "7.20.14",
1450 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz",
1451 | "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==",
1452 | "dev": true,
1453 | "requires": {
1454 | "@babel/types": "^7.20.7",
1455 | "@jridgewell/gen-mapping": "^0.3.2",
1456 | "jsesc": "^2.5.1"
1457 | },
1458 | "dependencies": {
1459 | "@jridgewell/gen-mapping": {
1460 | "version": "0.3.2",
1461 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
1462 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
1463 | "dev": true,
1464 | "requires": {
1465 | "@jridgewell/set-array": "^1.0.1",
1466 | "@jridgewell/sourcemap-codec": "^1.4.10",
1467 | "@jridgewell/trace-mapping": "^0.3.9"
1468 | }
1469 | }
1470 | }
1471 | },
1472 | "@babel/helper-compilation-targets": {
1473 | "version": "7.20.7",
1474 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
1475 | "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
1476 | "dev": true,
1477 | "requires": {
1478 | "@babel/compat-data": "^7.20.5",
1479 | "@babel/helper-validator-option": "^7.18.6",
1480 | "browserslist": "^4.21.3",
1481 | "lru-cache": "^5.1.1",
1482 | "semver": "^6.3.0"
1483 | }
1484 | },
1485 | "@babel/helper-environment-visitor": {
1486 | "version": "7.18.9",
1487 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
1488 | "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
1489 | "dev": true
1490 | },
1491 | "@babel/helper-function-name": {
1492 | "version": "7.19.0",
1493 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
1494 | "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
1495 | "dev": true,
1496 | "requires": {
1497 | "@babel/template": "^7.18.10",
1498 | "@babel/types": "^7.19.0"
1499 | }
1500 | },
1501 | "@babel/helper-hoist-variables": {
1502 | "version": "7.18.6",
1503 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
1504 | "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
1505 | "dev": true,
1506 | "requires": {
1507 | "@babel/types": "^7.18.6"
1508 | }
1509 | },
1510 | "@babel/helper-module-imports": {
1511 | "version": "7.18.6",
1512 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
1513 | "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
1514 | "dev": true,
1515 | "requires": {
1516 | "@babel/types": "^7.18.6"
1517 | }
1518 | },
1519 | "@babel/helper-module-transforms": {
1520 | "version": "7.20.11",
1521 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz",
1522 | "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==",
1523 | "dev": true,
1524 | "requires": {
1525 | "@babel/helper-environment-visitor": "^7.18.9",
1526 | "@babel/helper-module-imports": "^7.18.6",
1527 | "@babel/helper-simple-access": "^7.20.2",
1528 | "@babel/helper-split-export-declaration": "^7.18.6",
1529 | "@babel/helper-validator-identifier": "^7.19.1",
1530 | "@babel/template": "^7.20.7",
1531 | "@babel/traverse": "^7.20.10",
1532 | "@babel/types": "^7.20.7"
1533 | }
1534 | },
1535 | "@babel/helper-plugin-utils": {
1536 | "version": "7.20.2",
1537 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
1538 | "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
1539 | "dev": true
1540 | },
1541 | "@babel/helper-simple-access": {
1542 | "version": "7.20.2",
1543 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
1544 | "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
1545 | "dev": true,
1546 | "requires": {
1547 | "@babel/types": "^7.20.2"
1548 | }
1549 | },
1550 | "@babel/helper-split-export-declaration": {
1551 | "version": "7.18.6",
1552 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
1553 | "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
1554 | "dev": true,
1555 | "requires": {
1556 | "@babel/types": "^7.18.6"
1557 | }
1558 | },
1559 | "@babel/helper-string-parser": {
1560 | "version": "7.19.4",
1561 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
1562 | "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
1563 | "dev": true
1564 | },
1565 | "@babel/helper-validator-identifier": {
1566 | "version": "7.19.1",
1567 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
1568 | "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
1569 | "dev": true
1570 | },
1571 | "@babel/helper-validator-option": {
1572 | "version": "7.18.6",
1573 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
1574 | "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
1575 | "dev": true
1576 | },
1577 | "@babel/helpers": {
1578 | "version": "7.20.13",
1579 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz",
1580 | "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==",
1581 | "dev": true,
1582 | "requires": {
1583 | "@babel/template": "^7.20.7",
1584 | "@babel/traverse": "^7.20.13",
1585 | "@babel/types": "^7.20.7"
1586 | }
1587 | },
1588 | "@babel/highlight": {
1589 | "version": "7.18.6",
1590 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
1591 | "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
1592 | "dev": true,
1593 | "requires": {
1594 | "@babel/helper-validator-identifier": "^7.18.6",
1595 | "chalk": "^2.0.0",
1596 | "js-tokens": "^4.0.0"
1597 | }
1598 | },
1599 | "@babel/parser": {
1600 | "version": "7.20.15",
1601 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz",
1602 | "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==",
1603 | "dev": true
1604 | },
1605 | "@babel/plugin-transform-react-jsx-self": {
1606 | "version": "7.18.6",
1607 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz",
1608 | "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==",
1609 | "dev": true,
1610 | "requires": {
1611 | "@babel/helper-plugin-utils": "^7.18.6"
1612 | }
1613 | },
1614 | "@babel/plugin-transform-react-jsx-source": {
1615 | "version": "7.19.6",
1616 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz",
1617 | "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==",
1618 | "dev": true,
1619 | "requires": {
1620 | "@babel/helper-plugin-utils": "^7.19.0"
1621 | }
1622 | },
1623 | "@babel/template": {
1624 | "version": "7.20.7",
1625 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
1626 | "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
1627 | "dev": true,
1628 | "requires": {
1629 | "@babel/code-frame": "^7.18.6",
1630 | "@babel/parser": "^7.20.7",
1631 | "@babel/types": "^7.20.7"
1632 | }
1633 | },
1634 | "@babel/traverse": {
1635 | "version": "7.20.13",
1636 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz",
1637 | "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==",
1638 | "dev": true,
1639 | "requires": {
1640 | "@babel/code-frame": "^7.18.6",
1641 | "@babel/generator": "^7.20.7",
1642 | "@babel/helper-environment-visitor": "^7.18.9",
1643 | "@babel/helper-function-name": "^7.19.0",
1644 | "@babel/helper-hoist-variables": "^7.18.6",
1645 | "@babel/helper-split-export-declaration": "^7.18.6",
1646 | "@babel/parser": "^7.20.13",
1647 | "@babel/types": "^7.20.7",
1648 | "debug": "^4.1.0",
1649 | "globals": "^11.1.0"
1650 | }
1651 | },
1652 | "@babel/types": {
1653 | "version": "7.20.7",
1654 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
1655 | "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
1656 | "dev": true,
1657 | "requires": {
1658 | "@babel/helper-string-parser": "^7.19.4",
1659 | "@babel/helper-validator-identifier": "^7.19.1",
1660 | "to-fast-properties": "^2.0.0"
1661 | }
1662 | },
1663 | "@esbuild/android-arm": {
1664 | "version": "0.16.17",
1665 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
1666 | "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
1667 | "dev": true,
1668 | "optional": true
1669 | },
1670 | "@esbuild/android-arm64": {
1671 | "version": "0.16.17",
1672 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
1673 | "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
1674 | "dev": true,
1675 | "optional": true
1676 | },
1677 | "@esbuild/android-x64": {
1678 | "version": "0.16.17",
1679 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
1680 | "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
1681 | "dev": true,
1682 | "optional": true
1683 | },
1684 | "@esbuild/darwin-arm64": {
1685 | "version": "0.16.17",
1686 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
1687 | "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
1688 | "dev": true,
1689 | "optional": true
1690 | },
1691 | "@esbuild/darwin-x64": {
1692 | "version": "0.16.17",
1693 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
1694 | "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
1695 | "dev": true,
1696 | "optional": true
1697 | },
1698 | "@esbuild/freebsd-arm64": {
1699 | "version": "0.16.17",
1700 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
1701 | "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
1702 | "dev": true,
1703 | "optional": true
1704 | },
1705 | "@esbuild/freebsd-x64": {
1706 | "version": "0.16.17",
1707 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
1708 | "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
1709 | "dev": true,
1710 | "optional": true
1711 | },
1712 | "@esbuild/linux-arm": {
1713 | "version": "0.16.17",
1714 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
1715 | "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
1716 | "dev": true,
1717 | "optional": true
1718 | },
1719 | "@esbuild/linux-arm64": {
1720 | "version": "0.16.17",
1721 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
1722 | "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
1723 | "dev": true,
1724 | "optional": true
1725 | },
1726 | "@esbuild/linux-ia32": {
1727 | "version": "0.16.17",
1728 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
1729 | "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
1730 | "dev": true,
1731 | "optional": true
1732 | },
1733 | "@esbuild/linux-loong64": {
1734 | "version": "0.16.17",
1735 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
1736 | "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
1737 | "dev": true,
1738 | "optional": true
1739 | },
1740 | "@esbuild/linux-mips64el": {
1741 | "version": "0.16.17",
1742 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
1743 | "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
1744 | "dev": true,
1745 | "optional": true
1746 | },
1747 | "@esbuild/linux-ppc64": {
1748 | "version": "0.16.17",
1749 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
1750 | "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
1751 | "dev": true,
1752 | "optional": true
1753 | },
1754 | "@esbuild/linux-riscv64": {
1755 | "version": "0.16.17",
1756 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
1757 | "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
1758 | "dev": true,
1759 | "optional": true
1760 | },
1761 | "@esbuild/linux-s390x": {
1762 | "version": "0.16.17",
1763 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
1764 | "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
1765 | "dev": true,
1766 | "optional": true
1767 | },
1768 | "@esbuild/linux-x64": {
1769 | "version": "0.16.17",
1770 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
1771 | "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
1772 | "dev": true,
1773 | "optional": true
1774 | },
1775 | "@esbuild/netbsd-x64": {
1776 | "version": "0.16.17",
1777 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
1778 | "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
1779 | "dev": true,
1780 | "optional": true
1781 | },
1782 | "@esbuild/openbsd-x64": {
1783 | "version": "0.16.17",
1784 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
1785 | "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
1786 | "dev": true,
1787 | "optional": true
1788 | },
1789 | "@esbuild/sunos-x64": {
1790 | "version": "0.16.17",
1791 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
1792 | "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
1793 | "dev": true,
1794 | "optional": true
1795 | },
1796 | "@esbuild/win32-arm64": {
1797 | "version": "0.16.17",
1798 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
1799 | "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
1800 | "dev": true,
1801 | "optional": true
1802 | },
1803 | "@esbuild/win32-ia32": {
1804 | "version": "0.16.17",
1805 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
1806 | "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
1807 | "dev": true,
1808 | "optional": true
1809 | },
1810 | "@esbuild/win32-x64": {
1811 | "version": "0.16.17",
1812 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
1813 | "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
1814 | "dev": true,
1815 | "optional": true
1816 | },
1817 | "@jridgewell/gen-mapping": {
1818 | "version": "0.1.1",
1819 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
1820 | "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
1821 | "dev": true,
1822 | "requires": {
1823 | "@jridgewell/set-array": "^1.0.0",
1824 | "@jridgewell/sourcemap-codec": "^1.4.10"
1825 | }
1826 | },
1827 | "@jridgewell/resolve-uri": {
1828 | "version": "3.1.0",
1829 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
1830 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
1831 | "dev": true
1832 | },
1833 | "@jridgewell/set-array": {
1834 | "version": "1.1.2",
1835 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
1836 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
1837 | "dev": true
1838 | },
1839 | "@jridgewell/sourcemap-codec": {
1840 | "version": "1.4.14",
1841 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
1842 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
1843 | "dev": true
1844 | },
1845 | "@jridgewell/trace-mapping": {
1846 | "version": "0.3.17",
1847 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
1848 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
1849 | "dev": true,
1850 | "requires": {
1851 | "@jridgewell/resolve-uri": "3.1.0",
1852 | "@jridgewell/sourcemap-codec": "1.4.14"
1853 | }
1854 | },
1855 | "@types/prop-types": {
1856 | "version": "15.7.5",
1857 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
1858 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
1859 | "dev": true
1860 | },
1861 | "@types/react": {
1862 | "version": "18.0.28",
1863 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz",
1864 | "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==",
1865 | "dev": true,
1866 | "requires": {
1867 | "@types/prop-types": "*",
1868 | "@types/scheduler": "*",
1869 | "csstype": "^3.0.2"
1870 | }
1871 | },
1872 | "@types/react-dom": {
1873 | "version": "18.0.11",
1874 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz",
1875 | "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==",
1876 | "dev": true,
1877 | "requires": {
1878 | "@types/react": "*"
1879 | }
1880 | },
1881 | "@types/scheduler": {
1882 | "version": "0.16.2",
1883 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
1884 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
1885 | "dev": true
1886 | },
1887 | "@vitejs/plugin-react": {
1888 | "version": "3.1.0",
1889 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz",
1890 | "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==",
1891 | "dev": true,
1892 | "requires": {
1893 | "@babel/core": "^7.20.12",
1894 | "@babel/plugin-transform-react-jsx-self": "^7.18.6",
1895 | "@babel/plugin-transform-react-jsx-source": "^7.19.6",
1896 | "magic-string": "^0.27.0",
1897 | "react-refresh": "^0.14.0"
1898 | }
1899 | },
1900 | "ansi-styles": {
1901 | "version": "3.2.1",
1902 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1903 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1904 | "dev": true,
1905 | "requires": {
1906 | "color-convert": "^1.9.0"
1907 | }
1908 | },
1909 | "browserslist": {
1910 | "version": "4.21.5",
1911 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
1912 | "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
1913 | "dev": true,
1914 | "requires": {
1915 | "caniuse-lite": "^1.0.30001449",
1916 | "electron-to-chromium": "^1.4.284",
1917 | "node-releases": "^2.0.8",
1918 | "update-browserslist-db": "^1.0.10"
1919 | }
1920 | },
1921 | "caniuse-lite": {
1922 | "version": "1.0.30001457",
1923 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz",
1924 | "integrity": "sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==",
1925 | "dev": true
1926 | },
1927 | "chalk": {
1928 | "version": "2.4.2",
1929 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1930 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1931 | "dev": true,
1932 | "requires": {
1933 | "ansi-styles": "^3.2.1",
1934 | "escape-string-regexp": "^1.0.5",
1935 | "supports-color": "^5.3.0"
1936 | }
1937 | },
1938 | "color-convert": {
1939 | "version": "1.9.3",
1940 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1941 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1942 | "dev": true,
1943 | "requires": {
1944 | "color-name": "1.1.3"
1945 | }
1946 | },
1947 | "color-name": {
1948 | "version": "1.1.3",
1949 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1950 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
1951 | "dev": true
1952 | },
1953 | "convert-source-map": {
1954 | "version": "1.9.0",
1955 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
1956 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
1957 | "dev": true
1958 | },
1959 | "csstype": {
1960 | "version": "3.1.1",
1961 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
1962 | "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
1963 | "dev": true
1964 | },
1965 | "debug": {
1966 | "version": "4.3.4",
1967 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1968 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1969 | "dev": true,
1970 | "requires": {
1971 | "ms": "2.1.2"
1972 | }
1973 | },
1974 | "electron-to-chromium": {
1975 | "version": "1.4.302",
1976 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.302.tgz",
1977 | "integrity": "sha512-Uk7C+7aPBryUR1Fwvk9VmipBcN9fVsqBO57jV2ZjTm+IZ6BMNqu7EDVEg2HxCNufk6QcWlFsBkhQyQroB2VWKw==",
1978 | "dev": true
1979 | },
1980 | "esbuild": {
1981 | "version": "0.16.17",
1982 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz",
1983 | "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==",
1984 | "dev": true,
1985 | "requires": {
1986 | "@esbuild/android-arm": "0.16.17",
1987 | "@esbuild/android-arm64": "0.16.17",
1988 | "@esbuild/android-x64": "0.16.17",
1989 | "@esbuild/darwin-arm64": "0.16.17",
1990 | "@esbuild/darwin-x64": "0.16.17",
1991 | "@esbuild/freebsd-arm64": "0.16.17",
1992 | "@esbuild/freebsd-x64": "0.16.17",
1993 | "@esbuild/linux-arm": "0.16.17",
1994 | "@esbuild/linux-arm64": "0.16.17",
1995 | "@esbuild/linux-ia32": "0.16.17",
1996 | "@esbuild/linux-loong64": "0.16.17",
1997 | "@esbuild/linux-mips64el": "0.16.17",
1998 | "@esbuild/linux-ppc64": "0.16.17",
1999 | "@esbuild/linux-riscv64": "0.16.17",
2000 | "@esbuild/linux-s390x": "0.16.17",
2001 | "@esbuild/linux-x64": "0.16.17",
2002 | "@esbuild/netbsd-x64": "0.16.17",
2003 | "@esbuild/openbsd-x64": "0.16.17",
2004 | "@esbuild/sunos-x64": "0.16.17",
2005 | "@esbuild/win32-arm64": "0.16.17",
2006 | "@esbuild/win32-ia32": "0.16.17",
2007 | "@esbuild/win32-x64": "0.16.17"
2008 | }
2009 | },
2010 | "escalade": {
2011 | "version": "3.1.1",
2012 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
2013 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
2014 | "dev": true
2015 | },
2016 | "escape-string-regexp": {
2017 | "version": "1.0.5",
2018 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2019 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
2020 | "dev": true
2021 | },
2022 | "fsevents": {
2023 | "version": "2.3.2",
2024 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
2025 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
2026 | "dev": true,
2027 | "optional": true
2028 | },
2029 | "function-bind": {
2030 | "version": "1.1.1",
2031 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
2032 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
2033 | "dev": true
2034 | },
2035 | "gensync": {
2036 | "version": "1.0.0-beta.2",
2037 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
2038 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
2039 | "dev": true
2040 | },
2041 | "globals": {
2042 | "version": "11.12.0",
2043 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
2044 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
2045 | "dev": true
2046 | },
2047 | "has": {
2048 | "version": "1.0.3",
2049 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
2050 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
2051 | "dev": true,
2052 | "requires": {
2053 | "function-bind": "^1.1.1"
2054 | }
2055 | },
2056 | "has-flag": {
2057 | "version": "3.0.0",
2058 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2059 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
2060 | "dev": true
2061 | },
2062 | "is-core-module": {
2063 | "version": "2.11.0",
2064 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
2065 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
2066 | "dev": true,
2067 | "requires": {
2068 | "has": "^1.0.3"
2069 | }
2070 | },
2071 | "js-tokens": {
2072 | "version": "4.0.0",
2073 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2074 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
2075 | },
2076 | "jsesc": {
2077 | "version": "2.5.2",
2078 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
2079 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
2080 | "dev": true
2081 | },
2082 | "json5": {
2083 | "version": "2.2.3",
2084 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
2085 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
2086 | "dev": true
2087 | },
2088 | "loose-envify": {
2089 | "version": "1.4.0",
2090 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
2091 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
2092 | "requires": {
2093 | "js-tokens": "^3.0.0 || ^4.0.0"
2094 | }
2095 | },
2096 | "lru-cache": {
2097 | "version": "5.1.1",
2098 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
2099 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
2100 | "dev": true,
2101 | "requires": {
2102 | "yallist": "^3.0.2"
2103 | }
2104 | },
2105 | "magic-string": {
2106 | "version": "0.27.0",
2107 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
2108 | "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
2109 | "dev": true,
2110 | "requires": {
2111 | "@jridgewell/sourcemap-codec": "^1.4.13"
2112 | }
2113 | },
2114 | "ms": {
2115 | "version": "2.1.2",
2116 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2117 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2118 | "dev": true
2119 | },
2120 | "nanoid": {
2121 | "version": "3.3.4",
2122 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
2123 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
2124 | "dev": true
2125 | },
2126 | "node-releases": {
2127 | "version": "2.0.10",
2128 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
2129 | "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
2130 | "dev": true
2131 | },
2132 | "path-parse": {
2133 | "version": "1.0.7",
2134 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2135 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2136 | "dev": true
2137 | },
2138 | "picocolors": {
2139 | "version": "1.0.0",
2140 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
2141 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
2142 | "dev": true
2143 | },
2144 | "postcss": {
2145 | "version": "8.4.21",
2146 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
2147 | "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
2148 | "dev": true,
2149 | "requires": {
2150 | "nanoid": "^3.3.4",
2151 | "picocolors": "^1.0.0",
2152 | "source-map-js": "^1.0.2"
2153 | }
2154 | },
2155 | "react": {
2156 | "version": "18.2.0",
2157 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
2158 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
2159 | "requires": {
2160 | "loose-envify": "^1.1.0"
2161 | }
2162 | },
2163 | "react-dom": {
2164 | "version": "18.2.0",
2165 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
2166 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
2167 | "requires": {
2168 | "loose-envify": "^1.1.0",
2169 | "scheduler": "^0.23.0"
2170 | }
2171 | },
2172 | "react-refresh": {
2173 | "version": "0.14.0",
2174 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
2175 | "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==",
2176 | "dev": true
2177 | },
2178 | "resolve": {
2179 | "version": "1.22.1",
2180 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
2181 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
2182 | "dev": true,
2183 | "requires": {
2184 | "is-core-module": "^2.9.0",
2185 | "path-parse": "^1.0.7",
2186 | "supports-preserve-symlinks-flag": "^1.0.0"
2187 | }
2188 | },
2189 | "rollup": {
2190 | "version": "3.17.2",
2191 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.17.2.tgz",
2192 | "integrity": "sha512-qMNZdlQPCkWodrAZ3qnJtvCAl4vpQ8q77uEujVCCbC/6CLB7Lcmvjq7HyiOSnf4fxTT9XgsE36oLHJBH49xjqA==",
2193 | "dev": true,
2194 | "requires": {
2195 | "fsevents": "~2.3.2"
2196 | }
2197 | },
2198 | "scheduler": {
2199 | "version": "0.23.0",
2200 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
2201 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
2202 | "requires": {
2203 | "loose-envify": "^1.1.0"
2204 | }
2205 | },
2206 | "semver": {
2207 | "version": "6.3.0",
2208 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2209 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2210 | "dev": true
2211 | },
2212 | "source-map-js": {
2213 | "version": "1.0.2",
2214 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
2215 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
2216 | "dev": true
2217 | },
2218 | "supports-color": {
2219 | "version": "5.5.0",
2220 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2221 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2222 | "dev": true,
2223 | "requires": {
2224 | "has-flag": "^3.0.0"
2225 | }
2226 | },
2227 | "supports-preserve-symlinks-flag": {
2228 | "version": "1.0.0",
2229 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2230 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
2231 | "dev": true
2232 | },
2233 | "to-fast-properties": {
2234 | "version": "2.0.0",
2235 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
2236 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
2237 | "dev": true
2238 | },
2239 | "update-browserslist-db": {
2240 | "version": "1.0.10",
2241 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
2242 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
2243 | "dev": true,
2244 | "requires": {
2245 | "escalade": "^3.1.1",
2246 | "picocolors": "^1.0.0"
2247 | }
2248 | },
2249 | "vite": {
2250 | "version": "4.1.3",
2251 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.3.tgz",
2252 | "integrity": "sha512-0Zqo4/Fr/swSOBmbl+HAAhOjrqNwju+yTtoe4hQX9UsARdcuc9njyOdr6xU0DDnV7YP0RT6mgTTOiRtZgxfCxA==",
2253 | "dev": true,
2254 | "requires": {
2255 | "esbuild": "^0.16.14",
2256 | "fsevents": "~2.3.2",
2257 | "postcss": "^8.4.21",
2258 | "resolve": "^1.22.1",
2259 | "rollup": "^3.10.0"
2260 | }
2261 | },
2262 | "yallist": {
2263 | "version": "3.1.1",
2264 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2265 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2266 | "dev": true
2267 | }
2268 | }
2269 | }
2270 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "form-data",
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-dom": "^18.2.0"
14 | },
15 | "devDependencies": {
16 | "@types/react": "^18.0.27",
17 | "@types/react-dom": "^18.0.10",
18 | "@vitejs/plugin-react": "^3.1.0",
19 | "vite": "^4.1.0"
20 | }
21 | }
--------------------------------------------------------------------------------
/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/App.jsx:
--------------------------------------------------------------------------------
1 | import { useState } from 'react';
2 | import getFormValues from './getFormValues';
3 | function Register() {
4 | const [isMember, setIsMember] = useState(false);
5 |
6 | const onSubmit = (e) => {
7 | e.preventDefault();
8 | const { isEmpty, data } = getFormValues(e.currentTarget);
9 |
10 | if (isEmpty) {
11 | console.log('please provide all values');
12 | return;
13 | }
14 |
15 | // do something
16 | console.log(data);
17 |
18 | // clear inputs
19 | e.currentTarget.reset();
20 | };
21 |
22 | return (
23 |
71 | );
72 | }
73 | export default Register;
74 |
--------------------------------------------------------------------------------
/src/assets/react.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/getFormValues.js:
--------------------------------------------------------------------------------
1 | const getFormValues = (form) => {
2 | const formData = new FormData(form);
3 |
4 | const values = [...formData.values()];
5 | const isEmpty = values.includes('');
6 | const data = Object.fromEntries(formData);
7 | return { isEmpty, data };
8 | };
9 |
10 | export default getFormValues;
11 |
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::after,
3 | ::before {
4 | box-sizing: border-box;
5 | }
6 |
7 | /* fonts */
8 | @import url('https://fonts.googleapis.com/css2?family=Cabin&family=Roboto+Condensed:wght@400;700&display=swap');
9 |
10 | html {
11 | font-size: 100%;
12 | } /*16px*/
13 |
14 | :root {
15 | /* colors */
16 | --primary-50: #eff6ff;
17 | --primary-100: #dbeafe;
18 | --primary-200: #bfdbfe;
19 | --primary-300: #93c5fd;
20 | --primary-400: #60a5fa;
21 | --primary-500: #3b82f6;
22 | --primary-600: #2563eb;
23 | --primary-700: #1d4ed8;
24 | --primary-800: #1e40af;
25 | --primary-900: #1e3a8a;
26 |
27 | /* grey */
28 | --grey-50: #f0f4f8;
29 | --grey-100: #d9e2ec;
30 | --grey-200: #bcccdc;
31 | --grey-300: #9fb3c8;
32 | --grey-400: #829ab1;
33 | --grey-500: #627d98;
34 | --grey-600: #486581;
35 | --grey-700: #334e68;
36 | --grey-800: #243b53;
37 | --grey-900: #102a43;
38 | /* rest of the colors */
39 | --black: #222;
40 | --white: #fff;
41 | --red-light: #f8d7da;
42 | --red-dark: #842029;
43 | --green-light: #d1e7dd;
44 | --green-dark: #0f5132;
45 |
46 | /* fonts */
47 | --headingFont: 'Roboto Condensed', Sans-Serif;
48 | --bodyFont: 'Cabin', Sans-Serif;
49 | --small-text: 0.875rem;
50 | --extra-small-text: 0.7em;
51 | /* rest of the vars */
52 | --backgroundColor: var(--grey-50);
53 | --textColor: var(--grey-900);
54 | --borderRadius: 0.25rem;
55 | --letterSpacing: 1px;
56 | --transition: 0.3s ease-in-out all;
57 | --max-width: 1120px;
58 | --fixed-width: 500px;
59 | --fluid-width: 90vw;
60 | --breakpoint-lg: 992px;
61 | --nav-height: 6rem;
62 | /* box shadow*/
63 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
64 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
65 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
66 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
67 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
68 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
69 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
70 | }
71 |
72 | body {
73 | background: var(--backgroundColor);
74 | font-family: var(--bodyFont);
75 | font-weight: 400;
76 | line-height: 1.75;
77 | color: var(--textColor);
78 | }
79 |
80 | p {
81 | margin-bottom: 1.5rem;
82 | max-width: 40em;
83 | }
84 |
85 | h1,
86 | h2,
87 | h3,
88 | h4,
89 | h5 {
90 | margin: 0;
91 | margin-bottom: 1.38rem;
92 | font-family: var(--headingFont);
93 | font-weight: 400;
94 | line-height: 1.3;
95 | text-transform: capitalize;
96 | letter-spacing: var(--letterSpacing);
97 | }
98 |
99 | h1 {
100 | margin-top: 0;
101 | font-size: 3.052rem;
102 | }
103 |
104 | h2 {
105 | font-size: 2.441rem;
106 | }
107 |
108 | h3 {
109 | font-size: 1.953rem;
110 | }
111 |
112 | h4 {
113 | font-size: 1.563rem;
114 | }
115 |
116 | h5 {
117 | font-size: 1.25rem;
118 | }
119 |
120 | small,
121 | .text-small {
122 | font-size: var(--small-text);
123 | }
124 |
125 | a {
126 | text-decoration: none;
127 | letter-spacing: var(--letterSpacing);
128 | }
129 | a,
130 | button {
131 | line-height: 1.15;
132 | }
133 | button:disabled {
134 | cursor: not-allowed;
135 | }
136 | ul {
137 | list-style-type: none;
138 | padding: 0;
139 | }
140 |
141 | .img {
142 | width: 100%;
143 | display: block;
144 | object-fit: cover;
145 | }
146 | /* buttons */
147 |
148 | .btn {
149 | cursor: pointer;
150 | color: var(--white);
151 | background: var(--primary-500);
152 | border: transparent;
153 | border-radius: var(--borderRadius);
154 | letter-spacing: var(--letterSpacing);
155 | padding: 0.375rem 0.75rem;
156 | box-shadow: var(--shadow-2);
157 | transition: var(--transition);
158 | text-transform: capitalize;
159 | display: inline-block;
160 | }
161 | .btn:hover {
162 | background: var(--primary-700);
163 | box-shadow: var(--shadow-3);
164 | }
165 | .btn-hipster {
166 | color: var(--primary-500);
167 | background: var(--primary-200);
168 | }
169 | .btn-hipster:hover {
170 | color: var(--primary-200);
171 | background: var(--primary-700);
172 | }
173 | .btn-block {
174 | width: 100%;
175 | }
176 | .btn-hero {
177 | font-size: 1.25rem;
178 | padding: 0.5rem 1.25rem;
179 | }
180 | .btn-danger {
181 | background: var(--red-light);
182 | color: var(--red-dark);
183 | }
184 | .btn-danger:hover {
185 | background: var(--red-dark);
186 | color: var(--white);
187 | }
188 | /* alerts */
189 | .alert {
190 | padding: 0.375rem 0.75rem;
191 | margin-bottom: 1rem;
192 | border-color: transparent;
193 | border-radius: var(--borderRadius);
194 | text-align: center;
195 | letter-spacing: var(--letterSpacing);
196 | text-transform: capitalize;
197 | }
198 |
199 | .alert-danger {
200 | color: var(--red-dark);
201 | background: var(--red-light);
202 | }
203 | .alert-success {
204 | color: var(--green-dark);
205 | background: var(--green-light);
206 | }
207 | /* form */
208 |
209 | .form {
210 | width: 90vw;
211 | max-width: var(--fixed-width);
212 | background: var(--white);
213 | border-radius: var(--borderRadius);
214 | box-shadow: var(--shadow-2);
215 | padding: 2rem 2.5rem;
216 | margin: 3rem auto;
217 | transition: var(--transition);
218 | }
219 | .form:hover {
220 | box-shadow: var(--shadow-4);
221 | }
222 | .form-label {
223 | display: block;
224 | font-size: var(--smallText);
225 | margin-bottom: 0.5rem;
226 | text-transform: capitalize;
227 | letter-spacing: var(--letterSpacing);
228 | }
229 | .form-input,
230 | .form-textarea,
231 | .form-select {
232 | width: 100%;
233 | padding: 0.375rem 0.75rem;
234 | border-radius: var(--borderRadius);
235 | background: var(--backgroundColor);
236 | border: 1px solid var(--grey-200);
237 | }
238 | .form-input,
239 | .form-select,
240 | .btn-block {
241 | height: 35px;
242 | }
243 | .form-row {
244 | margin-bottom: 1rem;
245 | }
246 |
247 | .form-textarea {
248 | height: 7rem;
249 | }
250 | ::placeholder {
251 | font-family: inherit;
252 | color: var(--grey-400);
253 | }
254 | .form-alert {
255 | color: var(--red-dark);
256 | letter-spacing: var(--letterSpacing);
257 | text-transform: capitalize;
258 | }
259 | /* alert */
260 |
261 | @keyframes spinner {
262 | to {
263 | transform: rotate(360deg);
264 | }
265 | }
266 |
267 | .loading {
268 | width: 6rem;
269 | height: 6rem;
270 | border: 5px solid var(--grey-400);
271 | border-radius: 50%;
272 | border-top-color: var(--primary-500);
273 | animation: spinner 2s linear infinite;
274 | }
275 | .loading-center {
276 | margin: 0 auto;
277 | }
278 | /* title */
279 |
280 | .title {
281 | text-align: center;
282 | }
283 |
284 | .title-underline {
285 | background: var(--primary-500);
286 | width: 7rem;
287 | height: 0.25rem;
288 | margin: 0 auto;
289 | margin-top: -1rem;
290 | }
291 |
292 | .container {
293 | width: var(--fluid-width);
294 | max-width: var(--max-width);
295 | margin: 0 auto;
296 | }
297 | .full-page {
298 | min-height: 100vh;
299 | }
300 |
301 | .coffee-info {
302 | text-align: center;
303 | text-transform: capitalize;
304 | margin-bottom: 1rem;
305 | letter-spacing: var(--letterSpacing);
306 | }
307 | .coffee-info span {
308 | display: block;
309 | }
310 | .coffee-info a {
311 | color: var(--primary-500);
312 | }
313 |
314 | @media screen and (min-width: 992px) {
315 | .coffee-info {
316 | text-align: left;
317 | }
318 | .coffee-info span {
319 | display: inline-block;
320 | margin-right: 0.5rem;
321 | }
322 | }
323 |
324 | .Toastify__toast {
325 | text-transform: capitalize;
326 | }
327 | .register-page {
328 | display: grid;
329 | align-items: center;
330 | }
331 |
332 | .form {
333 | max-width: 400px;
334 | border-top: 5px solid var(--primary-500);
335 | }
336 | h3 {
337 | text-align: center;
338 | }
339 | p {
340 | margin: 0;
341 | margin-top: 1rem;
342 | text-align: center;
343 | }
344 | .btn {
345 | margin-top: 1rem;
346 | }
347 | .member-btn {
348 | background: transparent;
349 | border: transparent;
350 | color: var(--primary-500);
351 | cursor: pointer;
352 | letter-spacing: var(--letterSpacing);
353 | }
354 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------