From 412b5fcea816e55d5820d85848f2e77108919024 Mon Sep 17 00:00:00 2001 From: Marc Wieland Date: Sun, 4 May 2025 17:32:04 +0200 Subject: [PATCH] Rechtliche Seiten --- package-lock.json | 1200 ++++++++++++++++++++++++++- package.json | 3 + public/pdfjs-dist/pdf.worker.min.js | 0 public/uploads/satzung.pdf | Bin 0 -> 71177 bytes src/components/ContactSection.tsx | 73 +- src/components/Footer.tsx | 8 +- src/index.css | 6 + src/main.tsx | 8 + src/pages/Beitraege.tsx | 60 ++ src/pages/Datenschutz.tsx | 66 ++ src/pages/Impressum.tsx | 52 ++ src/pages/MitgliedWerden.tsx | 151 +++- src/pages/Satzung.tsx | 35 + 13 files changed, 1603 insertions(+), 59 deletions(-) create mode 100644 public/pdfjs-dist/pdf.worker.min.js create mode 100644 public/uploads/satzung.pdf create mode 100644 src/pages/Beitraege.tsx create mode 100644 src/pages/Datenschutz.tsx create mode 100644 src/pages/Impressum.tsx create mode 100644 src/pages/Satzung.tsx diff --git a/package-lock.json b/package-lock.json index 8dec3fda7..642f0a5c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,6 +36,7 @@ "@radix-ui/react-toggle": "^1.1.0", "@radix-ui/react-toggle-group": "^1.1.0", "@radix-ui/react-tooltip": "^1.1.4", + "@react-pdf/renderer": "^4.3.0", "@tanstack/react-query": "^5.56.2", "axios": "^1.9.0", "class-variance-authority": "^0.7.1", @@ -49,6 +50,7 @@ "keen-slider": "^6.8.6", "lucide-react": "^0.462.0", "next-themes": "^0.3.0", + "pdfjs-dist": "^5.2.133", "react": "^18.3.1", "react-day-picker": "^8.10.1", "react-dom": "^18.3.1", @@ -56,6 +58,7 @@ "react-hook-form": "^7.53.0", "react-loading-skeleton": "^3.5.0", "react-markdown": "^10.1.0", + "react-pdf": "^9.2.1", "react-quill": "^2.0.0", "react-resizable-panels": "^2.1.3", "react-responsive-carousel": "^3.2.23", @@ -884,6 +887,188 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@napi-rs/canvas": { + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.70.tgz", + "integrity": "sha512-nD6NGa4JbNYSZYsTnLGrqe9Kn/lCkA4ybXt8sx5ojDqZjr2i0TWAHxx/vhgfjX+i3hCdKWufxYwi7CfXqtITSA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@napi-rs/canvas-android-arm64": "0.1.70", + "@napi-rs/canvas-darwin-arm64": "0.1.70", + "@napi-rs/canvas-darwin-x64": "0.1.70", + "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.70", + "@napi-rs/canvas-linux-arm64-gnu": "0.1.70", + "@napi-rs/canvas-linux-arm64-musl": "0.1.70", + "@napi-rs/canvas-linux-riscv64-gnu": "0.1.70", + "@napi-rs/canvas-linux-x64-gnu": "0.1.70", + "@napi-rs/canvas-linux-x64-musl": "0.1.70", + "@napi-rs/canvas-win32-x64-msvc": "0.1.70" + } + }, + "node_modules/@napi-rs/canvas-android-arm64": { + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.70.tgz", + "integrity": "sha512-I/YOuQ0wbkVYxVaYtCgN42WKTYxNqFA0gTcTrHIGG1jfpDSyZWII/uHcjOo4nzd19io6Y4+/BqP8E5hJgf9OmQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-darwin-arm64": { + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.70.tgz", + "integrity": "sha512-4pPGyXetHIHkw2TOJHujt3mkCP8LdDu8+CT15ld9Id39c752RcI0amDHSuMLMQfAjvusA9B5kKxazwjMGjEJpQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-darwin-x64": { + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.70.tgz", + "integrity": "sha512-+2N6Os9LbkmDMHL+raknrUcLQhsXzc5CSXRbXws9C3pv/mjHRVszQ9dhFUUe9FjfPhCJznO6USVdwOtu7pOrzQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": { + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.70.tgz", + "integrity": "sha512-QjscX9OaKq/990sVhSMj581xuqLgiaPVMjjYvWaCmAJRkNQ004QfoSMEm3FoTqM4DRoquP8jvuEXScVJsc1rqQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-arm64-gnu": { + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.70.tgz", + "integrity": "sha512-LNakMOwwqwiHIwMpnMAbFRczQMQ7TkkMyATqFCOtUJNlE6LPP/QiUj/mlFrNbUn/hctqShJ60gWEb52ZTALbVw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-arm64-musl": { + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.70.tgz", + "integrity": "sha512-wBTOllEYNfJCHOdZj9v8gLzZ4oY3oyPX8MSRvaxPm/s7RfEXxCyZ8OhJ5xAyicsDdbE5YBZqdmaaeP5+xKxvtg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-riscv64-gnu": { + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.70.tgz", + "integrity": "sha512-GVUUPC8TuuFqHip0rxHkUqArQnlzmlXmTEBuXAWdgCv85zTCFH8nOHk/YCF5yo0Z2eOm8nOi90aWs0leJ4OE5Q==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-x64-gnu": { + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.70.tgz", + "integrity": "sha512-/kvUa2lZRwGNyfznSn5t1ShWJnr/m5acSlhTV3eXECafObjl0VBuA1HJw0QrilLpb4Fe0VLywkpD1NsMoVDROQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-x64-musl": { + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.70.tgz", + "integrity": "sha512-aqlv8MLpycoMKRmds7JWCfVwNf1fiZxaU7JwJs9/ExjTD8lX2KjsO7CTeAj5Cl4aEuzxUWbJPUUE2Qu9cZ1vfg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-win32-x64-msvc": { + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.70.tgz", + "integrity": "sha512-Q9QU3WIpwBTVHk4cPfBjGHGU4U0llQYRXgJtFtYqqGNEOKVN4OT6PQ+ve63xwIPODMpZ0HHyj/KLGc9CWc3EtQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2319,6 +2504,186 @@ "integrity": "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==", "license": "MIT" }, + "node_modules/@react-pdf/fns": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@react-pdf/fns/-/fns-3.1.2.tgz", + "integrity": "sha512-qTKGUf0iAMGg2+OsUcp9ffKnKi41RukM/zYIWMDJ4hRVYSr89Q7e3wSDW/Koqx3ea3Uy/z3h2y3wPX6Bdfxk6g==", + "license": "MIT" + }, + "node_modules/@react-pdf/font": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@react-pdf/font/-/font-4.0.2.tgz", + "integrity": "sha512-/dAWu7Y2RD1RxarDZ9SkYPHgBYOhmcDnet4W/qN/m8k+A2Hr3ja54GymSR7GGxWBtxjKtNauVKrTa9LS1n8WUw==", + "license": "MIT", + "dependencies": { + "@react-pdf/pdfkit": "^4.0.3", + "@react-pdf/types": "^2.9.0", + "fontkit": "^2.0.2", + "is-url": "^1.2.4" + } + }, + "node_modules/@react-pdf/image": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@react-pdf/image/-/image-3.0.3.tgz", + "integrity": "sha512-lvP5ryzYM3wpbO9bvqLZYwEr5XBDX9jcaRICvtnoRqdJOo7PRrMnmB4MMScyb+Xw10mGeIubZAAomNAG5ONQZQ==", + "license": "MIT", + "dependencies": { + "@react-pdf/png-js": "^3.0.0", + "jay-peg": "^1.1.1" + } + }, + "node_modules/@react-pdf/layout": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@react-pdf/layout/-/layout-4.4.0.tgz", + "integrity": "sha512-Aq+Cc6JYausWLoks2FvHe3PwK9cTuvksB2uJ0AnkKJEUtQbvCq8eCRb1bjbbwIji9OzFRTTzZij7LzkpKHjIeA==", + "license": "MIT", + "dependencies": { + "@react-pdf/fns": "3.1.2", + "@react-pdf/image": "^3.0.3", + "@react-pdf/primitives": "^4.1.1", + "@react-pdf/stylesheet": "^6.1.0", + "@react-pdf/textkit": "^6.0.0", + "@react-pdf/types": "^2.9.0", + "emoji-regex": "^10.3.0", + "queue": "^6.0.1", + "yoga-layout": "^3.2.1" + } + }, + "node_modules/@react-pdf/layout/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "license": "MIT" + }, + "node_modules/@react-pdf/pdfkit": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@react-pdf/pdfkit/-/pdfkit-4.0.3.tgz", + "integrity": "sha512-k+Lsuq8vTwWsCqTp+CCB4+2N+sOTFrzwGA7aw3H9ix/PDWR9QksbmNg0YkzGbLAPI6CeawmiLHcf4trZ5ecLPQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@react-pdf/png-js": "^3.0.0", + "browserify-zlib": "^0.2.0", + "crypto-js": "^4.2.0", + "fontkit": "^2.0.2", + "jay-peg": "^1.1.1", + "linebreak": "^1.1.0", + "vite-compatible-readable-stream": "^3.6.1" + } + }, + "node_modules/@react-pdf/png-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-pdf/png-js/-/png-js-3.0.0.tgz", + "integrity": "sha512-eSJnEItZ37WPt6Qv5pncQDxLJRK15eaRwPT+gZoujP548CodenOVp49GST8XJvKMFt9YqIBzGBV/j9AgrOQzVA==", + "license": "MIT", + "dependencies": { + "browserify-zlib": "^0.2.0" + } + }, + "node_modules/@react-pdf/primitives": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@react-pdf/primitives/-/primitives-4.1.1.tgz", + "integrity": "sha512-IuhxYls1luJb7NUWy6q5avb1XrNaVj9bTNI40U9qGRuS6n7Hje/8H8Qi99Z9UKFV74bBP3DOf3L1wV2qZVgVrQ==", + "license": "MIT" + }, + "node_modules/@react-pdf/reconciler": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@react-pdf/reconciler/-/reconciler-1.1.4.tgz", + "integrity": "sha512-oTQDiR/t4Z/Guxac88IavpU2UgN7eR0RMI9DRKvKnvPz2DUasGjXfChAdMqDNmJJxxV26mMy9xQOUV2UU5/okg==", + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.1", + "scheduler": "0.25.0-rc-603e6108-20241029" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@react-pdf/reconciler/node_modules/scheduler": { + "version": "0.25.0-rc-603e6108-20241029", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0-rc-603e6108-20241029.tgz", + "integrity": "sha512-pFwF6H1XrSdYYNLfOcGlM28/j8CGLu8IvdrxqhjWULe2bPcKiKW4CV+OWqR/9fT52mywx65l7ysNkjLKBda7eA==", + "license": "MIT" + }, + "node_modules/@react-pdf/render": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@react-pdf/render/-/render-4.3.0.tgz", + "integrity": "sha512-MdWfWaqO6d7SZD75TZ2z5L35V+cHpyA43YNRlJNG0RJ7/MeVGDQv12y/BXOJgonZKkeEGdzM3EpAt9/g4E22WA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@react-pdf/fns": "3.1.2", + "@react-pdf/primitives": "^4.1.1", + "@react-pdf/textkit": "^6.0.0", + "@react-pdf/types": "^2.9.0", + "abs-svg-path": "^0.1.1", + "color-string": "^1.9.1", + "normalize-svg-path": "^1.1.0", + "parse-svg-path": "^0.1.2", + "svg-arc-to-cubic-bezier": "^3.2.0" + } + }, + "node_modules/@react-pdf/renderer": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@react-pdf/renderer/-/renderer-4.3.0.tgz", + "integrity": "sha512-28gpA69fU9ZQrDzmd5xMJa1bDf8t0PT3ApUKBl2PUpoE/x4JlvCB5X66nMXrfFrgF2EZrA72zWQAkvbg7TE8zw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@react-pdf/fns": "3.1.2", + "@react-pdf/font": "^4.0.2", + "@react-pdf/layout": "^4.4.0", + "@react-pdf/pdfkit": "^4.0.3", + "@react-pdf/primitives": "^4.1.1", + "@react-pdf/reconciler": "^1.1.4", + "@react-pdf/render": "^4.3.0", + "@react-pdf/types": "^2.9.0", + "events": "^3.3.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "queue": "^6.0.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@react-pdf/stylesheet": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/stylesheet/-/stylesheet-6.1.0.tgz", + "integrity": "sha512-BGZ2sYNUp38VJUegjva/jsri3iiRGnVNjWI+G9dTwAvLNOmwFvSJzqaCsEnqQ/DW5mrTBk/577FhDY7pv6AidA==", + "license": "MIT", + "dependencies": { + "@react-pdf/fns": "3.1.2", + "@react-pdf/types": "^2.9.0", + "color-string": "^1.9.1", + "hsl-to-hex": "^1.0.0", + "media-engine": "^1.0.3", + "postcss-value-parser": "^4.1.0" + } + }, + "node_modules/@react-pdf/textkit": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@react-pdf/textkit/-/textkit-6.0.0.tgz", + "integrity": "sha512-fDt19KWaJRK/n2AaFoVm31hgGmpygmTV7LsHGJNGZkgzXcFyLsx+XUl63DTDPH3iqxj3xUX128t104GtOz8tTw==", + "license": "MIT", + "dependencies": { + "@react-pdf/fns": "3.1.2", + "bidi-js": "^1.0.2", + "hyphen": "^1.6.4", + "unicode-properties": "^1.4.1" + } + }, + "node_modules/@react-pdf/types": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@react-pdf/types/-/types-2.9.0.tgz", + "integrity": "sha512-ckj80vZLlvl9oYrQ4tovEaqKWP3O06Eb1D48/jQWbdwz1Yh7Y9v1cEmwlP8ET+a1Whp8xfdM0xduMexkuPANCQ==", + "license": "MIT", + "dependencies": { + "@react-pdf/font": "^4.0.2", + "@react-pdf/primitives": "^4.1.1", + "@react-pdf/stylesheet": "^6.1.0" + } + }, "node_modules/@remix-run/router": { "version": "1.23.0", "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", @@ -2768,6 +3133,15 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, "node_modules/@swc/types": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.13.tgz", @@ -3267,6 +3641,12 @@ "vite": "^4 || ^5" } }, + "node_modules/abs-svg-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", + "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==", + "license": "MIT" + }, "node_modules/acorn": { "version": "8.13.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", @@ -3449,6 +3829,35 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "license": "MIT" }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -3461,6 +3870,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "optional": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3484,6 +3905,24 @@ "node": ">=8" } }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.1.2" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "license": "MIT", + "dependencies": { + "pako": "~1.0.5" + } + }, "node_modules/browserslist": { "version": "4.24.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", @@ -3517,6 +3956,31 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/call-bind": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", @@ -3604,6 +4068,21 @@ ], "license": "CC-BY-4.0" }, + "node_modules/canvas": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-3.1.0.tgz", + "integrity": "sha512-tTj3CqqukVJ9NgSahykNwtGda7V33VLObwrHfzT0vqJXu7J4d4C/7kQQW3fOEGDfZZoILPut5H00gOjyttPGyg==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.1" + }, + "engines": { + "node": "^18.12.0 || >= 20.9.0" + } + }, "node_modules/ccount": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", @@ -3707,6 +4186,13 @@ "node": ">= 6" } }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC", + "optional": true + }, "node_modules/class-variance-authority": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", @@ -4138,6 +4624,16 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -4189,6 +4685,12 @@ "node": ">= 8" } }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -4374,6 +4876,22 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/deep-equal": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", @@ -4394,6 +4912,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -4453,6 +4981,16 @@ "node": ">=6" } }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, "node_modules/detect-node-es": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", @@ -4472,6 +5010,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", + "license": "MIT" + }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -4564,6 +5108,16 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "license": "MIT" }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -4875,6 +5429,25 @@ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "license": "MIT" }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "optional": true, + "engines": { + "node": ">=6" + } + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -4885,7 +5458,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, "license": "MIT" }, "node_modules/fast-diff": { @@ -5037,6 +5609,23 @@ } } }, + "node_modules/fontkit": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", + "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", + "license": "MIT", + "dependencies": { + "@swc/helpers": "^0.5.12", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "dfa": "^1.2.0", + "fast-deep-equal": "^3.1.3", + "restructure": "^3.0.0", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.4.0", + "unicode-trie": "^2.0.0" + } + }, "node_modules/foreground-child": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", @@ -5082,6 +5671,13 @@ "url": "https://github.com/sponsors/rawify" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT", + "optional": true + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -5160,6 +5756,13 @@ "node": ">= 0.4" } }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT", + "optional": true + }, "node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -5364,6 +5967,21 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, + "node_modules/hsl-to-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-to-hex/-/hsl-to-hex-1.0.0.tgz", + "integrity": "sha512-K6GVpucS5wFf44X0h2bLVRDsycgJmf9FF2elg+CrqD8GcFU8c6vYhgXn8NjUkFCwj+xDFb70qgLbTUm6sxwPmA==", + "license": "MIT", + "dependencies": { + "hsl-to-rgb-for-reals": "^1.1.0" + } + }, + "node_modules/hsl-to-rgb-for-reals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/hsl-to-rgb-for-reals/-/hsl-to-rgb-for-reals-1.1.1.tgz", + "integrity": "sha512-LgOWAkrN0rFaQpfdWBQlv/VhkOxb5AsBjk6NQVx4yEzWS923T07X0M1Y0VNko2H52HeSpZrZNNMJ0aFqsdVzQg==", + "license": "ISC" + }, "node_modules/html-url-attributes": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", @@ -5374,6 +5992,33 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hyphen": { + "version": "1.10.6", + "resolved": "https://registry.npmjs.org/hyphen/-/hyphen-1.10.6.tgz", + "integrity": "sha512-fXHXcGFTXOvZTSkPJuGOQf5Lv5T/R2itiiCVPg9LxAje5D00O0pP83yJShFq5V89Ly//Gt6acj7z8pbBr34stw==", + "license": "ISC" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause", + "optional": true + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -5411,6 +6056,19 @@ "node": ">=0.8.19" } }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC", + "optional": true + }, "node_modules/inline-style-parser": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", @@ -5485,6 +6143,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -5617,6 +6281,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "license": "MIT" + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -5638,6 +6308,15 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jay-peg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jay-peg/-/jay-peg-1.1.1.tgz", + "integrity": "sha512-D62KEuBxz/ip2gQKOEhk/mx14o7eiFRaU+VNNSP4MOiIkwb/D6B3G1Mfas7C/Fit8EsSV2/IWjZElx/Gs6A4ww==", + "license": "MIT", + "dependencies": { + "restructure": "^3.0.0" + } + }, "node_modules/jiti": { "version": "1.21.6", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", @@ -5738,6 +6417,25 @@ "url": "https://github.com/sponsors/antonk52" } }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "license": "MIT", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/linebreak/node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -6281,6 +6979,24 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, + "node_modules/make-cancellable-promise": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-1.3.2.tgz", + "integrity": "sha512-GCXh3bq/WuMbS+Ky4JBPW1hYTOU+znU+Q5m9Pu+pI8EoUqIHk9+tviOKC6/qhHh8C4/As3tzJ69IF32kdz85ww==", + "license": "MIT", + "funding": { + "url": "https://github.com/wojtekmaj/make-cancellable-promise?sponsor=1" + } + }, + "node_modules/make-event-props": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-1.6.2.tgz", + "integrity": "sha512-iDwf7mA03WPiR8QxvcVHmVWEPfMY1RZXerDVNCRYW7dUr2ppH3J58Rwb39/WG39yTZdRSxr3x+2v22tvI0VEvA==", + "license": "MIT", + "funding": { + "url": "https://github.com/wojtekmaj/make-event-props?sponsor=1" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -6443,6 +7159,29 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/media-engine": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/media-engine/-/media-engine-1.0.3.tgz", + "integrity": "sha512-aa5tG6sDoK+k70B9iEX1NeyfT8ObCKhNDs6lJVpwF6r8vhUfuKMslIcirq6HIUYuuUYLefcEQOn9bSBOvawtwg==", + "license": "MIT" + }, + "node_modules/merge-refs": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.3.0.tgz", + "integrity": "sha512-nqXPXbso+1dcKDpPCXvwZyJILz+vSLqGGOnDrYHQYE+B8n9JTCekVLC65AfCpR4ggVyA/45Y0iR9LDyS2iI+zA==", + "license": "MIT", + "funding": { + "url": "https://github.com/wojtekmaj/merge-refs?sponsor=1" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -6928,6 +7667,19 @@ "node": ">= 0.6" } }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -6941,6 +7693,16 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "optional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -6950,6 +7712,13 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT", + "optional": true + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -6985,6 +7754,13 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT", + "optional": true + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -7002,6 +7778,26 @@ "react-dom": "^16.8 || ^17 || ^18" } }, + "node_modules/node-abi": { + "version": "3.75.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.75.0.tgz", + "integrity": "sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==", + "license": "MIT", + "optional": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, "node_modules/node-releases": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", @@ -7028,6 +7824,15 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-svg-path": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", + "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", + "license": "MIT", + "dependencies": { + "svg-arc-to-cubic-bezier": "^3.0.0" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -7071,6 +7876,16 @@ "node": ">= 0.4" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -7127,6 +7942,12 @@ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "license": "BlueOak-1.0.0" }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, "node_modules/parchment": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", @@ -7171,6 +7992,12 @@ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "license": "MIT" }, + "node_modules/parse-svg-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", + "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==", + "license": "MIT" + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -7212,6 +8039,28 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/path2d": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/path2d/-/path2d-0.2.2.tgz", + "integrity": "sha512-+vnG6S4dYcYxZd+CZxzXCNKdELYZSKfohrk98yajCo1PtRoDgCTrrwOvK1GT0UoAdVszagDVllQc0U1vaX4NUQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pdfjs-dist": { + "version": "5.2.133", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.2.133.tgz", + "integrity": "sha512-abE6ZWDxztt+gGFzfm4bX2ggfxUk9wsDEoFzIJm9LozaY3JdXR7jyLK4Bjs+XLXplCduuWS1wGhPC4tgTn/kzg==", + "license": "Apache-2.0", + "engines": { + "node": ">=20.16.0 || >=22.3.0" + }, + "optionalDependencies": { + "@napi-rs/canvas": "^0.1.67" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -7391,6 +8240,33 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "license": "MIT" }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -7434,6 +8310,17 @@ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "license": "MIT" }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "license": "MIT", + "optional": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -7444,6 +8331,15 @@ "node": ">=6" } }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", + "dependencies": { + "inherits": "~2.0.3" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -7498,6 +8394,32 @@ "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==", "license": "MIT" }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", @@ -7633,6 +8555,48 @@ "react": ">=18" } }, + "node_modules/react-pdf": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-9.2.1.tgz", + "integrity": "sha512-AJt0lAIkItWEZRA5d/mO+Om4nPCuTiQ0saA+qItO967DTjmGjnhmF+Bi2tL286mOTfBlF5CyLzJ35KTMaDoH+A==", + "license": "MIT", + "dependencies": { + "clsx": "^2.0.0", + "dequal": "^2.0.3", + "make-cancellable-promise": "^1.3.1", + "make-event-props": "^1.6.0", + "merge-refs": "^1.3.0", + "pdfjs-dist": "4.8.69", + "tiny-invariant": "^1.0.0", + "warning": "^4.0.0" + }, + "funding": { + "url": "https://github.com/wojtekmaj/react-pdf?sponsor=1" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-pdf/node_modules/pdfjs-dist": { + "version": "4.8.69", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-4.8.69.tgz", + "integrity": "sha512-IHZsA4T7YElCKNNXtiLgqScw4zPd3pG9do8UrznC757gMd7UPeHSL2qwNNMJo4r79fl8oj1Xx+1nh2YkzdMpLQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "canvas": "^3.0.0-rc2", + "path2d": "^0.2.1" + } + }, "node_modules/react-quill": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/react-quill/-/react-quill-2.0.0.tgz", @@ -7811,6 +8775,21 @@ "pify": "^2.3.0" } }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -7914,6 +8893,15 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -7941,6 +8929,12 @@ "node": ">=4" } }, + "node_modules/restructure": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", + "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==", + "license": "MIT" + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -8010,6 +9004,26 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", @@ -8023,7 +9037,7 @@ "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, + "devOptional": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -8097,6 +9111,62 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, "node_modules/sonner": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/sonner/-/sonner-1.5.0.tgz", @@ -8126,6 +9196,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -8314,6 +9393,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-arc-to-cubic-bezier": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", + "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==", + "license": "ISC" + }, "node_modules/tailwind-merge": { "version": "2.5.4", "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.4.tgz", @@ -8370,6 +9455,36 @@ "tailwindcss": ">=3.0.0 || insiders" } }, + "node_modules/tar-fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.2.tgz", + "integrity": "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==", + "license": "MIT", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -8398,6 +9513,12 @@ "node": ">=0.8" } }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -8461,6 +9582,19 @@ "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", "license": "0BSD" }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -8519,6 +9653,32 @@ "dev": true, "license": "MIT" }, + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "license": "MIT", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unicode-trie/node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "license": "MIT" + }, "node_modules/unified": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", @@ -8819,6 +9979,29 @@ } } }, + "node_modules/vite-compatible-readable-stream": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/vite-compatible-readable-stream/-/vite-compatible-readable-stream-3.6.1.tgz", + "integrity": "sha512-t20zYkrSf868+j/p31cRIGN28Phrjm3nRSLR2fyc2tiWi4cZGVdv68yNlwnIINTkMTmPoMiSlc0OadaO7DXZaQ==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -8932,6 +10115,13 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC", + "optional": true + }, "node_modules/yaml": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", @@ -8957,6 +10147,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yoga-layout": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/yoga-layout/-/yoga-layout-3.2.1.tgz", + "integrity": "sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==", + "license": "MIT" + }, "node_modules/zod": { "version": "3.23.8", "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", diff --git a/package.json b/package.json index 4ff915a38..ac2caf7b2 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@radix-ui/react-toggle": "^1.1.0", "@radix-ui/react-toggle-group": "^1.1.0", "@radix-ui/react-tooltip": "^1.1.4", + "@react-pdf/renderer": "^4.3.0", "@tanstack/react-query": "^5.56.2", "axios": "^1.9.0", "class-variance-authority": "^0.7.1", @@ -52,6 +53,7 @@ "keen-slider": "^6.8.6", "lucide-react": "^0.462.0", "next-themes": "^0.3.0", + "pdfjs-dist": "^5.2.133", "react": "^18.3.1", "react-day-picker": "^8.10.1", "react-dom": "^18.3.1", @@ -59,6 +61,7 @@ "react-hook-form": "^7.53.0", "react-loading-skeleton": "^3.5.0", "react-markdown": "^10.1.0", + "react-pdf": "^9.2.1", "react-quill": "^2.0.0", "react-resizable-panels": "^2.1.3", "react-responsive-carousel": "^3.2.23", diff --git a/public/pdfjs-dist/pdf.worker.min.js b/public/pdfjs-dist/pdf.worker.min.js new file mode 100644 index 000000000..e69de29bb diff --git a/public/uploads/satzung.pdf b/public/uploads/satzung.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5be145428aed65d0e0b56df654c4ed2a63e01c3a GIT binary patch literal 71177 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 T{a+{TkEoH$F9Ll3iTb|)bAq|q literal 0 HcmV?d00001 diff --git a/src/components/ContactSection.tsx b/src/components/ContactSection.tsx index f5c208ba3..5fc796b27 100644 --- a/src/components/ContactSection.tsx +++ b/src/components/ContactSection.tsx @@ -1,11 +1,51 @@ - +import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Textarea } from "@/components/ui/textarea"; -import { MapPin, Phone, Mail, Clock } from "lucide-react"; +import { MapPin, Phone, Mail } from "lucide-react"; +import { toast } from "sonner"; + +const apiBase = import.meta.env.VITE_API_URL; const ContactSection = () => { + const [form, setForm] = useState({ + firstName: "", + lastName: "", + email: "", + subject: "", + message: "", + }); + + const [submitting, setSubmitting] = useState(false); + + const handleChange = (e: React.ChangeEvent) => { + setForm({ ...form, [e.target.id]: e.target.value }); + }; + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + + setSubmitting(true); + try { + const res = await fetch(`${apiBase}/api/contact`, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(form), + }); + + if (!res.ok) throw new Error("Fehler beim Senden der Nachricht"); + + toast.success("Nachricht erfolgreich gesendet!"); + setForm({ firstName: "", lastName: "", email: "", subject: "", message: "" }); + } catch (err) { + console.error(err); + toast.error("Fehler beim Senden der Nachricht"); + } finally { + setSubmitting(false); + } + }; + return (
@@ -18,35 +58,38 @@ const ContactSection = () => {
-
+
- +
- +
- +
- +
-