├── .gitignore
├── index.html
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── src
├── App.tsx
├── components
│ └── Form
│ │ ├── ErrorMessage.tsx
│ │ ├── Field.tsx
│ │ ├── Input.tsx
│ │ ├── Label.tsx
│ │ └── index.tsx
├── lib
│ └── supabase.ts
├── main.tsx
├── styles
│ └── global.css
└── vite-env.d.ts
├── tailwind.config.js
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Forms React
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "forms-react",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "tsc && vite build",
9 | "preview": "vite preview"
10 | },
11 | "dependencies": {
12 | "@hookform/resolvers": "3.0.1",
13 | "@supabase/supabase-js": "2.14.0",
14 | "lucide-react": "0.130.1",
15 | "react": "^18.2.0",
16 | "react-dom": "^18.2.0",
17 | "react-hook-form": "7.43.9",
18 | "zod": "3.21.4"
19 | },
20 | "devDependencies": {
21 | "@types/react": "^18.0.28",
22 | "@types/react-dom": "^18.0.11",
23 | "@vitejs/plugin-react": "^3.1.0",
24 | "autoprefixer": "10.4.14",
25 | "postcss": "8.4.21",
26 | "tailwindcss": "3.3.1",
27 | "typescript": "^4.9.3",
28 | "vite": "^4.2.0"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | dependencies:
4 | '@hookform/resolvers':
5 | specifier: 3.0.1
6 | version: 3.0.1(react-hook-form@7.43.9)
7 | '@supabase/supabase-js':
8 | specifier: 2.14.0
9 | version: 2.14.0
10 | lucide-react:
11 | specifier: 0.130.1
12 | version: 0.130.1(react@18.2.0)
13 | react:
14 | specifier: ^18.2.0
15 | version: 18.2.0
16 | react-dom:
17 | specifier: ^18.2.0
18 | version: 18.2.0(react@18.2.0)
19 | react-hook-form:
20 | specifier: 7.43.9
21 | version: 7.43.9(react@18.2.0)
22 | zod:
23 | specifier: 3.21.4
24 | version: 3.21.4
25 |
26 | devDependencies:
27 | '@types/react':
28 | specifier: ^18.0.28
29 | version: 18.0.28
30 | '@types/react-dom':
31 | specifier: ^18.0.11
32 | version: 18.0.11
33 | '@vitejs/plugin-react':
34 | specifier: ^3.1.0
35 | version: 3.1.0(vite@4.2.0)
36 | autoprefixer:
37 | specifier: 10.4.14
38 | version: 10.4.14(postcss@8.4.21)
39 | postcss:
40 | specifier: 8.4.21
41 | version: 8.4.21
42 | tailwindcss:
43 | specifier: 3.3.1
44 | version: 3.3.1(postcss@8.4.21)
45 | typescript:
46 | specifier: ^4.9.3
47 | version: 4.9.3
48 | vite:
49 | specifier: ^4.2.0
50 | version: 4.2.0
51 |
52 | packages:
53 |
54 | /@ampproject/remapping@2.2.0:
55 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
56 | engines: {node: '>=6.0.0'}
57 | dependencies:
58 | '@jridgewell/gen-mapping': 0.1.1
59 | '@jridgewell/trace-mapping': 0.3.17
60 | dev: true
61 |
62 | /@babel/code-frame@7.21.4:
63 | resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==}
64 | engines: {node: '>=6.9.0'}
65 | dependencies:
66 | '@babel/highlight': 7.18.6
67 | dev: true
68 |
69 | /@babel/compat-data@7.21.4:
70 | resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==}
71 | engines: {node: '>=6.9.0'}
72 | dev: true
73 |
74 | /@babel/core@7.21.4:
75 | resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==}
76 | engines: {node: '>=6.9.0'}
77 | dependencies:
78 | '@ampproject/remapping': 2.2.0
79 | '@babel/code-frame': 7.21.4
80 | '@babel/generator': 7.21.4
81 | '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4)
82 | '@babel/helper-module-transforms': 7.21.2
83 | '@babel/helpers': 7.21.0
84 | '@babel/parser': 7.21.4
85 | '@babel/template': 7.20.7
86 | '@babel/traverse': 7.21.4
87 | '@babel/types': 7.21.4
88 | convert-source-map: 1.9.0
89 | debug: 4.3.4
90 | gensync: 1.0.0-beta.2
91 | json5: 2.2.3
92 | semver: 6.3.0
93 | transitivePeerDependencies:
94 | - supports-color
95 | dev: true
96 |
97 | /@babel/generator@7.21.4:
98 | resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==}
99 | engines: {node: '>=6.9.0'}
100 | dependencies:
101 | '@babel/types': 7.21.4
102 | '@jridgewell/gen-mapping': 0.3.2
103 | '@jridgewell/trace-mapping': 0.3.17
104 | jsesc: 2.5.2
105 | dev: true
106 |
107 | /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4):
108 | resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==}
109 | engines: {node: '>=6.9.0'}
110 | peerDependencies:
111 | '@babel/core': ^7.0.0
112 | dependencies:
113 | '@babel/compat-data': 7.21.4
114 | '@babel/core': 7.21.4
115 | '@babel/helper-validator-option': 7.21.0
116 | browserslist: 4.21.5
117 | lru-cache: 5.1.1
118 | semver: 6.3.0
119 | dev: true
120 |
121 | /@babel/helper-environment-visitor@7.18.9:
122 | resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
123 | engines: {node: '>=6.9.0'}
124 | dev: true
125 |
126 | /@babel/helper-function-name@7.21.0:
127 | resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==}
128 | engines: {node: '>=6.9.0'}
129 | dependencies:
130 | '@babel/template': 7.20.7
131 | '@babel/types': 7.21.4
132 | dev: true
133 |
134 | /@babel/helper-hoist-variables@7.18.6:
135 | resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
136 | engines: {node: '>=6.9.0'}
137 | dependencies:
138 | '@babel/types': 7.21.4
139 | dev: true
140 |
141 | /@babel/helper-module-imports@7.21.4:
142 | resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==}
143 | engines: {node: '>=6.9.0'}
144 | dependencies:
145 | '@babel/types': 7.21.4
146 | dev: true
147 |
148 | /@babel/helper-module-transforms@7.21.2:
149 | resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==}
150 | engines: {node: '>=6.9.0'}
151 | dependencies:
152 | '@babel/helper-environment-visitor': 7.18.9
153 | '@babel/helper-module-imports': 7.21.4
154 | '@babel/helper-simple-access': 7.20.2
155 | '@babel/helper-split-export-declaration': 7.18.6
156 | '@babel/helper-validator-identifier': 7.19.1
157 | '@babel/template': 7.20.7
158 | '@babel/traverse': 7.21.4
159 | '@babel/types': 7.21.4
160 | transitivePeerDependencies:
161 | - supports-color
162 | dev: true
163 |
164 | /@babel/helper-plugin-utils@7.20.2:
165 | resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
166 | engines: {node: '>=6.9.0'}
167 | dev: true
168 |
169 | /@babel/helper-simple-access@7.20.2:
170 | resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
171 | engines: {node: '>=6.9.0'}
172 | dependencies:
173 | '@babel/types': 7.21.4
174 | dev: true
175 |
176 | /@babel/helper-split-export-declaration@7.18.6:
177 | resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
178 | engines: {node: '>=6.9.0'}
179 | dependencies:
180 | '@babel/types': 7.21.4
181 | dev: true
182 |
183 | /@babel/helper-string-parser@7.19.4:
184 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
185 | engines: {node: '>=6.9.0'}
186 | dev: true
187 |
188 | /@babel/helper-validator-identifier@7.19.1:
189 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
190 | engines: {node: '>=6.9.0'}
191 | dev: true
192 |
193 | /@babel/helper-validator-option@7.21.0:
194 | resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==}
195 | engines: {node: '>=6.9.0'}
196 | dev: true
197 |
198 | /@babel/helpers@7.21.0:
199 | resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==}
200 | engines: {node: '>=6.9.0'}
201 | dependencies:
202 | '@babel/template': 7.20.7
203 | '@babel/traverse': 7.21.4
204 | '@babel/types': 7.21.4
205 | transitivePeerDependencies:
206 | - supports-color
207 | dev: true
208 |
209 | /@babel/highlight@7.18.6:
210 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
211 | engines: {node: '>=6.9.0'}
212 | dependencies:
213 | '@babel/helper-validator-identifier': 7.19.1
214 | chalk: 2.4.2
215 | js-tokens: 4.0.0
216 | dev: true
217 |
218 | /@babel/parser@7.21.4:
219 | resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==}
220 | engines: {node: '>=6.0.0'}
221 | hasBin: true
222 | dependencies:
223 | '@babel/types': 7.21.4
224 | dev: true
225 |
226 | /@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.21.4):
227 | resolution: {integrity: sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==}
228 | engines: {node: '>=6.9.0'}
229 | peerDependencies:
230 | '@babel/core': ^7.0.0-0
231 | dependencies:
232 | '@babel/core': 7.21.4
233 | '@babel/helper-plugin-utils': 7.20.2
234 | dev: true
235 |
236 | /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.21.4):
237 | resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==}
238 | engines: {node: '>=6.9.0'}
239 | peerDependencies:
240 | '@babel/core': ^7.0.0-0
241 | dependencies:
242 | '@babel/core': 7.21.4
243 | '@babel/helper-plugin-utils': 7.20.2
244 | dev: true
245 |
246 | /@babel/template@7.20.7:
247 | resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
248 | engines: {node: '>=6.9.0'}
249 | dependencies:
250 | '@babel/code-frame': 7.21.4
251 | '@babel/parser': 7.21.4
252 | '@babel/types': 7.21.4
253 | dev: true
254 |
255 | /@babel/traverse@7.21.4:
256 | resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==}
257 | engines: {node: '>=6.9.0'}
258 | dependencies:
259 | '@babel/code-frame': 7.21.4
260 | '@babel/generator': 7.21.4
261 | '@babel/helper-environment-visitor': 7.18.9
262 | '@babel/helper-function-name': 7.21.0
263 | '@babel/helper-hoist-variables': 7.18.6
264 | '@babel/helper-split-export-declaration': 7.18.6
265 | '@babel/parser': 7.21.4
266 | '@babel/types': 7.21.4
267 | debug: 4.3.4
268 | globals: 11.12.0
269 | transitivePeerDependencies:
270 | - supports-color
271 | dev: true
272 |
273 | /@babel/types@7.21.4:
274 | resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==}
275 | engines: {node: '>=6.9.0'}
276 | dependencies:
277 | '@babel/helper-string-parser': 7.19.4
278 | '@babel/helper-validator-identifier': 7.19.1
279 | to-fast-properties: 2.0.0
280 | dev: true
281 |
282 | /@esbuild/android-arm64@0.17.15:
283 | resolution: {integrity: sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==}
284 | engines: {node: '>=12'}
285 | cpu: [arm64]
286 | os: [android]
287 | requiresBuild: true
288 | dev: true
289 | optional: true
290 |
291 | /@esbuild/android-arm@0.17.15:
292 | resolution: {integrity: sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==}
293 | engines: {node: '>=12'}
294 | cpu: [arm]
295 | os: [android]
296 | requiresBuild: true
297 | dev: true
298 | optional: true
299 |
300 | /@esbuild/android-x64@0.17.15:
301 | resolution: {integrity: sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==}
302 | engines: {node: '>=12'}
303 | cpu: [x64]
304 | os: [android]
305 | requiresBuild: true
306 | dev: true
307 | optional: true
308 |
309 | /@esbuild/darwin-arm64@0.17.15:
310 | resolution: {integrity: sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==}
311 | engines: {node: '>=12'}
312 | cpu: [arm64]
313 | os: [darwin]
314 | requiresBuild: true
315 | dev: true
316 | optional: true
317 |
318 | /@esbuild/darwin-x64@0.17.15:
319 | resolution: {integrity: sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==}
320 | engines: {node: '>=12'}
321 | cpu: [x64]
322 | os: [darwin]
323 | requiresBuild: true
324 | dev: true
325 | optional: true
326 |
327 | /@esbuild/freebsd-arm64@0.17.15:
328 | resolution: {integrity: sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==}
329 | engines: {node: '>=12'}
330 | cpu: [arm64]
331 | os: [freebsd]
332 | requiresBuild: true
333 | dev: true
334 | optional: true
335 |
336 | /@esbuild/freebsd-x64@0.17.15:
337 | resolution: {integrity: sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==}
338 | engines: {node: '>=12'}
339 | cpu: [x64]
340 | os: [freebsd]
341 | requiresBuild: true
342 | dev: true
343 | optional: true
344 |
345 | /@esbuild/linux-arm64@0.17.15:
346 | resolution: {integrity: sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==}
347 | engines: {node: '>=12'}
348 | cpu: [arm64]
349 | os: [linux]
350 | requiresBuild: true
351 | dev: true
352 | optional: true
353 |
354 | /@esbuild/linux-arm@0.17.15:
355 | resolution: {integrity: sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==}
356 | engines: {node: '>=12'}
357 | cpu: [arm]
358 | os: [linux]
359 | requiresBuild: true
360 | dev: true
361 | optional: true
362 |
363 | /@esbuild/linux-ia32@0.17.15:
364 | resolution: {integrity: sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==}
365 | engines: {node: '>=12'}
366 | cpu: [ia32]
367 | os: [linux]
368 | requiresBuild: true
369 | dev: true
370 | optional: true
371 |
372 | /@esbuild/linux-loong64@0.17.15:
373 | resolution: {integrity: sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==}
374 | engines: {node: '>=12'}
375 | cpu: [loong64]
376 | os: [linux]
377 | requiresBuild: true
378 | dev: true
379 | optional: true
380 |
381 | /@esbuild/linux-mips64el@0.17.15:
382 | resolution: {integrity: sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==}
383 | engines: {node: '>=12'}
384 | cpu: [mips64el]
385 | os: [linux]
386 | requiresBuild: true
387 | dev: true
388 | optional: true
389 |
390 | /@esbuild/linux-ppc64@0.17.15:
391 | resolution: {integrity: sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==}
392 | engines: {node: '>=12'}
393 | cpu: [ppc64]
394 | os: [linux]
395 | requiresBuild: true
396 | dev: true
397 | optional: true
398 |
399 | /@esbuild/linux-riscv64@0.17.15:
400 | resolution: {integrity: sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==}
401 | engines: {node: '>=12'}
402 | cpu: [riscv64]
403 | os: [linux]
404 | requiresBuild: true
405 | dev: true
406 | optional: true
407 |
408 | /@esbuild/linux-s390x@0.17.15:
409 | resolution: {integrity: sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==}
410 | engines: {node: '>=12'}
411 | cpu: [s390x]
412 | os: [linux]
413 | requiresBuild: true
414 | dev: true
415 | optional: true
416 |
417 | /@esbuild/linux-x64@0.17.15:
418 | resolution: {integrity: sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==}
419 | engines: {node: '>=12'}
420 | cpu: [x64]
421 | os: [linux]
422 | requiresBuild: true
423 | dev: true
424 | optional: true
425 |
426 | /@esbuild/netbsd-x64@0.17.15:
427 | resolution: {integrity: sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==}
428 | engines: {node: '>=12'}
429 | cpu: [x64]
430 | os: [netbsd]
431 | requiresBuild: true
432 | dev: true
433 | optional: true
434 |
435 | /@esbuild/openbsd-x64@0.17.15:
436 | resolution: {integrity: sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==}
437 | engines: {node: '>=12'}
438 | cpu: [x64]
439 | os: [openbsd]
440 | requiresBuild: true
441 | dev: true
442 | optional: true
443 |
444 | /@esbuild/sunos-x64@0.17.15:
445 | resolution: {integrity: sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==}
446 | engines: {node: '>=12'}
447 | cpu: [x64]
448 | os: [sunos]
449 | requiresBuild: true
450 | dev: true
451 | optional: true
452 |
453 | /@esbuild/win32-arm64@0.17.15:
454 | resolution: {integrity: sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==}
455 | engines: {node: '>=12'}
456 | cpu: [arm64]
457 | os: [win32]
458 | requiresBuild: true
459 | dev: true
460 | optional: true
461 |
462 | /@esbuild/win32-ia32@0.17.15:
463 | resolution: {integrity: sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==}
464 | engines: {node: '>=12'}
465 | cpu: [ia32]
466 | os: [win32]
467 | requiresBuild: true
468 | dev: true
469 | optional: true
470 |
471 | /@esbuild/win32-x64@0.17.15:
472 | resolution: {integrity: sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==}
473 | engines: {node: '>=12'}
474 | cpu: [x64]
475 | os: [win32]
476 | requiresBuild: true
477 | dev: true
478 | optional: true
479 |
480 | /@hookform/resolvers@3.0.1(react-hook-form@7.43.9):
481 | resolution: {integrity: sha512-n5oOt0cLw9mQNW3/k9zWaPsNWQcc0k6Jpc7XUrg2Q/AqqsHp3IVa1juqHCxczXI6uXHBa69ILc4pdtsRGyuzsw==}
482 | peerDependencies:
483 | react-hook-form: ^7.0.0
484 | dependencies:
485 | react-hook-form: 7.43.9(react@18.2.0)
486 | dev: false
487 |
488 | /@jridgewell/gen-mapping@0.1.1:
489 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
490 | engines: {node: '>=6.0.0'}
491 | dependencies:
492 | '@jridgewell/set-array': 1.1.2
493 | '@jridgewell/sourcemap-codec': 1.4.14
494 | dev: true
495 |
496 | /@jridgewell/gen-mapping@0.3.2:
497 | resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
498 | engines: {node: '>=6.0.0'}
499 | dependencies:
500 | '@jridgewell/set-array': 1.1.2
501 | '@jridgewell/sourcemap-codec': 1.4.14
502 | '@jridgewell/trace-mapping': 0.3.17
503 | dev: true
504 |
505 | /@jridgewell/resolve-uri@3.1.0:
506 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
507 | engines: {node: '>=6.0.0'}
508 | dev: true
509 |
510 | /@jridgewell/set-array@1.1.2:
511 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
512 | engines: {node: '>=6.0.0'}
513 | dev: true
514 |
515 | /@jridgewell/sourcemap-codec@1.4.14:
516 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
517 | dev: true
518 |
519 | /@jridgewell/trace-mapping@0.3.17:
520 | resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
521 | dependencies:
522 | '@jridgewell/resolve-uri': 3.1.0
523 | '@jridgewell/sourcemap-codec': 1.4.14
524 | dev: true
525 |
526 | /@nodelib/fs.scandir@2.1.5:
527 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
528 | engines: {node: '>= 8'}
529 | dependencies:
530 | '@nodelib/fs.stat': 2.0.5
531 | run-parallel: 1.2.0
532 | dev: true
533 |
534 | /@nodelib/fs.stat@2.0.5:
535 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
536 | engines: {node: '>= 8'}
537 | dev: true
538 |
539 | /@nodelib/fs.walk@1.2.8:
540 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
541 | engines: {node: '>= 8'}
542 | dependencies:
543 | '@nodelib/fs.scandir': 2.1.5
544 | fastq: 1.15.0
545 | dev: true
546 |
547 | /@supabase/functions-js@2.1.0:
548 | resolution: {integrity: sha512-vRziB+AqRXRaGHjEFHwBo0kuNDTuAxI7VUeqU24Fe86ISoD8YEQm0dGdpleJEcqgDGWaO6pxT1tfj1BRY5PwMg==}
549 | dependencies:
550 | cross-fetch: 3.1.5
551 | transitivePeerDependencies:
552 | - encoding
553 | dev: false
554 |
555 | /@supabase/gotrue-js@2.20.0:
556 | resolution: {integrity: sha512-dbbEXrzb6OdWeYJQ8VYnJj2sMiZYw8XGj1B5rZlbcjDxkW0Za04x+wWn6g6T5/6RwNm2kReqgAR5ufYeCPuCDA==}
557 | dependencies:
558 | cross-fetch: 3.1.5
559 | transitivePeerDependencies:
560 | - encoding
561 | dev: false
562 |
563 | /@supabase/postgrest-js@1.5.0:
564 | resolution: {integrity: sha512-YaU1HBE43Ba+FGmnXuvK+xYeHylkDKd04PYeKDUCoE2bUHoxSDqnjHbOwmLjnusGZi3X1MrFeUH1Wwb4bHYyIg==}
565 | dependencies:
566 | cross-fetch: 3.1.5
567 | transitivePeerDependencies:
568 | - encoding
569 | dev: false
570 |
571 | /@supabase/realtime-js@2.7.1:
572 | resolution: {integrity: sha512-WC0yPArBF/wPXwxKWTrRSMWWnFQCbhhUsX0u42x4OqUdDJtow6rzvDIZHWFZLh85UUBYIQ2++AabSNgzd3ubQg==}
573 | dependencies:
574 | '@types/phoenix': 1.5.5
575 | '@types/websocket': 1.0.5
576 | websocket: 1.0.34
577 | transitivePeerDependencies:
578 | - supports-color
579 | dev: false
580 |
581 | /@supabase/storage-js@2.3.1:
582 | resolution: {integrity: sha512-BaPIvyvjuZW1V0CnfGKUZyzpBUXnsh0XD8eqTOYd+MdiGPmIPI0vtwnT4fAoK8mipp1vpcN62EVQaqeUnWXPtQ==}
583 | dependencies:
584 | cross-fetch: 3.1.5
585 | transitivePeerDependencies:
586 | - encoding
587 | dev: false
588 |
589 | /@supabase/supabase-js@2.14.0:
590 | resolution: {integrity: sha512-pdcYDaxTUqv5A8NqDnLn731rTP0Wm469H+0ag6Jb8YpWR95rmusfpGY7vrykWXvdnvCMxoG6eEwSF9vQtxVrow==}
591 | dependencies:
592 | '@supabase/functions-js': 2.1.0
593 | '@supabase/gotrue-js': 2.20.0
594 | '@supabase/postgrest-js': 1.5.0
595 | '@supabase/realtime-js': 2.7.1
596 | '@supabase/storage-js': 2.3.1
597 | cross-fetch: 3.1.5
598 | transitivePeerDependencies:
599 | - encoding
600 | - supports-color
601 | dev: false
602 |
603 | /@types/node@18.15.11:
604 | resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==}
605 | dev: false
606 |
607 | /@types/phoenix@1.5.5:
608 | resolution: {integrity: sha512-1eWWT19k0L4ZiTvdXjAvJ9KvW0B8SdiVftQmFPJGTEx78Q4PCSIQDpz+EfkFVR1N4U9gREjlW4JXL8YCIlY0bw==}
609 | dev: false
610 |
611 | /@types/prop-types@15.7.5:
612 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
613 | dev: true
614 |
615 | /@types/react-dom@18.0.11:
616 | resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==}
617 | dependencies:
618 | '@types/react': 18.0.28
619 | dev: true
620 |
621 | /@types/react@18.0.28:
622 | resolution: {integrity: sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==}
623 | dependencies:
624 | '@types/prop-types': 15.7.5
625 | '@types/scheduler': 0.16.3
626 | csstype: 3.1.2
627 | dev: true
628 |
629 | /@types/scheduler@0.16.3:
630 | resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==}
631 | dev: true
632 |
633 | /@types/websocket@1.0.5:
634 | resolution: {integrity: sha512-NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ==}
635 | dependencies:
636 | '@types/node': 18.15.11
637 | dev: false
638 |
639 | /@vitejs/plugin-react@3.1.0(vite@4.2.0):
640 | resolution: {integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==}
641 | engines: {node: ^14.18.0 || >=16.0.0}
642 | peerDependencies:
643 | vite: ^4.1.0-beta.0
644 | dependencies:
645 | '@babel/core': 7.21.4
646 | '@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.21.4)
647 | '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.21.4)
648 | magic-string: 0.27.0
649 | react-refresh: 0.14.0
650 | vite: 4.2.0
651 | transitivePeerDependencies:
652 | - supports-color
653 | dev: true
654 |
655 | /ansi-styles@3.2.1:
656 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
657 | engines: {node: '>=4'}
658 | dependencies:
659 | color-convert: 1.9.3
660 | dev: true
661 |
662 | /any-promise@1.3.0:
663 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
664 | dev: true
665 |
666 | /anymatch@3.1.3:
667 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
668 | engines: {node: '>= 8'}
669 | dependencies:
670 | normalize-path: 3.0.0
671 | picomatch: 2.3.1
672 | dev: true
673 |
674 | /arg@5.0.2:
675 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
676 | dev: true
677 |
678 | /autoprefixer@10.4.14(postcss@8.4.21):
679 | resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
680 | engines: {node: ^10 || ^12 || >=14}
681 | hasBin: true
682 | peerDependencies:
683 | postcss: ^8.1.0
684 | dependencies:
685 | browserslist: 4.21.5
686 | caniuse-lite: 1.0.30001474
687 | fraction.js: 4.2.0
688 | normalize-range: 0.1.2
689 | picocolors: 1.0.0
690 | postcss: 8.4.21
691 | postcss-value-parser: 4.2.0
692 | dev: true
693 |
694 | /balanced-match@1.0.2:
695 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
696 | dev: true
697 |
698 | /binary-extensions@2.2.0:
699 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
700 | engines: {node: '>=8'}
701 | dev: true
702 |
703 | /brace-expansion@1.1.11:
704 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
705 | dependencies:
706 | balanced-match: 1.0.2
707 | concat-map: 0.0.1
708 | dev: true
709 |
710 | /braces@3.0.2:
711 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
712 | engines: {node: '>=8'}
713 | dependencies:
714 | fill-range: 7.0.1
715 | dev: true
716 |
717 | /browserslist@4.21.5:
718 | resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
719 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
720 | hasBin: true
721 | dependencies:
722 | caniuse-lite: 1.0.30001474
723 | electron-to-chromium: 1.4.352
724 | node-releases: 2.0.10
725 | update-browserslist-db: 1.0.10(browserslist@4.21.5)
726 | dev: true
727 |
728 | /bufferutil@4.0.7:
729 | resolution: {integrity: sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==}
730 | engines: {node: '>=6.14.2'}
731 | requiresBuild: true
732 | dependencies:
733 | node-gyp-build: 4.6.0
734 | dev: false
735 |
736 | /camelcase-css@2.0.1:
737 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
738 | engines: {node: '>= 6'}
739 | dev: true
740 |
741 | /caniuse-lite@1.0.30001474:
742 | resolution: {integrity: sha512-iaIZ8gVrWfemh5DG3T9/YqarVZoYf0r188IjaGwx68j4Pf0SGY6CQkmJUIE+NZHkkecQGohzXmBGEwWDr9aM3Q==}
743 | dev: true
744 |
745 | /chalk@2.4.2:
746 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
747 | engines: {node: '>=4'}
748 | dependencies:
749 | ansi-styles: 3.2.1
750 | escape-string-regexp: 1.0.5
751 | supports-color: 5.5.0
752 | dev: true
753 |
754 | /chokidar@3.5.3:
755 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
756 | engines: {node: '>= 8.10.0'}
757 | dependencies:
758 | anymatch: 3.1.3
759 | braces: 3.0.2
760 | glob-parent: 5.1.2
761 | is-binary-path: 2.1.0
762 | is-glob: 4.0.3
763 | normalize-path: 3.0.0
764 | readdirp: 3.6.0
765 | optionalDependencies:
766 | fsevents: 2.3.2
767 | dev: true
768 |
769 | /color-convert@1.9.3:
770 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
771 | dependencies:
772 | color-name: 1.1.3
773 | dev: true
774 |
775 | /color-name@1.1.3:
776 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
777 | dev: true
778 |
779 | /color-name@1.1.4:
780 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
781 | dev: true
782 |
783 | /commander@4.1.1:
784 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
785 | engines: {node: '>= 6'}
786 | dev: true
787 |
788 | /concat-map@0.0.1:
789 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
790 | dev: true
791 |
792 | /convert-source-map@1.9.0:
793 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
794 | dev: true
795 |
796 | /cross-fetch@3.1.5:
797 | resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==}
798 | dependencies:
799 | node-fetch: 2.6.7
800 | transitivePeerDependencies:
801 | - encoding
802 | dev: false
803 |
804 | /cssesc@3.0.0:
805 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
806 | engines: {node: '>=4'}
807 | hasBin: true
808 | dev: true
809 |
810 | /csstype@3.1.2:
811 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
812 | dev: true
813 |
814 | /d@1.0.1:
815 | resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
816 | dependencies:
817 | es5-ext: 0.10.62
818 | type: 1.2.0
819 | dev: false
820 |
821 | /debug@2.6.9:
822 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
823 | peerDependencies:
824 | supports-color: '*'
825 | peerDependenciesMeta:
826 | supports-color:
827 | optional: true
828 | dependencies:
829 | ms: 2.0.0
830 | dev: false
831 |
832 | /debug@4.3.4:
833 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
834 | engines: {node: '>=6.0'}
835 | peerDependencies:
836 | supports-color: '*'
837 | peerDependenciesMeta:
838 | supports-color:
839 | optional: true
840 | dependencies:
841 | ms: 2.1.2
842 | dev: true
843 |
844 | /didyoumean@1.2.2:
845 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
846 | dev: true
847 |
848 | /dlv@1.1.3:
849 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
850 | dev: true
851 |
852 | /electron-to-chromium@1.4.352:
853 | resolution: {integrity: sha512-ikFUEyu5/q+wJpMOxWxTaEVk2M1qKqTGKKyfJmod1CPZxKfYnxVS41/GCBQg21ItBpZybyN8sNpRqCUGm+Zc4Q==}
854 | dev: true
855 |
856 | /es5-ext@0.10.62:
857 | resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
858 | engines: {node: '>=0.10'}
859 | requiresBuild: true
860 | dependencies:
861 | es6-iterator: 2.0.3
862 | es6-symbol: 3.1.3
863 | next-tick: 1.1.0
864 | dev: false
865 |
866 | /es6-iterator@2.0.3:
867 | resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
868 | dependencies:
869 | d: 1.0.1
870 | es5-ext: 0.10.62
871 | es6-symbol: 3.1.3
872 | dev: false
873 |
874 | /es6-symbol@3.1.3:
875 | resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
876 | dependencies:
877 | d: 1.0.1
878 | ext: 1.7.0
879 | dev: false
880 |
881 | /esbuild@0.17.15:
882 | resolution: {integrity: sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==}
883 | engines: {node: '>=12'}
884 | hasBin: true
885 | requiresBuild: true
886 | optionalDependencies:
887 | '@esbuild/android-arm': 0.17.15
888 | '@esbuild/android-arm64': 0.17.15
889 | '@esbuild/android-x64': 0.17.15
890 | '@esbuild/darwin-arm64': 0.17.15
891 | '@esbuild/darwin-x64': 0.17.15
892 | '@esbuild/freebsd-arm64': 0.17.15
893 | '@esbuild/freebsd-x64': 0.17.15
894 | '@esbuild/linux-arm': 0.17.15
895 | '@esbuild/linux-arm64': 0.17.15
896 | '@esbuild/linux-ia32': 0.17.15
897 | '@esbuild/linux-loong64': 0.17.15
898 | '@esbuild/linux-mips64el': 0.17.15
899 | '@esbuild/linux-ppc64': 0.17.15
900 | '@esbuild/linux-riscv64': 0.17.15
901 | '@esbuild/linux-s390x': 0.17.15
902 | '@esbuild/linux-x64': 0.17.15
903 | '@esbuild/netbsd-x64': 0.17.15
904 | '@esbuild/openbsd-x64': 0.17.15
905 | '@esbuild/sunos-x64': 0.17.15
906 | '@esbuild/win32-arm64': 0.17.15
907 | '@esbuild/win32-ia32': 0.17.15
908 | '@esbuild/win32-x64': 0.17.15
909 | dev: true
910 |
911 | /escalade@3.1.1:
912 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
913 | engines: {node: '>=6'}
914 | dev: true
915 |
916 | /escape-string-regexp@1.0.5:
917 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
918 | engines: {node: '>=0.8.0'}
919 | dev: true
920 |
921 | /ext@1.7.0:
922 | resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
923 | dependencies:
924 | type: 2.7.2
925 | dev: false
926 |
927 | /fast-glob@3.2.12:
928 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
929 | engines: {node: '>=8.6.0'}
930 | dependencies:
931 | '@nodelib/fs.stat': 2.0.5
932 | '@nodelib/fs.walk': 1.2.8
933 | glob-parent: 5.1.2
934 | merge2: 1.4.1
935 | micromatch: 4.0.5
936 | dev: true
937 |
938 | /fastq@1.15.0:
939 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
940 | dependencies:
941 | reusify: 1.0.4
942 | dev: true
943 |
944 | /fill-range@7.0.1:
945 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
946 | engines: {node: '>=8'}
947 | dependencies:
948 | to-regex-range: 5.0.1
949 | dev: true
950 |
951 | /fraction.js@4.2.0:
952 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
953 | dev: true
954 |
955 | /fs.realpath@1.0.0:
956 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
957 | dev: true
958 |
959 | /fsevents@2.3.2:
960 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
961 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
962 | os: [darwin]
963 | requiresBuild: true
964 | dev: true
965 | optional: true
966 |
967 | /function-bind@1.1.1:
968 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
969 | dev: true
970 |
971 | /gensync@1.0.0-beta.2:
972 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
973 | engines: {node: '>=6.9.0'}
974 | dev: true
975 |
976 | /glob-parent@5.1.2:
977 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
978 | engines: {node: '>= 6'}
979 | dependencies:
980 | is-glob: 4.0.3
981 | dev: true
982 |
983 | /glob-parent@6.0.2:
984 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
985 | engines: {node: '>=10.13.0'}
986 | dependencies:
987 | is-glob: 4.0.3
988 | dev: true
989 |
990 | /glob@7.1.6:
991 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
992 | dependencies:
993 | fs.realpath: 1.0.0
994 | inflight: 1.0.6
995 | inherits: 2.0.4
996 | minimatch: 3.1.2
997 | once: 1.4.0
998 | path-is-absolute: 1.0.1
999 | dev: true
1000 |
1001 | /globals@11.12.0:
1002 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1003 | engines: {node: '>=4'}
1004 | dev: true
1005 |
1006 | /has-flag@3.0.0:
1007 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1008 | engines: {node: '>=4'}
1009 | dev: true
1010 |
1011 | /has@1.0.3:
1012 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1013 | engines: {node: '>= 0.4.0'}
1014 | dependencies:
1015 | function-bind: 1.1.1
1016 | dev: true
1017 |
1018 | /inflight@1.0.6:
1019 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1020 | dependencies:
1021 | once: 1.4.0
1022 | wrappy: 1.0.2
1023 | dev: true
1024 |
1025 | /inherits@2.0.4:
1026 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1027 | dev: true
1028 |
1029 | /is-binary-path@2.1.0:
1030 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1031 | engines: {node: '>=8'}
1032 | dependencies:
1033 | binary-extensions: 2.2.0
1034 | dev: true
1035 |
1036 | /is-core-module@2.11.0:
1037 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
1038 | dependencies:
1039 | has: 1.0.3
1040 | dev: true
1041 |
1042 | /is-extglob@2.1.1:
1043 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1044 | engines: {node: '>=0.10.0'}
1045 | dev: true
1046 |
1047 | /is-glob@4.0.3:
1048 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1049 | engines: {node: '>=0.10.0'}
1050 | dependencies:
1051 | is-extglob: 2.1.1
1052 | dev: true
1053 |
1054 | /is-number@7.0.0:
1055 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1056 | engines: {node: '>=0.12.0'}
1057 | dev: true
1058 |
1059 | /is-typedarray@1.0.0:
1060 | resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
1061 | dev: false
1062 |
1063 | /jiti@1.18.2:
1064 | resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==}
1065 | hasBin: true
1066 | dev: true
1067 |
1068 | /js-tokens@4.0.0:
1069 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1070 |
1071 | /jsesc@2.5.2:
1072 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
1073 | engines: {node: '>=4'}
1074 | hasBin: true
1075 | dev: true
1076 |
1077 | /json5@2.2.3:
1078 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1079 | engines: {node: '>=6'}
1080 | hasBin: true
1081 | dev: true
1082 |
1083 | /lilconfig@2.1.0:
1084 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
1085 | engines: {node: '>=10'}
1086 | dev: true
1087 |
1088 | /lines-and-columns@1.2.4:
1089 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1090 | dev: true
1091 |
1092 | /loose-envify@1.4.0:
1093 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1094 | hasBin: true
1095 | dependencies:
1096 | js-tokens: 4.0.0
1097 | dev: false
1098 |
1099 | /lru-cache@5.1.1:
1100 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1101 | dependencies:
1102 | yallist: 3.1.1
1103 | dev: true
1104 |
1105 | /lucide-react@0.130.1(react@18.2.0):
1106 | resolution: {integrity: sha512-Fyyyd+ZGlZj/N8d/u9uoqFbRATI18WhynzVTjaeEqfVvsea8pYTSwBMfCg264TB2c5z9aiNAeNy67x8BiFyqXQ==}
1107 | peerDependencies:
1108 | react: ^16.5.1 || ^17.0.0 || ^18.0.0
1109 | dependencies:
1110 | react: 18.2.0
1111 | dev: false
1112 |
1113 | /magic-string@0.27.0:
1114 | resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
1115 | engines: {node: '>=12'}
1116 | dependencies:
1117 | '@jridgewell/sourcemap-codec': 1.4.14
1118 | dev: true
1119 |
1120 | /merge2@1.4.1:
1121 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1122 | engines: {node: '>= 8'}
1123 | dev: true
1124 |
1125 | /micromatch@4.0.5:
1126 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1127 | engines: {node: '>=8.6'}
1128 | dependencies:
1129 | braces: 3.0.2
1130 | picomatch: 2.3.1
1131 | dev: true
1132 |
1133 | /minimatch@3.1.2:
1134 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1135 | dependencies:
1136 | brace-expansion: 1.1.11
1137 | dev: true
1138 |
1139 | /ms@2.0.0:
1140 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
1141 | dev: false
1142 |
1143 | /ms@2.1.2:
1144 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1145 | dev: true
1146 |
1147 | /mz@2.7.0:
1148 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1149 | dependencies:
1150 | any-promise: 1.3.0
1151 | object-assign: 4.1.1
1152 | thenify-all: 1.6.0
1153 | dev: true
1154 |
1155 | /nanoid@3.3.6:
1156 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
1157 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1158 | hasBin: true
1159 | dev: true
1160 |
1161 | /next-tick@1.1.0:
1162 | resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
1163 | dev: false
1164 |
1165 | /node-fetch@2.6.7:
1166 | resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
1167 | engines: {node: 4.x || >=6.0.0}
1168 | peerDependencies:
1169 | encoding: ^0.1.0
1170 | peerDependenciesMeta:
1171 | encoding:
1172 | optional: true
1173 | dependencies:
1174 | whatwg-url: 5.0.0
1175 | dev: false
1176 |
1177 | /node-gyp-build@4.6.0:
1178 | resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==}
1179 | hasBin: true
1180 | dev: false
1181 |
1182 | /node-releases@2.0.10:
1183 | resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
1184 | dev: true
1185 |
1186 | /normalize-path@3.0.0:
1187 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1188 | engines: {node: '>=0.10.0'}
1189 | dev: true
1190 |
1191 | /normalize-range@0.1.2:
1192 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1193 | engines: {node: '>=0.10.0'}
1194 | dev: true
1195 |
1196 | /object-assign@4.1.1:
1197 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1198 | engines: {node: '>=0.10.0'}
1199 | dev: true
1200 |
1201 | /object-hash@3.0.0:
1202 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1203 | engines: {node: '>= 6'}
1204 | dev: true
1205 |
1206 | /once@1.4.0:
1207 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1208 | dependencies:
1209 | wrappy: 1.0.2
1210 | dev: true
1211 |
1212 | /path-is-absolute@1.0.1:
1213 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1214 | engines: {node: '>=0.10.0'}
1215 | dev: true
1216 |
1217 | /path-parse@1.0.7:
1218 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1219 | dev: true
1220 |
1221 | /picocolors@1.0.0:
1222 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1223 | dev: true
1224 |
1225 | /picomatch@2.3.1:
1226 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1227 | engines: {node: '>=8.6'}
1228 | dev: true
1229 |
1230 | /pify@2.3.0:
1231 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1232 | engines: {node: '>=0.10.0'}
1233 | dev: true
1234 |
1235 | /pirates@4.0.5:
1236 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
1237 | engines: {node: '>= 6'}
1238 | dev: true
1239 |
1240 | /postcss-import@14.1.0(postcss@8.4.21):
1241 | resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
1242 | engines: {node: '>=10.0.0'}
1243 | peerDependencies:
1244 | postcss: ^8.0.0
1245 | dependencies:
1246 | postcss: 8.4.21
1247 | postcss-value-parser: 4.2.0
1248 | read-cache: 1.0.0
1249 | resolve: 1.22.1
1250 | dev: true
1251 |
1252 | /postcss-js@4.0.1(postcss@8.4.21):
1253 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
1254 | engines: {node: ^12 || ^14 || >= 16}
1255 | peerDependencies:
1256 | postcss: ^8.4.21
1257 | dependencies:
1258 | camelcase-css: 2.0.1
1259 | postcss: 8.4.21
1260 | dev: true
1261 |
1262 | /postcss-load-config@3.1.4(postcss@8.4.21):
1263 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
1264 | engines: {node: '>= 10'}
1265 | peerDependencies:
1266 | postcss: '>=8.0.9'
1267 | ts-node: '>=9.0.0'
1268 | peerDependenciesMeta:
1269 | postcss:
1270 | optional: true
1271 | ts-node:
1272 | optional: true
1273 | dependencies:
1274 | lilconfig: 2.1.0
1275 | postcss: 8.4.21
1276 | yaml: 1.10.2
1277 | dev: true
1278 |
1279 | /postcss-nested@6.0.0(postcss@8.4.21):
1280 | resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==}
1281 | engines: {node: '>=12.0'}
1282 | peerDependencies:
1283 | postcss: ^8.2.14
1284 | dependencies:
1285 | postcss: 8.4.21
1286 | postcss-selector-parser: 6.0.11
1287 | dev: true
1288 |
1289 | /postcss-selector-parser@6.0.11:
1290 | resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==}
1291 | engines: {node: '>=4'}
1292 | dependencies:
1293 | cssesc: 3.0.0
1294 | util-deprecate: 1.0.2
1295 | dev: true
1296 |
1297 | /postcss-value-parser@4.2.0:
1298 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1299 | dev: true
1300 |
1301 | /postcss@8.4.21:
1302 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
1303 | engines: {node: ^10 || ^12 || >=14}
1304 | dependencies:
1305 | nanoid: 3.3.6
1306 | picocolors: 1.0.0
1307 | source-map-js: 1.0.2
1308 | dev: true
1309 |
1310 | /queue-microtask@1.2.3:
1311 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1312 | dev: true
1313 |
1314 | /quick-lru@5.1.1:
1315 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
1316 | engines: {node: '>=10'}
1317 | dev: true
1318 |
1319 | /react-dom@18.2.0(react@18.2.0):
1320 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
1321 | peerDependencies:
1322 | react: ^18.2.0
1323 | dependencies:
1324 | loose-envify: 1.4.0
1325 | react: 18.2.0
1326 | scheduler: 0.23.0
1327 | dev: false
1328 |
1329 | /react-hook-form@7.43.9(react@18.2.0):
1330 | resolution: {integrity: sha512-AUDN3Pz2NSeoxQ7Hs6OhQhDr6gtF9YRuutGDwPQqhSUAHJSgGl2VeY3qN19MG0SucpjgDiuMJ4iC5T5uB+eaNQ==}
1331 | engines: {node: '>=12.22.0'}
1332 | peerDependencies:
1333 | react: ^16.8.0 || ^17 || ^18
1334 | dependencies:
1335 | react: 18.2.0
1336 | dev: false
1337 |
1338 | /react-refresh@0.14.0:
1339 | resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
1340 | engines: {node: '>=0.10.0'}
1341 | dev: true
1342 |
1343 | /react@18.2.0:
1344 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
1345 | engines: {node: '>=0.10.0'}
1346 | dependencies:
1347 | loose-envify: 1.4.0
1348 | dev: false
1349 |
1350 | /read-cache@1.0.0:
1351 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1352 | dependencies:
1353 | pify: 2.3.0
1354 | dev: true
1355 |
1356 | /readdirp@3.6.0:
1357 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1358 | engines: {node: '>=8.10.0'}
1359 | dependencies:
1360 | picomatch: 2.3.1
1361 | dev: true
1362 |
1363 | /resolve@1.22.1:
1364 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
1365 | hasBin: true
1366 | dependencies:
1367 | is-core-module: 2.11.0
1368 | path-parse: 1.0.7
1369 | supports-preserve-symlinks-flag: 1.0.0
1370 | dev: true
1371 |
1372 | /reusify@1.0.4:
1373 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1374 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1375 | dev: true
1376 |
1377 | /rollup@3.20.2:
1378 | resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==}
1379 | engines: {node: '>=14.18.0', npm: '>=8.0.0'}
1380 | hasBin: true
1381 | optionalDependencies:
1382 | fsevents: 2.3.2
1383 | dev: true
1384 |
1385 | /run-parallel@1.2.0:
1386 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1387 | dependencies:
1388 | queue-microtask: 1.2.3
1389 | dev: true
1390 |
1391 | /scheduler@0.23.0:
1392 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
1393 | dependencies:
1394 | loose-envify: 1.4.0
1395 | dev: false
1396 |
1397 | /semver@6.3.0:
1398 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
1399 | hasBin: true
1400 | dev: true
1401 |
1402 | /source-map-js@1.0.2:
1403 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1404 | engines: {node: '>=0.10.0'}
1405 | dev: true
1406 |
1407 | /sucrase@3.31.0:
1408 | resolution: {integrity: sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==}
1409 | engines: {node: '>=8'}
1410 | hasBin: true
1411 | dependencies:
1412 | commander: 4.1.1
1413 | glob: 7.1.6
1414 | lines-and-columns: 1.2.4
1415 | mz: 2.7.0
1416 | pirates: 4.0.5
1417 | ts-interface-checker: 0.1.13
1418 | dev: true
1419 |
1420 | /supports-color@5.5.0:
1421 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
1422 | engines: {node: '>=4'}
1423 | dependencies:
1424 | has-flag: 3.0.0
1425 | dev: true
1426 |
1427 | /supports-preserve-symlinks-flag@1.0.0:
1428 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1429 | engines: {node: '>= 0.4'}
1430 | dev: true
1431 |
1432 | /tailwindcss@3.3.1(postcss@8.4.21):
1433 | resolution: {integrity: sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==}
1434 | engines: {node: '>=12.13.0'}
1435 | hasBin: true
1436 | peerDependencies:
1437 | postcss: ^8.0.9
1438 | dependencies:
1439 | arg: 5.0.2
1440 | chokidar: 3.5.3
1441 | color-name: 1.1.4
1442 | didyoumean: 1.2.2
1443 | dlv: 1.1.3
1444 | fast-glob: 3.2.12
1445 | glob-parent: 6.0.2
1446 | is-glob: 4.0.3
1447 | jiti: 1.18.2
1448 | lilconfig: 2.1.0
1449 | micromatch: 4.0.5
1450 | normalize-path: 3.0.0
1451 | object-hash: 3.0.0
1452 | picocolors: 1.0.0
1453 | postcss: 8.4.21
1454 | postcss-import: 14.1.0(postcss@8.4.21)
1455 | postcss-js: 4.0.1(postcss@8.4.21)
1456 | postcss-load-config: 3.1.4(postcss@8.4.21)
1457 | postcss-nested: 6.0.0(postcss@8.4.21)
1458 | postcss-selector-parser: 6.0.11
1459 | postcss-value-parser: 4.2.0
1460 | quick-lru: 5.1.1
1461 | resolve: 1.22.1
1462 | sucrase: 3.31.0
1463 | transitivePeerDependencies:
1464 | - ts-node
1465 | dev: true
1466 |
1467 | /thenify-all@1.6.0:
1468 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1469 | engines: {node: '>=0.8'}
1470 | dependencies:
1471 | thenify: 3.3.1
1472 | dev: true
1473 |
1474 | /thenify@3.3.1:
1475 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
1476 | dependencies:
1477 | any-promise: 1.3.0
1478 | dev: true
1479 |
1480 | /to-fast-properties@2.0.0:
1481 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1482 | engines: {node: '>=4'}
1483 | dev: true
1484 |
1485 | /to-regex-range@5.0.1:
1486 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1487 | engines: {node: '>=8.0'}
1488 | dependencies:
1489 | is-number: 7.0.0
1490 | dev: true
1491 |
1492 | /tr46@0.0.3:
1493 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
1494 | dev: false
1495 |
1496 | /ts-interface-checker@0.1.13:
1497 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1498 | dev: true
1499 |
1500 | /type@1.2.0:
1501 | resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
1502 | dev: false
1503 |
1504 | /type@2.7.2:
1505 | resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
1506 | dev: false
1507 |
1508 | /typedarray-to-buffer@3.1.5:
1509 | resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
1510 | dependencies:
1511 | is-typedarray: 1.0.0
1512 | dev: false
1513 |
1514 | /typescript@4.9.3:
1515 | resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==}
1516 | engines: {node: '>=4.2.0'}
1517 | hasBin: true
1518 | dev: true
1519 |
1520 | /update-browserslist-db@1.0.10(browserslist@4.21.5):
1521 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
1522 | hasBin: true
1523 | peerDependencies:
1524 | browserslist: '>= 4.21.0'
1525 | dependencies:
1526 | browserslist: 4.21.5
1527 | escalade: 3.1.1
1528 | picocolors: 1.0.0
1529 | dev: true
1530 |
1531 | /utf-8-validate@5.0.10:
1532 | resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==}
1533 | engines: {node: '>=6.14.2'}
1534 | requiresBuild: true
1535 | dependencies:
1536 | node-gyp-build: 4.6.0
1537 | dev: false
1538 |
1539 | /util-deprecate@1.0.2:
1540 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1541 | dev: true
1542 |
1543 | /vite@4.2.0:
1544 | resolution: {integrity: sha512-AbDTyzzwuKoRtMIRLGNxhLRuv1FpRgdIw+1y6AQG73Q5+vtecmvzKo/yk8X/vrHDpETRTx01ABijqUHIzBXi0g==}
1545 | engines: {node: ^14.18.0 || >=16.0.0}
1546 | hasBin: true
1547 | peerDependencies:
1548 | '@types/node': '>= 14'
1549 | less: '*'
1550 | sass: '*'
1551 | stylus: '*'
1552 | sugarss: '*'
1553 | terser: ^5.4.0
1554 | peerDependenciesMeta:
1555 | '@types/node':
1556 | optional: true
1557 | less:
1558 | optional: true
1559 | sass:
1560 | optional: true
1561 | stylus:
1562 | optional: true
1563 | sugarss:
1564 | optional: true
1565 | terser:
1566 | optional: true
1567 | dependencies:
1568 | esbuild: 0.17.15
1569 | postcss: 8.4.21
1570 | resolve: 1.22.1
1571 | rollup: 3.20.2
1572 | optionalDependencies:
1573 | fsevents: 2.3.2
1574 | dev: true
1575 |
1576 | /webidl-conversions@3.0.1:
1577 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
1578 | dev: false
1579 |
1580 | /websocket@1.0.34:
1581 | resolution: {integrity: sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==}
1582 | engines: {node: '>=4.0.0'}
1583 | dependencies:
1584 | bufferutil: 4.0.7
1585 | debug: 2.6.9
1586 | es5-ext: 0.10.62
1587 | typedarray-to-buffer: 3.1.5
1588 | utf-8-validate: 5.0.10
1589 | yaeti: 0.0.6
1590 | transitivePeerDependencies:
1591 | - supports-color
1592 | dev: false
1593 |
1594 | /whatwg-url@5.0.0:
1595 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
1596 | dependencies:
1597 | tr46: 0.0.3
1598 | webidl-conversions: 3.0.1
1599 | dev: false
1600 |
1601 | /wrappy@1.0.2:
1602 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1603 | dev: true
1604 |
1605 | /yaeti@0.0.6:
1606 | resolution: {integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==}
1607 | engines: {node: '>=0.10.32'}
1608 | dev: false
1609 |
1610 | /yallist@3.1.1:
1611 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
1612 | dev: true
1613 |
1614 | /yaml@1.10.2:
1615 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
1616 | engines: {node: '>= 6'}
1617 | dev: true
1618 |
1619 | /zod@3.21.4:
1620 | resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==}
1621 | dev: false
1622 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from 'react'
2 | import { useForm, FormProvider, useFieldArray } from 'react-hook-form'
3 | import { PlusCircle, XCircle } from 'lucide-react'
4 | import { z } from 'zod'
5 | import { zodResolver } from '@hookform/resolvers/zod'
6 | import { Form } from './components/Form'
7 | import { supabase } from './lib/supabase'
8 |
9 | const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5mb
10 | const ACCEPTED_IMAGE_TYPES = ["image/jpeg", "image/jpg", "image/png", "image/webp"];
11 |
12 | const createUserSchema = z.object({
13 | name: z.string().nonempty({
14 | message: 'O nome é obrigatório',
15 | }).transform(name => {
16 | return name
17 | .trim()
18 | .split(' ')
19 | .map(word => word[0].toLocaleUpperCase().concat(word.substring(1)))
20 | .join(' ')
21 | }),
22 | email: z.string().nonempty({
23 | message: 'O e-mail é obrigatório',
24 | }).email({
25 | message: 'Formato de e-mail inválido',
26 | }).toLowerCase(),
27 | password: z.string().nonempty({
28 | message: 'A senha é obrigatória',
29 | }).min(6, {
30 | message: 'A senha precisa ter no mínimo 6 caracteres',
31 | }),
32 | techs: z.array(z.object({
33 | title: z.string().nonempty({ message: 'O nome da tecnologia é obrigatório' })
34 | })).min(3, {
35 | message: 'Pelo menos 3 tecnologias devem ser informadas.'
36 | }),
37 | avatar: z.instanceof(FileList)
38 | .refine((files) => !!files.item(0), "A imagem de perfil é obrigatória")
39 | .refine((files) => files.item(0)!.size <= MAX_FILE_SIZE, `Tamanho máximo de 5MB`)
40 | .refine(
41 | (files) => ACCEPTED_IMAGE_TYPES.includes(files.item(0)!.type),
42 | "Formato de imagem inválido"
43 | ).transform(files => {
44 | return files.item(0)!
45 | }),
46 | })
47 |
48 | type CreateUserData = z.infer
49 |
50 | export function App() {
51 | const [output, setOutput] = useState('')
52 |
53 | const createUserForm = useForm({
54 | resolver: zodResolver(createUserSchema),
55 | })
56 |
57 | async function createUser(data: CreateUserData) {
58 | const { data: uploadData, error } = await supabase
59 | .storage
60 | .from('forms-react')
61 | .upload(`avatars/${data.avatar?.name}`, data.avatar, {
62 | cacheControl: '3600',
63 | upsert: false
64 | })
65 |
66 | console.log(uploadData)
67 |
68 | setOutput(JSON.stringify(data, null, 2))
69 | }
70 |
71 | const {
72 | handleSubmit,
73 | formState: { isSubmitting },
74 | watch,
75 | control,
76 | } = createUserForm;
77 |
78 | const userPassword = watch('password')
79 | const isPasswordStrong = new RegExp('(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{8,})').test(userPassword)
80 |
81 | const { fields, append, remove } = useFieldArray({
82 | control,
83 | name: 'techs',
84 | })
85 |
86 | function addNewTech() {
87 | append({ title: '' })
88 | }
89 |
90 | return (
91 |
92 |
93 |
98 |
99 | Avatar
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 | Nome
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 | E-mail
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 | Senha
125 |
126 | {isPasswordStrong
127 | ? Senha forte
128 | : Senha fraca}
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 | Tecnologias
137 |
138 |
146 |
147 |
148 |
149 | {fields.map((field, index) => {
150 | const fieldName = `techs.${index}.title`
151 |
152 | return (
153 |
154 |
155 |
156 |
163 |
164 |
165 |
166 | )
167 | })}
168 |
169 |
170 |
171 |
178 |
179 |
180 |
181 | {output && (
182 |
183 | {output}
184 |
185 | )}
186 |
187 | )
188 | }
189 |
190 |
--------------------------------------------------------------------------------
/src/components/Form/ErrorMessage.tsx:
--------------------------------------------------------------------------------
1 | import { useFormContext } from 'react-hook-form'
2 |
3 | interface ErrorMessageProps {
4 | field: string
5 | }
6 |
7 | function get(obj: Record, path: string) {
8 | const travel = (regexp: RegExp) =>
9 | String.prototype.split
10 | .call(path, regexp)
11 | .filter(Boolean)
12 | .reduce((res, key) => (res !== null && res !== undefined ? res[key] : res), obj);
13 |
14 | const result = travel(/[,[\]]+?/) || travel(/[,[\].]+?/);
15 |
16 | return result
17 | };
18 |
19 | export function ErrorMessage({ field }: ErrorMessageProps) {
20 | const { formState: { errors } } = useFormContext()
21 |
22 | const fieldError = get(errors, field)
23 |
24 | if (!fieldError) {
25 | return null
26 | }
27 |
28 | return (
29 | {fieldError.message?.toString()}
30 | )
31 | }
--------------------------------------------------------------------------------
/src/components/Form/Field.tsx:
--------------------------------------------------------------------------------
1 | import { HTMLAttributes } from "react";
2 |
3 | interface FieldProps extends HTMLAttributes {}
4 |
5 | export function Field(props: FieldProps) {
6 | return (
7 |
8 | )
9 | }
--------------------------------------------------------------------------------
/src/components/Form/Input.tsx:
--------------------------------------------------------------------------------
1 | import { InputHTMLAttributes } from "react";
2 | import { useFormContext } from 'react-hook-form'
3 |
4 | interface InputProps extends InputHTMLAttributes {
5 | name: string
6 | }
7 |
8 | export function Input(props: InputProps) {
9 | const { register } = useFormContext()
10 |
11 | return (
12 |
18 | )
19 | }
--------------------------------------------------------------------------------
/src/components/Form/Label.tsx:
--------------------------------------------------------------------------------
1 | import { LabelHTMLAttributes } from "react";
2 |
3 | export function Label(props: LabelHTMLAttributes) {
4 | return (
5 |
9 | )
10 | }
--------------------------------------------------------------------------------
/src/components/Form/index.tsx:
--------------------------------------------------------------------------------
1 | import { ErrorMessage } from "./ErrorMessage";
2 | import { Field } from "./Field";
3 | import { Input } from "./Input";
4 | import { Label } from "./Label";
5 |
6 | export const Form = {
7 | Label,
8 | Input,
9 | ErrorMessage,
10 | Field,
11 | }
--------------------------------------------------------------------------------
/src/lib/supabase.ts:
--------------------------------------------------------------------------------
1 | import { createClient } from '@supabase/supabase-js'
2 |
3 | export const supabase = createClient(
4 | 'https://odugrrpozfqjsygravev.supabase.co',
5 | 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im9kdWdycnBvemZxanN5Z3JhdmV2Iiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTY4MDcwOTE5MywiZXhwIjoxOTk2Mjg1MTkzfQ.yq8WEzH4FaRTP8nBOnGrq1TxWpUeJ8REeDwPDwG-0XE'
6 | )
--------------------------------------------------------------------------------
/src/main.tsx:
--------------------------------------------------------------------------------
1 | import './styles/global.css'
2 |
3 | import React from 'react'
4 | import ReactDOM from 'react-dom/client'
5 | import { App } from './App'
6 |
7 | ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
8 |
9 |
10 | ,
11 | )
12 |
--------------------------------------------------------------------------------
/src/styles/global.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind utilities;
3 | @tailwind components;
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: [
4 | './src/**/*.tsx',
5 | ],
6 | theme: {
7 | extend: {},
8 | },
9 | plugins: [],
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "lib": ["DOM", "DOM.Iterable", "ESNext"],
6 | "allowJs": false,
7 | "skipLibCheck": true,
8 | "esModuleInterop": false,
9 | "allowSyntheticDefaultImports": true,
10 | "strict": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Node",
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "noEmit": true,
17 | "jsx": "react-jsx"
18 | },
19 | "include": ["src"],
20 | "references": [{ "path": "./tsconfig.node.json" }]
21 | }
22 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "ESNext",
5 | "moduleResolution": "Node",
6 | "allowSyntheticDefaultImports": true
7 | },
8 | "include": ["vite.config.ts"]
9 | }
10 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | })
8 |
--------------------------------------------------------------------------------