From 9a93f9df76bf6b06712c421e1e906501f25aedf4 Mon Sep 17 00:00:00 2001 From: Charles Harwood Date: Tue, 1 Oct 2024 16:44:38 +1000 Subject: [PATCH 01/27] feat(slices): testimonials slice and more --- .tool-versions | 2 +- next-env.d.ts | 2 +- next.config.js | 10 +- package-lock.json | 968 +++++++++++------- package.json | 43 +- prismicio-types.d.ts | 57 +- src/app/[uid]/page.tsx | 4 + src/app/contact/actions.ts | 17 + src/app/contact/types.ts | 9 + {public => src/app}/favicon.ico | Bin src/app/globals.css | 2 +- src/components/forms/ContactForm.tsx | 148 +-- src/components/forms/ContactFormResponse.tsx | 28 + src/components/forms/Input.tsx | 2 +- src/components/forms/InputWithLabel.tsx | 17 +- src/components/layout/Slider.tsx | 64 ++ src/components/links/Button.tsx | 9 +- src/components/settings/DarkModeSetting.tsx | 10 +- src/components/slices/Hero/index.tsx | 1 + src/components/slices/Quote/index.tsx | 45 - src/components/slices/Quote/mocks.json | 30 - src/components/slices/Quote/model.json | 35 - src/components/slices/Testimonials/index.tsx | 42 + src/components/slices/Testimonials/mocks.json | 46 + src/components/slices/Testimonials/model.json | 44 + .../screenshot-default.png | Bin src/components/slices/index.ts | 2 +- src/components/typography/Quote.tsx | 28 + src/hooks/useOutsideClick.ts | 1 + src/store/bound.ts | 35 +- src/store/settings.ts | 3 - src/theme/set-theme-on-document.ts | 26 +- tailwind.config.ts | 10 +- 33 files changed, 1131 insertions(+), 609 deletions(-) rename {public => src/app}/favicon.ico (100%) create mode 100644 src/components/forms/ContactFormResponse.tsx create mode 100644 src/components/layout/Slider.tsx delete mode 100644 src/components/slices/Quote/index.tsx delete mode 100644 src/components/slices/Quote/mocks.json delete mode 100644 src/components/slices/Quote/model.json create mode 100644 src/components/slices/Testimonials/index.tsx create mode 100644 src/components/slices/Testimonials/mocks.json create mode 100644 src/components/slices/Testimonials/model.json rename src/components/slices/{Quote => Testimonials}/screenshot-default.png (100%) create mode 100644 src/components/typography/Quote.tsx diff --git a/.tool-versions b/.tool-versions index 557ea46..ffb152e 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -nodejs 20.11.0 +nodejs 20.17.0 diff --git a/next-env.d.ts b/next-env.d.ts index 4f11a03..40c3d68 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. diff --git a/next.config.js b/next.config.js index 1bdee92..22bac33 100644 --- a/next.config.js +++ b/next.config.js @@ -2,7 +2,7 @@ const prismic = require('@prismicio/client'); const sm = require('./slicemachine.config.json'); -/** @type {import('next').NextConfig} */ +/** @type {() => Promise} */ const nextConfig = async () => { const client = prismic.createClient(sm.repositoryName); @@ -19,6 +19,14 @@ const nextConfig = async () => { // a non-locale prefixed path e.g. `/hello` defaultLocale: locales[0], }, + images: { + remotePatterns: [ + { + protocol: 'https', + hostname: '**.prismic.io', + }, + ], + }, }; }; diff --git a/package-lock.json b/package-lock.json index 0bc76a0..77864eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,43 +14,44 @@ "@fortawesome/pro-light-svg-icons": "6.6.0", "@fortawesome/pro-solid-svg-icons": "6.6.0", "@fortawesome/react-fontawesome": "0.2.2", - "@prismicio/client": "7.8.0", - "@prismicio/next": "1.6.0", - "@prismicio/react": "2.8.0", + "@prismicio/client": "7.11.0", + "@prismicio/next": "1.7.0", + "@prismicio/react": "2.9.0", "clsx": "2.1.1", - "next": "14.2.5", + "next": "14.2.13", "react": "18.3.1", "react-dom": "18.3.1", - "typescript": "5.5.4", - "zustand": "4.5.4" + "swiper": "11.1.14", + "typescript": "5.6.2", + "zustand": "4.5.5" }, "devDependencies": { - "@slicemachine/adapter-next": "0.3.45", + "@slicemachine/adapter-next": "0.3.49", "@tailwindcss/aspect-ratio": "0.4.2", - "@testing-library/jest-dom": "6.4.8", - "@testing-library/react": "16.0.0", - "@types/jest": "29.5.12", - "@types/node": "20.14.15", - "@types/react": "18.3.3", + "@testing-library/jest-dom": "6.5.0", + "@testing-library/react": "16.0.1", + "@types/jest": "29.5.13", + "@types/node": "20.16.10", + "@types/react": "18.3.10", "@types/react-dom": "18.3.0", "autoprefixer": "10.4.20", - "concurrently": "8.2.2", - "eslint": "8.57.0", - "eslint-config-next": "14.2.5", + "concurrently": "9.0.1", + "eslint": "8.57.1", + "eslint-config-next": "14.2.13", "eslint-config-prettier": "9.1.0", "eslint-config-typescript": "3.0.0", - "eslint-plugin-jest": "28.8.0", + "eslint-plugin-jest": "28.8.3", "eslint-plugin-jest-formatting": "3.1.0", "eslint-plugin-prettier": "5.2.1", - "eslint-plugin-testing-library": "6.2.2", + "eslint-plugin-testing-library": "6.3.0", "eslint-plugin-unicorn": "55.0.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "postcss": "8.4.41", + "postcss": "8.4.47", "prettier": "3.3.3", - "prettier-plugin-tailwindcss": "0.6.6", - "slice-machine-ui": "2.4.1", - "tailwindcss": "3.4.9", + "prettier-plugin-tailwindcss": "0.6.8", + "slice-machine-ui": "2.7.1", + "tailwindcss": "3.4.13", "ts-node": "10.9.2" } }, @@ -99,6 +100,7 @@ "resolved": "https://registry.npmjs.org/@antfu/ni/-/ni-0.20.0.tgz", "integrity": "sha512-mBgAuq2b0daSA/14LMyjEjaInD7/Zd7KVXZge7bQPKmtQJFqy9/pWBml6DMkMreeHQEomMtIbbeqReNJ/74kjA==", "dev": true, + "license": "MIT", "bin": { "na": "bin/na.mjs", "nci": "bin/nci.mjs", @@ -879,10 +881,11 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -963,24 +966,28 @@ "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@hapi/topo": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -1002,16 +1009,19 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -1025,10 +1035,11 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1041,6 +1052,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1053,6 +1065,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -1070,6 +1083,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -1085,6 +1099,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -1583,6 +1598,7 @@ "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -1592,6 +1608,7 @@ "resolved": "https://registry.npmjs.org/@lukeed/uuid/-/uuid-2.0.1.tgz", "integrity": "sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==", "dev": true, + "license": "MIT", "dependencies": { "@lukeed/csprng": "^1.1.0" }, @@ -1604,20 +1621,23 @@ "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.8.0.tgz", "integrity": "sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==", "dev": true, + "license": "ISC", "engines": { "node": ">= 10" } }, "node_modules/@next/env": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.5.tgz", - "integrity": "sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA==" + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.13.tgz", + "integrity": "sha512-s3lh6K8cbW1h5Nga7NNeXrbe0+2jIIYK9YaA9T7IufDWnZpozdFUp6Hf0d5rNWUKu4fEuSX2rCKlGjCrtylfDw==", + "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.5.tgz", - "integrity": "sha512-LY3btOpPh+OTIpviNojDpUdIbHW9j0JBYBjsIp8IxtDFfYFyORvw3yNq6N231FVqQA7n7lwaf7xHbVJlA1ED7g==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.13.tgz", + "integrity": "sha512-z8Mk0VljxhIzsSiZUSdt3wp+t2lKd+jk5a9Jsvh3zDGkItgDMfjv/ZbET6HsxEl/fSihVoHGsXV6VLyDH0lfTQ==", "dev": true, + "license": "MIT", "dependencies": { "glob": "10.3.10" } @@ -1627,6 +1647,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -1636,6 +1657,7 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.3.5", @@ -1658,6 +1680,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -1669,12 +1692,13 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.5.tgz", - "integrity": "sha512-/9zVxJ+K9lrzSGli1///ujyRfon/ZneeZ+v4ptpiPoOU+GKZnm8Wj8ELWU1Pm7GHltYRBklmXMTUqM/DqQ99FQ==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.13.tgz", + "integrity": "sha512-IkAmQEa2Htq+wHACBxOsslt+jMoV3msvxCn0WFSfJSkv/scy+i/EukBKNad36grRxywaXUYJc9mxEGkeIs8Bzg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1684,12 +1708,13 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.5.tgz", - "integrity": "sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.13.tgz", + "integrity": "sha512-Dv1RBGs2TTjkwEnFMVL5XIfJEavnLqqwYSD6LXgTPdEy/u6FlSrLBSSfe1pcfqhFEXRAgVL3Wpjibe5wXJzWog==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1699,12 +1724,13 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.5.tgz", - "integrity": "sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.13.tgz", + "integrity": "sha512-yB1tYEFFqo4ZNWkwrJultbsw7NPAAxlPXURXioRl9SdW6aIefOLS+0TEsKrWBtbJ9moTDgU3HRILL6QBQnMevg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1714,12 +1740,13 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.5.tgz", - "integrity": "sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.13.tgz", + "integrity": "sha512-v5jZ/FV/eHGoWhMKYrsAweQ7CWb8xsWGM/8m1mwwZQ/sutJjoFaXchwK4pX8NqwImILEvQmZWyb8pPTcP7htWg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1729,12 +1756,13 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.5.tgz", - "integrity": "sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.13.tgz", + "integrity": "sha512-aVc7m4YL7ViiRv7SOXK3RplXzOEe/qQzRA5R2vpXboHABs3w8vtFslGTz+5tKiQzWUmTmBNVW0UQdhkKRORmGA==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1744,12 +1772,13 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.5.tgz", - "integrity": "sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.13.tgz", + "integrity": "sha512-4wWY7/OsSaJOOKvMsu1Teylku7vKyTuocvDLTZQq0TYv9OjiYYWt63PiE1nTuZnqQ4RPvME7Xai+9enoiN0Wrg==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1759,12 +1788,13 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.5.tgz", - "integrity": "sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.13.tgz", + "integrity": "sha512-uP1XkqCqV2NVH9+g2sC7qIw+w2tRbcMiXFEbMihkQ8B1+V6m28sshBwAB0SDmOe0u44ne1vFU66+gx/28RsBVQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -1774,12 +1804,13 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.5.tgz", - "integrity": "sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.13.tgz", + "integrity": "sha512-V26ezyjPqQpDBV4lcWIh8B/QICQ4v+M5Bo9ykLN+sqeKKBxJVDpEc6biDVyluTXTC40f5IqCU0ttth7Es2ZuMw==", "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -1789,12 +1820,13 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.5.tgz", - "integrity": "sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.13.tgz", + "integrity": "sha512-WwzOEAFBGhlDHE5Z73mNU8CO8mqMNLqaG+AO9ETmzdCQlJhVtWZnOl2+rqgVQS+YHunjOWptdFmNfbpwcUuEsw==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -1843,6 +1875,7 @@ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -1865,6 +1898,7 @@ "resolved": "https://registry.npmjs.org/@prismicio/api-renderer/-/api-renderer-3.2.3.tgz", "integrity": "sha512-ait4zWrVGlRdNAgp+cH8OVt+yQtMOGeULYpsuKPaEmFNP5LzZf753md0dAKQcacwaSTvfrUebhpyS2SU6bGDSw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@prismicio/types-internal": "2.6.0", "tslib": "^2.5.0", @@ -1880,9 +1914,10 @@ } }, "node_modules/@prismicio/client": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/@prismicio/client/-/client-7.8.0.tgz", - "integrity": "sha512-Jv0F5+GCq5ADgdDTZNO6aw/WQp6bkGbg20YuAwSFfihEoG6gAnrMsv2VwSGdW/2QT7TFfa+ezJ+9u2+2Y1mXoQ==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@prismicio/client/-/client-7.11.0.tgz", + "integrity": "sha512-b5FtER97eFHH435hP4sRchtPYvrwa8v2Ye5IH3MhMp/6aH6kRSrr9fDA4+wkqF/ZK9aiJwJRkjdddgkwDFu9Vg==", + "license": "Apache-2.0", "dependencies": { "imgix-url-builder": "^0.0.5" }, @@ -1903,6 +1938,7 @@ "resolved": "https://registry.npmjs.org/@prismicio/custom-types-client/-/custom-types-client-1.3.1.tgz", "integrity": "sha512-C6iaGQdj3tc3fehr3vNLVM9OWCOXeI5WSqGCQYfpALLMpFryqU6fPhWtg7f6EbaTN50ST24qgxshg+BsI86OXg==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=14.15.0" }, @@ -1915,6 +1951,7 @@ "resolved": "https://registry.npmjs.org/@prismicio/mocks/-/mocks-2.3.3.tgz", "integrity": "sha512-wzQfiXZgpBbWs9rELVzTLrm14JPZLYP13AsS67szaKjYsmSj1LwtkDzOVj/5en67xxCTIRDDyGE1Eb34xduCSw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@prismicio/api-renderer": "3.2.3", "@prismicio/types-internal": "2.6.0", @@ -1932,9 +1969,10 @@ } }, "node_modules/@prismicio/next": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@prismicio/next/-/next-1.6.0.tgz", - "integrity": "sha512-84JydTZbn73mJLkQ5SuGpolOFYGRQIAz38XwdkdW1nh5sfean5SD+BSQ3iifvEIsKPSX9MNZRDqs/phXlMOLww==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@prismicio/next/-/next-1.7.0.tgz", + "integrity": "sha512-kHAYNWvBOmyo1iwli04fZb5wK9q6hXRxuKLvKaz3ZRogAttVdiyj3yGVjQn5Krr1J0xN8RipBArTJIMnXBAqeQ==", + "license": "Apache-2.0", "dependencies": { "@formatjs/intl-localematcher": "^0.5.2", "imgix-url-builder": "^0.0.4", @@ -1950,9 +1988,10 @@ } }, "node_modules/@prismicio/react": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@prismicio/react/-/react-2.8.0.tgz", - "integrity": "sha512-nMTX4yM2eaa78Ck51oAMADZs2kN3VE/YDfGV+t1pImJI5arPMg65z+JhyU8GqPVLn5TLr2oS+QLFR9p4X9T5Gw==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@prismicio/react/-/react-2.9.0.tgz", + "integrity": "sha512-gkZJYzSpi58NWikzitebZY/ra8fBRaoPosQ8ZaianDy5/A+7F9xYyk674n/SNC37TS6UEswp5r+eRkdkFFiyrw==", + "license": "Apache-2.0", "dependencies": { "@prismicio/richtext": "^2.1.5" }, @@ -2114,17 +2153,19 @@ "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.3.0.tgz", "integrity": "sha512-lHKK8M5CTcpFj2hZDB3wIjb0KAbEOgDmiJGDv1WBRfQgRm/a8/XMEkG/N1iM01xgbUDsPQwi42D+dFo1XPAKew==", "dev": true, - "hasInstallScript": true + "hasInstallScript": true, + "license": "Apache-2.0" }, "node_modules/@segment/analytics-core": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.6.0.tgz", - "integrity": "sha512-bn9X++IScUfpT7aJGjKU/yJAu/Ko2sYD6HsKA70Z2560E89x30pqgqboVKY8kootvQnT4UKCJiUr5NDMgjmWdQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.7.0.tgz", + "integrity": "sha512-0DHSriS/oAB/2bIgOMv3fFV9/ivp39ibdOTTf+dDOhf+vlciBv0+MHw47k/6PRobbuls27cKkKZAKc4DDC2+gw==", "dev": true, + "license": "MIT", "dependencies": { "@lukeed/uuid": "^2.0.0", "@segment/analytics-generic-utils": "1.2.0", - "dset": "^3.1.2", + "dset": "^3.1.4", "tslib": "^2.4.1" } }, @@ -2133,18 +2174,20 @@ "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.2.0.tgz", "integrity": "sha512-DfnW6mW3YQOLlDQQdR89k4EqfHb0g/3XvBXkovH1FstUN93eL1kfW9CsDcVQyH3bAC5ZsFyjA/o/1Q2j0QeoWw==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^2.4.1" } }, "node_modules/@segment/analytics-node": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-2.1.2.tgz", - "integrity": "sha512-CIqWH5G0pB/LAFAZEZtntAxujiYIpdk0F+YGhfM6N/qt4/VLWjFcd4VZXVLW7xqaxig64UKWGQhe8bszXDRXXw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-2.1.3.tgz", + "integrity": "sha512-xwMkyXgr7xgPsP0w79nzCwRHYi9jzj9ps4Im7xWGK8AKKE4eox39tMZOdRtpDbvXQlrs9fh64ZC0w/yZZDM/9g==", "dev": true, + "license": "MIT", "dependencies": { "@lukeed/uuid": "^2.0.0", - "@segment/analytics-core": "1.6.0", + "@segment/analytics-core": "1.7.0", "@segment/analytics-generic-utils": "1.2.0", "buffer": "^6.0.3", "jose": "^5.1.0", @@ -2160,6 +2203,7 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -2180,6 +2224,7 @@ "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.0.0" } @@ -2188,13 +2233,15 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@sideway/pinpoint": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@sinclair/typebox": { "version": "0.27.8", @@ -2221,14 +2268,15 @@ } }, "node_modules/@slicemachine/adapter-next": { - "version": "0.3.45", - "resolved": "https://registry.npmjs.org/@slicemachine/adapter-next/-/adapter-next-0.3.45.tgz", - "integrity": "sha512-BKjUWhdufMGnWszsVg5YxNeRCeRlFd0yW2QnVLiyyaZnVM3jh7zGEd8POEmCqK4Nu8uuN7MWcrK4eBxcc70IPQ==", + "version": "0.3.49", + "resolved": "https://registry.npmjs.org/@slicemachine/adapter-next/-/adapter-next-0.3.49.tgz", + "integrity": "sha512-5otmdjGY/ybZoV54ks+pl2c/iHsblOQUpCDcW3puLn82Q11u6pwUGScg2avFWXUxyobTF36lB0T0YKC979OHwQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@prismicio/simulator": "^0.1.4", "@prismicio/types-internal": "^2.5.0", - "@slicemachine/plugin-kit": "0.4.45", + "@slicemachine/plugin-kit": "0.4.49", "common-tags": "^1.8.2", "fp-ts": "^2.13.1", "io-ts": "^2.2.20", @@ -2247,18 +2295,19 @@ } }, "node_modules/@slicemachine/manager": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@slicemachine/manager/-/manager-0.20.1.tgz", - "integrity": "sha512-fjhoXJKB9qU6mPl9rGvMDni8VSi5s8uUi6u6xq6cfkz+Jq+DEhjvLWIEW4ptcygNV3MjiZbL7plE5JsPYn7q3w==", + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/@slicemachine/manager/-/manager-0.20.5.tgz", + "integrity": "sha512-uJtseiz06CA0tPnCASjCPtsPQvMoSDrT2eMqlVPx+UAlA+AXWSLJtcwDKQw5fq2Q3CZPUtqrNT8JHMOIHT2vMA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@antfu/ni": "^0.20.0", "@prismicio/client": "^7.6.0", "@prismicio/custom-types-client": "2.1.0", - "@prismicio/mocks": "^2.3.1", + "@prismicio/mocks": "^2.3.3", "@prismicio/types-internal": "^2.5.0", "@segment/analytics-node": "^2.1.2", - "@slicemachine/plugin-kit": "0.4.45", + "@slicemachine/plugin-kit": "0.4.49", "cookie": "^0.5.0", "cors": "^2.8.5", "execa": "^7.1.1", @@ -2296,6 +2345,7 @@ "resolved": "https://registry.npmjs.org/@prismicio/custom-types-client/-/custom-types-client-2.1.0.tgz", "integrity": "sha512-LxUTiF8nYy1V+sdCOJ8m1hx2QTlUVpTO1J4RfHriRL596h6ySKRV/ghsHoKP82XA+VhTxSS2DN1hhBHCAdsILw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=14.15.0" }, @@ -2308,6 +2358,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^1.0.0" }, @@ -2323,6 +2374,7 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.20" }, @@ -2331,10 +2383,11 @@ } }, "node_modules/@slicemachine/plugin-kit": { - "version": "0.4.45", - "resolved": "https://registry.npmjs.org/@slicemachine/plugin-kit/-/plugin-kit-0.4.45.tgz", - "integrity": "sha512-+im8M5bIqhfurUuP+bhFakivND7nFfqX0rekNpfncTSVELnCdrz7GgoNa54RtT+v0kzzT6JB08bTEgwuEINOHg==", + "version": "0.4.49", + "resolved": "https://registry.npmjs.org/@slicemachine/plugin-kit/-/plugin-kit-0.4.49.tgz", + "integrity": "sha512-s3QMptdu2lcKEjcAr6SOH88FyYCffL/56lHSVwiPiOfAtQQ34sXht8r05au7drZ/uRMn4pqYlOtCQWp2cuiaHg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@prismicio/client": "^7.6.0", "common-tags": "^1.8.2", @@ -2357,6 +2410,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^1.0.0" }, @@ -2372,6 +2426,7 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.20" }, @@ -2430,13 +2485,13 @@ "peer": true }, "node_modules/@testing-library/jest-dom": { - "version": "6.4.8", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.8.tgz", - "integrity": "sha512-JD0G+Zc38f5MBHA4NgxQMR5XtO5Jx9g86jqturNTt2WUfRmLDIY7iKkWHDCCTiDuFMre6nxAD5wHw9W5kI4rGw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz", + "integrity": "sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==", "dev": true, + "license": "MIT", "dependencies": { "@adobe/css-tools": "^4.4.0", - "@babel/runtime": "^7.9.2", "aria-query": "^5.0.0", "chalk": "^3.0.0", "css.escape": "^1.5.1", @@ -2476,10 +2531,11 @@ } }, "node_modules/@testing-library/react": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.0.tgz", - "integrity": "sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.1.tgz", + "integrity": "sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5" }, @@ -2506,7 +2562,8 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@tootallnate/once": { "version": "2.0.0", @@ -2599,10 +2656,11 @@ } }, "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -2632,10 +2690,11 @@ } }, "node_modules/@types/jest": { - "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "version": "29.5.13", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz", + "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -2709,12 +2768,13 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.14.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.15.tgz", - "integrity": "sha512-Fz1xDMCF/B00/tYSVMlmK7hVeLh7jE5f3B7X1/hmV0MJBwE27KlS7EvD/Yp+z1lm8mVhwV5w+n8jOZG8AfTlKw==", + "version": "20.16.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.10.tgz", + "integrity": "sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==", "dev": true, + "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.19.2" } }, "node_modules/@types/normalize-package-data": { @@ -2730,10 +2790,11 @@ "devOptional": true }, "node_modules/@types/react": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", - "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "version": "18.3.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.10.tgz", + "integrity": "sha512-02sAAlBnP39JgXwkAq3PeU9DVaaGpZyF3MGcC0MKgQVkZor5IiiDAipVaxQHtDJAmO4GIy/rVBy/LzVj76Cyqg==", "devOptional": true, + "license": "MIT", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -2799,7 +2860,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.2.tgz", "integrity": "sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==", "dev": true, - "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", "@typescript-eslint/scope-manager": "6.13.2", @@ -2835,7 +2895,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.13.2.tgz", "integrity": "sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==", "dev": true, - "peer": true, "dependencies": { "@typescript-eslint/types": "6.13.2", "@typescript-eslint/visitor-keys": "6.13.2" @@ -2853,7 +2912,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.13.2.tgz", "integrity": "sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==", "dev": true, - "peer": true, "engines": { "node": "^16.0.0 || >=18.0.0" }, @@ -2867,7 +2925,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz", "integrity": "sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==", "dev": true, - "peer": true, "dependencies": { "@typescript-eslint/types": "6.13.2", "eslint-visitor-keys": "^3.4.1" @@ -2930,7 +2987,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.13.2.tgz", "integrity": "sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==", "dev": true, - "peer": true, "dependencies": { "@typescript-eslint/typescript-estree": "6.13.2", "@typescript-eslint/utils": "6.13.2", @@ -2958,7 +3014,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.13.2.tgz", "integrity": "sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==", "dev": true, - "peer": true, "engines": { "node": "^16.0.0 || >=18.0.0" }, @@ -2972,7 +3027,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.2.tgz", "integrity": "sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==", "dev": true, - "peer": true, "dependencies": { "@typescript-eslint/types": "6.13.2", "@typescript-eslint/visitor-keys": "6.13.2", @@ -3000,7 +3054,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz", "integrity": "sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==", "dev": true, - "peer": true, "dependencies": { "@typescript-eslint/types": "6.13.2", "eslint-visitor-keys": "^3.4.1" @@ -3187,6 +3240,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -3371,7 +3425,8 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/array-includes": { "version": "3.1.7", @@ -3718,7 +3773,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/binary-extensions": { "version": "2.2.0", @@ -3730,10 +3786,11 @@ } }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -3743,7 +3800,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -3758,6 +3815,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -3766,7 +3824,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -3850,6 +3909,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -3889,19 +3949,26 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, + "license": "MIT", "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4149,6 +4216,7 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || >=14" } @@ -4169,17 +4237,16 @@ "dev": true }, "node_modules/concurrently": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", - "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.0.1.tgz", + "integrity": "sha512-wYKvCd/f54sTXJMSfV6Ln/B8UrfLBKOYa+lzc6CHay3Qek+LorVSBdMVfyewFhRbH0Rbabsk4D+3PL/VjQ5gzg==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.2", - "date-fns": "^2.30.0", "lodash": "^4.17.21", "rxjs": "^7.8.1", "shell-quote": "^1.8.1", - "spawn-command": "0.0.2", "supports-color": "^8.1.1", "tree-kill": "^1.2.2", "yargs": "^17.7.2" @@ -4189,7 +4256,7 @@ "concurrently": "dist/bin/concurrently.js" }, "engines": { - "node": "^14.13.0 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" @@ -4200,6 +4267,7 @@ "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", "dev": true, + "license": "MIT", "engines": { "node": "^14.18.0 || >=16.10.0" } @@ -4209,6 +4277,7 @@ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -4221,6 +4290,7 @@ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -4236,6 +4306,7 @@ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -4244,13 +4315,15 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/core-js-compat": { "version": "3.37.1", @@ -4270,6 +4343,7 @@ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, + "license": "MIT", "dependencies": { "object-assign": "^4", "vary": "^1" @@ -4324,6 +4398,7 @@ "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.2.4.tgz", "integrity": "sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==", "dev": true, + "license": "MIT", "peerDependencies": { "uWebSockets.js": "*" }, @@ -4392,6 +4467,7 @@ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 12" } @@ -4444,22 +4520,6 @@ "node": ">=12" } }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -4513,17 +4573,21 @@ } }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-lazy-prop": { @@ -4531,6 +4595,7 @@ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4556,7 +4621,8 @@ "version": "6.1.4", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/delayed-stream": { "version": "1.0.0", @@ -4572,6 +4638,7 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -4589,13 +4656,15 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -4688,6 +4757,7 @@ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=12" }, @@ -4696,10 +4766,11 @@ } }, "node_modules/dset": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", - "integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -4708,13 +4779,15 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/electron-to-chromium": { "version": "1.5.4", @@ -4741,10 +4814,11 @@ "dev": true }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -4836,6 +4910,29 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-iterator-helpers": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", @@ -4911,7 +5008,8 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "4.0.0", @@ -4947,16 +5045,17 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -5002,14 +5101,16 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.5.tgz", - "integrity": "sha512-zogs9zlOiZ7ka+wgUnmcM0KBEDjo4Jis7kxN1jvC0N4wynQ2MIx/KBkg4mVF63J5EK4W0QMCn7xO3vNisjaAoA==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.13.tgz", + "integrity": "sha512-aro1EKAoyYchnO/3Tlo91hnNBO7QO7qnv/79MAFC+4Jq8TdUVKQlht5d2F+YjrePjdpOvfL+mV9JPfyYNwkk1g==", "dev": true, + "license": "MIT", "dependencies": { - "@next/eslint-plugin-next": "14.2.5", + "@next/eslint-plugin-next": "14.2.13", "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", + "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.28.1", @@ -5184,10 +5285,11 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "28.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.8.0.tgz", - "integrity": "sha512-Tubj1hooFxCl52G4qQu0edzV/+EZzPUeN8p2NnW5uu4fbDs+Yo7+qDVDc4/oG3FbCqEBmu/OC3LSsyiU22oghw==", + "version": "28.8.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.8.3.tgz", + "integrity": "sha512-HIQ3t9hASLKm2IhIOqnu+ifw7uLZkIlR7RYNv7fMcEi/p0CIiJmfriStQS2LDkgtY4nyLbIZAD+JL347Yc2ETQ==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0" }, @@ -5370,10 +5472,11 @@ } }, "node_modules/eslint-plugin-testing-library": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.2.2.tgz", - "integrity": "sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.3.0.tgz", + "integrity": "sha512-GYcEErTt6EGwE0bPDY+4aehfEBpB2gDBFKohir8jlATSUvzStEyzCx8QWB/14xeKc/AwyXkzScSzMHnFojkWrA==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^5.58.0" }, @@ -5657,6 +5760,7 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5665,13 +5769,15 @@ "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/execa": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.1", @@ -5716,37 +5822,38 @@ } }, "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -5762,6 +5869,7 @@ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5771,6 +5879,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -5779,7 +5888,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", @@ -5866,6 +5976,7 @@ "url": "https://paypal.me/jimmywarting" } ], + "license": "MIT", "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" @@ -5891,6 +6002,7 @@ "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.7.0.tgz", "integrity": "sha512-ihHtXRzXEziMrQ56VSgU7wkxh55iNchFkosu7Y9/S+tXHdKyrGjVK0ujbqNnsxzea+78MaLhN6PGmfYSAv1ACw==", "dev": true, + "license": "MIT", "dependencies": { "readable-web-to-node-stream": "^3.0.2", "strtok3": "^7.0.0", @@ -5916,13 +6028,14 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -5938,6 +6051,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -5946,7 +6060,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/find-up": { "version": "5.0.0", @@ -5985,9 +6100,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "dev": true, "funding": [ { @@ -5995,6 +6110,7 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -6014,10 +6130,11 @@ } }, "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -6034,6 +6151,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -6060,6 +6178,7 @@ "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "dev": true, + "license": "MIT", "dependencies": { "fetch-blob": "^3.1.2" }, @@ -6072,6 +6191,7 @@ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6100,6 +6220,7 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6109,6 +6230,7 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -6193,16 +6315,21 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, + "license": "MIT", "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6221,6 +6348,7 @@ "resolved": "https://registry.npmjs.org/get-port/-/get-port-6.1.2.tgz", "integrity": "sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -6378,6 +6506,7 @@ "resolved": "https://registry.npmjs.org/h3/-/h3-1.12.0.tgz", "integrity": "sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==", "dev": true, + "license": "MIT", "dependencies": { "cookie-es": "^1.1.0", "crossws": "^0.2.4", @@ -6419,12 +6548,13 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6510,6 +6640,7 @@ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -6526,6 +6657,7 @@ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, + "license": "MIT", "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -6554,6 +6686,7 @@ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dev": true, + "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -6591,6 +6724,7 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=14.18.0" } @@ -6600,6 +6734,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -6625,7 +6760,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/ignore": { "version": "5.2.4", @@ -6741,6 +6877,7 @@ "resolved": "https://registry.npmjs.org/io-ts-reporters/-/io-ts-reporters-2.0.1.tgz", "integrity": "sha512-RVpLstYBsmTGgCW9wJ5KVyN/eRnRUDp87Flt4D1O3aJ7oAnd8csq8aXuu7ZeNK8qEDKmjUl9oUuzfwikaNAMKQ==", "dev": true, + "license": "MIT", "dependencies": { "@scarf/scarf": "^1.1.1" }, @@ -6766,6 +6903,7 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -6775,6 +6913,7 @@ "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/brc-dd" } @@ -6913,6 +7052,7 @@ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, + "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -7048,6 +7188,7 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -7103,6 +7244,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -7194,6 +7336,7 @@ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, + "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -7309,6 +7452,7 @@ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -8319,6 +8463,7 @@ "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.3.0", "@hapi/topo": "^5.1.0", @@ -8328,10 +8473,11 @@ } }, "node_modules/jose": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/jose/-/jose-5.6.3.tgz", - "integrity": "sha512-1Jh//hEEwMhNYPDDLwXHa2ePWgWiFNNUadVmguAAw2IJ6sj9mNxV5tGXJNqlMkJAybF6Lgw1mISDxTePP/187g==", + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/jose/-/jose-5.9.2.tgz", + "integrity": "sha512-ILI2xx/I57b20sd7rHZvgiiQrmp2mcotwsAH+5ajbpFQbrYVQdNHYlQhoA5cFb78CgtBOxtC05TeA+mcgkuCqQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/panva" } @@ -8497,6 +8643,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -8623,6 +8770,7 @@ "resolved": "https://registry.npmjs.org/lorem-ipsum/-/lorem-ipsum-2.0.8.tgz", "integrity": "sha512-5RIwHuCb979RASgCJH0VKERn9cQo/+NcAi2BMe9ddj+gp7hujl6BI+qdOG4nVsLDpwWEJwTVYXNKP6BGgbcoGA==", "dev": true, + "license": "ISC", "dependencies": { "commander": "^9.3.0" }, @@ -8643,6 +8791,13 @@ "tslib": "^2.0.3" } }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/lz-string": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", @@ -8687,6 +8842,7 @@ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8696,6 +8852,7 @@ "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, + "license": "MIT", "engines": { "node": ">=16.10" }, @@ -8704,10 +8861,14 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -8729,17 +8890,19 @@ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -8751,6 +8914,7 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -8784,6 +8948,7 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -8826,6 +8991,7 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -8844,6 +9010,7 @@ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -8907,11 +9074,12 @@ } }, "node_modules/next": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.5.tgz", - "integrity": "sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==", + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.13.tgz", + "integrity": "sha512-BseY9YNw8QJSwLYD7hlZzl6QVDoSFHL/URN5K64kVEVpCsSOWeyjbIGK+dZUaRViHTaMQX8aqmnn0PHBbGZezg==", + "license": "MIT", "dependencies": { - "@next/env": "14.2.5", + "@next/env": "14.2.13", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -8926,15 +9094,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.5", - "@next/swc-darwin-x64": "14.2.5", - "@next/swc-linux-arm64-gnu": "14.2.5", - "@next/swc-linux-arm64-musl": "14.2.5", - "@next/swc-linux-x64-gnu": "14.2.5", - "@next/swc-linux-x64-musl": "14.2.5", - "@next/swc-win32-arm64-msvc": "14.2.5", - "@next/swc-win32-ia32-msvc": "14.2.5", - "@next/swc-win32-x64-msvc": "14.2.5" + "@next/swc-darwin-arm64": "14.2.13", + "@next/swc-darwin-x64": "14.2.13", + "@next/swc-linux-arm64-gnu": "14.2.13", + "@next/swc-linux-arm64-musl": "14.2.13", + "@next/swc-linux-x64-gnu": "14.2.13", + "@next/swc-linux-x64-musl": "14.2.13", + "@next/swc-win32-arm64-msvc": "14.2.13", + "@next/swc-win32-ia32-msvc": "14.2.13", + "@next/swc-win32-x64-msvc": "14.2.13" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -9007,6 +9175,7 @@ "url": "https://paypal.me/jimmywarting" } ], + "license": "MIT", "engines": { "node": ">=10.5.0" } @@ -9016,6 +9185,7 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dev": true, + "license": "MIT", "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -9033,7 +9203,8 @@ "version": "1.6.4", "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-int64": { "version": "0.4.0", @@ -9091,6 +9262,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -9106,6 +9278,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -9246,16 +9419,18 @@ } }, "node_modules/ohash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", - "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==", - "dev": true + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.4.tgz", + "integrity": "sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==", + "dev": true, + "license": "MIT" }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -9277,6 +9452,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -9292,6 +9468,7 @@ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, + "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -9395,6 +9572,7 @@ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -9447,6 +9625,7 @@ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -9458,17 +9637,12 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "dev": true, + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", @@ -9483,13 +9657,15 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/peek-readable": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.1.3.tgz", - "integrity": "sha512-kCsc9HwH5RgVA3H3VqkWFyGQwsxUxLdiSX1d5nqAm7hnMFjNFX1VhBLmJoUY0hZNc8gmDNgBkLjfhiWPsziXWA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.2.0.tgz", + "integrity": "sha512-U94a+eXHzct7vAd19GH3UQ2dH4Satbng0MyYTMaQatL0pvYYL5CTPR25HBhKtecl+4bfu1/i3vC6k0hydO5Vcw==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -9499,9 +9675,10 @@ } }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -9607,9 +9784,9 @@ } }, "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, "funding": [ { @@ -9625,10 +9802,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -9774,10 +9952,11 @@ } }, "node_modules/prettier-plugin-tailwindcss": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.6.tgz", - "integrity": "sha512-OPva5S7WAsPLEsOuOWXATi13QrCKACCiIonFgIR6V4lYv4QLp++UXVhZSzRbZxXGimkQtQT86CC6fQqTOybGng==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.8.tgz", + "integrity": "sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.21.3" }, @@ -9891,6 +10070,7 @@ "resolved": "https://registry.npmjs.org/prismic-ts-codegen/-/prismic-ts-codegen-0.1.21.tgz", "integrity": "sha512-zZazslixGkZxZP9nOz7HPjtPXAJjxzpUloOoWuC6XuYMW1x1+DmXI6YrhwnBAf7vvBJkeNoN4/+0bemvUiDZbg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@prismicio/custom-types-client": "^1.1.0", "common-tags": "^1.8.2", @@ -9958,6 +10138,7 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -9998,12 +10179,13 @@ ] }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -10043,6 +10225,7 @@ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.2.tgz", "integrity": "sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -10055,6 +10238,7 @@ "resolved": "https://registry.npmjs.org/r19/-/r19-0.1.8.tgz", "integrity": "sha512-83W96ad4Y/abfy/+83CE/zzdU4oozMLqnxnJo/ah8nyqfskZf2dYo/tMs3ZCxr651z0Fch64jT/PuJZ6Phbfmw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@msgpack/msgpack": "^2.8.0" }, @@ -10066,13 +10250,15 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -10082,6 +10268,7 @@ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -10097,6 +10284,7 @@ "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", "dev": true, + "license": "MIT", "dependencies": { "defu": "^6.1.4", "destr": "^2.0.3" @@ -10246,6 +10434,7 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -10260,6 +10449,7 @@ "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "^3.6.0" }, @@ -10542,7 +10732,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safe-regex-test": { "version": "1.0.0", @@ -10597,10 +10788,11 @@ } }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -10625,6 +10817,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -10633,39 +10826,55 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, + "license": "MIT", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, + "license": "MIT", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10689,7 +10898,8 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/shebang-command": { "version": "2.0.0", @@ -10722,14 +10932,19 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10757,14 +10972,15 @@ } }, "node_modules/slice-machine-ui": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/slice-machine-ui/-/slice-machine-ui-2.4.1.tgz", - "integrity": "sha512-e69iZyoAV/yIxridsteDdF3gVT3oovcdx3LJMiaDWJf4vbnaed5jfjQd3RP5NhSaprUjR1UqkpqcK2i9F2Hr6A==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/slice-machine-ui/-/slice-machine-ui-2.7.1.tgz", + "integrity": "sha512-3ynXA73Xp6/1WbLX1nLyUkOHp2Od3BraSkfN5pDdee+6fAZnjh/OuTjE6N8Nb5jpJp3oLfXq0sNk8HlDfbfyQA==", "dev": true, + "license": "MIT", "dependencies": { "@radix-ui/react-visually-hidden": "1.0.3", - "@slicemachine/manager": "0.20.1", - "start-slicemachine": "0.12.25" + "@slicemachine/manager": "0.20.5", + "start-slicemachine": "0.12.29" }, "bin": { "start-slicemachine": "bin/start-slicemachine.cjs" @@ -10783,9 +10999,10 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -10800,12 +11017,6 @@ "source-map": "^0.6.0" } }, - "node_modules/spawn-command": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", - "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", - "dev": true - }, "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", @@ -10866,14 +11077,15 @@ } }, "node_modules/start-slicemachine": { - "version": "0.12.25", - "resolved": "https://registry.npmjs.org/start-slicemachine/-/start-slicemachine-0.12.25.tgz", - "integrity": "sha512-/VXHmlduenphBeL8G7mtc+clf7j29BVGpaL4JUUy5Uo3eSd4Pq3TwuU/W/leHmgtded05E6j9IFOWBUz4yCPOg==", + "version": "0.12.29", + "resolved": "https://registry.npmjs.org/start-slicemachine/-/start-slicemachine-0.12.29.tgz", + "integrity": "sha512-Jl4R6vWhFI9RTWmO9nYgBnKw/seMwTp6poc0dPUb5bekowyQwsCGp9/R8EUnBdrq3E4b4oxM12lHbxU/nAfqzA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@prismicio/mocks": "^2.3.0", + "@prismicio/mocks": "^2.3.3", "@prismicio/types-internal": "^2.5.0", - "@slicemachine/manager": "0.20.1", + "@slicemachine/manager": "0.20.5", "body-parser": "^1.20.2", "chalk": "^4.1.2", "cors": "^2.8.5", @@ -10918,6 +11130,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -10955,6 +11168,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -10968,7 +11182,8 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", @@ -11059,6 +11274,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11080,6 +11296,7 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -11116,6 +11333,7 @@ "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.1.1.tgz", "integrity": "sha512-mKX8HA/cdBqMKUr0MMZAFssCkIGoZeSCMXgnt79yKxNFguMLVFgRe6wB+fsL0NmoHDbeyZXczy7vEPSoo3rkzg==", "dev": true, + "license": "MIT", "dependencies": { "@tokenizer/token": "^0.3.0", "peek-readable": "^5.1.3" @@ -11228,6 +11446,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/swiper": { + "version": "11.1.14", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.1.14.tgz", + "integrity": "sha512-VbQLQXC04io6AoAjIUWuZwW4MSYozkcP9KjLdrsG/00Q/yiwvhz9RQyt0nHXV10hi9NVnDNy1/wv7Dzq1lkOCQ==", + "funding": [ + { + "type": "patreon", + "url": "https://www.patreon.com/swiperjs" + }, + { + "type": "open_collective", + "url": "http://opencollective.com/swiper" + } + ], + "license": "MIT", + "engines": { + "node": ">= 4.7.0" + } + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -11251,10 +11488,11 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.9.tgz", - "integrity": "sha512-1SEOvRr6sSdV5IDf9iC+NU4dhwdqzF4zKKq3sAbasUWHEM6lsMhX+eNN5gkPx1BvLFEnZQEUFbXnGj8Qlp83Pg==", + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz", + "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==", "dev": true, + "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -11369,6 +11607,7 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6" } @@ -11378,6 +11617,7 @@ "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", "dev": true, + "license": "MIT", "dependencies": { "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" @@ -11418,7 +11658,8 @@ "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tree-kill": { "version": "1.2.2", @@ -11581,6 +11822,7 @@ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -11655,9 +11897,10 @@ } }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -11670,7 +11913,8 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/unbox-primitive": { "version": "1.0.2", @@ -11691,19 +11935,22 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" }, "node_modules/unenv": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.10.0.tgz", "integrity": "sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==", "dev": true, + "license": "MIT", "dependencies": { "consola": "^3.2.3", "defu": "^6.1.4", @@ -11717,6 +11964,7 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true, + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -11729,6 +11977,7 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -11738,6 +11987,7 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -11792,9 +12042,10 @@ } }, "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", + "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", + "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } @@ -11810,6 +12061,7 @@ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -11862,6 +12114,7 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -11892,6 +12145,7 @@ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -11900,7 +12154,8 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/whatwg-encoding": { "version": "2.0.0", @@ -11940,6 +12195,7 @@ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -12059,6 +12315,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -12193,11 +12450,12 @@ } }, "node_modules/zustand": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.4.tgz", - "integrity": "sha512-/BPMyLKJPtFEvVL0E9E9BTUM63MNyhPGlvxk1XjrfWTUlV+BR8jufjsovHzrtR6YNcBEcL7cMHovL1n9xHawEg==", + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.5.tgz", + "integrity": "sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==", + "license": "MIT", "dependencies": { - "use-sync-external-store": "1.2.0" + "use-sync-external-store": "1.2.2" }, "engines": { "node": ">=12.7.0" diff --git a/package.json b/package.json index 38f529d..498ae8c 100644 --- a/package.json +++ b/package.json @@ -24,43 +24,44 @@ "@fortawesome/pro-light-svg-icons": "6.6.0", "@fortawesome/pro-solid-svg-icons": "6.6.0", "@fortawesome/react-fontawesome": "0.2.2", - "@prismicio/client": "7.8.0", - "@prismicio/next": "1.6.0", - "@prismicio/react": "2.8.0", + "@prismicio/client": "7.11.0", + "@prismicio/next": "1.7.0", + "@prismicio/react": "2.9.0", "clsx": "2.1.1", - "next": "14.2.5", + "next": "14.2.13", "react": "18.3.1", "react-dom": "18.3.1", - "typescript": "5.5.4", - "zustand": "4.5.4" + "swiper": "11.1.14", + "typescript": "5.6.2", + "zustand": "4.5.5" }, "devDependencies": { - "@slicemachine/adapter-next": "0.3.45", + "@slicemachine/adapter-next": "0.3.49", "@tailwindcss/aspect-ratio": "0.4.2", - "@testing-library/jest-dom": "6.4.8", - "@testing-library/react": "16.0.0", - "@types/jest": "29.5.12", - "@types/node": "20.14.15", - "@types/react": "18.3.3", + "@testing-library/jest-dom": "6.5.0", + "@testing-library/react": "16.0.1", + "@types/jest": "29.5.13", + "@types/node": "20.16.10", + "@types/react": "18.3.10", "@types/react-dom": "18.3.0", "autoprefixer": "10.4.20", - "concurrently": "8.2.2", - "eslint": "8.57.0", - "eslint-config-next": "14.2.5", + "concurrently": "9.0.1", + "eslint": "8.57.1", + "eslint-config-next": "14.2.13", "eslint-config-prettier": "9.1.0", "eslint-config-typescript": "3.0.0", - "eslint-plugin-jest": "28.8.0", + "eslint-plugin-jest": "28.8.3", "eslint-plugin-jest-formatting": "3.1.0", "eslint-plugin-prettier": "5.2.1", - "eslint-plugin-testing-library": "6.2.2", + "eslint-plugin-testing-library": "6.3.0", "eslint-plugin-unicorn": "55.0.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "postcss": "8.4.41", + "postcss": "8.4.47", "prettier": "3.3.3", - "prettier-plugin-tailwindcss": "0.6.6", - "slice-machine-ui": "2.4.1", - "tailwindcss": "3.4.9", + "prettier-plugin-tailwindcss": "0.6.8", + "slice-machine-ui": "2.7.1", + "tailwindcss": "3.4.13", "ts-node": "10.9.2" } } diff --git a/prismicio-types.d.ts b/prismicio-types.d.ts index 605353c..5263012 100644 --- a/prismicio-types.d.ts +++ b/prismicio-types.d.ts @@ -158,7 +158,7 @@ export type NavigationDocument = type PageDocumentDataSlicesSlice = | CallToActionSlice | HeroSlice - | QuoteSlice + | TestimonialsSlice | TextSlice | ImageSlice | ImageCardsSlice @@ -613,56 +613,76 @@ export type ImageCardsSlice = prismic.SharedSlice< >; /** - * Primary content in *Quote → Default → Primary* + * Item in *Testimonials → Default → Primary → Testimonials* */ -export interface QuoteSliceDefaultPrimary { +export interface TestimonialsSliceDefaultPrimaryTestimonialsItem { /** - * Quote field in *Quote → Default → Primary* + * Quote field in *Testimonials → Default → Primary → Testimonials* * * - **Field Type**: Rich Text * - **Placeholder**: *None* - * - **API ID Path**: quote.default.primary.quote + * - **API ID Path**: quote.default.primary.testimonials[].quote * - **Documentation**: https://prismic.io/docs/field#rich-text-title */ quote: prismic.RichTextField; /** - * Source field in *Quote → Default → Primary* + * Source field in *Testimonials → Default → Primary → Testimonials* * * - **Field Type**: Text * - **Placeholder**: *None* - * - **API ID Path**: quote.default.primary.source + * - **API ID Path**: quote.default.primary.testimonials[].source * - **Documentation**: https://prismic.io/docs/field#key-text */ source: prismic.KeyTextField; } /** - * Default variation for Quote Slice + * Primary content in *Testimonials → Default → Primary* + */ +export interface TestimonialsSliceDefaultPrimary { + /** + * Testimonials field in *Testimonials → Default → Primary* + * + * - **Field Type**: Group + * - **Placeholder**: *None* + * - **API ID Path**: quote.default.primary.testimonials[] + * - **Documentation**: https://prismic.io/docs/field#group + */ + testimonials: prismic.GroupField< + Simplify + >; +} + +/** + * Default variation for Testimonials Slice * * - **API ID**: `default` * - **Description**: Quote * - **Documentation**: https://prismic.io/docs/slice */ -export type QuoteSliceDefault = prismic.SharedSliceVariation< +export type TestimonialsSliceDefault = prismic.SharedSliceVariation< 'default', - Simplify, + Simplify, never >; /** - * Slice variation for *Quote* + * Slice variation for *Testimonials* */ -type QuoteSliceVariation = QuoteSliceDefault; +type TestimonialsSliceVariation = TestimonialsSliceDefault; /** - * Quote Shared Slice + * Testimonials Shared Slice * * - **API ID**: `quote` * - **Description**: Quote * - **Documentation**: https://prismic.io/docs/slice */ -export type QuoteSlice = prismic.SharedSlice<'quote', QuoteSliceVariation>; +export type TestimonialsSlice = prismic.SharedSlice< + 'quote', + TestimonialsSliceVariation +>; /** * Primary content in *Text → Default → Primary* @@ -890,10 +910,11 @@ declare module '@prismicio/client' { ImageCardsSliceDefaultItem, ImageCardsSliceVariation, ImageCardsSliceDefault, - QuoteSlice, - QuoteSliceDefaultPrimary, - QuoteSliceVariation, - QuoteSliceDefault, + TestimonialsSlice, + TestimonialsSliceDefaultPrimaryTestimonialsItem, + TestimonialsSliceDefaultPrimary, + TestimonialsSliceVariation, + TestimonialsSliceDefault, TextSlice, TextSliceDefaultPrimary, TextSliceTwoColumnsPrimary, diff --git a/src/app/[uid]/page.tsx b/src/app/[uid]/page.tsx index ac42821..b2a69a1 100644 --- a/src/app/[uid]/page.tsx +++ b/src/app/[uid]/page.tsx @@ -42,6 +42,10 @@ export default async function Page({ params }: Props) { const client = createClient(); const page = await client.getByUID('page', params.uid).catch(notFound); + if (!page) { + notFound(); + } + return ; } diff --git a/src/app/contact/actions.ts b/src/app/contact/actions.ts index e3184e7..fb74a49 100644 --- a/src/app/contact/actions.ts +++ b/src/app/contact/actions.ts @@ -41,6 +41,14 @@ export async function sendMessage( return { message: ContactFormResponseMessage.INVALID, success: false, + validFields: { + firstName: !!firstName, + lastName: !!lastName, + email: !!email, + description: !!description, + company: true, + website: true, + }, }; } @@ -78,8 +86,17 @@ export async function sendMessage( const response = await fetch(API_URL, fetchOptions); const data: MessageResponse = await response.json(); + console.log(data); + if ('code' in data) { // Handle specific error codes with custom messaging. + if (data.code === 'permission_denied') { + return { + message: ContactFormResponseMessage.FAILED, + success: false, + }; + } + if (data.code === 'invalid_parameter' && data.message.includes('email')) { return { message: ContactFormResponseMessage.INVALID_EMAIL, diff --git a/src/app/contact/types.ts b/src/app/contact/types.ts index 9ef3a08..3d741f3 100644 --- a/src/app/contact/types.ts +++ b/src/app/contact/types.ts @@ -7,9 +7,18 @@ export type ContactFormFields = { description: string; }; +export type ContactFormRequiredFields = + | 'firstName' + | 'lastName' + | 'email' + | 'description'; + export type ContactFormState = { message?: string | ContactFormResponseMessage; success?: boolean; + validFields?: { + [key in keyof ContactFormFields]: boolean; + }; }; type SenderOrRecipient = { diff --git a/public/favicon.ico b/src/app/favicon.ico similarity index 100% rename from public/favicon.ico rename to src/app/favicon.ico diff --git a/src/app/globals.css b/src/app/globals.css index 4e3a78a..0e164c7 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -41,7 +41,7 @@ } .link { - @apply border-sky-400 border-b-2 hover:border-b-4 transition-all font-semibold; + @apply border-sky-400 border-b hover:border-b-4 transition-all duration-100; } .button { diff --git a/src/components/forms/ContactForm.tsx b/src/components/forms/ContactForm.tsx index c449344..0fb144a 100644 --- a/src/components/forms/ContactForm.tsx +++ b/src/components/forms/ContactForm.tsx @@ -1,13 +1,15 @@ 'use client'; +import { HTMLInputTypeAttribute } from 'react'; + +import { faSpinner } from '@fortawesome/pro-solid-svg-icons'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { useFormState, useFormStatus } from 'react-dom'; import { sendMessage } from '@/app/contact/actions'; -import { - ContactFormResponseMessage, - ContactFormState, -} from '@/app/contact/types'; +import { ContactFormFields, ContactFormState } from '@/app/contact/types'; +import { ContactFormResponse } from './ContactFormResponse'; import { InputWithLabel } from './InputWithLabel'; import { Card } from '../layout/Card'; import { Button } from '../links/Button'; @@ -16,27 +18,93 @@ const initialState: ContactFormState = {}; const ButtonText = { DEFAULT: 'Send Message', - PENDING: 'Sending...', + PENDING: 'Sending', SUCCESS: 'Message Sent!', } as const; function SubmitButton({ isSuccess }: { isSuccess: boolean }) { const formStatus = useFormStatus(); + const isPending = formStatus.pending; - const isDisabled = formStatus.pending || isSuccess; + const isDisabled = isPending || isSuccess; - const defaultButtonText = formStatus.pending - ? ButtonText.PENDING - : ButtonText.DEFAULT; + const defaultButtonText = isPending ? ButtonText.PENDING : ButtonText.DEFAULT; const buttonText = isSuccess ? ButtonText.SUCCESS : defaultButtonText; return ( ); } +type ContactFormFieldConfig = { + type: HTMLInputTypeAttribute; + id: keyof ContactFormFields; + label: string; + placeholder: string; + isTextArea?: boolean; + rows?: number; + required?: boolean; + colSpan?: 1 | 2; +}; + +const CONTACT_FORM_FIELDS: ContactFormFieldConfig[] = [ + { + type: 'text', + id: 'firstName', + label: 'First Name', + placeholder: 'John', + required: true, + }, + { + type: 'text', + id: 'lastName', + label: 'Last Name', + placeholder: 'Bacon', + required: true, + }, + { + type: 'email', + id: 'email', + label: 'Email Address', + placeholder: 'bacon@sandwich.com.au', + required: true, + }, + { + type: 'text', + id: 'company', + label: 'Company', + placeholder: 'Bacon Company Pty Ltd', + }, + { + type: 'url', + id: 'website', + label: 'Website', + placeholder: 'https://en.wikipedia.org/wiki/Bacon', + colSpan: 2, + }, + { + type: 'text', + id: 'description', + label: 'Your Message', + placeholder: + 'Hey Charles, just wanted to write to let you know that I love bacon!', + isTextArea: true, + rows: 4, + required: true, + colSpan: 2, + }, +]; + export function ContactForm() { const [state, formAction] = useFormState(sendMessage, initialState); @@ -44,61 +112,19 @@ export function ContactForm() {
- - - - -
- + {CONTACT_FORM_FIELDS.map((field) => ( - -
+ ))} +
- {state.success ? ( -

- {state.message || ContactFormResponseMessage.SUCCESS} -

- ) : null} - {state.success === false ? ( -

- {state.message || ContactFormResponseMessage.FAILED} -

- ) : null} +
); diff --git a/src/components/forms/ContactFormResponse.tsx b/src/components/forms/ContactFormResponse.tsx new file mode 100644 index 0000000..51fc73f --- /dev/null +++ b/src/components/forms/ContactFormResponse.tsx @@ -0,0 +1,28 @@ +import clsx from 'clsx'; + +import { ContactFormResponseMessage } from '@/app/contact/types'; + +type ContactFormResponseProps = { + success: boolean | undefined; + message: string | undefined; +}; + +export function ContactFormResponse({ + success, + message, +}: ContactFormResponseProps) { + if (success === undefined) { + return null; + } + + const classes = clsx( + 'font-semibold mt-10', + success ? 'text-green-700 dark:text-green-400' : 'text-red-600', + ); + + return ( +

+ {message || ContactFormResponseMessage[success ? 'SUCCESS' : 'FAILED']} +

+ ); +} diff --git a/src/components/forms/Input.tsx b/src/components/forms/Input.tsx index a907d3a..bc7e543 100644 --- a/src/components/forms/Input.tsx +++ b/src/components/forms/Input.tsx @@ -8,7 +8,7 @@ function isTextAreaProps( } const inputClassName = - 'block w-full rounded p-3 mb-6 bg-slate-100 text-slate-950'; + 'block w-full rounded p-3 mb-2 bg-slate-100 text-slate-950'; export function Input(props: InputProps | TextAreaProps) { if (isTextAreaProps(props)) { diff --git a/src/components/forms/InputWithLabel.tsx b/src/components/forms/InputWithLabel.tsx index 43bcec0..c21a37b 100644 --- a/src/components/forms/InputWithLabel.tsx +++ b/src/components/forms/InputWithLabel.tsx @@ -5,10 +5,16 @@ import { Label } from './Label'; export function InputWithLabel({ label, + wrapperClassName, + isValid, ...props -}: ComponentProps & { label: string }) { +}: ComponentProps & { + label: string; + wrapperClassName?: string; + isValid?: boolean; +}) { return ( -
+
+ {isValid === false ? ( + + {'type' in props && props.type === 'email' + ? 'Please enter a valid email address.' + : 'This field is required.'} + + ) : null}
); } diff --git a/src/components/layout/Slider.tsx b/src/components/layout/Slider.tsx new file mode 100644 index 0000000..a818337 --- /dev/null +++ b/src/components/layout/Slider.tsx @@ -0,0 +1,64 @@ +'use client'; + +import { ComponentProps, Key, ReactNode } from 'react'; + +import { faArrowLeft, faArrowRight } from '@fortawesome/pro-solid-svg-icons'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import clsx from 'clsx'; +import { Swiper, SwiperSlide, useSwiper } from 'swiper/react'; + +import 'swiper/css'; + +export type SliderProps = { + data?: T[]; + renderItem: (item: T, index: number) => ReactNode; + keyExtractor?: (item: T, index: number) => Key; +} & ComponentProps; + +export function Slider({ + data, + renderItem, + keyExtractor, + ...swiperProps +}: SliderProps) { + if (!data?.length) { + return null; + } + + return ( + + {data.map((item, index) => ( + + {renderItem(item, index)} + + ))} + + + + ); +} + +function SlideNavButton({ direction }: { direction: 'next' | 'prev' }) { + const isPrev = direction === 'prev'; + + const swiperRef = useSwiper(); + + function handleClick() { + if (isPrev) { + swiperRef.slidePrev(); + } else { + swiperRef.slideNext(); + } + } + + return ( + + ); +} diff --git a/src/components/links/Button.tsx b/src/components/links/Button.tsx index 82dfc2c..3985ab6 100644 --- a/src/components/links/Button.tsx +++ b/src/components/links/Button.tsx @@ -62,7 +62,14 @@ export function Button({ ); if ('field' in props) { - return ; + return ( + + ); } if ('href' in props) { diff --git a/src/components/settings/DarkModeSetting.tsx b/src/components/settings/DarkModeSetting.tsx index 5f46a41..ad07a17 100644 --- a/src/components/settings/DarkModeSetting.tsx +++ b/src/components/settings/DarkModeSetting.tsx @@ -12,6 +12,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { useOutsideClick } from '@/hooks/useOutsideClick'; import { useBoundStore } from '@/store/bound'; +import { SetThemeOnDocument } from '@/theme/set-theme-on-document'; import { Theme } from '@/theme/types'; import { DarkModeIcon } from './DarkModeIcon'; @@ -57,6 +58,7 @@ export function DarkModeSetting() {
) : null} + ); } @@ -95,12 +97,16 @@ const ThemeSettingItem = function ThemeSettingItem({ icon, ariaTitle, }: ThemeOption) { - const { theme, setTheme, systemDarkMode } = useBoundStore(); + const { isActive, setTheme, systemDarkMode } = useBoundStore((state) => ({ + isActive: state.theme === value, + setTheme: state.setTheme, + systemDarkMode: state.systemDarkMode, + })); return ( ); -}; +} function renderThemeSettingItem(option: ThemeOption) { return ; diff --git a/src/plugins/mailjet.ts b/src/plugins/mailjet.ts new file mode 100644 index 0000000..ca97769 --- /dev/null +++ b/src/plugins/mailjet.ts @@ -0,0 +1,22 @@ +import { Client } from 'node-mailjet'; + +export const INVALID_EMAIL_ERROR_CODE = 'mj-0013'; + +export const INVALID_ERROR_CODES = new Set([ + 'mj-0003', + 'mj-0004', + 'mj-0005', + 'mj-0006', + 'mj-0007', + 'mj-0008', + 'mj-0012', +]); + +export const mailjetClient = new Client({ + apiKey: process.env.EMAIL_API_PUBLIC_KEY, + apiSecret: process.env.EMAIL_API_SECRET_KEY, + config: { + version: 'v3.1', + output: 'json', + }, +}); From 631a1b6df1093d1d3f76a042815bd5214f7b857d Mon Sep 17 00:00:00 2001 From: Charles Harwood Date: Tue, 29 Oct 2024 11:47:17 +1000 Subject: [PATCH 05/27] ci(workflows): run workflows on develop as well as PRs --- .github/workflows/lint.yml | 3 +++ .github/workflows/test.yml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 56d4f76..7c3b98f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -2,7 +2,10 @@ on: push: branches: - main + - develop - release/* + pull_request: + types: [opened, synchronize, reopened] jobs: lint: name: Lint Code diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7a0fcdf..a2f5f31 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,7 +2,10 @@ on: push: branches: - main + - develop - release/* + pull_request: + types: [opened, synchronize, reopened] jobs: test: name: Test App From 563cb36f34069692c07f6c1e18ca04e647093f9e Mon Sep 17 00:00:00 2001 From: Charles Harwood Date: Tue, 29 Oct 2024 11:52:00 +1000 Subject: [PATCH 06/27] feat(node): upgrade nodejs from v20 to v22 --- .github/workflows/lint.yml | 4 ++-- .github/workflows/test.yml | 4 ++-- .tool-versions | 2 +- package-lock.json | 20 ++++++++++---------- package.json | 4 ++-- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 7c3b98f..0571d82 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,10 +14,10 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - name: Setup Node.js v20.11.0 + - name: Setup Node.js v22.10.0 uses: actions/setup-node@v3 with: - node-version: '20.11.0' + node-version: '22.10.0' registry-url: https://npm.fontawesome.com/ scope: '@fortawesome' cache: 'npm' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a2f5f31..c6eec85 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,10 +14,10 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - name: Setup Node.js v20.11.0 + - name: Setup Node.js v22.10.0 uses: actions/setup-node@v3 with: - node-version: '20.11.0' + node-version: '22.10.0' registry-url: https://npm.fontawesome.com/ scope: '@fortawesome' cache: 'npm' diff --git a/.tool-versions b/.tool-versions index ffb152e..38ba132 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -nodejs 20.17.0 +nodejs 22.10.0 diff --git a/package-lock.json b/package-lock.json index 2c724ff..c601ec6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,11 +15,11 @@ "@fortawesome/pro-solid-svg-icons": "6.6.0", "@fortawesome/react-fontawesome": "0.2.2", "@prismicio/client": "7.11.0", - "@prismicio/next": "1.7.0", + "@prismicio/next": "1.7.1", "@prismicio/react": "2.9.0", "clsx": "2.1.1", "next": "14.2.16", - "node-mailjet": "^6.0.6", + "node-mailjet": "6.0.6", "react": "18.3.1", "react-dom": "18.3.1", "swiper": "11.1.14", @@ -32,7 +32,7 @@ "@testing-library/jest-dom": "6.6.2", "@testing-library/react": "16.0.1", "@types/jest": "29.5.14", - "@types/node": "20.17.2", + "@types/node": "22.8.2", "@types/react": "18.3.12", "@types/react-dom": "18.3.1", "autoprefixer": "10.4.20", @@ -1970,9 +1970,9 @@ } }, "node_modules/@prismicio/next": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@prismicio/next/-/next-1.7.0.tgz", - "integrity": "sha512-kHAYNWvBOmyo1iwli04fZb5wK9q6hXRxuKLvKaz3ZRogAttVdiyj3yGVjQn5Krr1J0xN8RipBArTJIMnXBAqeQ==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@prismicio/next/-/next-1.7.1.tgz", + "integrity": "sha512-j1kmQrRN7HttsfxU02en4vk8vTH/UrRxKyKNGj1jslnjbltb+3GUlH0CzFZRvSC++mJGnHdKgYWavdbP8CAl7A==", "license": "Apache-2.0", "dependencies": { "@formatjs/intl-localematcher": "^0.5.2", @@ -2770,13 +2770,13 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.17.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.2.tgz", - "integrity": "sha512-OOHK4sjXqkL7yQ7VEEHcf6+0jSvKjWqwnaCtY7AKD/VLEvRHMsxxu7eI8ErnjxHS8VwmekD4PeVCpu4qZEZSxg==", + "version": "22.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz", + "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.2" + "undici-types": "~6.19.8" } }, "node_modules/@types/normalize-package-data": { diff --git a/package.json b/package.json index cf7aa9c..97c7f2a 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "@fortawesome/pro-solid-svg-icons": "6.6.0", "@fortawesome/react-fontawesome": "0.2.2", "@prismicio/client": "7.11.0", - "@prismicio/next": "1.7.0", + "@prismicio/next": "1.7.1", "@prismicio/react": "2.9.0", "clsx": "2.1.1", "next": "14.2.16", @@ -42,7 +42,7 @@ "@testing-library/jest-dom": "6.6.2", "@testing-library/react": "16.0.1", "@types/jest": "29.5.14", - "@types/node": "20.17.2", + "@types/node": "22.8.2", "@types/react": "18.3.12", "@types/react-dom": "18.3.1", "autoprefixer": "10.4.20", From 15eb3ccbc2dfc66c9e9096beec5badf9e58047b3 Mon Sep 17 00:00:00 2001 From: Charles Harwood Date: Fri, 15 Nov 2024 10:24:50 +1000 Subject: [PATCH 07/27] feat(theme): refactor system theme handling to react to live changes in user system prefs --- .eslintrc.json | 1 - src/app/[uid]/page.tsx | 4 +-- src/app/about/page.tsx | 3 +- src/app/contact/page.tsx | 4 +-- src/app/icon.png | Bin 0 -> 88129 bytes src/components/settings/DarkModeSetting.tsx | 9 +++-- src/hooks/useMatchMedia.ts | 37 ++++++++++++++++++++ src/hooks/usePrefersDarkMode.ts | 15 ++++++++ src/store/bound.ts | 3 +- src/store/settings.ts | 21 +---------- src/theme/detect-prefers-dark-mode.ts | 5 +-- src/theme/set-theme-on-document.ts | 9 +++-- 12 files changed, 74 insertions(+), 37 deletions(-) create mode 100644 src/app/icon.png create mode 100644 src/hooks/useMatchMedia.ts create mode 100644 src/hooks/usePrefersDarkMode.ts diff --git a/.eslintrc.json b/.eslintrc.json index e9da50f..712aa48 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -30,7 +30,6 @@ ], "unicorn/no-array-callback-reference": "off", "unicorn/no-useless-undefined": "off", // causes eslint to remove usages of undefined e.g. `someFunction(undefined)` which is dangerous and not advisable - "unicorn/prefer-global-this": "off", // rule seems half-baked, it enforces usage of `globalThis` even for functions that are specific to `window` "unicorn/prevent-abbreviations": "off", // this one is annoying due to prevalence of the term Props within React code "@typescript-eslint/no-unused-vars": [ "error", diff --git a/src/app/[uid]/page.tsx b/src/app/[uid]/page.tsx index b2a69a1..d5115e8 100644 --- a/src/app/[uid]/page.tsx +++ b/src/app/[uid]/page.tsx @@ -15,7 +15,7 @@ export async function generateMetadata({ params }: Props): Promise { const page = await client.getByUID('page', params.uid).catch(notFound); const settings = await client.getSingle('settings'); - const pageTitle = asText(page.data.title); + const pageTitle = page.data.meta_title || asText(page.data.title); const siteTitle = asText(settings.data.siteTitle); const title = `${pageTitle} | ${siteTitle}`; @@ -26,7 +26,7 @@ export async function generateMetadata({ params }: Props): Promise { title, description: page.data.meta_description, openGraph: { - title: page.data.meta_title ?? title, + title, ...(metaImage && { images: [ { diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index dde3731..b6ca4a5 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -47,8 +47,9 @@ export async function generateMetadata(): Promise { const page = await client.getSingle('about').catch(notFound); const settings = await client.getSingle('settings'); + const pageTitle = page.data.meta_title || page.data.title; const siteTitle = asText(settings.data.siteTitle); - const title = `${page.data.title} | ${siteTitle}`; + const title = `${pageTitle} | ${siteTitle}`; const metaImage = page.data.meta_image.url; diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx index e5b4c5f..17f1fcd 100644 --- a/src/app/contact/page.tsx +++ b/src/app/contact/page.tsx @@ -33,7 +33,7 @@ export async function generateMetadata(): Promise { const page = await client.getByUID('page', 'contact').catch(notFound); const settings = await client.getSingle('settings'); - const pageTitle = asText(page.data.title); + const pageTitle = page.data.meta_title || asText(page.data.title); const siteTitle = asText(settings.data.siteTitle); const title = `${pageTitle} | ${siteTitle}`; @@ -44,7 +44,7 @@ export async function generateMetadata(): Promise { title, description: page.data.meta_description, openGraph: { - title: page.data.meta_title ?? title, + title, ...(metaImage && { images: [ { diff --git a/src/app/icon.png b/src/app/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac778695b9882679c05b487e9c817c55765a876d GIT binary patch literal 88129 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 ZZDLFUUeBLt{RRBUJyCpI@W}A({{!R^%_aZ< literal 0 HcmV?d00001 diff --git a/src/components/settings/DarkModeSetting.tsx b/src/components/settings/DarkModeSetting.tsx index 3bf652e..ee0ab6b 100644 --- a/src/components/settings/DarkModeSetting.tsx +++ b/src/components/settings/DarkModeSetting.tsx @@ -12,6 +12,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { useShallow } from 'zustand/shallow'; import { useOutsideClick } from '@/hooks/useOutsideClick'; +import { usePrefersDarkMode } from '@/hooks/usePrefersDarkMode'; import { useBoundStore } from '@/store/bound'; import { SetThemeOnDocument } from '@/theme/set-theme-on-document'; import { Theme } from '@/theme/types'; @@ -93,11 +94,11 @@ const THEME_OPTIONS: ThemeOption[] = [ ]; function ThemeSettingItem({ label, value, icon, ariaTitle }: ThemeOption) { - const { isActive, setTheme, systemDarkMode } = useBoundStore( + const systemPrefersDarkMode = usePrefersDarkMode(); + const { isActive, setTheme } = useBoundStore( useShallow((state) => ({ isActive: state.theme === value, setTheme: state.setTheme, - systemDarkMode: state.systemDarkMode, })), ); @@ -111,7 +112,9 @@ function ThemeSettingItem({ label, value, icon, ariaTitle }: ThemeOption) {

{label} - {value === 'system' ? ` (${systemDarkMode ? 'dark' : 'light'})` : ''} + {value === 'system' + ? ` (${systemPrefersDarkMode ? 'dark' : 'light'})` + : ''}

diff --git a/src/hooks/useMatchMedia.ts b/src/hooks/useMatchMedia.ts new file mode 100644 index 0000000..ac5727f --- /dev/null +++ b/src/hooks/useMatchMedia.ts @@ -0,0 +1,37 @@ +import { useDebugValue, useMemo, useSyncExternalStore } from 'react'; + +/** + * Subscribe to a media query and return the current match state. + */ +export function useMatchMedia( + query: `(${string})`, + getServerSnapshot?: () => boolean, +): boolean { + const { subscribe, getSnapshot } = useMemo(() => { + let MEDIA_QUERY_CACHE: MediaQueryList | undefined; + + const getMatchMedia = (): MediaQueryList => { + if (!MEDIA_QUERY_CACHE) { + MEDIA_QUERY_CACHE = globalThis.matchMedia(query); + } + + return MEDIA_QUERY_CACHE; + }; + + return { + subscribe: (onQueryChange: () => void) => { + const matchMedia = getMatchMedia(); + matchMedia.addEventListener('change', onQueryChange); + + return () => { + matchMedia.removeEventListener('change', onQueryChange); + }; + }, + getSnapshot: () => getMatchMedia().matches, + }; + }, [query]); + + useDebugValue(query); + + return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot); +} diff --git a/src/hooks/usePrefersDarkMode.ts b/src/hooks/usePrefersDarkMode.ts new file mode 100644 index 0000000..b84ff7d --- /dev/null +++ b/src/hooks/usePrefersDarkMode.ts @@ -0,0 +1,15 @@ +import { useMatchMedia } from './useMatchMedia'; + +function getServerSnapshotForPrefersDarkMode() { + return false; +} + +/** + * Subscribe to the user's system preference for dark mode. + * @param getServerSnapshot The function to be called by the server to determine the initial value of the hook. + */ +export function usePrefersDarkMode( + getServerSnapshot = getServerSnapshotForPrefersDarkMode, +) { + return useMatchMedia('(prefers-color-scheme: dark)', getServerSnapshot); +} diff --git a/src/store/bound.ts b/src/store/bound.ts index 617dd8c..9f5e0c1 100644 --- a/src/store/bound.ts +++ b/src/store/bound.ts @@ -11,11 +11,10 @@ import { IS_DEV } from '@/utils/constants'; import { SettingsStore, createSettingsStore } from './settings'; export type StoreState = SettingsStore; -export type PersistedStoreState = Pick; +export type PersistedStoreState = Pick; const getPersistedState = (state: StoreState): PersistedStoreState => ({ theme: state.theme, - isDarkMode: state.isDarkMode, }); const devtoolsOptions: DevtoolsOptions = { diff --git a/src/store/settings.ts b/src/store/settings.ts index bae1b48..2c0457f 100644 --- a/src/store/settings.ts +++ b/src/store/settings.ts @@ -1,6 +1,5 @@ import { StateCreator } from 'zustand'; -import { detectPrefersDarkMode } from '@/theme/detect-prefers-dark-mode'; import { Theme } from '@/theme/types'; export type SettingsState = { @@ -8,14 +7,6 @@ export type SettingsState = { * Which theme the user has selected. */ theme: Theme; - /** - * Whether dark mode should be enabled. - */ - isDarkMode: boolean; - /** - * Whether the system dark mode setting is enabled. - */ - systemDarkMode: boolean; }; export type SettingsActions = { @@ -30,16 +21,8 @@ export const createSettingsStore: StateCreator< > = (set) => { return { theme: 'system', - isDarkMode: detectPrefersDarkMode(), - systemDarkMode: detectPrefersDarkMode(), setTheme: function setTheme(theme: Theme) { - let isDarkMode = theme === 'dark'; - - if (theme === 'system') { - isDarkMode = detectPrefersDarkMode(); - } - - set({ theme, isDarkMode }, false, { + set({ theme }, false, { type: 'settings/setTheme', payload: theme, }); @@ -51,6 +34,4 @@ export const SettingsSelectors = { getTheme: (state: SettingsStore) => state.theme, getThemeWithSetter: (state: SettingsStore) => [state.theme, state.setTheme] as const, - getIsDarkMode: (state: SettingsStore) => state.isDarkMode, - getSystemDarkMode: (state: SettingsStore) => state.systemDarkMode, }; diff --git a/src/theme/detect-prefers-dark-mode.ts b/src/theme/detect-prefers-dark-mode.ts index ad88495..94b5eae 100644 --- a/src/theme/detect-prefers-dark-mode.ts +++ b/src/theme/detect-prefers-dark-mode.ts @@ -6,8 +6,5 @@ * we will use this function to determine which theme to apply. */ export function detectPrefersDarkMode() { - return ( - typeof window !== 'undefined' && - window.matchMedia('(prefers-color-scheme: dark)').matches - ); + return globalThis.matchMedia?.('(prefers-color-scheme: dark)').matches; } diff --git a/src/theme/set-theme-on-document.ts b/src/theme/set-theme-on-document.ts index f937391..7809634 100644 --- a/src/theme/set-theme-on-document.ts +++ b/src/theme/set-theme-on-document.ts @@ -1,5 +1,6 @@ import { memo, useEffect } from 'react'; +import { usePrefersDarkMode } from '@/hooks/usePrefersDarkMode'; import { useBoundStore } from '@/store/bound'; import { SettingsSelectors } from '@/store/settings'; @@ -27,10 +28,14 @@ export function setThemeOnDocument(newTheme: 'dark' | 'light') { /** * Pure Component that wraps a hook that sets the theme on the document when the dark mode setting changes. - * This enables reacting to the change of `isDarkMode`'s value without re-rendering any components. + * This enables reacting to the change of `theme` or `systemPrefersDarkMode` without re-rendering any components. */ export const SetThemeOnDocument = memo(function SetThemeOnDocument() { - const isDarkMode = useBoundStore(SettingsSelectors.getIsDarkMode); + const theme = useBoundStore(SettingsSelectors.getTheme); + const systemPrefersDarkMode = usePrefersDarkMode(); + + const isDarkMode = + theme === 'dark' || (theme === 'system' && systemPrefersDarkMode); useEffect(() => { setThemeOnDocument(isDarkMode ? 'dark' : 'light'); From 116d4fcb1d5639a6d9ee9869668517875d31f888 Mon Sep 17 00:00:00 2001 From: Charles Harwood Date: Fri, 15 Nov 2024 11:27:08 +1000 Subject: [PATCH 08/27] feat(deps): next 15 and react 19 codemods --- package-lock.json | 2638 +++++++++++------- package.json | 38 +- src/app/[uid]/page.tsx | 6 +- src/components/Skills.tsx | 2 +- src/components/forms/ContactForm.tsx | 6 +- src/components/forms/Input.tsx | 1 + src/components/forms/Label.tsx | 1 + src/components/links/Button.tsx | 2 +- src/components/rich-text/Heading1.tsx | 2 + src/components/rich-text/Heading2.tsx | 2 + src/components/rich-text/Heading3.tsx | 2 + src/components/rich-text/Heading4.tsx | 2 + src/components/rich-text/Heading5.tsx | 2 + src/components/rich-text/Hyperlink.tsx | 2 + src/components/rich-text/OrderedList.tsx | 2 +- src/components/rich-text/Paragraph.tsx | 2 + src/components/rich-text/Preformatted.tsx | 2 + src/components/rich-text/Strong.tsx | 2 + src/components/rich-text/UnorderedList.tsx | 2 + src/components/slices/CallToAction/index.tsx | 2 + src/hooks/useOutsideClick.ts | 2 +- 21 files changed, 1724 insertions(+), 996 deletions(-) diff --git a/package-lock.json b/package-lock.json index c601ec6..506cc98 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,45 +14,45 @@ "@fortawesome/pro-light-svg-icons": "6.6.0", "@fortawesome/pro-solid-svg-icons": "6.6.0", "@fortawesome/react-fontawesome": "0.2.2", - "@prismicio/client": "7.11.0", + "@prismicio/client": "7.12.0", "@prismicio/next": "1.7.1", - "@prismicio/react": "2.9.0", + "@prismicio/react": "2.9.1", "clsx": "2.1.1", - "next": "14.2.16", + "next": "15.0.3", "node-mailjet": "6.0.6", - "react": "18.3.1", - "react-dom": "18.3.1", + "react": "19.0.0-rc-66855b96-20241106", + "react-dom": "19.0.0-rc-66855b96-20241106", "swiper": "11.1.14", "typescript": "5.6.3", - "zustand": "5.0.0" + "zustand": "5.0.1" }, "devDependencies": { - "@slicemachine/adapter-next": "0.3.54", + "@slicemachine/adapter-next": "0.3.56", "@tailwindcss/aspect-ratio": "0.4.2", - "@testing-library/jest-dom": "6.6.2", + "@testing-library/jest-dom": "6.6.3", "@testing-library/react": "16.0.1", "@types/jest": "29.5.14", - "@types/node": "22.8.2", - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", + "@types/node": "22.9.0", + "@types/react": "npm:types-react@19.0.0-rc.1", + "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1", "autoprefixer": "10.4.20", - "concurrently": "9.0.1", + "concurrently": "9.1.0", "eslint": "8.57.1", - "eslint-config-next": "14.2.16", + "eslint-config-next": "15.0.3", "eslint-config-prettier": "9.1.0", "eslint-config-typescript": "3.0.0", - "eslint-plugin-jest": "28.8.3", + "eslint-plugin-jest": "28.9.0", "eslint-plugin-jest-formatting": "3.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-testing-library": "6.4.0", "eslint-plugin-unicorn": "56.0.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "postcss": "8.4.47", + "postcss": "8.4.49", "prettier": "3.3.3", "prettier-plugin-tailwindcss": "0.6.8", - "slice-machine-ui": "2.10.0", - "tailwindcss": "3.4.14", + "slice-machine-ui": "2.10.2", + "tailwindcss": "3.4.15", "ts-node": "10.9.2" } }, @@ -834,6 +834,16 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@emnapi/runtime": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", + "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -1017,6 +1027,367 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -1628,74 +1999,25 @@ } }, "node_modules/@next/env": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.16.tgz", - "integrity": "sha512-fLrX5TfJzHCbnZ9YUSnGW63tMV3L4nSfhgOQ0iCcX21Pt+VSTDuaLsSuL8J/2XAiVA5AnzvXDpf6pMs60QxOag==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.0.3.tgz", + "integrity": "sha512-t9Xy32pjNOvVn2AS+Utt6VmyrshbpfUMhIjFO60gI58deSo/KgLOp31XZ4O+kY/Is8WAGYwA5gR7kOb1eORDBA==", "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.16.tgz", - "integrity": "sha512-noORwKUMkKc96MWjTOwrsUCjky0oFegHbeJ1yEnQBGbMHAaTEIgLZIIfsYF0x3a06PiS+2TXppfifR+O6VWslg==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "10.3.10" - } - }, - "node_modules/@next/eslint-plugin-next/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.0.3.tgz", + "integrity": "sha512-3Ln/nHq2V+v8uIaxCR6YfYo7ceRgZNXfTd3yW1ukTaFbO+/I8jNakrjYWODvG9BuR2v5kgVtH/C8r0i11quOgw==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@next/eslint-plugin-next/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@next/eslint-plugin-next/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "fast-glob": "3.3.1" } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.16.tgz", - "integrity": "sha512-uFT34QojYkf0+nn6MEZ4gIWQ5aqGF11uIZ1HSxG+cSbj+Mg3+tYm8qXYd3dKN5jqKUm5rBVvf1PBRO/MeQ6rxw==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.3.tgz", + "integrity": "sha512-s3Q/NOorCsLYdCKvQlWU+a+GeAd3C8Rb3L1YnetsgwXzhc3UTWrtQpB/3eCjFOdGUj5QmXfRak12uocd1ZiiQw==", "cpu": [ "arm64" ], @@ -1709,9 +2031,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.16.tgz", - "integrity": "sha512-mCecsFkYezem0QiZlg2bau3Xul77VxUD38b/auAjohMA22G9KTJneUYMv78vWoCCFkleFAhY1NIvbyjj1ncG9g==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.3.tgz", + "integrity": "sha512-Zxl/TwyXVZPCFSf0u2BNj5sE0F2uR6iSKxWpq4Wlk/Sv9Ob6YCKByQTkV2y6BCic+fkabp9190hyrDdPA/dNrw==", "cpu": [ "x64" ], @@ -1725,9 +2047,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.16.tgz", - "integrity": "sha512-yhkNA36+ECTC91KSyZcgWgKrYIyDnXZj8PqtJ+c2pMvj45xf7y/HrgI17hLdrcYamLfVt7pBaJUMxADtPaczHA==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.3.tgz", + "integrity": "sha512-T5+gg2EwpsY3OoaLxUIofmMb7ohAUlcNZW0fPQ6YAutaWJaxt1Z1h+8zdl4FRIOr5ABAAhXtBcpkZNwUcKI2fw==", "cpu": [ "arm64" ], @@ -1741,9 +2063,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.16.tgz", - "integrity": "sha512-X2YSyu5RMys8R2lA0yLMCOCtqFOoLxrq2YbazFvcPOE4i/isubYjkh+JCpRmqYfEuCVltvlo+oGfj/b5T2pKUA==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.3.tgz", + "integrity": "sha512-WkAk6R60mwDjH4lG/JBpb2xHl2/0Vj0ZRu1TIzWuOYfQ9tt9NFsIinI1Epma77JVgy81F32X/AeD+B2cBu/YQA==", "cpu": [ "arm64" ], @@ -1757,9 +2079,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.16.tgz", - "integrity": "sha512-9AGcX7VAkGbc5zTSa+bjQ757tkjr6C/pKS7OK8cX7QEiK6MHIIezBLcQ7gQqbDW2k5yaqba2aDtaBeyyZh1i6Q==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.3.tgz", + "integrity": "sha512-gWL/Cta1aPVqIGgDb6nxkqy06DkwJ9gAnKORdHWX1QBbSZZB+biFYPFti8aKIQL7otCE1pjyPaXpFzGeG2OS2w==", "cpu": [ "x64" ], @@ -1773,9 +2095,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.16.tgz", - "integrity": "sha512-Klgeagrdun4WWDaOizdbtIIm8khUDQJ/5cRzdpXHfkbY91LxBXeejL4kbZBrpR/nmgRrQvmz4l3OtttNVkz2Sg==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.3.tgz", + "integrity": "sha512-QQEMwFd8r7C0GxQS62Zcdy6GKx999I/rTO2ubdXEe+MlZk9ZiinsrjwoiBL5/57tfyjikgh6GOU2WRQVUej3UA==", "cpu": [ "x64" ], @@ -1789,9 +2111,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.16.tgz", - "integrity": "sha512-PwW8A1UC1Y0xIm83G3yFGPiOBftJK4zukTmk7DI1CebyMOoaVpd8aSy7K6GhobzhkjYvqS/QmzcfsWG2Dwizdg==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.3.tgz", + "integrity": "sha512-9TEp47AAd/ms9fPNgtgnT7F3M1Hf7koIYYWCMQ9neOwjbVWJsHZxrFbI3iEDJ8rf1TDGpmHbKxXf2IFpAvheIQ==", "cpu": [ "arm64" ], @@ -1804,26 +2126,10 @@ "node": ">= 10" } }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.16.tgz", - "integrity": "sha512-jhPl3nN0oKEshJBNDAo0etGMzv0j3q3VYorTSFqH1o3rwv1MQRdor27u1zhkgsHPNeY1jxcgyx1ZsCkDD1IHgg==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.16.tgz", - "integrity": "sha512-OA7NtfxgirCjfqt+02BqxC3MIgM/JaGjw9tOe4fyZgPsqfseNiMPnCRP44Pfs+Gpo9zPN+SXaFsgP6vk8d571A==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.3.tgz", + "integrity": "sha512-VNAz+HN4OGgvZs6MOoVfnn41kBzT+M+tB+OK4cww6DNyWS6wKaDpaAm/qLeOUbnMh0oVx1+mg0uoYARF69dJyA==", "cpu": [ "x64" ], @@ -1915,9 +2221,9 @@ } }, "node_modules/@prismicio/client": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@prismicio/client/-/client-7.11.0.tgz", - "integrity": "sha512-b5FtER97eFHH435hP4sRchtPYvrwa8v2Ye5IH3MhMp/6aH6kRSrr9fDA4+wkqF/ZK9aiJwJRkjdddgkwDFu9Vg==", + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@prismicio/client/-/client-7.12.0.tgz", + "integrity": "sha512-AgMROjKyj3imU64+NXk5b/3Ewp4YWIY0tS6rbjiYH0da6K45albbS8FH9w1+Fz7ksUVMai4aVeTm5AkWUF27Dg==", "license": "Apache-2.0", "dependencies": { "imgix-url-builder": "^0.0.5" @@ -1989,9 +2295,9 @@ } }, "node_modules/@prismicio/react": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@prismicio/react/-/react-2.9.0.tgz", - "integrity": "sha512-gkZJYzSpi58NWikzitebZY/ra8fBRaoPosQ8ZaianDy5/A+7F9xYyk674n/SNC37TS6UEswp5r+eRkdkFFiyrw==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@prismicio/react/-/react-2.9.1.tgz", + "integrity": "sha512-ea0tRi74Xt3Qg3cXDNtB3OlKnHXas4vh0zjiHXjho17wJ7sqExCXEOMypNi3phMlqVv2VGL5ual4A/fF+4M0MQ==", "license": "Apache-2.0", "dependencies": { "@prismicio/richtext": "^2.1.5" @@ -2021,139 +2327,62 @@ "integrity": "sha512-aBDwGghM8LqXOvdbJWJScBTpY8wuVl3CyCWFqiFwqC8l5SPrQtD2CwEVX0UCB0azPlisb7l7al5Wcg2nxQ6xrQ==", "dev": true, "dependencies": { - "@prismicio/client": "^7.1.0", - "@types/statuses": "^2.0.1", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">=14.15.0" - } - }, - "node_modules/@prismicio/types": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@prismicio/types/-/types-0.2.8.tgz", - "integrity": "sha512-EmuYYil56U+UtEifMD/9TmLzpWliV+X6kypwPq47GNXmIXyFK1JsP3z872fUziXwoBjd2YILj28DNdYXlLOpXg==", - "engines": { - "node": ">=12.7.0" - } - }, - "node_modules/@prismicio/types-internal": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@prismicio/types-internal/-/types-internal-2.8.0.tgz", - "integrity": "sha512-CkqBaKy0UcEgTJC37rqQlQUpbnEENcPR4XLlBQAdxOGLtFdgejE0cuZWea2DDrg0HUPxB+WQ+NmwhQYwTDhrkA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "monocle-ts": "^2.3.11", - "newtype-ts": "^0.3.5", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=12.7.0" - }, - "peerDependencies": { - "@types/uuid": "^9.0.2", - "fp-ts": "^2.11.8", - "io-ts": "^2.2.16", - "io-ts-types": "^0.5.16", - "uuid": "^9.0.0" - } - }, - "node_modules/@radix-ui/react-compose-refs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", - "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-primitive": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", - "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-slot": "1.0.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", - "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "@prismicio/client": "^7.1.0", + "@types/statuses": "^2.0.1", + "statuses": "^2.0.1" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "engines": { + "node": ">=14.15.0" } }, - "node_modules/@radix-ui/react-visually-hidden": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", - "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", + "node_modules/@prismicio/types": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@prismicio/types/-/types-0.2.8.tgz", + "integrity": "sha512-EmuYYil56U+UtEifMD/9TmLzpWliV+X6kypwPq47GNXmIXyFK1JsP3z872fUziXwoBjd2YILj28DNdYXlLOpXg==", + "engines": { + "node": ">=12.7.0" + } + }, + "node_modules/@prismicio/types-internal": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@prismicio/types-internal/-/types-internal-2.8.0.tgz", + "integrity": "sha512-CkqBaKy0UcEgTJC37rqQlQUpbnEENcPR4XLlBQAdxOGLtFdgejE0cuZWea2DDrg0HUPxB+WQ+NmwhQYwTDhrkA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" + "monocle-ts": "^2.3.11", + "newtype-ts": "^0.3.5", + "tslib": "^2.3.1" }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "engines": { + "node": ">=12.7.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "peerDependencies": { + "@types/uuid": "^9.0.2", + "fp-ts": "^2.11.8", + "io-ts": "^2.2.16", + "io-ts-types": "^0.5.16", + "uuid": "^9.0.0" } }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, "node_modules/@rushstack/eslint-patch": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz", - "integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==", - "dev": true + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "dev": true, + "license": "MIT" }, "node_modules/@scarf/scarf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.3.0.tgz", - "integrity": "sha512-lHKK8M5CTcpFj2hZDB3wIjb0KAbEOgDmiJGDv1WBRfQgRm/a8/XMEkG/N1iM01xgbUDsPQwi42D+dFo1XPAKew==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.4.0.tgz", + "integrity": "sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0" @@ -2270,15 +2499,15 @@ } }, "node_modules/@slicemachine/adapter-next": { - "version": "0.3.54", - "resolved": "https://registry.npmjs.org/@slicemachine/adapter-next/-/adapter-next-0.3.54.tgz", - "integrity": "sha512-DreXEYLCB80MXHtankELO/ej21CRAC9hJ1FJYJBq2+QyjsLa7qGq4jv5vHwc6T+oXfU/6XSa4wfCRtsEQiOuvA==", + "version": "0.3.56", + "resolved": "https://registry.npmjs.org/@slicemachine/adapter-next/-/adapter-next-0.3.56.tgz", + "integrity": "sha512-4pWftU8QBWK8EGIzkQ8H0vH/zSAVGO6yXfsVMk5j5Wzh3CEdac4DBljUIj3LFf0Rht0mSnli3CZAe/QXwMdyFQ==", "dev": true, "license": "Apache-2.0", "dependencies": { "@prismicio/simulator": "^0.1.4", "@prismicio/types-internal": "^2.8.0", - "@slicemachine/plugin-kit": "0.4.54", + "@slicemachine/plugin-kit": "0.4.56", "common-tags": "^1.8.2", "fp-ts": "^2.13.1", "io-ts": "^2.2.20", @@ -2297,9 +2526,9 @@ } }, "node_modules/@slicemachine/manager": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@slicemachine/manager/-/manager-0.22.0.tgz", - "integrity": "sha512-ZwRwwS/fh2kbFMEJwcWOwyid79eMjHr7nBjIjdSBVY77KpjdFE8IVrOGstnCBF66HLWMRZJtu+tmDmexYmB1yg==", + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/@slicemachine/manager/-/manager-0.22.2.tgz", + "integrity": "sha512-JWqeQOwjRAxa/cedi5UP82pLk4vMisKrmVzlzjndh3upNiaVn1lnrtFJujHcRY/q9LXHSDtZ8WXEOrqvii8wLw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2309,7 +2538,7 @@ "@prismicio/mocks": "^2.4.0", "@prismicio/types-internal": "^2.8.0", "@segment/analytics-node": "^2.1.2", - "@slicemachine/plugin-kit": "0.4.54", + "@slicemachine/plugin-kit": "0.4.56", "cookie": "^0.5.0", "cors": "^2.8.5", "execa": "^7.1.1", @@ -2385,9 +2614,9 @@ } }, "node_modules/@slicemachine/plugin-kit": { - "version": "0.4.54", - "resolved": "https://registry.npmjs.org/@slicemachine/plugin-kit/-/plugin-kit-0.4.54.tgz", - "integrity": "sha512-XSOsT2xpzF8qfndAx/gVh/jNTveCoq55s7cVnYgOCpCgOQPTSnwpUS/asTcTca+sUBPzlDR/fB6H67CP7tS/ZQ==", + "version": "0.4.56", + "resolved": "https://registry.npmjs.org/@slicemachine/plugin-kit/-/plugin-kit-0.4.56.tgz", + "integrity": "sha512-+VnVgD/YtLVcl/eXt0yDJg1UjWv01hhZOHI3S6+otHWoGVTyz085eF79vcCbqaKdCJh2aYWDdJB4TzN6uu+7MQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2439,14 +2668,15 @@ "node_modules/@swc/counter": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" }, "node_modules/@swc/helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", - "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz", + "integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==", + "license": "Apache-2.0", "dependencies": { - "@swc/counter": "^0.1.3", "tslib": "^2.4.0" } }, @@ -2459,37 +2689,10 @@ "tailwindcss": ">=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1" } }, - "node_modules/@testing-library/dom": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.1.0.tgz", - "integrity": "sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@testing-library/dom/node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true, - "peer": true - }, "node_modules/@testing-library/jest-dom": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.6.2.tgz", - "integrity": "sha512-P6GJD4yqc9jZLbe98j/EkyQDTPgqftohZF5FBkHY5BUERZmcf4HeO2k0XaefEg329ux2p21i1A1DmyQ1kKw2Jw==", + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.6.3.tgz", + "integrity": "sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==", "dev": true, "license": "MIT", "dependencies": { @@ -2600,13 +2803,6 @@ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true, - "peer": true - }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -2767,12 +2963,13 @@ "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { - "version": "22.8.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz", - "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==", + "version": "22.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", + "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2785,29 +2982,22 @@ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true }, - "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "devOptional": true - }, "node_modules/@types/react": { - "version": "18.3.12", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", - "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", - "devOptional": true, - "license": "MIT", + "name": "types-react", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/types-react/-/types-react-19.0.0-rc.1.tgz", + "integrity": "sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==", + "dev": true, "dependencies": { - "@types/prop-types": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", + "name": "types-react-dom", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/types-react-dom/-/types-react-dom-19.0.0-rc.1.tgz", + "integrity": "sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/react": "*" } @@ -2836,14 +3026,6 @@ "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true }, - "node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/@types/yargs": { "version": "17.0.32", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", @@ -3376,7 +3558,8 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/anymatch": { "version": "3.1.3", @@ -3413,13 +3596,17 @@ } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3433,15 +3620,17 @@ "license": "MIT" }, "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", "is-string": "^1.0.7" }, "engines": { @@ -3460,17 +3649,40 @@ "node": ">=8" } }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3516,30 +3728,36 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", - "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" }, "engines": { @@ -3550,19 +3768,11 @@ } }, "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true - }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - } + "license": "MIT" }, "node_modules/asynckit": { "version": "0.4.0", @@ -3607,10 +3817,14 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -3619,10 +3833,11 @@ } }, "node_modules/axe-core": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.2.tgz", - "integrity": "sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", + "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", "dev": true, + "license": "MPL-2.0", "engines": { "node": ">=4" } @@ -3639,12 +3854,13 @@ } }, "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", "dev": true, - "dependencies": { - "dequal": "^2.0.3" + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" } }, "node_modules/babel-jest": { @@ -3800,12 +4016,16 @@ } }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/body-parser": { @@ -4081,16 +4301,11 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4103,6 +4318,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -4112,6 +4330,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -4164,7 +4383,8 @@ "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" }, "node_modules/cliui": { "version": "8.0.1", @@ -4204,11 +4424,25 @@ "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, + "devOptional": true, "dependencies": { "color-name": "~1.1.4" }, @@ -4220,7 +4454,18 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "devOptional": true + }, + "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", + "optional": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } }, "node_modules/combined-stream": { "version": "1.0.8", @@ -4259,9 +4504,9 @@ "dev": true }, "node_modules/concurrently": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.0.1.tgz", - "integrity": "sha512-wYKvCd/f54sTXJMSfV6Ln/B8UrfLBKOYa+lzc6CHay3Qek+LorVSBdMVfyewFhRbH0Rbabsk4D+3PL/VjQ5gzg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.1.0.tgz", + "integrity": "sha512-VxkzwMAn4LP7WyMnJNbHN5mKV9L2IbyDjpzemKr99sXNR3GqRNMMHdm7prV1ws9wg7ETj6WUkNOigZVsptwbgg==", "dev": true, "license": "MIT", "dependencies": { @@ -4437,6 +4682,7 @@ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -4472,13 +4718,14 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "devOptional": true + "dev": true }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/data-uri-to-buffer": { "version": "4.0.1", @@ -4525,17 +4772,71 @@ "node": ">=12" } }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dev": true, + "license": "MIT", "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/debug": { @@ -4687,6 +4988,16 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -4828,7 +5139,8 @@ "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/encodeurl": { "version": "2.0.0", @@ -4875,50 +5187,58 @@ } }, "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "version": "1.23.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", "dev": true, + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", + "object-inspect": "^1.13.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -4951,36 +5271,55 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", - "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", "dev": true, + "license": "MIT", "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.0.1" + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.3", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -5118,25 +5457,25 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.16.tgz", - "integrity": "sha512-HOcnCJsyLXR7B8wmjaCgkTSpz+ijgOyAkP8OlvANvciP8PspBYFEBTmakNMxOf71fY0aKOm/blFIiKnrM4K03Q==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.0.3.tgz", + "integrity": "sha512-IGP2DdQQrgjcr4mwFPve4DrCqo7CVVez1WoYY47XwKSrYO4hC0Dlb+iJA60i0YfICOzgNADIb8r28BpQ5Zs0wg==", "dev": true, "license": "MIT", "dependencies": { - "@next/eslint-plugin-next": "14.2.16", - "@rushstack/eslint-patch": "^1.3.3", + "@next/eslint-plugin-next": "15.0.3", + "@rushstack/eslint-patch": "^1.10.3", "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.35.0", + "eslint-plugin-react-hooks": "^5.0.0" }, "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0", + "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", "typescript": ">=3.3.1" }, "peerDependenciesMeta": { @@ -5215,10 +5554,11 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -5241,34 +5581,37 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", - "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", "dev": true, + "license": "MIT", "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", "array.prototype.flat": "^1.3.2", "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, "node_modules/eslint-plugin-import/node_modules/debug": { @@ -5302,9 +5645,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "28.8.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.8.3.tgz", - "integrity": "sha512-HIQ3t9hASLKm2IhIOqnu+ifw7uLZkIlR7RYNv7fMcEi/p0CIiJmfriStQS2LDkgtY4nyLbIZAD+JL347Yc2ETQ==", + "version": "28.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.9.0.tgz", + "integrity": "sha512-rLu1s1Wf96TgUUxSw6loVIkNtUjq1Re7A9QdCCHSohnvXEBAjuL420h0T/fMmkQlNsQP2GhQzEUpYHPfxBkvYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5340,42 +5683,43 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" }, "engines": { "node": ">=4.0" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" } }, "node_modules/eslint-plugin-prettier": { @@ -5409,45 +5753,49 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", "dev": true, + "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", + "es-iterator-helpers": "^1.1.0", "estraverse": "^5.3.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", + "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", + "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "node_modules/eslint-plugin-react/node_modules/doctrine": { @@ -5455,6 +5803,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -5467,6 +5816,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -5484,6 +5834,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -6143,6 +6494,7 @@ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } @@ -6386,13 +6738,15 @@ } }, "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -6461,12 +6815,14 @@ } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, + "license": "MIT", "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -6510,7 +6866,8 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/graphemer": { "version": "1.4.0", @@ -6537,15 +6894,6 @@ "unenv": "^1.10.0" } }, - "node_modules/has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -6578,10 +6926,11 @@ } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6602,12 +6951,13 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -6617,10 +6967,11 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -6867,12 +7218,13 @@ "dev": true }, "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2", + "es-errors": "^1.3.0", "hasown": "^2.0.0", "side-channel": "^1.0.4" }, @@ -6936,14 +7288,17 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6960,6 +7315,7 @@ "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6987,6 +7343,7 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -7038,12 +7395,32 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7094,6 +7471,7 @@ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -7124,6 +7502,7 @@ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7147,19 +7526,24 @@ } }, "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7224,6 +7608,7 @@ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -7236,21 +7621,29 @@ } }, "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7300,12 +7693,13 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, + "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -7315,10 +7709,14 @@ } }, "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7336,13 +7734,17 @@ } }, "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7365,7 +7767,8 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", @@ -7452,30 +7855,31 @@ } }, "node_modules/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", "dev": true, + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", "reflect.getprototypeof": "^1.0.4", "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -8467,10 +8871,11 @@ } }, "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "dev": true, + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } @@ -8657,6 +9062,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -8682,6 +9088,7 @@ "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -8702,18 +9109,23 @@ } }, "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", - "dev": true + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" }, "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dev": true, + "license": "MIT", "dependencies": { - "language-subtag-registry": "~0.3.2" + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" } }, "node_modules/leven": { @@ -8743,6 +9155,7 @@ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } @@ -9006,6 +9419,7 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9050,6 +9464,7 @@ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -9098,41 +9513,42 @@ } }, "node_modules/next": { - "version": "14.2.16", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.16.tgz", - "integrity": "sha512-LcO7WnFu6lYSvCzZoo1dB+IO0xXz5uEv52HF1IUN0IqVTUIZGHuuR10I5efiLadGt+4oZqTcNZyVVEem/TM5nA==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/next/-/next-15.0.3.tgz", + "integrity": "sha512-ontCbCRKJUIoivAdGB34yCaOcPgYXr9AAkV/IwqFfWWTXEPUgLYkSkqBhIk9KK7gGmgjc64B+RdoeIDM13Irnw==", "license": "MIT", "dependencies": { - "@next/env": "14.2.16", - "@swc/helpers": "0.5.5", + "@next/env": "15.0.3", + "@swc/counter": "0.1.3", + "@swc/helpers": "0.5.13", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", - "graceful-fs": "^4.2.11", "postcss": "8.4.31", - "styled-jsx": "5.1.1" + "styled-jsx": "5.1.6" }, "bin": { "next": "dist/bin/next" }, "engines": { - "node": ">=18.17.0" + "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.16", - "@next/swc-darwin-x64": "14.2.16", - "@next/swc-linux-arm64-gnu": "14.2.16", - "@next/swc-linux-arm64-musl": "14.2.16", - "@next/swc-linux-x64-gnu": "14.2.16", - "@next/swc-linux-x64-musl": "14.2.16", - "@next/swc-win32-arm64-msvc": "14.2.16", - "@next/swc-win32-ia32-msvc": "14.2.16", - "@next/swc-win32-x64-msvc": "14.2.16" + "@next/swc-darwin-arm64": "15.0.3", + "@next/swc-darwin-x64": "15.0.3", + "@next/swc-linux-arm64-gnu": "15.0.3", + "@next/swc-linux-arm64-musl": "15.0.3", + "@next/swc-linux-x64-gnu": "15.0.3", + "@next/swc-linux-x64-musl": "15.0.3", + "@next/swc-win32-arm64-msvc": "15.0.3", + "@next/swc-win32-x64-msvc": "15.0.3", + "sharp": "^0.33.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.41.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-66855b96-20241106", + "react-dom": "^18.2.0 || 19.0.0-rc-66855b96-20241106", "sass": "^1.3.0" }, "peerDependenciesMeta": { @@ -9142,6 +9558,9 @@ "@playwright/test": { "optional": true }, + "babel-plugin-react-compiler": { + "optional": true + }, "sass": { "optional": true } @@ -9349,10 +9768,14 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9367,13 +9790,14 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -9385,28 +9809,31 @@ } }, "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -9415,40 +9842,31 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" - } - }, - "node_modules/object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, + "license": "MIT", "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.4" } }, "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -9576,6 +9994,13 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -9714,9 +10139,9 @@ } }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "license": "ISC" }, "node_modules/picomatch": { @@ -9822,10 +10247,20 @@ "node": ">=4" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "dev": true, "funding": [ { @@ -9844,7 +10279,7 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -9888,21 +10323,28 @@ } }, "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" }, "engines": { "node": ">= 14" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": ">=8.0.9", "ts-node": ">=9.0.0" @@ -9916,30 +10358,51 @@ } } }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.11" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": ">=12.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": "^8.2.14" } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -10069,41 +10532,6 @@ } } }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "peer": true - }, "node_modules/prismic-ts-codegen": { "version": "0.1.22", "resolved": "https://registry.npmjs.org/prismic-ts-codegen/-/prismic-ts-codegen-0.1.22.tgz", @@ -10336,26 +10764,24 @@ } }, "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, + "version": "19.0.0-rc-66855b96-20241106", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0-rc-66855b96-20241106.tgz", + "integrity": "sha512-klH7xkT71SxRCx4hb1hly5FJB21Hz0ACyxbXYAECEqssUjtJeFUAaI2U1DgJAzkGEnvEm3DkxuBchMC/9K4ipg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "version": "19.0.0-rc-66855b96-20241106", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0-rc-66855b96-20241106.tgz", + "integrity": "sha512-D25vdaytZ1wFIRiwNU98NPQ/upS2P8Co4/oNoa02PzHbh8deWdepjm5qwZM/46OdSiGv4WSWwxP55RO9obqJEQ==", + "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" + "scheduler": "0.25.0-rc-66855b96-20241106" }, "peerDependencies": { - "react": "^18.3.1" + "react": "19.0.0-rc-66855b96-20241106" } }, "node_modules/react-is": { @@ -10511,6 +10937,7 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -10532,15 +10959,17 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", - "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", "which-builtin-type": "^1.1.3" }, @@ -10567,14 +10996,16 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -10742,13 +11173,14 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -10781,15 +11213,19 @@ "license": "MIT" }, "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10813,18 +11249,16 @@ } }, "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "dependencies": { - "loose-envify": "^1.1.0" - } + "version": "0.25.0-rc-66855b96-20241106", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0-rc-66855b96-20241106.tgz", + "integrity": "sha512-HQXp/Mnp/MMRSXMQF7urNFla+gmtXW/Gr1KliuR0iboTit4KvZRY8KYaq5ccCTAOJiUqQh2rE2F3wgUekmgdlA==", + "license": "MIT" }, "node_modules/semver": { "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" @@ -10927,14 +11361,16 @@ } }, "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, + "license": "MIT", "dependencies": { - "define-data-property": "^1.0.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10947,6 +11383,46 @@ "dev": true, "license": "ISC" }, + "node_modules/sharp": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -10977,62 +11453,168 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "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", + "optional": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/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", + "optional": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-machine-ui": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/slice-machine-ui/-/slice-machine-ui-2.10.2.tgz", + "integrity": "sha512-PjKUtji9eiLFh9egYwn47Ad8ECtn1soED12X3WLrzFRK5kwmwozs/M9ttCxnGJq3S3YDjE1zURk0+hADHaZ1VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@radix-ui/react-visually-hidden": "1.0.3", + "@slicemachine/manager": "0.22.2", + "start-slicemachine": "0.12.36" + }, + "bin": { + "start-slicemachine": "bin/start-slicemachine.cjs" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/slice-machine-ui/node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/slice-machine-ui/node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/slice-machine-ui/node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/slice-machine-ui": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/slice-machine-ui/-/slice-machine-ui-2.10.0.tgz", - "integrity": "sha512-jTyfy/tHVccoDG0oPBL8wfAv1ZpG9D8dh0rVRki8zcQg/X+CQCUQhqJpzWQLpCiYKjqjkSWcc21eA4j1gtIQgw==", + "node_modules/slice-machine-ui/node_modules/@radix-ui/react-visually-hidden": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", "dev": true, "license": "MIT", "dependencies": { - "@radix-ui/react-visually-hidden": "1.0.3", - "@slicemachine/manager": "0.22.0", - "start-slicemachine": "0.12.34" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" }, - "bin": { - "start-slicemachine": "bin/start-slicemachine.cjs" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, - "engines": { - "node": ">=14" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/source-map": { @@ -11123,15 +11705,15 @@ } }, "node_modules/start-slicemachine": { - "version": "0.12.34", - "resolved": "https://registry.npmjs.org/start-slicemachine/-/start-slicemachine-0.12.34.tgz", - "integrity": "sha512-NJ6cDUzVPoHve04V7IauPv+BPubds0/ehejEqsw8LAaifnHn87WlOnKPgSlRhCPJ98BbC/YZbk5fIq/T/Es23A==", + "version": "0.12.36", + "resolved": "https://registry.npmjs.org/start-slicemachine/-/start-slicemachine-0.12.36.tgz", + "integrity": "sha512-zSWiyxdYZnTT5IUeaH1ibuYxQDry0+pNVg0GdygAmnzLMz6tQ18awPZEnDIcjDFkbETF0YoWkos7vMBeoxNdeA==", "dev": true, "license": "Apache-2.0", "dependencies": { "@prismicio/mocks": "^2.4.0", "@prismicio/types-internal": "^2.8.0", - "@slicemachine/manager": "0.22.0", + "@slicemachine/manager": "0.22.2", "body-parser": "^1.20.3", "chalk": "^4.1.2", "cors": "^2.8.5", @@ -11237,35 +11819,70 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/string.prototype.matchall": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", - "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -11275,28 +11892,33 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11333,6 +11955,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -11393,9 +12016,10 @@ } }, "node_modules/styled-jsx": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", - "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", "dependencies": { "client-only": "0.0.1" }, @@ -11403,7 +12027,7 @@ "node": ">= 12.0.0" }, "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" }, "peerDependenciesMeta": { "@babel/core": { @@ -11415,14 +12039,15 @@ } }, "node_modules/sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "7.1.6", + "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", @@ -11433,7 +12058,17 @@ "sucrase-node": "bin/sucrase-node" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/sucrase/node_modules/commander": { @@ -11441,25 +12076,43 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -11534,34 +12187,34 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz", - "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.15.tgz", + "integrity": "sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==", "dev": true, "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", - "chokidar": "^3.5.3", + "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.21.0", + "jiti": "^1.21.6", "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", @@ -11571,6 +12224,36 @@ "node": ">=14.0.0" } }, + "node_modules/tailwindcss/node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/tailwindcss/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -11605,6 +12288,7 @@ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -11614,6 +12298,7 @@ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -11732,7 +12417,8 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/ts-node": { "version": "10.9.2", @@ -11793,10 +12479,11 @@ } }, "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -11878,29 +12565,32 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -11910,16 +12600,18 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, + "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -11929,14 +12621,21 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -12093,17 +12792,6 @@ "requires-port": "^1.0.0" } }, - "node_modules/use-sync-external-store": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", - "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", - "license": "MIT", - "optional": true, - "peer": true, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -12288,13 +12976,14 @@ } }, "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", "dev": true, + "license": "MIT", "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", "is-finalizationregistry": "^1.0.2", @@ -12303,8 +12992,8 @@ "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -12314,31 +13003,36 @@ } }, "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, + "license": "MIT", "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, + "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -12448,10 +13142,14 @@ } }, "node_modules/yaml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", - "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", + "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" } @@ -12505,9 +13203,9 @@ } }, "node_modules/zustand": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.0.tgz", - "integrity": "sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.1.tgz", + "integrity": "sha512-pRET7Lao2z+n5R/HduXMio35TncTlSW68WsYBq2Lg1ASspsNGjpwLAsij3RpouyV6+kHMwwwzP0bZPD70/Jx/w==", "license": "MIT", "engines": { "node": ">=12.20.0" diff --git a/package.json b/package.json index 97c7f2a..e490c3e 100644 --- a/package.json +++ b/package.json @@ -24,45 +24,49 @@ "@fortawesome/pro-light-svg-icons": "6.6.0", "@fortawesome/pro-solid-svg-icons": "6.6.0", "@fortawesome/react-fontawesome": "0.2.2", - "@prismicio/client": "7.11.0", + "@prismicio/client": "7.12.0", "@prismicio/next": "1.7.1", - "@prismicio/react": "2.9.0", + "@prismicio/react": "2.9.1", "clsx": "2.1.1", - "next": "14.2.16", + "next": "15.0.3", "node-mailjet": "6.0.6", - "react": "18.3.1", - "react-dom": "18.3.1", + "react": "19.0.0-rc-66855b96-20241106", + "react-dom": "19.0.0-rc-66855b96-20241106", "swiper": "11.1.14", "typescript": "5.6.3", - "zustand": "5.0.0" + "zustand": "5.0.1" }, "devDependencies": { - "@slicemachine/adapter-next": "0.3.54", + "@slicemachine/adapter-next": "0.3.56", "@tailwindcss/aspect-ratio": "0.4.2", - "@testing-library/jest-dom": "6.6.2", + "@testing-library/jest-dom": "6.6.3", "@testing-library/react": "16.0.1", "@types/jest": "29.5.14", - "@types/node": "22.8.2", - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", + "@types/node": "22.9.0", + "@types/react": "npm:types-react@19.0.0-rc.1", + "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1", "autoprefixer": "10.4.20", - "concurrently": "9.0.1", + "concurrently": "9.1.0", "eslint": "8.57.1", - "eslint-config-next": "14.2.16", + "eslint-config-next": "15.0.3", "eslint-config-prettier": "9.1.0", "eslint-config-typescript": "3.0.0", - "eslint-plugin-jest": "28.8.3", + "eslint-plugin-jest": "28.9.0", "eslint-plugin-jest-formatting": "3.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-testing-library": "6.4.0", "eslint-plugin-unicorn": "56.0.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "postcss": "8.4.47", + "postcss": "8.4.49", "prettier": "3.3.3", "prettier-plugin-tailwindcss": "0.6.8", - "slice-machine-ui": "2.10.0", - "tailwindcss": "3.4.14", + "slice-machine-ui": "2.10.2", + "tailwindcss": "3.4.15", "ts-node": "10.9.2" + }, + "overrides": { + "@types/react": "npm:types-react@19.0.0-rc.1", + "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1" } } diff --git a/src/app/[uid]/page.tsx b/src/app/[uid]/page.tsx index d5115e8..599e467 100644 --- a/src/app/[uid]/page.tsx +++ b/src/app/[uid]/page.tsx @@ -10,7 +10,8 @@ import { METADATA_BASE } from '@/utils/constants'; type Params = { uid: string }; type Props = { params: Params }; -export async function generateMetadata({ params }: Props): Promise { +export async function generateMetadata(props: Props): Promise { + const params = await props.params; const client = createClient(); const page = await client.getByUID('page', params.uid).catch(notFound); const settings = await client.getSingle('settings'); @@ -38,7 +39,8 @@ export async function generateMetadata({ params }: Props): Promise { }; } -export default async function Page({ params }: Props) { +export default async function Page(props: Props) { + const params = await props.params; const client = createClient(); const page = await client.getByUID('page', params.uid).catch(notFound); diff --git a/src/components/Skills.tsx b/src/components/Skills.tsx index 784aa63..ad59f59 100644 --- a/src/components/Skills.tsx +++ b/src/components/Skills.tsx @@ -1,4 +1,4 @@ -import { cloneElement } from 'react'; +import { cloneElement, type JSX } from 'react'; import { Card } from './layout/Card'; import { Heading } from './typography/Heading'; diff --git a/src/components/forms/ContactForm.tsx b/src/components/forms/ContactForm.tsx index 0fb144a..8e5d67c 100644 --- a/src/components/forms/ContactForm.tsx +++ b/src/components/forms/ContactForm.tsx @@ -1,10 +1,10 @@ 'use client'; -import { HTMLInputTypeAttribute } from 'react'; +import { HTMLInputTypeAttribute, useActionState } from 'react'; import { faSpinner } from '@fortawesome/pro-solid-svg-icons'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { useFormState, useFormStatus } from 'react-dom'; +import { useFormStatus } from 'react-dom'; import { sendMessage } from '@/app/contact/actions'; import { ContactFormFields, ContactFormState } from '@/app/contact/types'; @@ -106,7 +106,7 @@ const CONTACT_FORM_FIELDS: ContactFormFieldConfig[] = [ ]; export function ContactForm() { - const [state, formAction] = useFormState(sendMessage, initialState); + const [state, formAction] = useActionState(sendMessage, initialState); return ( diff --git a/src/components/forms/Input.tsx b/src/components/forms/Input.tsx index bc7e543..a0ec823 100644 --- a/src/components/forms/Input.tsx +++ b/src/components/forms/Input.tsx @@ -1,3 +1,4 @@ +import type { JSX } from 'react'; type InputProps = JSX.IntrinsicElements['input']; type TextAreaProps = JSX.IntrinsicElements['textarea'] & { isTextArea: true }; diff --git a/src/components/forms/Label.tsx b/src/components/forms/Label.tsx index 932f80f..982aadb 100644 --- a/src/components/forms/Label.tsx +++ b/src/components/forms/Label.tsx @@ -1,3 +1,4 @@ +import type { JSX } from 'react'; export function Label(props: JSX.IntrinsicElements['label']) { return
- {children} -