├── .gitignore ├── index.html ├── package-lock.json ├── package.json ├── public └── vite.svg ├── src ├── App.jsx ├── assets │ └── react.svg ├── components │ └── PDF.jsx ├── index.css ├── main.jsx └── nextjslogo.png └── 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 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite + React 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-pdf-tutorial", 3 | "version": "0.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "react-pdf-tutorial", 9 | "version": "0.0.0", 10 | "dependencies": { 11 | "@react-pdf/renderer": "^3.1.14", 12 | "react": "^18.2.0", 13 | "react-dom": "^18.2.0" 14 | }, 15 | "devDependencies": { 16 | "@types/react": "^18.0.26", 17 | "@types/react-dom": "^18.0.9", 18 | "@vitejs/plugin-react": "^3.0.0", 19 | "vite": "^4.0.0" 20 | } 21 | }, 22 | "node_modules/@ampproject/remapping": { 23 | "version": "2.2.1", 24 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", 25 | "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", 26 | "dev": true, 27 | "dependencies": { 28 | "@jridgewell/gen-mapping": "^0.3.0", 29 | "@jridgewell/trace-mapping": "^0.3.9" 30 | }, 31 | "engines": { 32 | "node": ">=6.0.0" 33 | } 34 | }, 35 | "node_modules/@babel/code-frame": { 36 | "version": "7.23.5", 37 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", 38 | "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", 39 | "dev": true, 40 | "dependencies": { 41 | "@babel/highlight": "^7.23.4", 42 | "chalk": "^2.4.2" 43 | }, 44 | "engines": { 45 | "node": ">=6.9.0" 46 | } 47 | }, 48 | "node_modules/@babel/compat-data": { 49 | "version": "7.23.5", 50 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", 51 | "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", 52 | "dev": true, 53 | "engines": { 54 | "node": ">=6.9.0" 55 | } 56 | }, 57 | "node_modules/@babel/core": { 58 | "version": "7.23.5", 59 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz", 60 | "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==", 61 | "dev": true, 62 | "dependencies": { 63 | "@ampproject/remapping": "^2.2.0", 64 | "@babel/code-frame": "^7.23.5", 65 | "@babel/generator": "^7.23.5", 66 | "@babel/helper-compilation-targets": "^7.22.15", 67 | "@babel/helper-module-transforms": "^7.23.3", 68 | "@babel/helpers": "^7.23.5", 69 | "@babel/parser": "^7.23.5", 70 | "@babel/template": "^7.22.15", 71 | "@babel/traverse": "^7.23.5", 72 | "@babel/types": "^7.23.5", 73 | "convert-source-map": "^2.0.0", 74 | "debug": "^4.1.0", 75 | "gensync": "^1.0.0-beta.2", 76 | "json5": "^2.2.3", 77 | "semver": "^6.3.1" 78 | }, 79 | "engines": { 80 | "node": ">=6.9.0" 81 | }, 82 | "funding": { 83 | "type": "opencollective", 84 | "url": "https://opencollective.com/babel" 85 | } 86 | }, 87 | "node_modules/@babel/generator": { 88 | "version": "7.23.5", 89 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", 90 | "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", 91 | "dev": true, 92 | "dependencies": { 93 | "@babel/types": "^7.23.5", 94 | "@jridgewell/gen-mapping": "^0.3.2", 95 | "@jridgewell/trace-mapping": "^0.3.17", 96 | "jsesc": "^2.5.1" 97 | }, 98 | "engines": { 99 | "node": ">=6.9.0" 100 | } 101 | }, 102 | "node_modules/@babel/helper-compilation-targets": { 103 | "version": "7.22.15", 104 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", 105 | "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", 106 | "dev": true, 107 | "dependencies": { 108 | "@babel/compat-data": "^7.22.9", 109 | "@babel/helper-validator-option": "^7.22.15", 110 | "browserslist": "^4.21.9", 111 | "lru-cache": "^5.1.1", 112 | "semver": "^6.3.1" 113 | }, 114 | "engines": { 115 | "node": ">=6.9.0" 116 | } 117 | }, 118 | "node_modules/@babel/helper-environment-visitor": { 119 | "version": "7.22.20", 120 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", 121 | "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", 122 | "dev": true, 123 | "engines": { 124 | "node": ">=6.9.0" 125 | } 126 | }, 127 | "node_modules/@babel/helper-function-name": { 128 | "version": "7.23.0", 129 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", 130 | "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", 131 | "dev": true, 132 | "dependencies": { 133 | "@babel/template": "^7.22.15", 134 | "@babel/types": "^7.23.0" 135 | }, 136 | "engines": { 137 | "node": ">=6.9.0" 138 | } 139 | }, 140 | "node_modules/@babel/helper-hoist-variables": { 141 | "version": "7.22.5", 142 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", 143 | "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", 144 | "dev": true, 145 | "dependencies": { 146 | "@babel/types": "^7.22.5" 147 | }, 148 | "engines": { 149 | "node": ">=6.9.0" 150 | } 151 | }, 152 | "node_modules/@babel/helper-module-imports": { 153 | "version": "7.22.15", 154 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", 155 | "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", 156 | "dev": true, 157 | "dependencies": { 158 | "@babel/types": "^7.22.15" 159 | }, 160 | "engines": { 161 | "node": ">=6.9.0" 162 | } 163 | }, 164 | "node_modules/@babel/helper-module-transforms": { 165 | "version": "7.23.3", 166 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", 167 | "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", 168 | "dev": true, 169 | "dependencies": { 170 | "@babel/helper-environment-visitor": "^7.22.20", 171 | "@babel/helper-module-imports": "^7.22.15", 172 | "@babel/helper-simple-access": "^7.22.5", 173 | "@babel/helper-split-export-declaration": "^7.22.6", 174 | "@babel/helper-validator-identifier": "^7.22.20" 175 | }, 176 | "engines": { 177 | "node": ">=6.9.0" 178 | }, 179 | "peerDependencies": { 180 | "@babel/core": "^7.0.0" 181 | } 182 | }, 183 | "node_modules/@babel/helper-plugin-utils": { 184 | "version": "7.22.5", 185 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", 186 | "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", 187 | "dev": true, 188 | "engines": { 189 | "node": ">=6.9.0" 190 | } 191 | }, 192 | "node_modules/@babel/helper-simple-access": { 193 | "version": "7.22.5", 194 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", 195 | "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", 196 | "dev": true, 197 | "dependencies": { 198 | "@babel/types": "^7.22.5" 199 | }, 200 | "engines": { 201 | "node": ">=6.9.0" 202 | } 203 | }, 204 | "node_modules/@babel/helper-split-export-declaration": { 205 | "version": "7.22.6", 206 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", 207 | "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", 208 | "dev": true, 209 | "dependencies": { 210 | "@babel/types": "^7.22.5" 211 | }, 212 | "engines": { 213 | "node": ">=6.9.0" 214 | } 215 | }, 216 | "node_modules/@babel/helper-string-parser": { 217 | "version": "7.23.4", 218 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", 219 | "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", 220 | "dev": true, 221 | "engines": { 222 | "node": ">=6.9.0" 223 | } 224 | }, 225 | "node_modules/@babel/helper-validator-identifier": { 226 | "version": "7.22.20", 227 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", 228 | "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", 229 | "dev": true, 230 | "engines": { 231 | "node": ">=6.9.0" 232 | } 233 | }, 234 | "node_modules/@babel/helper-validator-option": { 235 | "version": "7.23.5", 236 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", 237 | "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", 238 | "dev": true, 239 | "engines": { 240 | "node": ">=6.9.0" 241 | } 242 | }, 243 | "node_modules/@babel/helpers": { 244 | "version": "7.23.5", 245 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz", 246 | "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==", 247 | "dev": true, 248 | "dependencies": { 249 | "@babel/template": "^7.22.15", 250 | "@babel/traverse": "^7.23.5", 251 | "@babel/types": "^7.23.5" 252 | }, 253 | "engines": { 254 | "node": ">=6.9.0" 255 | } 256 | }, 257 | "node_modules/@babel/highlight": { 258 | "version": "7.23.4", 259 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", 260 | "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", 261 | "dev": true, 262 | "dependencies": { 263 | "@babel/helper-validator-identifier": "^7.22.20", 264 | "chalk": "^2.4.2", 265 | "js-tokens": "^4.0.0" 266 | }, 267 | "engines": { 268 | "node": ">=6.9.0" 269 | } 270 | }, 271 | "node_modules/@babel/parser": { 272 | "version": "7.23.5", 273 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", 274 | "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", 275 | "dev": true, 276 | "bin": { 277 | "parser": "bin/babel-parser.js" 278 | }, 279 | "engines": { 280 | "node": ">=6.0.0" 281 | } 282 | }, 283 | "node_modules/@babel/plugin-transform-react-jsx-self": { 284 | "version": "7.23.3", 285 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", 286 | "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", 287 | "dev": true, 288 | "dependencies": { 289 | "@babel/helper-plugin-utils": "^7.22.5" 290 | }, 291 | "engines": { 292 | "node": ">=6.9.0" 293 | }, 294 | "peerDependencies": { 295 | "@babel/core": "^7.0.0-0" 296 | } 297 | }, 298 | "node_modules/@babel/plugin-transform-react-jsx-source": { 299 | "version": "7.23.3", 300 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", 301 | "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", 302 | "dev": true, 303 | "dependencies": { 304 | "@babel/helper-plugin-utils": "^7.22.5" 305 | }, 306 | "engines": { 307 | "node": ">=6.9.0" 308 | }, 309 | "peerDependencies": { 310 | "@babel/core": "^7.0.0-0" 311 | } 312 | }, 313 | "node_modules/@babel/runtime": { 314 | "version": "7.23.5", 315 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", 316 | "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==", 317 | "dependencies": { 318 | "regenerator-runtime": "^0.14.0" 319 | }, 320 | "engines": { 321 | "node": ">=6.9.0" 322 | } 323 | }, 324 | "node_modules/@babel/template": { 325 | "version": "7.22.15", 326 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", 327 | "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", 328 | "dev": true, 329 | "dependencies": { 330 | "@babel/code-frame": "^7.22.13", 331 | "@babel/parser": "^7.22.15", 332 | "@babel/types": "^7.22.15" 333 | }, 334 | "engines": { 335 | "node": ">=6.9.0" 336 | } 337 | }, 338 | "node_modules/@babel/traverse": { 339 | "version": "7.23.5", 340 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", 341 | "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", 342 | "dev": true, 343 | "dependencies": { 344 | "@babel/code-frame": "^7.23.5", 345 | "@babel/generator": "^7.23.5", 346 | "@babel/helper-environment-visitor": "^7.22.20", 347 | "@babel/helper-function-name": "^7.23.0", 348 | "@babel/helper-hoist-variables": "^7.22.5", 349 | "@babel/helper-split-export-declaration": "^7.22.6", 350 | "@babel/parser": "^7.23.5", 351 | "@babel/types": "^7.23.5", 352 | "debug": "^4.1.0", 353 | "globals": "^11.1.0" 354 | }, 355 | "engines": { 356 | "node": ">=6.9.0" 357 | } 358 | }, 359 | "node_modules/@babel/types": { 360 | "version": "7.23.5", 361 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", 362 | "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", 363 | "dev": true, 364 | "dependencies": { 365 | "@babel/helper-string-parser": "^7.23.4", 366 | "@babel/helper-validator-identifier": "^7.22.20", 367 | "to-fast-properties": "^2.0.0" 368 | }, 369 | "engines": { 370 | "node": ">=6.9.0" 371 | } 372 | }, 373 | "node_modules/@esbuild/android-arm": { 374 | "version": "0.18.20", 375 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", 376 | "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", 377 | "cpu": [ 378 | "arm" 379 | ], 380 | "dev": true, 381 | "optional": true, 382 | "os": [ 383 | "android" 384 | ], 385 | "engines": { 386 | "node": ">=12" 387 | } 388 | }, 389 | "node_modules/@esbuild/android-arm64": { 390 | "version": "0.18.20", 391 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", 392 | "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", 393 | "cpu": [ 394 | "arm64" 395 | ], 396 | "dev": true, 397 | "optional": true, 398 | "os": [ 399 | "android" 400 | ], 401 | "engines": { 402 | "node": ">=12" 403 | } 404 | }, 405 | "node_modules/@esbuild/android-x64": { 406 | "version": "0.18.20", 407 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", 408 | "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", 409 | "cpu": [ 410 | "x64" 411 | ], 412 | "dev": true, 413 | "optional": true, 414 | "os": [ 415 | "android" 416 | ], 417 | "engines": { 418 | "node": ">=12" 419 | } 420 | }, 421 | "node_modules/@esbuild/darwin-arm64": { 422 | "version": "0.18.20", 423 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", 424 | "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", 425 | "cpu": [ 426 | "arm64" 427 | ], 428 | "dev": true, 429 | "optional": true, 430 | "os": [ 431 | "darwin" 432 | ], 433 | "engines": { 434 | "node": ">=12" 435 | } 436 | }, 437 | "node_modules/@esbuild/darwin-x64": { 438 | "version": "0.18.20", 439 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", 440 | "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", 441 | "cpu": [ 442 | "x64" 443 | ], 444 | "dev": true, 445 | "optional": true, 446 | "os": [ 447 | "darwin" 448 | ], 449 | "engines": { 450 | "node": ">=12" 451 | } 452 | }, 453 | "node_modules/@esbuild/freebsd-arm64": { 454 | "version": "0.18.20", 455 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", 456 | "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", 457 | "cpu": [ 458 | "arm64" 459 | ], 460 | "dev": true, 461 | "optional": true, 462 | "os": [ 463 | "freebsd" 464 | ], 465 | "engines": { 466 | "node": ">=12" 467 | } 468 | }, 469 | "node_modules/@esbuild/freebsd-x64": { 470 | "version": "0.18.20", 471 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", 472 | "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", 473 | "cpu": [ 474 | "x64" 475 | ], 476 | "dev": true, 477 | "optional": true, 478 | "os": [ 479 | "freebsd" 480 | ], 481 | "engines": { 482 | "node": ">=12" 483 | } 484 | }, 485 | "node_modules/@esbuild/linux-arm": { 486 | "version": "0.18.20", 487 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", 488 | "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", 489 | "cpu": [ 490 | "arm" 491 | ], 492 | "dev": true, 493 | "optional": true, 494 | "os": [ 495 | "linux" 496 | ], 497 | "engines": { 498 | "node": ">=12" 499 | } 500 | }, 501 | "node_modules/@esbuild/linux-arm64": { 502 | "version": "0.18.20", 503 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", 504 | "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", 505 | "cpu": [ 506 | "arm64" 507 | ], 508 | "dev": true, 509 | "optional": true, 510 | "os": [ 511 | "linux" 512 | ], 513 | "engines": { 514 | "node": ">=12" 515 | } 516 | }, 517 | "node_modules/@esbuild/linux-ia32": { 518 | "version": "0.18.20", 519 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", 520 | "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", 521 | "cpu": [ 522 | "ia32" 523 | ], 524 | "dev": true, 525 | "optional": true, 526 | "os": [ 527 | "linux" 528 | ], 529 | "engines": { 530 | "node": ">=12" 531 | } 532 | }, 533 | "node_modules/@esbuild/linux-loong64": { 534 | "version": "0.18.20", 535 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", 536 | "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", 537 | "cpu": [ 538 | "loong64" 539 | ], 540 | "dev": true, 541 | "optional": true, 542 | "os": [ 543 | "linux" 544 | ], 545 | "engines": { 546 | "node": ">=12" 547 | } 548 | }, 549 | "node_modules/@esbuild/linux-mips64el": { 550 | "version": "0.18.20", 551 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", 552 | "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", 553 | "cpu": [ 554 | "mips64el" 555 | ], 556 | "dev": true, 557 | "optional": true, 558 | "os": [ 559 | "linux" 560 | ], 561 | "engines": { 562 | "node": ">=12" 563 | } 564 | }, 565 | "node_modules/@esbuild/linux-ppc64": { 566 | "version": "0.18.20", 567 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", 568 | "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", 569 | "cpu": [ 570 | "ppc64" 571 | ], 572 | "dev": true, 573 | "optional": true, 574 | "os": [ 575 | "linux" 576 | ], 577 | "engines": { 578 | "node": ">=12" 579 | } 580 | }, 581 | "node_modules/@esbuild/linux-riscv64": { 582 | "version": "0.18.20", 583 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", 584 | "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", 585 | "cpu": [ 586 | "riscv64" 587 | ], 588 | "dev": true, 589 | "optional": true, 590 | "os": [ 591 | "linux" 592 | ], 593 | "engines": { 594 | "node": ">=12" 595 | } 596 | }, 597 | "node_modules/@esbuild/linux-s390x": { 598 | "version": "0.18.20", 599 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", 600 | "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", 601 | "cpu": [ 602 | "s390x" 603 | ], 604 | "dev": true, 605 | "optional": true, 606 | "os": [ 607 | "linux" 608 | ], 609 | "engines": { 610 | "node": ">=12" 611 | } 612 | }, 613 | "node_modules/@esbuild/linux-x64": { 614 | "version": "0.18.20", 615 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", 616 | "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", 617 | "cpu": [ 618 | "x64" 619 | ], 620 | "dev": true, 621 | "optional": true, 622 | "os": [ 623 | "linux" 624 | ], 625 | "engines": { 626 | "node": ">=12" 627 | } 628 | }, 629 | "node_modules/@esbuild/netbsd-x64": { 630 | "version": "0.18.20", 631 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", 632 | "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", 633 | "cpu": [ 634 | "x64" 635 | ], 636 | "dev": true, 637 | "optional": true, 638 | "os": [ 639 | "netbsd" 640 | ], 641 | "engines": { 642 | "node": ">=12" 643 | } 644 | }, 645 | "node_modules/@esbuild/openbsd-x64": { 646 | "version": "0.18.20", 647 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", 648 | "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", 649 | "cpu": [ 650 | "x64" 651 | ], 652 | "dev": true, 653 | "optional": true, 654 | "os": [ 655 | "openbsd" 656 | ], 657 | "engines": { 658 | "node": ">=12" 659 | } 660 | }, 661 | "node_modules/@esbuild/sunos-x64": { 662 | "version": "0.18.20", 663 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", 664 | "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", 665 | "cpu": [ 666 | "x64" 667 | ], 668 | "dev": true, 669 | "optional": true, 670 | "os": [ 671 | "sunos" 672 | ], 673 | "engines": { 674 | "node": ">=12" 675 | } 676 | }, 677 | "node_modules/@esbuild/win32-arm64": { 678 | "version": "0.18.20", 679 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", 680 | "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", 681 | "cpu": [ 682 | "arm64" 683 | ], 684 | "dev": true, 685 | "optional": true, 686 | "os": [ 687 | "win32" 688 | ], 689 | "engines": { 690 | "node": ">=12" 691 | } 692 | }, 693 | "node_modules/@esbuild/win32-ia32": { 694 | "version": "0.18.20", 695 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", 696 | "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", 697 | "cpu": [ 698 | "ia32" 699 | ], 700 | "dev": true, 701 | "optional": true, 702 | "os": [ 703 | "win32" 704 | ], 705 | "engines": { 706 | "node": ">=12" 707 | } 708 | }, 709 | "node_modules/@esbuild/win32-x64": { 710 | "version": "0.18.20", 711 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", 712 | "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", 713 | "cpu": [ 714 | "x64" 715 | ], 716 | "dev": true, 717 | "optional": true, 718 | "os": [ 719 | "win32" 720 | ], 721 | "engines": { 722 | "node": ">=12" 723 | } 724 | }, 725 | "node_modules/@jridgewell/gen-mapping": { 726 | "version": "0.3.3", 727 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 728 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 729 | "dev": true, 730 | "dependencies": { 731 | "@jridgewell/set-array": "^1.0.1", 732 | "@jridgewell/sourcemap-codec": "^1.4.10", 733 | "@jridgewell/trace-mapping": "^0.3.9" 734 | }, 735 | "engines": { 736 | "node": ">=6.0.0" 737 | } 738 | }, 739 | "node_modules/@jridgewell/resolve-uri": { 740 | "version": "3.1.1", 741 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", 742 | "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", 743 | "dev": true, 744 | "engines": { 745 | "node": ">=6.0.0" 746 | } 747 | }, 748 | "node_modules/@jridgewell/set-array": { 749 | "version": "1.1.2", 750 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 751 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 752 | "dev": true, 753 | "engines": { 754 | "node": ">=6.0.0" 755 | } 756 | }, 757 | "node_modules/@jridgewell/sourcemap-codec": { 758 | "version": "1.4.15", 759 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 760 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 761 | "dev": true 762 | }, 763 | "node_modules/@jridgewell/trace-mapping": { 764 | "version": "0.3.20", 765 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", 766 | "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", 767 | "dev": true, 768 | "dependencies": { 769 | "@jridgewell/resolve-uri": "^3.1.0", 770 | "@jridgewell/sourcemap-codec": "^1.4.14" 771 | } 772 | }, 773 | "node_modules/@react-pdf/fns": { 774 | "version": "2.0.1", 775 | "resolved": "https://registry.npmjs.org/@react-pdf/fns/-/fns-2.0.1.tgz", 776 | "integrity": "sha512-/vgecczzFYBQFkgUupH+sxXhLWQtBwdwCgweyh25XOlR4NZuaMD/UVUDl4loFHhRQqDMQq37lkTcchh7zzW6ug==", 777 | "dependencies": { 778 | "@babel/runtime": "^7.20.13" 779 | } 780 | }, 781 | "node_modules/@react-pdf/font": { 782 | "version": "2.3.7", 783 | "resolved": "https://registry.npmjs.org/@react-pdf/font/-/font-2.3.7.tgz", 784 | "integrity": "sha512-NoCieWea6c1mCpDBoyjPbUEC1qXa+S/M7+8vYPZ71aTMgX7co3gQc2e6YKwrSQeQP+BsBq3LSVhjI2ETXfcytw==", 785 | "dependencies": { 786 | "@babel/runtime": "^7.20.13", 787 | "@react-pdf/types": "^2.3.4", 788 | "cross-fetch": "^3.1.5", 789 | "fontkit": "^2.0.2", 790 | "is-url": "^1.2.4" 791 | } 792 | }, 793 | "node_modules/@react-pdf/image": { 794 | "version": "2.2.2", 795 | "resolved": "https://registry.npmjs.org/@react-pdf/image/-/image-2.2.2.tgz", 796 | "integrity": "sha512-990JvRZuhsnHyAGd7gvmhfr+4/5PAHLH9IgDstaEDLEq2eFAIQFuNM7k3D6kjKgV1mM7Jqif3CWqrcHBF3jrJw==", 797 | "dependencies": { 798 | "@babel/runtime": "^7.20.13", 799 | "@react-pdf/png-js": "^2.2.0", 800 | "cross-fetch": "^3.1.5" 801 | } 802 | }, 803 | "node_modules/@react-pdf/layout": { 804 | "version": "3.6.3", 805 | "resolved": "https://registry.npmjs.org/@react-pdf/layout/-/layout-3.6.3.tgz", 806 | "integrity": "sha512-w6ACZ9o18Q5wbzsY9a4KW2Gqn6Drt3AN/kb/I6SBz/L7PAJ9rPQBIDq/s5qZJ+/WwWy33rcC8WC1givtDhjCHQ==", 807 | "dependencies": { 808 | "@babel/runtime": "^7.20.13", 809 | "@react-pdf/fns": "2.0.1", 810 | "@react-pdf/image": "^2.2.2", 811 | "@react-pdf/pdfkit": "^3.0.2", 812 | "@react-pdf/primitives": "^3.0.0", 813 | "@react-pdf/stylesheet": "^4.1.8", 814 | "@react-pdf/textkit": "^4.2.0", 815 | "@react-pdf/types": "^2.3.4", 816 | "@react-pdf/yoga": "^4.1.2", 817 | "cross-fetch": "^3.1.5", 818 | "emoji-regex": "^10.2.1", 819 | "queue": "^6.0.1" 820 | } 821 | }, 822 | "node_modules/@react-pdf/pdfkit": { 823 | "version": "3.0.2", 824 | "resolved": "https://registry.npmjs.org/@react-pdf/pdfkit/-/pdfkit-3.0.2.tgz", 825 | "integrity": "sha512-+m5rwNCwyEH6lmnZWpsQJvdqb6YaCCR0nMWrc/KKDwznuPMrGmGWyNxqCja+bQPORcHZyl6Cd/iFL0glyB3QGw==", 826 | "dependencies": { 827 | "@babel/runtime": "^7.20.13", 828 | "@react-pdf/png-js": "^2.2.0", 829 | "browserify-zlib": "^0.2.0", 830 | "crypto-js": "^4.0.0", 831 | "fontkit": "^2.0.2", 832 | "vite-compatible-readable-stream": "^3.6.1" 833 | } 834 | }, 835 | "node_modules/@react-pdf/png-js": { 836 | "version": "2.2.0", 837 | "resolved": "https://registry.npmjs.org/@react-pdf/png-js/-/png-js-2.2.0.tgz", 838 | "integrity": "sha512-csZU5lfNW73tq7s7zB/1rWXGro+Z9cQhxtsXwxS418TSszHUiM6PwddouiKJxdGhbVLjRIcuuFVa0aR5cDOC6w==", 839 | "dependencies": { 840 | "browserify-zlib": "^0.2.0" 841 | } 842 | }, 843 | "node_modules/@react-pdf/primitives": { 844 | "version": "3.0.1", 845 | "resolved": "https://registry.npmjs.org/@react-pdf/primitives/-/primitives-3.0.1.tgz", 846 | "integrity": "sha512-0HGcknrLNwyhxe+SZCBL29JY4M85mXKdvTZE9uhjNbADGgTc8wVnkc5+e4S/lDvugbVISXyuIhZnYwtK9eDnyQ==" 847 | }, 848 | "node_modules/@react-pdf/render": { 849 | "version": "3.2.7", 850 | "resolved": "https://registry.npmjs.org/@react-pdf/render/-/render-3.2.7.tgz", 851 | "integrity": "sha512-fAgbbAAkVL0hpcf1vUJLHxuPjPBqZuq8nors7fCwvoatBBwOWP9fza7IDPeFKN7+ZOnfmIZzes8Kc/DNHzJohw==", 852 | "dependencies": { 853 | "@babel/runtime": "^7.20.13", 854 | "@react-pdf/fns": "2.0.1", 855 | "@react-pdf/primitives": "^3.0.0", 856 | "@react-pdf/textkit": "^4.2.0", 857 | "@react-pdf/types": "^2.3.4", 858 | "abs-svg-path": "^0.1.1", 859 | "color-string": "^1.5.3", 860 | "normalize-svg-path": "^1.1.0", 861 | "parse-svg-path": "^0.1.2", 862 | "svg-arc-to-cubic-bezier": "^3.2.0" 863 | } 864 | }, 865 | "node_modules/@react-pdf/renderer": { 866 | "version": "3.1.14", 867 | "resolved": "https://registry.npmjs.org/@react-pdf/renderer/-/renderer-3.1.14.tgz", 868 | "integrity": "sha512-Qk29uTamH6q+drK/YmiFbuQQ+yutesfIe+wyrsXFoUJUutIiDIaibO6zByMkhWb3M6CMt6NvG3NLHio1OF8U6Q==", 869 | "dependencies": { 870 | "@babel/runtime": "^7.20.13", 871 | "@react-pdf/font": "^2.3.7", 872 | "@react-pdf/layout": "^3.6.3", 873 | "@react-pdf/pdfkit": "^3.0.2", 874 | "@react-pdf/primitives": "^3.0.0", 875 | "@react-pdf/render": "^3.2.7", 876 | "@react-pdf/types": "^2.3.4", 877 | "events": "^3.3.0", 878 | "object-assign": "^4.1.1", 879 | "prop-types": "^15.6.2", 880 | "queue": "^6.0.1", 881 | "scheduler": "^0.17.0" 882 | }, 883 | "peerDependencies": { 884 | "react": "^16.8.6 || ^17.0.0 || ^18.0.0" 885 | } 886 | }, 887 | "node_modules/@react-pdf/renderer/node_modules/scheduler": { 888 | "version": "0.17.0", 889 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.17.0.tgz", 890 | "integrity": "sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA==", 891 | "dependencies": { 892 | "loose-envify": "^1.1.0", 893 | "object-assign": "^4.1.1" 894 | } 895 | }, 896 | "node_modules/@react-pdf/stylesheet": { 897 | "version": "4.1.8", 898 | "resolved": "https://registry.npmjs.org/@react-pdf/stylesheet/-/stylesheet-4.1.8.tgz", 899 | "integrity": "sha512-/EuB9RBsH3YYRj8mwzImaul619MvX3rsHNF4h8LnlwDOuBehPA3L/fHrikfPqtJvHqK2ty3GXnkw0HG5SQpMzw==", 900 | "dependencies": { 901 | "@babel/runtime": "^7.20.13", 902 | "@react-pdf/fns": "2.0.1", 903 | "@react-pdf/types": "^2.3.4", 904 | "color-string": "^1.5.3", 905 | "hsl-to-hex": "^1.0.0", 906 | "media-engine": "^1.0.3", 907 | "postcss-value-parser": "^4.1.0" 908 | } 909 | }, 910 | "node_modules/@react-pdf/textkit": { 911 | "version": "4.2.0", 912 | "resolved": "https://registry.npmjs.org/@react-pdf/textkit/-/textkit-4.2.0.tgz", 913 | "integrity": "sha512-R90pEOW6NdhUx4p99iROvKmwB06IRYdXMhh0QcmUeoPOLe64ZdMfs3LZliNUWgI5fCmq71J+nv868i/EakFPDg==", 914 | "dependencies": { 915 | "@babel/runtime": "^7.20.13", 916 | "@react-pdf/fns": "2.0.1", 917 | "hyphen": "^1.6.4", 918 | "unicode-properties": "^1.4.1" 919 | } 920 | }, 921 | "node_modules/@react-pdf/types": { 922 | "version": "2.3.4", 923 | "resolved": "https://registry.npmjs.org/@react-pdf/types/-/types-2.3.4.tgz", 924 | "integrity": "sha512-vGGz21BTE05EktBbotbd7fjC0Yi8A/lOSIpzd7L7aF1XY+vyIHlQVb35DWCipM1p/6XN4cr9etGAmm1e4Mtmjw==" 925 | }, 926 | "node_modules/@react-pdf/yoga": { 927 | "version": "4.1.2", 928 | "resolved": "https://registry.npmjs.org/@react-pdf/yoga/-/yoga-4.1.2.tgz", 929 | "integrity": "sha512-OlMZkFrJDj4GyKZ70thiObwwPVZ52B7mlPyfzwa+sgwsioqHXg9nMWOO+7SQFNUbbOGagMUu0bCuTv+iXYZuaQ==", 930 | "dependencies": { 931 | "@babel/runtime": "^7.20.13" 932 | } 933 | }, 934 | "node_modules/@swc/helpers": { 935 | "version": "0.4.36", 936 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.36.tgz", 937 | "integrity": "sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q==", 938 | "dependencies": { 939 | "legacy-swc-helpers": "npm:@swc/helpers@=0.4.14", 940 | "tslib": "^2.4.0" 941 | } 942 | }, 943 | "node_modules/@types/prop-types": { 944 | "version": "15.7.11", 945 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", 946 | "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", 947 | "dev": true 948 | }, 949 | "node_modules/@types/react": { 950 | "version": "18.2.41", 951 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.41.tgz", 952 | "integrity": "sha512-CwOGr/PiLiNBxEBqpJ7fO3kocP/2SSuC9fpH5K7tusrg4xPSRT/193rzolYwQnTN02We/ATXKnb6GqA5w4fRxw==", 953 | "dev": true, 954 | "dependencies": { 955 | "@types/prop-types": "*", 956 | "@types/scheduler": "*", 957 | "csstype": "^3.0.2" 958 | } 959 | }, 960 | "node_modules/@types/react-dom": { 961 | "version": "18.2.17", 962 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.17.tgz", 963 | "integrity": "sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==", 964 | "dev": true, 965 | "dependencies": { 966 | "@types/react": "*" 967 | } 968 | }, 969 | "node_modules/@types/scheduler": { 970 | "version": "0.16.8", 971 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", 972 | "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", 973 | "dev": true 974 | }, 975 | "node_modules/@vitejs/plugin-react": { 976 | "version": "3.1.0", 977 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz", 978 | "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==", 979 | "dev": true, 980 | "dependencies": { 981 | "@babel/core": "^7.20.12", 982 | "@babel/plugin-transform-react-jsx-self": "^7.18.6", 983 | "@babel/plugin-transform-react-jsx-source": "^7.19.6", 984 | "magic-string": "^0.27.0", 985 | "react-refresh": "^0.14.0" 986 | }, 987 | "engines": { 988 | "node": "^14.18.0 || >=16.0.0" 989 | }, 990 | "peerDependencies": { 991 | "vite": "^4.1.0-beta.0" 992 | } 993 | }, 994 | "node_modules/abs-svg-path": { 995 | "version": "0.1.1", 996 | "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", 997 | "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==" 998 | }, 999 | "node_modules/ansi-styles": { 1000 | "version": "3.2.1", 1001 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1002 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1003 | "dev": true, 1004 | "dependencies": { 1005 | "color-convert": "^1.9.0" 1006 | }, 1007 | "engines": { 1008 | "node": ">=4" 1009 | } 1010 | }, 1011 | "node_modules/base64-js": { 1012 | "version": "1.5.1", 1013 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 1014 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 1015 | "funding": [ 1016 | { 1017 | "type": "github", 1018 | "url": "https://github.com/sponsors/feross" 1019 | }, 1020 | { 1021 | "type": "patreon", 1022 | "url": "https://www.patreon.com/feross" 1023 | }, 1024 | { 1025 | "type": "consulting", 1026 | "url": "https://feross.org/support" 1027 | } 1028 | ] 1029 | }, 1030 | "node_modules/brotli": { 1031 | "version": "1.3.3", 1032 | "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", 1033 | "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", 1034 | "dependencies": { 1035 | "base64-js": "^1.1.2" 1036 | } 1037 | }, 1038 | "node_modules/browserify-zlib": { 1039 | "version": "0.2.0", 1040 | "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", 1041 | "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", 1042 | "dependencies": { 1043 | "pako": "~1.0.5" 1044 | } 1045 | }, 1046 | "node_modules/browserslist": { 1047 | "version": "4.22.2", 1048 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", 1049 | "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", 1050 | "dev": true, 1051 | "funding": [ 1052 | { 1053 | "type": "opencollective", 1054 | "url": "https://opencollective.com/browserslist" 1055 | }, 1056 | { 1057 | "type": "tidelift", 1058 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1059 | }, 1060 | { 1061 | "type": "github", 1062 | "url": "https://github.com/sponsors/ai" 1063 | } 1064 | ], 1065 | "dependencies": { 1066 | "caniuse-lite": "^1.0.30001565", 1067 | "electron-to-chromium": "^1.4.601", 1068 | "node-releases": "^2.0.14", 1069 | "update-browserslist-db": "^1.0.13" 1070 | }, 1071 | "bin": { 1072 | "browserslist": "cli.js" 1073 | }, 1074 | "engines": { 1075 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 1076 | } 1077 | }, 1078 | "node_modules/caniuse-lite": { 1079 | "version": "1.0.30001566", 1080 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", 1081 | "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", 1082 | "dev": true, 1083 | "funding": [ 1084 | { 1085 | "type": "opencollective", 1086 | "url": "https://opencollective.com/browserslist" 1087 | }, 1088 | { 1089 | "type": "tidelift", 1090 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1091 | }, 1092 | { 1093 | "type": "github", 1094 | "url": "https://github.com/sponsors/ai" 1095 | } 1096 | ] 1097 | }, 1098 | "node_modules/chalk": { 1099 | "version": "2.4.2", 1100 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1101 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1102 | "dev": true, 1103 | "dependencies": { 1104 | "ansi-styles": "^3.2.1", 1105 | "escape-string-regexp": "^1.0.5", 1106 | "supports-color": "^5.3.0" 1107 | }, 1108 | "engines": { 1109 | "node": ">=4" 1110 | } 1111 | }, 1112 | "node_modules/clone": { 1113 | "version": "2.1.2", 1114 | "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", 1115 | "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", 1116 | "engines": { 1117 | "node": ">=0.8" 1118 | } 1119 | }, 1120 | "node_modules/color-convert": { 1121 | "version": "1.9.3", 1122 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1123 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1124 | "dev": true, 1125 | "dependencies": { 1126 | "color-name": "1.1.3" 1127 | } 1128 | }, 1129 | "node_modules/color-name": { 1130 | "version": "1.1.3", 1131 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1132 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" 1133 | }, 1134 | "node_modules/color-string": { 1135 | "version": "1.9.1", 1136 | "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", 1137 | "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", 1138 | "dependencies": { 1139 | "color-name": "^1.0.0", 1140 | "simple-swizzle": "^0.2.2" 1141 | } 1142 | }, 1143 | "node_modules/convert-source-map": { 1144 | "version": "2.0.0", 1145 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 1146 | "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 1147 | "dev": true 1148 | }, 1149 | "node_modules/cross-fetch": { 1150 | "version": "3.1.8", 1151 | "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", 1152 | "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", 1153 | "dependencies": { 1154 | "node-fetch": "^2.6.12" 1155 | } 1156 | }, 1157 | "node_modules/crypto-js": { 1158 | "version": "4.2.0", 1159 | "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", 1160 | "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" 1161 | }, 1162 | "node_modules/csstype": { 1163 | "version": "3.1.2", 1164 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 1165 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", 1166 | "dev": true 1167 | }, 1168 | "node_modules/debug": { 1169 | "version": "4.3.4", 1170 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1171 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1172 | "dev": true, 1173 | "dependencies": { 1174 | "ms": "2.1.2" 1175 | }, 1176 | "engines": { 1177 | "node": ">=6.0" 1178 | }, 1179 | "peerDependenciesMeta": { 1180 | "supports-color": { 1181 | "optional": true 1182 | } 1183 | } 1184 | }, 1185 | "node_modules/dfa": { 1186 | "version": "1.2.0", 1187 | "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", 1188 | "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==" 1189 | }, 1190 | "node_modules/electron-to-chromium": { 1191 | "version": "1.4.601", 1192 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.601.tgz", 1193 | "integrity": "sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA==", 1194 | "dev": true 1195 | }, 1196 | "node_modules/emoji-regex": { 1197 | "version": "10.3.0", 1198 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", 1199 | "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==" 1200 | }, 1201 | "node_modules/esbuild": { 1202 | "version": "0.18.20", 1203 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", 1204 | "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", 1205 | "dev": true, 1206 | "hasInstallScript": true, 1207 | "bin": { 1208 | "esbuild": "bin/esbuild" 1209 | }, 1210 | "engines": { 1211 | "node": ">=12" 1212 | }, 1213 | "optionalDependencies": { 1214 | "@esbuild/android-arm": "0.18.20", 1215 | "@esbuild/android-arm64": "0.18.20", 1216 | "@esbuild/android-x64": "0.18.20", 1217 | "@esbuild/darwin-arm64": "0.18.20", 1218 | "@esbuild/darwin-x64": "0.18.20", 1219 | "@esbuild/freebsd-arm64": "0.18.20", 1220 | "@esbuild/freebsd-x64": "0.18.20", 1221 | "@esbuild/linux-arm": "0.18.20", 1222 | "@esbuild/linux-arm64": "0.18.20", 1223 | "@esbuild/linux-ia32": "0.18.20", 1224 | "@esbuild/linux-loong64": "0.18.20", 1225 | "@esbuild/linux-mips64el": "0.18.20", 1226 | "@esbuild/linux-ppc64": "0.18.20", 1227 | "@esbuild/linux-riscv64": "0.18.20", 1228 | "@esbuild/linux-s390x": "0.18.20", 1229 | "@esbuild/linux-x64": "0.18.20", 1230 | "@esbuild/netbsd-x64": "0.18.20", 1231 | "@esbuild/openbsd-x64": "0.18.20", 1232 | "@esbuild/sunos-x64": "0.18.20", 1233 | "@esbuild/win32-arm64": "0.18.20", 1234 | "@esbuild/win32-ia32": "0.18.20", 1235 | "@esbuild/win32-x64": "0.18.20" 1236 | } 1237 | }, 1238 | "node_modules/escalade": { 1239 | "version": "3.1.1", 1240 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1241 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1242 | "dev": true, 1243 | "engines": { 1244 | "node": ">=6" 1245 | } 1246 | }, 1247 | "node_modules/escape-string-regexp": { 1248 | "version": "1.0.5", 1249 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1250 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 1251 | "dev": true, 1252 | "engines": { 1253 | "node": ">=0.8.0" 1254 | } 1255 | }, 1256 | "node_modules/events": { 1257 | "version": "3.3.0", 1258 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 1259 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 1260 | "engines": { 1261 | "node": ">=0.8.x" 1262 | } 1263 | }, 1264 | "node_modules/fast-deep-equal": { 1265 | "version": "3.1.3", 1266 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1267 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 1268 | }, 1269 | "node_modules/fontkit": { 1270 | "version": "2.0.2", 1271 | "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.2.tgz", 1272 | "integrity": "sha512-jc4k5Yr8iov8QfS6u8w2CnHWVmbOGtdBtOXMze5Y+QD966Rx6PEVWXSEGwXlsDlKtu1G12cJjcsybnqhSk/+LA==", 1273 | "dependencies": { 1274 | "@swc/helpers": "^0.4.2", 1275 | "brotli": "^1.3.2", 1276 | "clone": "^2.1.2", 1277 | "dfa": "^1.2.0", 1278 | "fast-deep-equal": "^3.1.3", 1279 | "restructure": "^3.0.0", 1280 | "tiny-inflate": "^1.0.3", 1281 | "unicode-properties": "^1.4.0", 1282 | "unicode-trie": "^2.0.0" 1283 | } 1284 | }, 1285 | "node_modules/fsevents": { 1286 | "version": "2.3.3", 1287 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1288 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1289 | "dev": true, 1290 | "hasInstallScript": true, 1291 | "optional": true, 1292 | "os": [ 1293 | "darwin" 1294 | ], 1295 | "engines": { 1296 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1297 | } 1298 | }, 1299 | "node_modules/gensync": { 1300 | "version": "1.0.0-beta.2", 1301 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 1302 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 1303 | "dev": true, 1304 | "engines": { 1305 | "node": ">=6.9.0" 1306 | } 1307 | }, 1308 | "node_modules/globals": { 1309 | "version": "11.12.0", 1310 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 1311 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 1312 | "dev": true, 1313 | "engines": { 1314 | "node": ">=4" 1315 | } 1316 | }, 1317 | "node_modules/has-flag": { 1318 | "version": "3.0.0", 1319 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1320 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 1321 | "dev": true, 1322 | "engines": { 1323 | "node": ">=4" 1324 | } 1325 | }, 1326 | "node_modules/hsl-to-hex": { 1327 | "version": "1.0.0", 1328 | "resolved": "https://registry.npmjs.org/hsl-to-hex/-/hsl-to-hex-1.0.0.tgz", 1329 | "integrity": "sha512-K6GVpucS5wFf44X0h2bLVRDsycgJmf9FF2elg+CrqD8GcFU8c6vYhgXn8NjUkFCwj+xDFb70qgLbTUm6sxwPmA==", 1330 | "dependencies": { 1331 | "hsl-to-rgb-for-reals": "^1.1.0" 1332 | } 1333 | }, 1334 | "node_modules/hsl-to-rgb-for-reals": { 1335 | "version": "1.1.1", 1336 | "resolved": "https://registry.npmjs.org/hsl-to-rgb-for-reals/-/hsl-to-rgb-for-reals-1.1.1.tgz", 1337 | "integrity": "sha512-LgOWAkrN0rFaQpfdWBQlv/VhkOxb5AsBjk6NQVx4yEzWS923T07X0M1Y0VNko2H52HeSpZrZNNMJ0aFqsdVzQg==" 1338 | }, 1339 | "node_modules/hyphen": { 1340 | "version": "1.9.1", 1341 | "resolved": "https://registry.npmjs.org/hyphen/-/hyphen-1.9.1.tgz", 1342 | "integrity": "sha512-fIPVvM6BUW+878xne+wwIcBjMxeKpoADmxNTjKMocUQWiGOvwyEfZEG95IeL/t4Su6nbfbXeYDUnz62pxzLPmw==" 1343 | }, 1344 | "node_modules/inherits": { 1345 | "version": "2.0.4", 1346 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1347 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1348 | }, 1349 | "node_modules/is-arrayish": { 1350 | "version": "0.3.2", 1351 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", 1352 | "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" 1353 | }, 1354 | "node_modules/is-url": { 1355 | "version": "1.2.4", 1356 | "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", 1357 | "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" 1358 | }, 1359 | "node_modules/js-tokens": { 1360 | "version": "4.0.0", 1361 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1362 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 1363 | }, 1364 | "node_modules/jsesc": { 1365 | "version": "2.5.2", 1366 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 1367 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 1368 | "dev": true, 1369 | "bin": { 1370 | "jsesc": "bin/jsesc" 1371 | }, 1372 | "engines": { 1373 | "node": ">=4" 1374 | } 1375 | }, 1376 | "node_modules/json5": { 1377 | "version": "2.2.3", 1378 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 1379 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 1380 | "dev": true, 1381 | "bin": { 1382 | "json5": "lib/cli.js" 1383 | }, 1384 | "engines": { 1385 | "node": ">=6" 1386 | } 1387 | }, 1388 | "node_modules/legacy-swc-helpers": { 1389 | "name": "@swc/helpers", 1390 | "version": "0.4.14", 1391 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", 1392 | "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", 1393 | "dependencies": { 1394 | "tslib": "^2.4.0" 1395 | } 1396 | }, 1397 | "node_modules/loose-envify": { 1398 | "version": "1.4.0", 1399 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1400 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1401 | "dependencies": { 1402 | "js-tokens": "^3.0.0 || ^4.0.0" 1403 | }, 1404 | "bin": { 1405 | "loose-envify": "cli.js" 1406 | } 1407 | }, 1408 | "node_modules/lru-cache": { 1409 | "version": "5.1.1", 1410 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 1411 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 1412 | "dev": true, 1413 | "dependencies": { 1414 | "yallist": "^3.0.2" 1415 | } 1416 | }, 1417 | "node_modules/magic-string": { 1418 | "version": "0.27.0", 1419 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", 1420 | "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", 1421 | "dev": true, 1422 | "dependencies": { 1423 | "@jridgewell/sourcemap-codec": "^1.4.13" 1424 | }, 1425 | "engines": { 1426 | "node": ">=12" 1427 | } 1428 | }, 1429 | "node_modules/media-engine": { 1430 | "version": "1.0.3", 1431 | "resolved": "https://registry.npmjs.org/media-engine/-/media-engine-1.0.3.tgz", 1432 | "integrity": "sha512-aa5tG6sDoK+k70B9iEX1NeyfT8ObCKhNDs6lJVpwF6r8vhUfuKMslIcirq6HIUYuuUYLefcEQOn9bSBOvawtwg==" 1433 | }, 1434 | "node_modules/ms": { 1435 | "version": "2.1.2", 1436 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1437 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1438 | "dev": true 1439 | }, 1440 | "node_modules/nanoid": { 1441 | "version": "3.3.7", 1442 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", 1443 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", 1444 | "dev": true, 1445 | "funding": [ 1446 | { 1447 | "type": "github", 1448 | "url": "https://github.com/sponsors/ai" 1449 | } 1450 | ], 1451 | "bin": { 1452 | "nanoid": "bin/nanoid.cjs" 1453 | }, 1454 | "engines": { 1455 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1456 | } 1457 | }, 1458 | "node_modules/node-fetch": { 1459 | "version": "2.7.0", 1460 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", 1461 | "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", 1462 | "dependencies": { 1463 | "whatwg-url": "^5.0.0" 1464 | }, 1465 | "engines": { 1466 | "node": "4.x || >=6.0.0" 1467 | }, 1468 | "peerDependencies": { 1469 | "encoding": "^0.1.0" 1470 | }, 1471 | "peerDependenciesMeta": { 1472 | "encoding": { 1473 | "optional": true 1474 | } 1475 | } 1476 | }, 1477 | "node_modules/node-releases": { 1478 | "version": "2.0.14", 1479 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", 1480 | "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", 1481 | "dev": true 1482 | }, 1483 | "node_modules/normalize-svg-path": { 1484 | "version": "1.1.0", 1485 | "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", 1486 | "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", 1487 | "dependencies": { 1488 | "svg-arc-to-cubic-bezier": "^3.0.0" 1489 | } 1490 | }, 1491 | "node_modules/object-assign": { 1492 | "version": "4.1.1", 1493 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1494 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1495 | "engines": { 1496 | "node": ">=0.10.0" 1497 | } 1498 | }, 1499 | "node_modules/pako": { 1500 | "version": "1.0.11", 1501 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", 1502 | "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" 1503 | }, 1504 | "node_modules/parse-svg-path": { 1505 | "version": "0.1.2", 1506 | "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", 1507 | "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==" 1508 | }, 1509 | "node_modules/picocolors": { 1510 | "version": "1.0.0", 1511 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1512 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1513 | "dev": true 1514 | }, 1515 | "node_modules/postcss": { 1516 | "version": "8.4.32", 1517 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", 1518 | "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", 1519 | "dev": true, 1520 | "funding": [ 1521 | { 1522 | "type": "opencollective", 1523 | "url": "https://opencollective.com/postcss/" 1524 | }, 1525 | { 1526 | "type": "tidelift", 1527 | "url": "https://tidelift.com/funding/github/npm/postcss" 1528 | }, 1529 | { 1530 | "type": "github", 1531 | "url": "https://github.com/sponsors/ai" 1532 | } 1533 | ], 1534 | "dependencies": { 1535 | "nanoid": "^3.3.7", 1536 | "picocolors": "^1.0.0", 1537 | "source-map-js": "^1.0.2" 1538 | }, 1539 | "engines": { 1540 | "node": "^10 || ^12 || >=14" 1541 | } 1542 | }, 1543 | "node_modules/postcss-value-parser": { 1544 | "version": "4.2.0", 1545 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1546 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" 1547 | }, 1548 | "node_modules/prop-types": { 1549 | "version": "15.8.1", 1550 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 1551 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 1552 | "dependencies": { 1553 | "loose-envify": "^1.4.0", 1554 | "object-assign": "^4.1.1", 1555 | "react-is": "^16.13.1" 1556 | } 1557 | }, 1558 | "node_modules/queue": { 1559 | "version": "6.0.2", 1560 | "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", 1561 | "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", 1562 | "dependencies": { 1563 | "inherits": "~2.0.3" 1564 | } 1565 | }, 1566 | "node_modules/react": { 1567 | "version": "18.2.0", 1568 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 1569 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 1570 | "dependencies": { 1571 | "loose-envify": "^1.1.0" 1572 | }, 1573 | "engines": { 1574 | "node": ">=0.10.0" 1575 | } 1576 | }, 1577 | "node_modules/react-dom": { 1578 | "version": "18.2.0", 1579 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 1580 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 1581 | "dependencies": { 1582 | "loose-envify": "^1.1.0", 1583 | "scheduler": "^0.23.0" 1584 | }, 1585 | "peerDependencies": { 1586 | "react": "^18.2.0" 1587 | } 1588 | }, 1589 | "node_modules/react-is": { 1590 | "version": "16.13.1", 1591 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 1592 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 1593 | }, 1594 | "node_modules/react-refresh": { 1595 | "version": "0.14.0", 1596 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", 1597 | "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", 1598 | "dev": true, 1599 | "engines": { 1600 | "node": ">=0.10.0" 1601 | } 1602 | }, 1603 | "node_modules/regenerator-runtime": { 1604 | "version": "0.14.0", 1605 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", 1606 | "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" 1607 | }, 1608 | "node_modules/restructure": { 1609 | "version": "3.0.0", 1610 | "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.0.tgz", 1611 | "integrity": "sha512-Xj8/MEIhhfj9X2rmD9iJ4Gga9EFqVlpMj3vfLnV2r/Mh5jRMryNV+6lWh9GdJtDBcBSPIqzRdfBQ3wDtNFv/uw==" 1612 | }, 1613 | "node_modules/rollup": { 1614 | "version": "3.29.4", 1615 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", 1616 | "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", 1617 | "dev": true, 1618 | "bin": { 1619 | "rollup": "dist/bin/rollup" 1620 | }, 1621 | "engines": { 1622 | "node": ">=14.18.0", 1623 | "npm": ">=8.0.0" 1624 | }, 1625 | "optionalDependencies": { 1626 | "fsevents": "~2.3.2" 1627 | } 1628 | }, 1629 | "node_modules/safe-buffer": { 1630 | "version": "5.2.1", 1631 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1632 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1633 | "funding": [ 1634 | { 1635 | "type": "github", 1636 | "url": "https://github.com/sponsors/feross" 1637 | }, 1638 | { 1639 | "type": "patreon", 1640 | "url": "https://www.patreon.com/feross" 1641 | }, 1642 | { 1643 | "type": "consulting", 1644 | "url": "https://feross.org/support" 1645 | } 1646 | ] 1647 | }, 1648 | "node_modules/scheduler": { 1649 | "version": "0.23.0", 1650 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 1651 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 1652 | "dependencies": { 1653 | "loose-envify": "^1.1.0" 1654 | } 1655 | }, 1656 | "node_modules/semver": { 1657 | "version": "6.3.1", 1658 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 1659 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 1660 | "dev": true, 1661 | "bin": { 1662 | "semver": "bin/semver.js" 1663 | } 1664 | }, 1665 | "node_modules/simple-swizzle": { 1666 | "version": "0.2.2", 1667 | "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", 1668 | "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", 1669 | "dependencies": { 1670 | "is-arrayish": "^0.3.1" 1671 | } 1672 | }, 1673 | "node_modules/source-map-js": { 1674 | "version": "1.0.2", 1675 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1676 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1677 | "dev": true, 1678 | "engines": { 1679 | "node": ">=0.10.0" 1680 | } 1681 | }, 1682 | "node_modules/string_decoder": { 1683 | "version": "1.3.0", 1684 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1685 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1686 | "dependencies": { 1687 | "safe-buffer": "~5.2.0" 1688 | } 1689 | }, 1690 | "node_modules/supports-color": { 1691 | "version": "5.5.0", 1692 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1693 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1694 | "dev": true, 1695 | "dependencies": { 1696 | "has-flag": "^3.0.0" 1697 | }, 1698 | "engines": { 1699 | "node": ">=4" 1700 | } 1701 | }, 1702 | "node_modules/svg-arc-to-cubic-bezier": { 1703 | "version": "3.2.0", 1704 | "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", 1705 | "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==" 1706 | }, 1707 | "node_modules/tiny-inflate": { 1708 | "version": "1.0.3", 1709 | "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", 1710 | "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" 1711 | }, 1712 | "node_modules/to-fast-properties": { 1713 | "version": "2.0.0", 1714 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 1715 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", 1716 | "dev": true, 1717 | "engines": { 1718 | "node": ">=4" 1719 | } 1720 | }, 1721 | "node_modules/tr46": { 1722 | "version": "0.0.3", 1723 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 1724 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 1725 | }, 1726 | "node_modules/tslib": { 1727 | "version": "2.6.2", 1728 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 1729 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" 1730 | }, 1731 | "node_modules/unicode-properties": { 1732 | "version": "1.4.1", 1733 | "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", 1734 | "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", 1735 | "dependencies": { 1736 | "base64-js": "^1.3.0", 1737 | "unicode-trie": "^2.0.0" 1738 | } 1739 | }, 1740 | "node_modules/unicode-trie": { 1741 | "version": "2.0.0", 1742 | "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", 1743 | "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", 1744 | "dependencies": { 1745 | "pako": "^0.2.5", 1746 | "tiny-inflate": "^1.0.0" 1747 | } 1748 | }, 1749 | "node_modules/unicode-trie/node_modules/pako": { 1750 | "version": "0.2.9", 1751 | "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", 1752 | "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" 1753 | }, 1754 | "node_modules/update-browserslist-db": { 1755 | "version": "1.0.13", 1756 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", 1757 | "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 1758 | "dev": true, 1759 | "funding": [ 1760 | { 1761 | "type": "opencollective", 1762 | "url": "https://opencollective.com/browserslist" 1763 | }, 1764 | { 1765 | "type": "tidelift", 1766 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1767 | }, 1768 | { 1769 | "type": "github", 1770 | "url": "https://github.com/sponsors/ai" 1771 | } 1772 | ], 1773 | "dependencies": { 1774 | "escalade": "^3.1.1", 1775 | "picocolors": "^1.0.0" 1776 | }, 1777 | "bin": { 1778 | "update-browserslist-db": "cli.js" 1779 | }, 1780 | "peerDependencies": { 1781 | "browserslist": ">= 4.21.0" 1782 | } 1783 | }, 1784 | "node_modules/util-deprecate": { 1785 | "version": "1.0.2", 1786 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1787 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 1788 | }, 1789 | "node_modules/vite": { 1790 | "version": "4.5.1", 1791 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", 1792 | "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", 1793 | "dev": true, 1794 | "dependencies": { 1795 | "esbuild": "^0.18.10", 1796 | "postcss": "^8.4.27", 1797 | "rollup": "^3.27.1" 1798 | }, 1799 | "bin": { 1800 | "vite": "bin/vite.js" 1801 | }, 1802 | "engines": { 1803 | "node": "^14.18.0 || >=16.0.0" 1804 | }, 1805 | "funding": { 1806 | "url": "https://github.com/vitejs/vite?sponsor=1" 1807 | }, 1808 | "optionalDependencies": { 1809 | "fsevents": "~2.3.2" 1810 | }, 1811 | "peerDependencies": { 1812 | "@types/node": ">= 14", 1813 | "less": "*", 1814 | "lightningcss": "^1.21.0", 1815 | "sass": "*", 1816 | "stylus": "*", 1817 | "sugarss": "*", 1818 | "terser": "^5.4.0" 1819 | }, 1820 | "peerDependenciesMeta": { 1821 | "@types/node": { 1822 | "optional": true 1823 | }, 1824 | "less": { 1825 | "optional": true 1826 | }, 1827 | "lightningcss": { 1828 | "optional": true 1829 | }, 1830 | "sass": { 1831 | "optional": true 1832 | }, 1833 | "stylus": { 1834 | "optional": true 1835 | }, 1836 | "sugarss": { 1837 | "optional": true 1838 | }, 1839 | "terser": { 1840 | "optional": true 1841 | } 1842 | } 1843 | }, 1844 | "node_modules/vite-compatible-readable-stream": { 1845 | "version": "3.6.1", 1846 | "resolved": "https://registry.npmjs.org/vite-compatible-readable-stream/-/vite-compatible-readable-stream-3.6.1.tgz", 1847 | "integrity": "sha512-t20zYkrSf868+j/p31cRIGN28Phrjm3nRSLR2fyc2tiWi4cZGVdv68yNlwnIINTkMTmPoMiSlc0OadaO7DXZaQ==", 1848 | "dependencies": { 1849 | "inherits": "^2.0.3", 1850 | "string_decoder": "^1.1.1", 1851 | "util-deprecate": "^1.0.1" 1852 | }, 1853 | "engines": { 1854 | "node": ">= 6" 1855 | } 1856 | }, 1857 | "node_modules/webidl-conversions": { 1858 | "version": "3.0.1", 1859 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 1860 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 1861 | }, 1862 | "node_modules/whatwg-url": { 1863 | "version": "5.0.0", 1864 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 1865 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 1866 | "dependencies": { 1867 | "tr46": "~0.0.3", 1868 | "webidl-conversions": "^3.0.0" 1869 | } 1870 | }, 1871 | "node_modules/yallist": { 1872 | "version": "3.1.1", 1873 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 1874 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 1875 | "dev": true 1876 | } 1877 | } 1878 | } 1879 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-pdf-tutorial", 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-pdf/renderer": "^3.1.14", 13 | "react": "^18.2.0", 14 | "react-dom": "^18.2.0" 15 | }, 16 | "devDependencies": { 17 | "@types/react": "^18.0.26", 18 | "@types/react-dom": "^18.0.9", 19 | "@vitejs/plugin-react": "^3.0.0", 20 | "vite": "^4.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/App.jsx: -------------------------------------------------------------------------------- 1 | import PDF from "./components/PDF"; 2 | import { PDFDownloadLink, PDFViewer } from "@react-pdf/renderer"; 3 | 4 | function App() { 5 | return ( 6 |
7 | } fileName="myfirstpdf.pdf"> 8 | {({ loading, url, error, blob }) => 9 | loading ? ( 10 | 11 | ) : ( 12 | 13 | ) 14 | } 15 | 16 | 17 | 18 | 19 | 20 |
21 | ); 22 | } 23 | 24 | export default App; 25 | -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/PDF.jsx: -------------------------------------------------------------------------------- 1 | import { 2 | Document, 3 | Text, 4 | Page, 5 | StyleSheet, 6 | Image, 7 | View, 8 | } from "@react-pdf/renderer"; 9 | import nextLogo from "../nextjslogo.png"; 10 | 11 | const styles = StyleSheet.create({ 12 | page: { 13 | backgroundColor: "#E4E4E4", 14 | padding: 30, 15 | }, 16 | title: { 17 | fontSize: 24, 18 | textAlign: "center", 19 | fontWeight: "bold", 20 | }, 21 | section: { 22 | display: "flex", 23 | flexDirection: "row", 24 | margin: 10, 25 | padding: 10, 26 | }, 27 | parragraph: { 28 | fontSize: 12, 29 | textAlign: "justify", 30 | lineHeight: 1.5, 31 | margin: 10, 32 | }, 33 | pageNumber: { 34 | position: "absolute", 35 | fontSize: 12, 36 | bottom: 30, 37 | left: 0, 38 | right: 0, 39 | textAlign: "center", 40 | color: "grey", 41 | } 42 | }); 43 | 44 | function PDF() { 45 | return ( 46 | 47 | 48 | Hello world 49 | 50 | 51 | 52 | Lorem ipsum dolor sit amet consectetur, adipisicing elit. Aspernatur 53 | ad, rem iste similique voluptatem totam earum minima veritatis porro 54 | illum alias quasi maxime labore voluptatibus reiciendis ipsa, 55 | sapiente velit, facere quibusdam doloremque impedit expedita 56 | laudantium. Fugiat quod reprehenderit a vero, non in reiciendis iure 57 | doloribus id ipsa recusandae tempore, blanditiis quia totam 58 | temporibus voluptatum? Dolorem, repellat ducimus tenetur expedita 59 | natus deleniti quaerat magni itaque beatae animi nemo dolorum, modi 60 | accusantium cumque atque rerum nobis sit dolor non quae, quibusdam 61 | aliquam dolores delectus? Ipsam in perspiciatis id, temporibus dicta 62 | odio corporis adipisci, distinctio inventore dolor fugiat modi eos 63 | sint unde culpa. 64 | 65 | 66 | 67 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusamus, totam explicabo quam officiis illo optio eum distinctio nihil in quidem delectus ex expedita voluptatibus. Est nobis ex beatae doloribus illum, autem maiores pariatur ea sed soluta nesciunt debitis corporis. Soluta, quis dolor deleniti quibusdam iste eveniet aliquid minus dolorem, molestias natus quam quo labore repellendus! Saepe magni doloribus suscipit quas consectetur velit facere dolorem culpa? Eveniet nihil quo accusamus. Numquam vero quos nobis veniam sequi, nihil earum voluptatibus aliquam id tempora non suscipit beatae, quo distinctio totam repellendus recusandae optio ex? Qui maxime veritatis quaerat esse nam repellendus sed, tempora, illum aliquam dolorum praesentium soluta excepturi fuga, minus consequatur suscipit. Cumque odio sapiente molestiae non, fugit culpa dolore aspernatur ea placeat suscipit reprehenderit rerum quia, fugiat ex, sequi sunt autem totam eius delectus! Eos beatae incidunt, recusandae rem possimus repellat architecto ipsa obcaecati reprehenderit quia magni dignissimos quae? Excepturi, sed culpa quo autem ipsum nobis hic recusandae modi facere optio provident odit corporis tempora voluptatum facilis earum qui laboriosam? Quisquam blanditiis consequuntur nam! Reprehenderit explicabo illo, mollitia non cumque sunt sapiente aut esse laborum quis excepturi saepe architecto ipsum repudiandae quasi beatae necessitatibus neque facere laboriosam fugit? Officia, illo officiis! 68 | 69 | 70 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. Modi veritatis ea corrupti voluptatibus ratione? Eaque provident blanditiis nemo dolores tenetur facere maxime vitae. Aliquam sunt doloremque, ducimus amet, non deleniti perferendis voluptate fugit maiores maxime sit magnam ab soluta cum esse quod, neque aspernatur? Ut in dolores quia minima, voluptates esse tempora itaque doloremque expedita cumque maiores! Magnam amet non porro a voluptatem laborum soluta atque aspernatur veniam unde, iusto debitis et maxime possimus sequi ex quod perferendis voluptate repudiandae itaque mollitia quasi sit. Quibusdam mollitia enim nemo velit dolore quas molestias ratione sapiente reprehenderit, eos voluptates hic rem impedit, aspernatur atque incidunt. Sed, esse odit voluptates enim impedit ad culpa reprehenderit veniam aliquid voluptate repellat tempora. Ipsum mollitia doloremque ducimus accusantium debitis a maxime, quaerat laudantium aliquid earum consequuntur animi hic nisi similique deleniti praesentium harum sequi commodi facere reiciendis illo temporibus officiis amet! Hic libero animi facilis reprehenderit veritatis? Ab minus consectetur enim corporis deserunt consequatur adipisci sit eligendi fuga voluptatum reiciendis, natus pariatur sapiente praesentium omnis beatae cupiditate dolores nesciunt est distinctio facilis quaerat temporibus similique nisi. Veniam cum totam iusto, dignissimos voluptatem, aut recusandae tempore unde, praesentium officiis ipsa ad commodi nulla quasi repellat eveniet voluptate. 71 | 72 | 73 | 74 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. Modi veritatis ea corrupti voluptatibus ratione? Eaque provident blanditiis nemo dolores tenetur facere maxime vitae. Aliquam sunt doloremque, ducimus amet, non deleniti perferendis voluptate fugit maiores maxime sit magnam ab soluta cum esse quod, neque aspernatur? Ut in dolores quia minima, voluptates esse tempora itaque doloremque expedita cumque maiores! Magnam amet non porro a voluptatem laborum soluta atque aspernatur veniam unde, iusto debitis et maxime possimus sequi ex quod perferendis voluptate repudiandae itaque mollitia quasi sit. Quibusdam mollitia enim nemo velit dolore quas molestias ratione sapiente reprehenderit, eos voluptates hic rem impedit, aspernatur atque incidunt. Sed, esse odit voluptates enim impedit ad culpa reprehenderit veniam aliquid voluptate repellat tempora. Ipsum mollitia doloremque ducimus accusantium debitis a maxime, quaerat laudantium aliquid earum consequuntur animi hic nisi similique deleniti praesentium harum sequi commodi facere reiciendis illo temporibus officiis amet! Hic libero animi facilis reprehenderit veritatis? Ab minus consectetur enim corporis deserunt consequatur adipisci sit eligendi fuga voluptatum reiciendis, natus pariatur sapiente praesentium omnis beatae cupiditate dolores nesciunt est distinctio facilis quaerat temporibus similique nisi. Veniam cum totam iusto, dignissimos voluptatem, aut recusandae tempore unde, praesentium officiis ipsa ad commodi nulla quasi repellat eveniet voluptate. 75 | 76 | 77 | 78 | `${pageNumber}/${totalPages}`} /> 79 | 80 | 81 | 82 | ); 83 | } 84 | 85 | export default PDF; 86 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fazt/react-pdf-tutorial/41575b0158e55e323cb9b82180804cdecf635a05/src/index.css -------------------------------------------------------------------------------- /src/main.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './App' 4 | import './index.css' 5 | 6 | ReactDOM.createRoot(document.getElementById('root')).render( 7 | 8 | 9 | , 10 | ) 11 | -------------------------------------------------------------------------------- /src/nextjslogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fazt/react-pdf-tutorial/41575b0158e55e323cb9b82180804cdecf635a05/src/nextjslogo.png -------------------------------------------------------------------------------- /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 | --------------------------------------------------------------------------------