From 10dc3a1fa0f00ac16eb9337968e582c6aa86a197 Mon Sep 17 00:00:00 2001 From: Mikel Matticoli Date: Wed, 21 Jan 2026 22:21:53 -0500 Subject: [PATCH 1/4] fix: Update to Tailwind CSS v4 and React 19 compatibility - Upgraded tailwindcss to v4.1.18 and added @tailwindcss/postcss plugin - Fixed Tailwind v4 configuration with proper content paths and CSS import syntax - Replaced react-typing-effect with custom React hook-based typing animation (React 19 compatible) - Fixed Button component Link usage for React 19 compatibility - Fixed Nav component layout for proper desktop alignment with logo and nav buttons on one line - Fixed iconMap in project pages to use function references instead of direct JSX elements - Removed non-existent script references from contact.html that were causing 404 errors - Updated PostCSS config to use @tailwindcss/postcss plugin - Fixed component barrel exports to use named re-exports instead of default object export --- src/components/button.tsx | 15 +- src/components/hi.tsx | 32 +- src/components/index.tsx | 19 +- src/components/nav.tsx | 41 +- src/package-lock.json | 3024 +++++++++++++---------------- src/package.json | 23 +- src/pages/index.tsx | 2 - src/pages/projects/[slug].tsx | 18 +- src/postcss.config.js | 3 +- src/public/assets/denfaminico.jpg | Bin 0 -> 57715 bytes src/public/contact.html | 2 +- src/styles/globals.css | 31 +- src/tailwind.config.js | 5 +- src/tsconfig.json | 18 +- 14 files changed, 1494 insertions(+), 1739 deletions(-) create mode 100644 src/public/assets/denfaminico.jpg diff --git a/src/components/button.tsx b/src/components/button.tsx index ecba63d..a7e2583 100644 --- a/src/components/button.tsx +++ b/src/components/button.tsx @@ -2,12 +2,13 @@ import Link from 'next/link'; export default function Button(props: any) { const className = props.className; - const upProps = {...props, className: undefined} - - const button = <> - - - return props.href ? {button} : <>{button}; + ); + + return href ? {buttonElement} : buttonElement; } \ No newline at end of file diff --git a/src/components/hi.tsx b/src/components/hi.tsx index 50a33d5..2708798 100644 --- a/src/components/hi.tsx +++ b/src/components/hi.tsx @@ -1,15 +1,35 @@ -import ReactTypingEffect from 'react-typing-effect'; +import { useState, useEffect } from 'react'; export default function Hi({className}: any) { + const [displayText, setDisplayText] = useState('👋 Hi!'); + + useEffect(() => { + const fullText = "I'm Mikel"; + let currentIndex = 0; + let isTyping = true; + + const interval = setInterval(() => { + if (isTyping) { + if (currentIndex < fullText.length) { + setDisplayText(fullText.slice(0, currentIndex + 1)); + currentIndex++; + } else { + // Wait 45 seconds then erase + setTimeout(() => { + isTyping = false; + }, 45000); + } + } + }, 100); + + return () => clearInterval(interval); + }, []); + return <>

- + {displayText}_

diff --git a/src/components/index.tsx b/src/components/index.tsx index a1d5d19..42f7040 100644 --- a/src/components/index.tsx +++ b/src/components/index.tsx @@ -1,10 +1,9 @@ -import Badge from './badge' -import Button from './button' -import { CardInner, CardOuter } from './card' -import ContactPopup from './contact-popup' -import Elec from './elec' -import Fireflies from './fireflies' -import Nav from './nav' -import ProjectTile from './project-tile' - -export default { Badge, Button, CardInner, CardOuter, ContactPopup, Elec, Fireflies, Nav, ProjectTile }; \ No newline at end of file +// Re-export components for convenience +export { default as Badge } from './badge' +export { default as Button } from './button' +export { CardInner, CardOuter } from './card' +export { default as ContactPopup } from './contact-popup' +export { default as Elec } from './elec' +export { default as Fireflies } from './fireflies' +export { default as Nav } from './nav' +export { default as ProjectTile } from './project-tile' \ No newline at end of file diff --git a/src/components/nav.tsx b/src/components/nav.tsx index a3f1f23..1c07679 100644 --- a/src/components/nav.tsx +++ b/src/components/nav.tsx @@ -15,29 +15,36 @@ export default function Nav(props: any) { return <>
+ className={(props.sticky ? "sticky lg:hidden " : "hidden lg:flex lg:sticky ") + "top-0 z-20 w-full flex-row backdrop-blur-sm border-[#121212] border-b-[1px] bg-black/80 p-4 lg:pl-20 lg:pr-20 items-center"}> {!props.sticky && <> - -
-

- Mikel Matticoli -

-

- {'Full Stack Engineer • UX Designer'} -

+ +
+
+

+ Mikel Matticoli +

+

+ {'Full Stack Engineer • UX Designer'} +

+
} -
- - - Home +
+ +
+ Home +
- - About + +
+ About +
- - Projects + +
+ Projects +
diff --git a/src/package-lock.json b/src/package-lock.json index 57dd225..89b9960 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -6,22 +6,23 @@ "": { "dependencies": { "gray-matter": "^4.0.3", - "next": "^14.2.10", - "react": "18.2.0", - "react-dom": "18.2.0", - "react-icons": "^4.11.0", + "next": "^16.1.4", + "react": "19.2.3", + "react-dom": "19.2.3", + "react-icons": "^5.5.0", "react-typing-effect": "^2.0.5", "remark": "^15.0.1", "remark-html": "^16.0.1", - "swiper": "^10.3.1" + "swiper": "^12.0.3" }, "devDependencies": { - "@types/node": "20.8.7", - "@types/react": "18.2.31", - "@types/react-dom": "18.2.14", - "autoprefixer": "^10.4.16", - "tailwindcss": "^3.3.3", - "typescript": "5.2.2" + "@tailwindcss/postcss": "^4.1.18", + "@types/node": "25.0.10", + "@types/react": "19.2.9", + "@types/react-dom": "19.2.3", + "autoprefixer": "^10.4.23", + "tailwindcss": "^4.1.18", + "typescript": "5.9.3" } }, "node_modules/@alloc/quick-lru": { @@ -37,53 +38,508 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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", + "node_modules/@emnapi/runtime": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "license": "MIT", + "optional": true, "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "tslib": "^2.4.0" + } + }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "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.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=12" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "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.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "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.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "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.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "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.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "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-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "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-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "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.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "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.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "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.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "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.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "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-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "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.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "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/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.0.0" + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, "license": "MIT", "engines": { @@ -91,16 +547,16 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, "license": "MIT", "dependencies": { @@ -109,15 +565,15 @@ } }, "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": "16.1.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.4.tgz", + "integrity": "sha512-gkrXnZyxPUy0Gg6SrPQPccbNVLSP3vmW8LU5dwEttEEC1RwDivk8w4O+sZIjFvPrSICXyhQDCG+y3VmjlJf+9A==", "license": "MIT" }, "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": "16.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.4.tgz", + "integrity": "sha512-T8atLKuvk13XQUdVLCv1ZzMPgLPW0+DWWbHSQXs0/3TjPrKNxTmUIhOEaoEyl3Z82k8h/gEtqyuoZGv6+Ugawg==", "cpu": [ "arm64" ], @@ -131,9 +587,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": "16.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.4.tgz", + "integrity": "sha512-AKC/qVjUGUQDSPI6gESTx0xOnOPQ5gttogNS3o6bA83yiaSZJek0Am5yXy82F1KcZCx3DdOwdGPZpQCluonuxg==", "cpu": [ "x64" ], @@ -147,9 +603,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": "16.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.4.tgz", + "integrity": "sha512-POQ65+pnYOkZNdngWfMEt7r53bzWiKkVNbjpmCt1Zb3V6lxJNXSsjwRuTQ8P/kguxDC8LRkqaL3vvsFrce4dMQ==", "cpu": [ "arm64" ], @@ -163,9 +619,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": "16.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.4.tgz", + "integrity": "sha512-3Wm0zGYVCs6qDFAiSSDL+Z+r46EdtCv/2l+UlIdMbAq9hPJBvGu/rZOeuvCaIUjbArkmXac8HnTyQPJFzFWA0Q==", "cpu": [ "arm64" ], @@ -179,9 +635,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": "16.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.4.tgz", + "integrity": "sha512-lWAYAezFinaJiD5Gv8HDidtsZdT3CDaCeqoPoJjeB57OqzvMajpIhlZFce5sCAH6VuX4mdkxCRqecCJFwfm2nQ==", "cpu": [ "x64" ], @@ -195,9 +651,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": "16.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.4.tgz", + "integrity": "sha512-fHaIpT7x4gA6VQbdEpYUXRGyge/YbRrkG6DXM60XiBqDM2g2NcrsQaIuj375egnGFkJow4RHacgBOEsHfGbiUw==", "cpu": [ "x64" ], @@ -211,9 +667,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": "16.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.4.tgz", + "integrity": "sha512-MCrXxrTSE7jPN1NyXJr39E+aNFBrQZtO154LoCz7n99FuKqJDekgxipoodLNWdQP7/DZ5tKMc/efybx1l159hw==", "cpu": [ "arm64" ], @@ -226,12 +682,12 @@ "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==", + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.4.tgz", + "integrity": "sha512-JSVlm9MDhmTXw/sO2PE/MRj+G6XOSMZB+BcZ0a7d6KwVFZVpkHcb2okyoYFBaco6LeiL53BBklRlOrDDbOeE5w==", "cpu": [ - "ia32" + "x64" ], "license": "MIT", "optional": true, @@ -242,85 +698,284 @@ "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==", + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", + "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", + "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-x64": "4.1.18", + "@tailwindcss/oxide-freebsd-x64": "4.1.18", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", + "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ - "win32" + "darwin" ], "engines": { "node": ">= 10" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 8" + "node": ">= 10" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.0", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 8" + "node": ">= 10" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14" + "node": ">= 10" } }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "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==", - "license": "Apache-2.0", + "node_modules/@tailwindcss/postcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.18.tgz", + "integrity": "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==", + "dev": true, + "license": "MIT", "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.1.18", + "@tailwindcss/oxide": "4.1.18", + "postcss": "^8.4.41", + "tailwindcss": "4.1.18" } }, "node_modules/@types/debug": { @@ -351,57 +1006,41 @@ } }, "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", "license": "MIT" }, "node_modules/@types/node": { - "version": "20.8.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz", - "integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==", + "version": "25.0.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.10.tgz", + "integrity": "sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~5.25.1" + "undici-types": "~7.16.0" } }, - "node_modules/@types/prop-types": { - "version": "15.7.13", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", - "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/react": { - "version": "18.2.31", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.31.tgz", - "integrity": "sha512-c2UnPv548q+5DFh03y8lEDeMfDwBn9G3dRwfkrxQMo/dOtRHUUO57k6pHvBIfH/VF4Nh+98mZ5aaSe+2echD5g==", + "version": "19.2.9", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.9.tgz", + "integrity": "sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA==", "dev": true, "license": "MIT", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "csstype": "^3.2.2" } }, "node_modules/@types/react-dom": { - "version": "18.2.14", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", - "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", "dev": true, "license": "MIT", - "dependencies": { - "@types/react": "*" + "peerDependencies": { + "@types/react": "^19.2.0" } }, - "node_modules/@types/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", @@ -409,64 +1048,10 @@ "license": "MIT" }, "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "license": "ISC" - }, - "node_modules/ansi-regex": { - "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" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "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" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true, - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" }, "node_modules/argparse": { "version": "1.0.10", @@ -478,9 +1063,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "version": "10.4.23", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", + "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==", "dev": true, "funding": [ { @@ -498,11 +1083,10 @@ ], "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001760", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -525,53 +1109,19 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/binary-extensions": { - "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/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/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" + "node_modules/baseline-browser-mapping": { + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.17.tgz", + "integrity": "sha512-agD0MgJFUP/4nvjqzIB29zRPUuCF7Ge6mEv9s8dHrtYD7QWXRcx75rOADE/d5ah1NI+0vkDl0yorDd5U852IQQ==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" } }, "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -589,10 +1139,11 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.1" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -601,31 +1152,10 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/caniuse-lite": { - "version": "1.0.30001669", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", - "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", + "version": "1.0.30001765", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001765.tgz", + "integrity": "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==", "funding": [ { "type": "opencollective", @@ -682,70 +1212,12 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/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/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "license": "MIT" }, - "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, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "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, - "license": "MIT" - }, "node_modules/comma-separated-tokens": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", @@ -756,55 +1228,17 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/commander": { - "version": "4.1.1", - "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/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "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" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "dev": true, "license": "MIT" }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -819,9 +1253,9 @@ } }, "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", "license": "MIT", "dependencies": { "character-entities": "^2.0.0" @@ -840,6 +1274,16 @@ "node": ">=6" } }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/devlop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", @@ -853,40 +1297,26 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, "node_modules/electron-to-chromium": { - "version": "1.5.42", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.42.tgz", - "integrity": "sha512-gIfKavKDw1mhvic9nbzA5lZw8QSHpdMwLwXc0cWidQz9B15pDoDdDH4boIatuFfeoCatb3a/NGL6CYRVFxGZ9g==", + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", "dev": true, "license": "ISC" }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "node_modules/enhanced-resolve": { + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } }, "node_modules/escalade": { "version": "3.2.0", @@ -908,174 +1338,46 @@ "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=4" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/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/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child": { - "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" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/glob": { - "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", + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", "dependencies": { - "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" + "is-extendable": "^0.1.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, + "license": "MIT", "engines": { - "node": ">=10.13.0" + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" } }, "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==", + "dev": true, "license": "ISC" }, "node_modules/gray-matter": { @@ -1093,27 +1395,14 @@ "node": ">=6.0" } }, - "node_modules/hasown": { - "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" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/hast-util-sanitize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-5.0.1.tgz", - "integrity": "sha512-IGrgWLuip4O2nq5CugXy4GI2V8kx4sFVy5Hd4vF7AR2gxS0N9s7nEAVUyeMtZKZvzrxVsHt73XdTsno1tClIkQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz", + "integrity": "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==", "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", - "@ungap/structured-clone": "^1.2.0", + "@ungap/structured-clone": "^1.0.0", "unist-util-position": "^5.0.0" }, "funding": { @@ -1122,9 +1411,9 @@ } }, "node_modules/hast-util-to-html": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz", - "integrity": "sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", @@ -1134,7 +1423,7 @@ "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", - "property-information": "^6.0.0", + "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" @@ -1167,35 +1456,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "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.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -1205,49 +1465,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", @@ -1260,37 +1477,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/jackspeak": { - "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" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/jiti": { - "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", "dev": true, "license": "MIT", "bin": { - "jiti": "bin/jiti.js" + "jiti": "lib/jiti-cli.mjs" } }, "node_modules/js-tokens": { @@ -1300,9 +1494,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "license": "MIT", "dependencies": { "argparse": "^1.0.7", @@ -1321,22 +1515,266 @@ "node": ">=0.10.0" } }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", "dev": true, - "license": "MIT", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, "engines": { - "node": ">=10" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } }, "node_modules/longest-streak": { "version": "3.1.0", @@ -1360,17 +1798,20 @@ "loose-envify": "cli.js" } }, - "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==", + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } }, "node_modules/mdast-util-from-markdown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz", - "integrity": "sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", @@ -1406,9 +1847,9 @@ } }, "node_modules/mdast-util-to-hast": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", - "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", @@ -1427,9 +1868,9 @@ } }, "node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", @@ -1437,6 +1878,7 @@ "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" @@ -1459,20 +1901,10 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, "node_modules/micromark": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", - "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", "funding": [ { "type": "GitHub Sponsors", @@ -1505,9 +1937,9 @@ } }, "node_modules/micromark-core-commonmark": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", - "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", "funding": [ { "type": "GitHub Sponsors", @@ -1539,9 +1971,9 @@ } }, "node_modules/micromark-factory-destination": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", - "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", "funding": [ { "type": "GitHub Sponsors", @@ -1560,9 +1992,9 @@ } }, "node_modules/micromark-factory-label": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", - "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", "funding": [ { "type": "GitHub Sponsors", @@ -1582,9 +2014,9 @@ } }, "node_modules/micromark-factory-space": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", "funding": [ { "type": "GitHub Sponsors", @@ -1602,9 +2034,9 @@ } }, "node_modules/micromark-factory-title": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", - "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", "funding": [ { "type": "GitHub Sponsors", @@ -1624,9 +2056,9 @@ } }, "node_modules/micromark-factory-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", - "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", "funding": [ { "type": "GitHub Sponsors", @@ -1646,9 +2078,9 @@ } }, "node_modules/micromark-util-character": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", - "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", "funding": [ { "type": "GitHub Sponsors", @@ -1666,9 +2098,9 @@ } }, "node_modules/micromark-util-chunked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", - "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", "funding": [ { "type": "GitHub Sponsors", @@ -1685,9 +2117,9 @@ } }, "node_modules/micromark-util-classify-character": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", - "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", "funding": [ { "type": "GitHub Sponsors", @@ -1706,9 +2138,9 @@ } }, "node_modules/micromark-util-combine-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", - "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", "funding": [ { "type": "GitHub Sponsors", @@ -1726,9 +2158,9 @@ } }, "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", - "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", "funding": [ { "type": "GitHub Sponsors", @@ -1745,9 +2177,9 @@ } }, "node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", "funding": [ { "type": "GitHub Sponsors", @@ -1767,9 +2199,9 @@ } }, "node_modules/micromark-util-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", - "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", "funding": [ { "type": "GitHub Sponsors", @@ -1783,9 +2215,9 @@ "license": "MIT" }, "node_modules/micromark-util-html-tag-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", - "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", "funding": [ { "type": "GitHub Sponsors", @@ -1799,9 +2231,9 @@ "license": "MIT" }, "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", - "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", "funding": [ { "type": "GitHub Sponsors", @@ -1818,9 +2250,9 @@ } }, "node_modules/micromark-util-resolve-all": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", - "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", "funding": [ { "type": "GitHub Sponsors", @@ -1837,9 +2269,9 @@ } }, "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", - "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", "funding": [ { "type": "GitHub Sponsors", @@ -1858,9 +2290,9 @@ } }, "node_modules/micromark-util-subtokenize": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", - "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", "funding": [ { "type": "GitHub Sponsors", @@ -1880,9 +2312,9 @@ } }, "node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", "funding": [ { "type": "GitHub Sponsors", @@ -1896,9 +2328,9 @@ "license": "MIT" }, "node_modules/micromark-util-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", - "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", "funding": [ { "type": "GitHub Sponsors", @@ -1911,68 +2343,16 @@ ], "license": "MIT" }, - "node_modules/micromatch": { - "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.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "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" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "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" - } - }, "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==", "license": "MIT" }, - "node_modules/mz": { - "version": "2.7.0", - "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", - "thenify-all": "^1.0.0" - } - }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", @@ -1988,41 +2368,41 @@ } }, "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": "16.1.4", + "resolved": "https://registry.npmjs.org/next/-/next-16.1.4.tgz", + "integrity": "sha512-gKSecROqisnV7Buen5BfjmXAm7Xlpx9o2ueVQRo5DxQcjC8d330dOM1xiGWc2k3Dcnz0In3VybyRPOsudwgiqQ==", "license": "MIT", "dependencies": { - "@next/env": "14.2.16", - "@swc/helpers": "0.5.5", - "busboy": "1.6.0", + "@next/env": "16.1.4", + "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.8.3", "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": ">=20.9.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": "16.1.4", + "@next/swc-darwin-x64": "16.1.4", + "@next/swc-linux-arm64-gnu": "16.1.4", + "@next/swc-linux-arm64-musl": "16.1.4", + "@next/swc-linux-x64-gnu": "16.1.4", + "@next/swc-linux-x64-musl": "16.1.4", + "@next/swc-win32-arm64-msvc": "16.1.4", + "@next/swc-win32-x64-msvc": "16.1.4", + "sharp": "^0.34.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.41.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "peerDependenciesMeta": { @@ -2032,6 +2412,9 @@ "@playwright/test": { "optional": true }, + "babel-plugin-react-compiler": { + "optional": true + }, "sass": { "optional": true } @@ -2066,32 +2449,12 @@ } }, "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "dev": true, "license": "MIT" }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -2101,100 +2464,16 @@ "node": ">=0.10.0" } }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "license": "MIT", - "engines": { - "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/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "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" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/picocolors": { "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": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -2212,141 +2491,14 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "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": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "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.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.1.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "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" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", @@ -2366,65 +2518,40 @@ } }, "node_modules/property-information": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", - "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^19.2.3" } }, "node_modules/react-icons": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz", - "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", + "integrity": "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==", "license": "MIT", "peerDependencies": { "react": "*" @@ -2485,29 +2612,6 @@ "object-assign": "^4.1.1" } }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/remark": { "version": "15.0.1", "resolved": "https://registry.npmjs.org/remark/-/remark-15.0.1.tgz", @@ -2572,67 +2676,11 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" }, "node_modules/section-matter": { "version": "1.0.0", @@ -2647,40 +2695,62 @@ "node": ">=4" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, "engines": { - "node": ">=14" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" } }, "node_modules/source-map-js": { @@ -2708,78 +2778,6 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "license": "BSD-3-Clause" }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "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", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "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", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "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, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "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" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/stringify-entities": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", @@ -2794,46 +2792,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "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" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", @@ -2844,9 +2802,9 @@ } }, "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" @@ -2855,7 +2813,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": { @@ -2866,46 +2824,10 @@ } } }, - "node_modules/sucrase": { - "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": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/swiper": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-10.3.1.tgz", - "integrity": "sha512-24Wk3YUdZHxjc9faID97GTu6xnLNia+adMt6qMTZG/HgdSUt4fS0REsGUXJOgpTED0Amh/j+gRGQxsLayJUlBQ==", + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-12.0.3.tgz", + "integrity": "sha512-BHd6U1VPEIksrXlyXjMmRWO0onmdNPaTAFduzqR3pgjvi7KfmUCAm/0cj49u2D7B0zNjMw02TSeXfinC1hDCXg==", "funding": [ { "type": "patreon", @@ -2922,77 +2844,24 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz", - "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "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" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", "dev": true, - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0" - } + "license": "MIT" }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "dev": true, "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, "engines": { - "node": ">=0.8" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" + "node": ">=6" }, - "engines": { - "node": ">=8.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/trim-lines": { @@ -3015,23 +2884,16 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/ts-interface-checker": { - "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, - "license": "Apache-2.0" - }, "node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -3043,9 +2905,9 @@ } }, "node_modules/undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, "license": "MIT" }, @@ -3069,9 +2931,9 @@ } }, "node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" @@ -3123,9 +2985,9 @@ } }, "node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", @@ -3137,9 +2999,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -3158,7 +3020,7 @@ "license": "MIT", "dependencies": { "escalade": "^3.2.0", - "picocolors": "^1.1.0" + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -3167,13 +3029,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -3189,9 +3044,9 @@ } }, "node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", @@ -3202,133 +3057,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "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", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "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", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "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, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "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", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yaml": { - "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" - } - }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", diff --git a/src/package.json b/src/package.json index bb210b2..557d4d5 100644 --- a/src/package.json +++ b/src/package.json @@ -8,21 +8,22 @@ }, "dependencies": { "gray-matter": "^4.0.3", - "next": "^14.2.10", - "react": "18.2.0", - "react-dom": "18.2.0", - "react-icons": "^4.11.0", + "next": "^16.1.4", + "react": "19.2.3", + "react-dom": "19.2.3", + "react-icons": "^5.5.0", "react-typing-effect": "^2.0.5", "remark": "^15.0.1", "remark-html": "^16.0.1", - "swiper": "^10.3.1" + "swiper": "^12.0.3" }, "devDependencies": { - "@types/node": "20.8.7", - "@types/react": "18.2.31", - "@types/react-dom": "18.2.14", - "autoprefixer": "^10.4.16", - "tailwindcss": "^3.3.3", - "typescript": "5.2.2" + "@tailwindcss/postcss": "^4.1.18", + "@types/node": "25.0.10", + "@types/react": "19.2.9", + "@types/react-dom": "19.2.3", + "autoprefixer": "^10.4.23", + "tailwindcss": "^4.1.18", + "typescript": "5.9.3" } } diff --git a/src/pages/index.tsx b/src/pages/index.tsx index ccbf92a..7077480 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,7 +1,6 @@ import type { NextPage } from 'next' import Button from '../components/button' import { CardInner, CardOuter } from '../components/card' -import Elec from '../components/elec' import Hi from '../components/hi' import PageContainer from '../components/page-container' import ProjectTile from '../components/project-tile' @@ -20,7 +19,6 @@ const Home: NextPage = (props: any) => { <>
- {/* */}
diff --git a/src/pages/projects/[slug].tsx b/src/pages/projects/[slug].tsx index 232f1d8..b8a491a 100644 --- a/src/pages/projects/[slug].tsx +++ b/src/pages/projects/[slug].tsx @@ -10,12 +10,12 @@ import { Project } from './../api/projects-static'; const iconClass= "text-primary inline ml-2 mb-1" const iconButton= "text-primary ml-2 mb-1 text-white" -const iconMap : Record = { - "Website":
, - "Steam":
, - "Paper":
, - "windows": , - "escape": , +const iconMap : Record JSX.Element> = { + "Website": () =>
, + "Steam": () =>
, + "Paper": () =>
, + "windows": () => , + "escape": () => , }; @@ -54,7 +54,7 @@ const ProjectPage: NextPage = ({project}) => {

Project Type - {iconMap[project.type_icon] || } + {iconMap[project.type_icon] ? iconMap[project.type_icon]() : }

{project.type}

My Roles @@ -104,7 +104,7 @@ const ProjectPage: NextPage = ({project}) => { {t[1]} : t[0].includes("youtu") ? Failed to load video : - "Unrecognized media type "+t[0] + Unrecognized media type {t[0]} } })} @@ -121,7 +121,7 @@ const ProjectPage: NextPage = ({project}) => { {project.links.map((link: [string, string?]) => { - return {iconMap[link[0]] || link[0]} + return {iconMap[link[0]] ? iconMap[link[0]]() : link[0]} })} diff --git a/src/postcss.config.js b/src/postcss.config.js index 33ad091..52b9b4b 100644 --- a/src/postcss.config.js +++ b/src/postcss.config.js @@ -1,6 +1,5 @@ module.exports = { plugins: { - tailwindcss: {}, - autoprefixer: {}, + '@tailwindcss/postcss': {}, }, } diff --git a/src/public/assets/denfaminico.jpg b/src/public/assets/denfaminico.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f251aaadc615d2a514efa046eb83547d26f0a4f6 GIT binary patch literal 57715 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 TCZhLLIz@y2ENdP0%jo|A_@fZ# literal 0 HcmV?d00001 diff --git a/src/public/contact.html b/src/public/contact.html index a0ca951..fd698d0 100644 --- a/src/public/contact.html +++ b/src/public/contact.html @@ -76,6 +76,6 @@

- + \ No newline at end of file diff --git a/src/styles/globals.css b/src/styles/globals.css index d9312e6..2207a1a 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -2,58 +2,48 @@ @import url('https://fonts.googleapis.com/css?family=Lexend:regular,bold,italic&subset=latin,latin-ext'); @import url('https://fonts.googleapis.com/css?family=Lexend+Exa:regular,bold,italic&subset=latin,latin-ext'); @import url('https://fonts.googleapis.com/css?family=Montserrat:regular,medium,bold,italic&display=swap'); -@tailwind base; -@tailwind components; -@tailwind utilities; - -body { - background-color: rgb(15 23 42); - font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Montserrat', 'Helvetica Neue', sans-serif; -} +@import "tailwindcss"; @layer base { :root { --primary: #6189B9; } + body { + background-color: rgb(15 23 42); + font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Montserrat', 'Helvetica Neue', sans-serif; + } + .rounded-tl-4xl { border-top-left-radius: 40px; - ; } .rounded-tr-4xl { border-top-right-radius: 40px; - ; } .rounded-bl-4xl { border-bottom-left-radius: 40px; - ; } .rounded-br-4xl { border-bottom-right-radius: 40px; - ; } .rounded-tl-5xl { border-top-left-radius: 50px; - ; } .rounded-tr-5xl { border-top-right-radius: 50px; - ; } .rounded-bl-5xl { border-bottom-left-radius: 50px; - ; } .rounded-br-5xl { border-bottom-right-radius: 50px; - ; } .bg-primary { @@ -85,7 +75,6 @@ body { 50% { box-shadow: 0 0 0px 0px transparent, inset 0 0 3px 3px transparent; background-position-y: 100px; - } 100% { @@ -109,7 +98,6 @@ body { background: radial-gradient(circle, var(--primary) 0%, rgba(0, 0, 0, 0) 10%); background-size: 100px; background-position: 25px 0px; - } 100% { @@ -118,7 +106,6 @@ body { background: radial-gradient(circle, var(--primary) 0%, rgba(0, 0, 0, 0) 10%); background-size: 1000px; background-position: -425px 0px; - } } @@ -194,3 +181,9 @@ body { margin: 15px; } } + +@layer components { +} + +@layer utilities { +} diff --git a/src/tailwind.config.js b/src/tailwind.config.js index 5aa5253..ba33ef2 100644 --- a/src/tailwind.config.js +++ b/src/tailwind.config.js @@ -2,9 +2,8 @@ module.exports = { content: [ - './pages/**/*.{js,ts,jsx,tsx}', - './components/**/*.{js,ts,jsx,tsx}', - './app/**/*.{js,ts,jsx,tsx}', + './pages/**/*.{js,ts,jsx,tsx,mdx}', + './components/**/*.{js,ts,jsx,tsx,mdx}', ], theme: { extend: {}, diff --git a/src/tsconfig.json b/src/tsconfig.json index 99710e8..64d0421 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -1,7 +1,11 @@ { "compilerOptions": { "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -12,9 +16,15 @@ "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "node_modules" + ] } From ff50b7c4d559f0f36e86125425723ed824ed9226 Mon Sep 17 00:00:00 2001 From: Mikel Matticoli Date: Wed, 21 Jan 2026 22:23:45 -0500 Subject: [PATCH 2/4] Update Node.js version to 24 for Vercel compatibility --- .nvmrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .nvmrc diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..cabf43b --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +24 \ No newline at end of file From 89c999ee4c21b29ae3e2fb1c5e90b0521fe64313 Mon Sep 17 00:00:00 2001 From: Mikel Matticoli Date: Wed, 21 Jan 2026 22:28:28 -0500 Subject: [PATCH 3/4] build issues fix --- src/pages/projects/[slug].tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/projects/[slug].tsx b/src/pages/projects/[slug].tsx index b8a491a..9787670 100644 --- a/src/pages/projects/[slug].tsx +++ b/src/pages/projects/[slug].tsx @@ -1,5 +1,6 @@ import type { NextPage } from 'next' import { FaClock, FaDesktop, FaLink, FaMedal, FaTasks, FaUserAstronaut, FaUsers, FaSteam, FaBook, FaWindows, FaDoorOpen } from "react-icons/fa" +import { ReactNode } from 'react' import PageContainer from '../../components/page-container' import { CardInner, CardOuter } from '../../components/card' import { getProjectData, getProjectPaths } from '../api/projects-static' @@ -10,7 +11,7 @@ import { Project } from './../api/projects-static'; const iconClass= "text-primary inline ml-2 mb-1" const iconButton= "text-primary ml-2 mb-1 text-white" -const iconMap : Record JSX.Element> = { +const iconMap : Record ReactNode> = { "Website": () =>
, "Steam": () =>
, "Paper": () =>
, From 7d460a2ffae0c8367fca5f9f72549e203ead89dd Mon Sep 17 00:00:00 2001 From: Mikel Matticoli Date: Thu, 29 Jan 2026 23:41:08 -0500 Subject: [PATCH 4/4] warp --- WARP.md | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 WARP.md diff --git a/WARP.md b/WARP.md new file mode 100644 index 0000000..9b7623e --- /dev/null +++ b/WARP.md @@ -0,0 +1,139 @@ +# WARP.md + +This file provides guidance to WARP (warp.dev) when working with code in this repository. + +## Development environment and commands + +- **Node version**: Use Node.js `24` (see `.nvmrc` in the repo root). +- **Project root for the app**: All Next.js / npm commands should be run from the `src/` directory, not the repository root. + +From the repo root: + +```bash +cd src +npm install +``` + +Common scripts defined in `src/package.json`: + +- **Run the development server** + - `npm run dev` + - Starts the Next.js dev server (default on port 3000). + +- **Build for production** + - `npm run build` + - Runs the Next.js production build. + +- **Static export** + - `npm run export` + - Runs `next build` followed by `next export`, emitting a static site into the `out/` directory. + +- **Start production server** + - `npm run start` + - Starts the Next.js production server (serves the built app from `.next/`). + +There are **no linting or testing scripts** currently defined in `src/package.json`. If you need linting or tests, you will have to add the corresponding tooling and scripts explicitly. + +## High-level architecture + +This repository hosts a personal portfolio site built with **Next.js + TypeScript + Tailwind CSS 4**, structured as a classic `pages/`-based Next.js app living under the `src/` directory. + +### Top-level layout + +- The actual Next.js project is inside `src/` and contains all application code, configuration, and dependencies (`package.json`, `tsconfig.json`, Tailwind/PostCSS config, etc.). +- Static files (favicons, resume, images, HTML snippets) live under `src/public/` and are served from the web root (`/`). +- The repo root additionally contains static artifacts like `404.html` used by the deployed site, but day-to-day app development happens entirely in `src/`. + +### Routing and pages (`src/pages/`) + +The app uses the **Next.js pages router**: + +- `_app.tsx` + - Custom App component that imports global styles from `styles/globals.css`, the firefly animation styles from `styles/fireflies.css`, and Swiper styles. + - Delegates rendering to the current page component (``). + +- `index.tsx` (Home) + - Uses `getStaticProps` to fetch project metadata via `getAllProjects` from `pages/api/projects-static`. + - Renders a hero section and a "Featured Projects" grid using the `ProjectTile` component for each project with `featured: true`. + +- `about.tsx` + - About page wrapped in `PageContainer`, with a profile section and an embedded resume. + - Links to `/resume.pdf` (served from `public/resume.pdf`) and the LinkedIn profile. + +- `projects/index.tsx` + - Uses `getStaticProps` + `getAllProjects` to render a grid of **all** projects. + +- `projects/[slug].tsx` + - Dynamic project-detail page. + - Uses `getStaticPaths` (via `getProjectPaths`) to enumerate all project slugs and `getStaticProps` (via `getProjectData`) to load a single project. + - Renders two main columns: a metadata sidebar (roles, team size, responsibilities, timeline, achievements) and a main content area with a Swiper-powered media carousel, "Made With" badges, Markdown-derived HTML content, and external links. + +> Note: `pages/api/projects-static.ts` is used as a **local data-access module** imported by pages, not as a conventional HTTP API route. + +### Project content and data model + +Project case studies are modeled as Markdown files with frontmatter and live under `src/projects/` (for example `call-of-karen.md`, `holiday-escape.md`, `jhdb-contributor-portal.md`). + +- `pages/api/projects-static.ts` defines the `Project` TypeScript interface and functions that operate on these Markdown files: + - `getProjectData(slug: string)` + - Reads `projects/${slug}.md`. + - Uses `gray-matter` to parse the frontmatter and `remark` + `remark-html` to convert the Markdown body to HTML. + - Returns a `Project` object combining typed metadata with an HTML `content` field. + - `getProjectSlugs()` / `getProjectPaths()` + - Read the list of Markdown files in `src/projects/` and expose the slugs / `getStaticPaths`-compatible objects. + - `getAllProjects()` + - Loads all projects in parallel, then sorts them by the numeric `priority` field before returning. + +Key aspects of the `Project` model: + +- Frontmatter encodes structured metadata (title, slug, cover image path, excerpt, roles, tags with display colors, featured flag, priority, type, icon key, responsibilities, team size, status, timeline, achievements, media, and external links). +- The `media` and `links` fields are arrays of tuples that the UI interprets to render Swiper slides and type-specific action icons (e.g., Steam, Website, Paper). +- The Markdown body provides the narrative case study content, which is rendered into HTML and injected into the project detail page via `dangerouslySetInnerHTML` inside a container with the `.md` class for custom typography and image styling. + +When adding or modifying projects, keep the frontmatter schema in sync with the `Project` interface in `pages/api/projects-static.ts` to preserve type safety and avoid runtime errors. + +### Components and layout system (`src/components/`) + +The site has a small set of reusable layout and UI primitives that define the visual identity: + +- `page-container.tsx` + - Wraps every page with a consistent layout: `Head` metadata (title and icons), navigation (`Nav`), the animated background (`Fireflies`), the main content area, a global `ContactPopup`, and a footer with social links. + - All top-level pages (`index.tsx`, `about.tsx`, `projects/*.tsx`) are expected to render their content inside `PageContainer`. + +- `card.tsx` (used via `CardInner` and `CardOuter`) + - Provides a flexible card layout abstraction used across the home, about, and project pages to keep spacing, borders, and background treatments consistent. + +- `project-tile.tsx` + - Renders a summary card for a `Project`, showing role(s), cover image, a subset of tags (as `Badge` components), a short excerpt, and a button linking to the full `/projects/[slug]` page. + - This component powers the project grids on the home and projects index pages. + +- `components/index.tsx` + - Barrel file that re-exports the primary components (e.g., `Badge`, `Button`, `CardInner`, `CardOuter`, `ContactPopup`, `Elec`, `Fireflies`, `Nav`, `ProjectTile`) for simpler imports. + +Other components such as `badge.tsx`, `button.tsx`, `contact-popup.tsx`, `elec.tsx`, `fireflies.tsx`, `hi.tsx`, and `nav.tsx` implement the low-level UI elements, decorative effects, and navigation that give the site its look-and-feel. + +When adding new pages or features, prefer composing these existing components (especially `PageContainer`, `CardInner`/`CardOuter`, and `ProjectTile`) to maintain layout and visual consistency. + +### Styling and Tailwind configuration + +- Global styles live in `src/styles/globals.css`: + - Imports Google Fonts and `@import "tailwindcss";` to enable Tailwind CSS 4. + - Defines a `--primary` CSS variable used for accent color, along with utility classes such as `.bg-primary`, `.text-primary`, and `.decoration-primary`. + - Provides typography and layout rules scoped under the `.md` class for project Markdown content (headings, paragraphs, lists, and images). + +- Animated background styles are in `src/styles/fireflies.css` and are used by the `Fireflies` component to render the firefly particle effect. + +- `src/tailwind.config.js` limits Tailwind’s content scan to: + - `./pages/**/*.{js,ts,jsx,tsx,mdx}` + - `./components/**/*.{js,ts,jsx,tsx,mdx}` + + If you add new top-level directories containing JSX/TSX files (e.g., a `layouts/` or `features/` directory), you may need to update these globs so Tailwind picks up the new class names. + +- `src/postcss.config.js` configures PostCSS to use `@tailwindcss/postcss`. + +### TypeScript configuration + +- `src/tsconfig.json` enables strict TypeScript checking for all `*.ts` and `*.tsx` files in the project while emitting no JS (`noEmit: true`). +- The config targets modern browsers while allowing JSX via `"jsx": "react-jsx"` and standard Next.js module resolution (`"module": "esnext"`, `"moduleResolution": "node"`). + +Any new TypeScript files added under `src/` will automatically be included by the existing `include` patterns as long as they are not placed under `node_modules/`.