UI updates

This commit is contained in:
Michael Rausch
2025-10-11 21:06:21 +13:00
parent facc608d98
commit 237668fd31
16 changed files with 638 additions and 94 deletions
+47 -8
View File
@@ -27,6 +27,7 @@
"eslint": "^8.57.0", "eslint": "^8.57.0",
"eslint-plugin-astro": "^0.32.0", "eslint-plugin-astro": "^0.32.0",
"eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-jsx-a11y": "^6.8.0",
"gsap": "^3.13.0",
"rehype": "^13.0.2", "rehype": "^13.0.2",
"sharp": "^0.33.3", "sharp": "^0.33.3",
"tailwind-merge": "^2.2.2", "tailwind-merge": "^2.2.2",
@@ -2170,9 +2171,18 @@
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "17.0.45", "version": "24.7.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.7.1.tgz",
"integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", "integrity": "sha512-CmyhGZanP88uuC5GpWU9q+fI61j2SkhO3UGMUdfYRE6Bcy0ccyzn1Rqj9YAB/ZY4kOXmNf0ocah5GtphmLMP6Q==",
"license": "MIT",
"dependencies": {
"undici-types": "~7.14.0"
}
},
"node_modules/@types/node/node_modules/undici-types": {
"version": "7.14.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz",
"integrity": "sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/sax": { "node_modules/@types/sax": {
@@ -5142,6 +5152,12 @@
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="
}, },
"node_modules/gsap": {
"version": "3.13.0",
"resolved": "https://registry.npmjs.org/gsap/-/gsap-3.13.0.tgz",
"integrity": "sha512-QL7MJ2WMjm1PHWsoFrAQH/J8wUeqZvMtHO58qdekHpCfhvhSL4gSiz6vJf5EeMP0LOn3ZCprL2ki/gjED8ghVw==",
"license": "Standard 'no charge' license: https://gsap.com/standard-license."
},
"node_modules/h3": { "node_modules/h3": {
"version": "1.13.1", "version": "1.13.1",
"resolved": "https://registry.npmjs.org/h3/-/h3-1.13.1.tgz", "resolved": "https://registry.npmjs.org/h3/-/h3-1.13.1.tgz",
@@ -8149,16 +8165,17 @@
} }
}, },
"node_modules/prettier": { "node_modules/prettier": {
"version": "2.8.7", "version": "3.6.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
"integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"peer": true,
"bin": { "bin": {
"prettier": "bin-prettier.js" "prettier": "bin/prettier.cjs"
}, },
"engines": { "engines": {
"node": ">=10.13.0" "node": ">=14"
}, },
"funding": { "funding": {
"url": "https://github.com/prettier/prettier?sponsor=1" "url": "https://github.com/prettier/prettier?sponsor=1"
@@ -8956,6 +8973,12 @@
"npm": ">=6.0.0" "npm": ">=6.0.0"
} }
}, },
"node_modules/sitemap/node_modules/@types/node": {
"version": "17.0.45",
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
"integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==",
"license": "MIT"
},
"node_modules/slash": { "node_modules/slash": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -10631,6 +10654,22 @@
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/yaml-language-server/node_modules/prettier": {
"version": "2.8.7",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz",
"integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
"license": "MIT",
"optional": true,
"bin": {
"prettier": "bin-prettier.js"
},
"engines": {
"node": ">=10.13.0"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/yaml-language-server/node_modules/request-light": { "node_modules/yaml-language-server/node_modules/request-light": {
"version": "0.5.8", "version": "0.5.8",
"resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz", "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz",
+1
View File
@@ -32,6 +32,7 @@
"eslint": "^8.57.0", "eslint": "^8.57.0",
"eslint-plugin-astro": "^0.32.0", "eslint-plugin-astro": "^0.32.0",
"eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-jsx-a11y": "^6.8.0",
"gsap": "^3.13.0",
"rehype": "^13.0.2", "rehype": "^13.0.2",
"sharp": "^0.33.3", "sharp": "^0.33.3",
"tailwind-merge": "^2.2.2", "tailwind-merge": "^2.2.2",
+1 -1
View File
@@ -17,4 +17,4 @@
</script> </script>
<span class="text-4xl" id="emoji">👋</span> <span class="text-5xl" id="emoji">👋</span>
+11 -6
View File
@@ -2,16 +2,21 @@
import Container from "@components/Container.astro"; import Container from "@components/Container.astro";
import Link from "@components/Link.astro"; import Link from "@components/Link.astro";
import { SITE, SOCIALS } from "@consts"; import { SITE, SOCIALS } from "@consts";
// Check if we're on the homepage
const isHomepage = Astro.url.pathname === '/';
--- ---
<header> <header>
<Container> <Container>
<div class="flex flex-wrap gap-y-2 justify-between"> <div class={`flex flex-wrap gap-y-2 ${isHomepage ? 'justify-end' : 'justify-between'}`}>
<Link href="/" underline={false}> {!isHomepage && (
<div class="font-semibold"> <Link href="/" underline={false}>
{SITE.NAME} <div class="font-semibold header-name">
</div> {SITE.NAME}
</Link> </div>
</Link>
)}
<nav class="flex gap-1"> <nav class="flex gap-1">
<Link href="/blog"> <Link href="/blog">
blog blog
+1
View File
@@ -6,6 +6,7 @@ type Props = {
external?: boolean; external?: boolean;
underline?: boolean; underline?: boolean;
confetti?: boolean; confetti?: boolean;
class?: string;
} }
const { href, external, underline = true, confetti, ...rest } = Astro.props; const { href, external, underline = true, confetti, ...rest } = Astro.props;
+5 -5
View File
@@ -9,19 +9,19 @@ type Props = {
const { heading, subheading, href, target="" } = Astro.props; const { heading, subheading, href, target="" } = Astro.props;
--- ---
<a href={href} target={target} class="relative group flex flex-nowrap py-3 px-4 pr-10 rounded-lg border border-black/15 dark:border-white/20 hover:bg-black/5 dark:hover:bg-white/5 hover:text-black dark:hover:text-white transition-colors duration-300 ease-in-out"> <a href={href} target={target} class="relative group flex flex-nowrap py-4 px-5 pr-12 rounded-xl modern-card grain-texture hover:text-black dark:hover:text-white transition-all duration-300 ease-in-out">
<div class="flex flex-col flex-1 truncate"> <div class="flex flex-col flex-1 truncate relative z-10">
<div class="font-semibold"> <div class="font-semibold text-base">
{heading} {heading}
</div> </div>
<div class="text-sm"> <div class="text-sm opacity-75 mt-1">
{subheading} {subheading}
</div> </div>
</div> </div>
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24" viewBox="0 0 24 24"
class="absolute top-1/2 right-2 -translate-y-1/2 size-5 stroke-2 fill-none stroke-current"> class="absolute top-1/2 right-4 -translate-y-1/2 size-5 stroke-2 fill-none stroke-current z-10">
<line x1="5" y1="12" x2="19" y2="12" class="translate-x-3 group-hover:translate-x-0 scale-x-0 group-hover:scale-x-100 transition-transform duration-300 ease-in-out" /> <line x1="5" y1="12" x2="19" y2="12" class="translate-x-3 group-hover:translate-x-0 scale-x-0 group-hover:scale-x-100 transition-transform duration-300 ease-in-out" />
<polyline points="12 5 19 12 12 19" class="-translate-x-1 group-hover:translate-x-0 transition-transform duration-300 ease-in-out" /> <polyline points="12 5 19 12 12 19" class="-translate-x-1 group-hover:translate-x-0 transition-transform duration-300 ease-in-out" />
</svg> </svg>
+18
View File
@@ -0,0 +1,18 @@
---
import type { CollectionEntry } from "astro:content";
import LinkCard from "./LinkCard.astro";
import { dateRange } from "@lib/utils";
type Props = {
entry: CollectionEntry<"work">;
}
const { entry } = Astro.props;
const href = entry.data.linkedinURL || "#";
const heading = entry.data.company;
const subheading = `${entry.data.role} • ${dateRange(entry.data.dateStart, entry.data.dateEnd)}`;
---
<LinkCard href={href} heading={heading} subheading={subheading} target="_blank">
</LinkCard>
+1
View File
@@ -17,6 +17,7 @@ const work = defineCollection({
role: z.string(), role: z.string(),
dateStart: z.coerce.date(), dateStart: z.coerce.date(),
dateEnd: z.union([z.coerce.date(), z.string()]), dateEnd: z.union([z.coerce.date(), z.string()]),
linkedinURL: z.string().optional(),
}), }),
}); });
+1
View File
@@ -3,5 +3,6 @@ company: "Standard"
role: "Software Engineer / Director" role: "Software Engineer / Director"
dateStart: "01/01/2019" dateStart: "01/01/2019"
dateEnd: "Mothballed" dateEnd: "Mothballed"
linkedinURL: "https://www.linkedin.com/company/standard-nz"
--- ---
@@ -3,5 +3,6 @@ company: "University of Canterbury"
role: "Software Engineer" role: "Software Engineer"
dateStart: "08/01/2023" dateStart: "08/01/2023"
dateEnd: "present" dateEnd: "present"
linkedinURL: "https://www.linkedin.com/company/university-of-canterbury"
--- ---
+1
View File
@@ -3,5 +3,6 @@ company: "Actuality"
role: "Software Engineer" role: "Software Engineer"
dateStart: "02/11/2022" dateStart: "02/11/2022"
dateEnd: "05/05/2023" dateEnd: "05/05/2023"
linkedinURL: "https://www.linkedin.com/company/actuality"
--- ---
+43 -53
View File
@@ -3,6 +3,7 @@ import { getCollection } from "astro:content";
import Container from "@components/Container.astro"; import Container from "@components/Container.astro";
import PageLayout from "@layouts/PageLayout.astro"; import PageLayout from "@layouts/PageLayout.astro";
import ArrowCard from "@components/ArrowCard.astro"; import ArrowCard from "@components/ArrowCard.astro";
import WorkCard from "@components/WorkCard.astro";
import Link from "@components/Link.astro"; import Link from "@components/Link.astro";
import { dateRange } from "@lib/utils"; import { dateRange } from "@lib/utils";
import { SITE, HOME, SOCIALS } from "@consts"; import { SITE, HOME, SOCIALS } from "@consts";
@@ -34,14 +35,14 @@ const work = await Promise.all(
<PageLayout title={HOME.TITLE} description={HOME.DESCRIPTION}> <PageLayout title={HOME.TITLE} description={HOME.DESCRIPTION}>
<Container> <Container>
<h4 class="animate font-semibold text-black dark:text-white text-4xl font-serif"> <h1 class="animate font-bold text-black dark:text-white text-4xl md:text-5xl font-serif leading-tight">
Hi, I'm Michael <EmojiScroller/> Hi, I'm Michael <EmojiScroller/>
</h4> </h1>
<div class="space-y-16"> <div class="space-y-16">
<section> <section>
<article class="space-y-4"> <article class="space-y-4">
<p class="animate"> <p class="animate">
I'm a software engineer at the University of Canterbury, working on <Link href="https://uconline.ac.nz" external>Tuihono UC | UC Online</Link>. I'm a software engineer at the University of Canterbury, working on <Link href="https://uconline.ac.nz" external class="text-blue-600 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300">Tuihono UC | UC Online</Link>.
I specialize in full-stack development. While my primary expertise is in software engineering, I also have a strong interest in cloud infrastructure and DevOps. Based in Christchurch, New Zealand I specialize in full-stack development. While my primary expertise is in software engineering, I also have a strong interest in cloud infrastructure and DevOps. Based in Christchurch, New Zealand
<br/><br/> <br/><br/>
@@ -53,9 +54,9 @@ const work = await Promise.all(
{ blog.length > 1 && { blog.length > 1 &&
<section class="animate space-y-6"> <section class="animate space-y-6">
<div class="flex flex-wrap gap-y-2 items-center justify-between"> <div class="flex flex-wrap gap-y-2 items-center justify-between">
<h5 class="font-semibold text-black dark:text-white"> <h4 class="font-semibold text-black dark:text-white text-xl">
Latest posts Latest posts
</h5> </h4>
<Link href="/blog"> <Link href="/blog">
See all posts See all posts
</Link> </Link>
@@ -73,38 +74,27 @@ const work = await Promise.all(
<section class="animate space-y-6"> <section class="animate space-y-6">
<div class="flex flex-wrap gap-y-2 items-center justify-between"> <div class="flex flex-wrap gap-y-2 items-center justify-between">
<h5 class="font-semibold text-black dark:text-white"> <h4 class="font-semibold text-black dark:text-white text-xl">
Work Experience Work Experience
</h5> </h4>
<Link href="/work"> <Link href="/work">
See all work See all work
</Link> </Link>
</div> </div>
<ul class="flex flex-col space-y-4"> <ul class="flex flex-col gap-4">
{work.map(entry => ( {work.map(entry => (
<li> <li>
<div class="text-sm opacity-75"> <WorkCard entry={entry} />
{dateRange(entry.data.dateStart, entry.data.dateEnd)} </li>
</div> ))}
<div class="font-semibold text-black dark:text-white"> </ul>
{entry.data.company}
</div>
<div class="text-sm opacity-75">
{entry.data.role}
</div>
<article>
<entry.Content />
</article>
</li>
))}
</ul>
</section> </section>
<section class="animate space-y-6"> <section class="animate space-y-6">
<div class="flex flex-wrap gap-y-2 items-center justify-between"> <div class="flex flex-wrap gap-y-2 items-center justify-between">
<h5 class="font-semibold text-black dark:text-white"> <h4 class="font-semibold text-black dark:text-white text-xl">
Recent projects Recent projects
</h5> </h4>
<Link href="/projects"> <Link href="/projects">
See all projects See all projects
</Link> </Link>
@@ -118,32 +108,32 @@ const work = await Promise.all(
</ul> </ul>
</section> </section>
<section class="animate space-y-4"> <section class="animate space-y-4">
<h5 class="font-semibold text-black dark:text-white"> <h4 class="font-semibold text-black dark:text-white text-xl">
Let's Connect Let's Connect
</h5> </h4>
<article> <article>
<p> <p>
If you want to get in touch with me about something or just to say hi, If you want to get in touch with me about something or just to say hi,
reach out on social media or send me an email. reach out on social media or send me an email.
</p> </p>
</article> </article>
<ul class="flex flex-wrap gap-2"> <ul class="flex flex-wrap gap-2">
{SOCIALS.map(SOCIAL => ( {SOCIALS.map(SOCIAL => (
<li class="flex gap-x-2 text-nowrap"> <li class="flex gap-x-2 text-nowrap">
<Link href={SOCIAL.HREF} external aria-label={`${SITE.NAME} on ${SOCIAL.NAME}`}> <Link href={SOCIAL.HREF} external aria-label={`${SITE.NAME} on ${SOCIAL.NAME}`}>
{SOCIAL.NAME} {SOCIAL.NAME}
</Link> </Link>
{"/"} {"/"}
</li> </li>
))} ))}
<li class="line-clamp-1"> <li class="line-clamp-1">
<Link href={`mailto:${SITE.EMAIL}`} aria-label={`Email ${SITE.NAME}`} confetti> <Link href={`mailto:${SITE.EMAIL}`} aria-label={`Email ${SITE.NAME}`} confetti>
{SITE.EMAIL} {SITE.EMAIL}
</Link> </Link>
</li> </li>
</ul> </ul>
</section> </section>
</div> </div>
</Container> </Container>
</PageLayout> </PageLayout>
+1 -1
View File
@@ -13,7 +13,7 @@ const projects = (await getCollection("projects"))
<PageLayout title={PROJECTS.TITLE} description={PROJECTS.DESCRIPTION}> <PageLayout title={PROJECTS.TITLE} description={PROJECTS.DESCRIPTION}>
<Container> <Container>
<div class="space-y-10"> <div class="space-y-10">
<div class="animate font-semibold text-black dark:text-white text-4xl font-serif"> <div class="animate font-semibold text-black dark:text-white text-5xl md:text-6xl font-serif">
Projects Projects
</div> </div>
<ul class="animate flex flex-col gap-4"> <ul class="animate flex flex-col gap-4">
+1 -1
View File
@@ -19,7 +19,7 @@ const work = await Promise.all(
<PageLayout title={WORK.TITLE} description={WORK.DESCRIPTION}> <PageLayout title={WORK.TITLE} description={WORK.DESCRIPTION}>
<Container> <Container>
<div class="space-y-10"> <div class="space-y-10">
<div class="animate font-semibold text-black dark:text-white text-4xl font-serif"> <div class="animate font-semibold text-black dark:text-white text-5xl md:text-6xl font-serif">
Work Work
</div> </div>
<ul class="flex flex-col space-y-4"> <ul class="flex flex-col space-y-4">
+136 -2
View File
@@ -14,21 +14,35 @@ html.dark {
html, html,
body { body {
@apply size-full; @apply size-full;
min-height: 100vh;
} }
body { body {
@apply font-sans antialiased; @apply font-sans antialiased;
@apply flex flex-col; @apply flex flex-col;
@apply bg-stone-100 dark:bg-black; @apply bg-stone-100;
@apply text-black dark:text-white/75; @apply text-black dark:text-white/75;
} }
.dark body {
background: #0f0f0f;
background-attachment: fixed;
background-size: cover;
background-repeat: no-repeat;
min-height: 100vh;
}
header { header {
@apply fixed top-0 left-0 right-0 z-50 py-5; @apply fixed top-0 left-0 right-0 z-50 py-5;
@apply bg-stone-100/75 dark:bg-black/25; @apply bg-stone-100/75;
@apply backdrop-blur-sm saturate-200; @apply backdrop-blur-sm saturate-200;
} }
.dark header {
background: transparent !important;
backdrop-filter: none;
}
main { main {
@apply flex-1 py-32; @apply flex-1 py-32;
} }
@@ -71,3 +85,123 @@ html #back-to-top {
html.scrolled #back-to-top { html.scrolled #back-to-top {
@apply opacity-100 pointer-events-auto; @apply opacity-100 pointer-events-auto;
} }
/* Grain texture effect */
.grain-texture {
position: relative;
overflow: hidden;
}
.grain-texture::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.15'/%3E%3C/svg%3E");
opacity: 0;
transition: opacity 0.3s ease-in-out;
pointer-events: none;
z-index: 2;
mix-blend-mode: overlay;
}
.grain-texture:hover::before {
opacity: 1;
}
/* Modern card hover effects */
.modern-card {
position: relative !important;
background: rgba(255, 255, 255, 0.05) !important;
border: 1px solid rgba(255, 255, 255, 0.1) !important;
transition: all 0.3s ease !important;
}
.modern-card::after {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(circle at 20% 80%, #1a0a0a 0%, transparent 40%),
radial-gradient(circle at 10% 20%, #ff8c42 0%, transparent 50%),
radial-gradient(circle at 60% 50%, #4a9fd8 0%, transparent 60%),
radial-gradient(circle at 100% 100%, #1a4d7a 0%, transparent 50%),
linear-gradient(135deg, #2a1a1a 0%, #1a3a5a 100%);
filter: blur(40px);
opacity: 0;
transition: opacity 0.3s ease;
z-index: 0;
border-radius: inherit;
}
.modern-card:hover::after {
opacity: 1;
}
/* Different color variations for each card */
li:nth-child(1) .modern-card::after {
background:
radial-gradient(circle at 20% 80%, #1a0a0a 0%, transparent 40%),
radial-gradient(circle at 10% 20%, #ff8c42 0%, transparent 50%),
radial-gradient(circle at 60% 50%, #4a9fd8 0%, transparent 60%),
radial-gradient(circle at 100% 100%, #1a4d7a 0%, transparent 50%),
linear-gradient(135deg, #2a1a1a 0%, #1a3a5a 100%);
}
li:nth-child(2) .modern-card::after {
background:
radial-gradient(circle at 20% 80%, #0a1a0a 0%, transparent 40%),
radial-gradient(circle at 10% 20%, #42ff8c 0%, transparent 50%),
radial-gradient(circle at 60% 50%, #4ad89f 0%, transparent 60%),
radial-gradient(circle at 100% 100%, #1a7a4d 0%, transparent 50%),
linear-gradient(135deg, #1a2a1a 0%, #1a5a3a 100%);
}
li:nth-child(3) .modern-card::after {
background:
radial-gradient(circle at 20% 80%, #1a0a1a 0%, transparent 40%),
radial-gradient(circle at 10% 20%, #ff42d8 0%, transparent 50%),
radial-gradient(circle at 60% 50%, #9f4ad8 0%, transparent 60%),
radial-gradient(circle at 100% 100%, #7a1a6d 0%, transparent 50%),
linear-gradient(135deg, #2a1a2a 0%, #5a1a4a 100%);
}
li:nth-child(4) .modern-card::after {
background:
radial-gradient(circle at 20% 80%, #1a1a0a 0%, transparent 40%),
radial-gradient(circle at 10% 20%, #ffd842 0%, transparent 50%),
radial-gradient(circle at 60% 50%, #d8b84a 0%, transparent 60%),
radial-gradient(circle at 100% 100%, #7a6d1a 0%, transparent 50%),
linear-gradient(135deg, #2a2a1a 0%, #5a4a1a 100%);
}
li:nth-child(5) .modern-card::after {
background:
radial-gradient(circle at 20% 80%, #0a0a1a 0%, transparent 40%),
radial-gradient(circle at 10% 20%, #8c42ff 0%, transparent 50%),
radial-gradient(circle at 60% 50%, #6a4ad8 0%, transparent 60%),
radial-gradient(circle at 100% 100%, #4d1a7a 0%, transparent 50%),
linear-gradient(135deg, #1a1a2a 0%, #3a1a5a 100%);
}
.modern-card:hover {
border-color: rgba(255, 255, 255, 0.2) !important;
}
.dark .modern-card {
background: rgba(255, 255, 255, 0.05) !important;
border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.dark .modern-card:hover {
border-color: rgba(255, 255, 255, 0.2) !important;
}
/* Header name animation */
.header-name {
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
opacity: 1;
transform: translateY(0);
}
+369 -17
View File
@@ -85,7 +85,7 @@
kleur "^4.1.5" kleur "^4.1.5"
yargs "^17.7.2" yargs "^17.7.2"
"@astrojs/compiler@^2.0.0", "@astrojs/compiler@^2.10.3": "@astrojs/compiler@^2.0.0", "@astrojs/compiler@^2.10.3", "@astrojs/compiler@>=0.27.0":
version "2.10.3" version "2.10.3"
resolved "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.10.3.tgz" resolved "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.10.3.tgz"
integrity sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw== integrity sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==
@@ -340,6 +340,133 @@
resolved "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz" resolved "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz"
integrity sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw== integrity sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==
"@emnapi/runtime@^1.1.0":
version "1.1.1"
resolved "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.1.1.tgz"
integrity sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==
dependencies:
tslib "^2.4.0"
"@esbuild/aix-ppc64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz"
integrity sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==
"@esbuild/android-arm@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz"
integrity sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==
"@esbuild/android-arm64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz"
integrity sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==
"@esbuild/android-x64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz"
integrity sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==
"@esbuild/darwin-arm64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz"
integrity sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==
"@esbuild/darwin-x64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz"
integrity sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==
"@esbuild/freebsd-arm64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz"
integrity sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==
"@esbuild/freebsd-x64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz"
integrity sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==
"@esbuild/linux-arm@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz"
integrity sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==
"@esbuild/linux-arm64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz"
integrity sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==
"@esbuild/linux-ia32@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz"
integrity sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==
"@esbuild/linux-loong64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz"
integrity sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==
"@esbuild/linux-mips64el@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz"
integrity sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==
"@esbuild/linux-ppc64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz"
integrity sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==
"@esbuild/linux-riscv64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz"
integrity sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==
"@esbuild/linux-s390x@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz"
integrity sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==
"@esbuild/linux-x64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz"
integrity sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==
"@esbuild/netbsd-arm64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz"
integrity sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==
"@esbuild/netbsd-x64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz"
integrity sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==
"@esbuild/openbsd-arm64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz"
integrity sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==
"@esbuild/openbsd-x64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz"
integrity sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==
"@esbuild/sunos-x64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz"
integrity sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==
"@esbuild/win32-arm64@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz"
integrity sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==
"@esbuild/win32-ia32@0.24.2":
version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz"
integrity sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==
"@esbuild/win32-x64@0.24.2": "@esbuild/win32-x64@0.24.2":
version "0.24.2" version "0.24.2"
resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz" resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz"
@@ -406,6 +533,114 @@
resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz" resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz"
integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==
"@img/sharp-darwin-arm64@0.33.3":
version "0.33.3"
resolved "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.3.tgz"
integrity sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw==
optionalDependencies:
"@img/sharp-libvips-darwin-arm64" "1.0.2"
"@img/sharp-darwin-x64@0.33.3":
version "0.33.3"
resolved "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.3.tgz"
integrity sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw==
optionalDependencies:
"@img/sharp-libvips-darwin-x64" "1.0.2"
"@img/sharp-libvips-darwin-arm64@1.0.2":
version "1.0.2"
resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.2.tgz"
integrity sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==
"@img/sharp-libvips-darwin-x64@1.0.2":
version "1.0.2"
resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.2.tgz"
integrity sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==
"@img/sharp-libvips-linux-arm@1.0.2":
version "1.0.2"
resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.2.tgz"
integrity sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==
"@img/sharp-libvips-linux-arm64@1.0.2":
version "1.0.2"
resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.2.tgz"
integrity sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==
"@img/sharp-libvips-linux-s390x@1.0.2":
version "1.0.2"
resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.2.tgz"
integrity sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==
"@img/sharp-libvips-linux-x64@1.0.2":
version "1.0.2"
resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.2.tgz"
integrity sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==
"@img/sharp-libvips-linuxmusl-arm64@1.0.2":
version "1.0.2"
resolved "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.2.tgz"
integrity sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==
"@img/sharp-libvips-linuxmusl-x64@1.0.2":
version "1.0.2"
resolved "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.2.tgz"
integrity sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==
"@img/sharp-linux-arm@0.33.3":
version "0.33.3"
resolved "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.3.tgz"
integrity sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w==
optionalDependencies:
"@img/sharp-libvips-linux-arm" "1.0.2"
"@img/sharp-linux-arm64@0.33.3":
version "0.33.3"
resolved "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.3.tgz"
integrity sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA==
optionalDependencies:
"@img/sharp-libvips-linux-arm64" "1.0.2"
"@img/sharp-linux-s390x@0.33.3":
version "0.33.3"
resolved "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.3.tgz"
integrity sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA==
optionalDependencies:
"@img/sharp-libvips-linux-s390x" "1.0.2"
"@img/sharp-linux-x64@0.33.3":
version "0.33.3"
resolved "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.3.tgz"
integrity sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g==
optionalDependencies:
"@img/sharp-libvips-linux-x64" "1.0.2"
"@img/sharp-linuxmusl-arm64@0.33.3":
version "0.33.3"
resolved "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.3.tgz"
integrity sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A==
optionalDependencies:
"@img/sharp-libvips-linuxmusl-arm64" "1.0.2"
"@img/sharp-linuxmusl-x64@0.33.3":
version "0.33.3"
resolved "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.3.tgz"
integrity sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w==
optionalDependencies:
"@img/sharp-libvips-linuxmusl-x64" "1.0.2"
"@img/sharp-wasm32@0.33.3":
version "0.33.3"
resolved "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.3.tgz"
integrity sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ==
dependencies:
"@emnapi/runtime" "^1.1.0"
"@img/sharp-win32-ia32@0.33.3":
version "0.33.3"
resolved "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.3.tgz"
integrity sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ==
"@img/sharp-win32-x64@0.33.3": "@img/sharp-win32-x64@0.33.3":
version "0.33.3" version "0.33.3"
resolved "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.3.tgz" resolved "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.3.tgz"
@@ -530,6 +765,96 @@
estree-walker "^2.0.2" estree-walker "^2.0.2"
picomatch "^4.0.2" picomatch "^4.0.2"
"@rollup/rollup-android-arm-eabi@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.30.1.tgz"
integrity sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==
"@rollup/rollup-android-arm64@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.30.1.tgz"
integrity sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==
"@rollup/rollup-darwin-arm64@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.30.1.tgz"
integrity sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==
"@rollup/rollup-darwin-x64@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.30.1.tgz"
integrity sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==
"@rollup/rollup-freebsd-arm64@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.30.1.tgz"
integrity sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==
"@rollup/rollup-freebsd-x64@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.30.1.tgz"
integrity sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==
"@rollup/rollup-linux-arm-gnueabihf@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.30.1.tgz"
integrity sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==
"@rollup/rollup-linux-arm-musleabihf@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.30.1.tgz"
integrity sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==
"@rollup/rollup-linux-arm64-gnu@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.30.1.tgz"
integrity sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==
"@rollup/rollup-linux-arm64-musl@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.30.1.tgz"
integrity sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==
"@rollup/rollup-linux-loongarch64-gnu@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.30.1.tgz"
integrity sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==
"@rollup/rollup-linux-powerpc64le-gnu@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.30.1.tgz"
integrity sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==
"@rollup/rollup-linux-riscv64-gnu@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.30.1.tgz"
integrity sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==
"@rollup/rollup-linux-s390x-gnu@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.30.1.tgz"
integrity sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==
"@rollup/rollup-linux-x64-gnu@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.30.1.tgz"
integrity sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==
"@rollup/rollup-linux-x64-musl@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.30.1.tgz"
integrity sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==
"@rollup/rollup-win32-arm64-msvc@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.30.1.tgz"
integrity sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==
"@rollup/rollup-win32-ia32-msvc@4.30.1":
version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.30.1.tgz"
integrity sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==
"@rollup/rollup-win32-x64-msvc@4.30.1": "@rollup/rollup-win32-x64-msvc@4.30.1":
version "4.30.1" version "4.30.1"
resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.30.1.tgz" resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.30.1.tgz"
@@ -668,7 +993,14 @@
dependencies: dependencies:
"@types/unist" "*" "@types/unist" "*"
"@types/node@*", "@types/node@^17.0.5": "@types/node@*", "@types/node@^18.0.0 || ^20.0.0 || >=22.0.0":
version "24.7.1"
resolved "https://registry.npmjs.org/@types/node/-/node-24.7.1.tgz"
integrity sha512-CmyhGZanP88uuC5GpWU9q+fI61j2SkhO3UGMUdfYRE6Bcy0ccyzn1Rqj9YAB/ZY4kOXmNf0ocah5GtphmLMP6Q==
dependencies:
undici-types "~7.14.0"
"@types/node@^17.0.5":
version "17.0.45" version "17.0.45"
resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz"
integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==
@@ -719,7 +1051,7 @@
semver "^7.5.4" semver "^7.5.4"
ts-api-utils "^1.0.1" ts-api-utils "^1.0.1"
"@typescript-eslint/parser@^7.3.1": "@typescript-eslint/parser@^7.0.0", "@typescript-eslint/parser@^7.3.1":
version "7.4.0" version "7.4.0"
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.4.0.tgz" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.4.0.tgz"
integrity sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ== integrity sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==
@@ -852,7 +1184,7 @@
vscode-languageserver-textdocument "^1.0.11" vscode-languageserver-textdocument "^1.0.11"
vscode-uri "^3.0.8" vscode-uri "^3.0.8"
"@volar/language-service@~2.4.7", "@volar/language-service@2.4.11": "@volar/language-service@~2.4.0", "@volar/language-service@~2.4.7", "@volar/language-service@2.4.11":
version "2.4.11" version "2.4.11"
resolved "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.11.tgz" resolved "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.11.tgz"
integrity sha512-KIb6g8gjUkS2LzAJ9bJCLIjfsJjeRtmXlu7b2pDFGD3fNqdbC53cCAKzgWDs64xtQVKYBU13DLWbtSNFtGuMLQ== integrity sha512-KIb6g8gjUkS2LzAJ9bJCLIjfsJjeRtmXlu7b2pDFGD3fNqdbC53cCAKzgWDs64xtQVKYBU13DLWbtSNFtGuMLQ==
@@ -897,7 +1229,7 @@ acorn-jsx@^5.0.0, acorn-jsx@^5.3.2:
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
acorn@^8.0.0, acorn@^8.14.0, acorn@^8.8.0, acorn@^8.9.0: "acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.0.0, acorn@^8.14.0, acorn@^8.8.0, acorn@^8.9.0:
version "8.14.0" version "8.14.0"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz" resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz"
integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
@@ -1108,7 +1440,7 @@ astro-light-box@^0.1.1:
resolved "https://registry.npmjs.org/astro-light-box/-/astro-light-box-0.1.1.tgz" resolved "https://registry.npmjs.org/astro-light-box/-/astro-light-box-0.1.1.tgz"
integrity sha512-xBX3qEQtwffphbhdD53WutTq9cAepigerQJ5NR4jyQTHNlWvpYo1EjUFzT89Xj0tjK2/NbYBnnhazI33qt6OCQ== integrity sha512-xBX3qEQtwffphbhdD53WutTq9cAepigerQJ5NR4jyQTHNlWvpYo1EjUFzT89Xj0tjK2/NbYBnnhazI33qt6OCQ==
astro@^5.1.7: "astro@^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta", "astro@^3.0.0 || ^4.0.0 || ^5.0.0", "astro@^4.0.0 || ^5.0.0-beta.0", "astro@^4.0.0-beta || ^5.0.0-beta", "astro@^4.12.0 || ^5.0.0", astro@^5.0.0, astro@^5.1.7:
version "5.1.7" version "5.1.7"
resolved "https://registry.npmjs.org/astro/-/astro-5.1.7.tgz" resolved "https://registry.npmjs.org/astro/-/astro-5.1.7.tgz"
integrity sha512-hGYHtO+67ZWDl0TY9ysh2iBv2KOgcgvpFJaMGZvknqBjh6TGqrwtWldCsJr1CK57rK8ycpPwC3Bi5bPaBELMuw== integrity sha512-hGYHtO+67ZWDl0TY9ysh2iBv2KOgcgvpFJaMGZvknqBjh6TGqrwtWldCsJr1CK57rK8ycpPwC3Bi5bPaBELMuw==
@@ -1284,7 +1616,7 @@ braces@^3.0.3, braces@~3.0.2:
dependencies: dependencies:
fill-range "^7.1.1" fill-range "^7.1.1"
browserslist@^4.23.3: browserslist@^4.23.3, "browserslist@>= 4.21.0":
version "4.24.4" version "4.24.4"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz"
integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==
@@ -2004,7 +2336,7 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
eslint@^8.57.0: "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.56.0, eslint@^8.57.0, eslint@>=6.0.0, eslint@>=7.0.0:
version "8.57.0" version "8.57.0"
resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz"
integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==
@@ -2287,6 +2619,11 @@ fs.realpath@^1.0.0:
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.2: function-bind@^1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
@@ -2429,6 +2766,11 @@ graphemer@^1.4.0:
resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz"
integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
gsap@^3.13.0:
version "3.13.0"
resolved "https://registry.npmjs.org/gsap/-/gsap-3.13.0.tgz"
integrity sha512-QL7MJ2WMjm1PHWsoFrAQH/J8wUeqZvMtHO58qdekHpCfhvhSL4gSiz6vJf5EeMP0LOn3ZCprL2ki/gjED8ghVw==
h3@^1.13.0: h3@^1.13.0:
version "1.13.1" version "1.13.1"
resolved "https://registry.npmjs.org/h3/-/h3-1.13.1.tgz" resolved "https://registry.npmjs.org/h3/-/h3-1.13.1.tgz"
@@ -2995,7 +3337,7 @@ jackspeak@^2.3.6:
optionalDependencies: optionalDependencies:
"@pkgjs/parseargs" "^0.11.0" "@pkgjs/parseargs" "^0.11.0"
jiti@^1.21.6: jiti@^1.21.6, jiti@>=1.21.0:
version "1.21.7" version "1.21.7"
resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz" resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz"
integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==
@@ -4232,7 +4574,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@^8.4.14, postcss@^8.4.47, postcss@^8.4.49: postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.14, postcss@^8.4.21, postcss@^8.4.47, postcss@^8.4.49, postcss@>=8.0.9:
version "8.5.1" version "8.5.1"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz" resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz"
integrity sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ== integrity sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==
@@ -4255,6 +4597,11 @@ prelude-ls@^1.2.1:
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
"prettier@^2.2 || ^3.0", prettier@^3.0.0:
version "3.6.2"
resolved "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz"
integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==
prettier@2.8.7: prettier@2.8.7:
version "2.8.7" version "2.8.7"
resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz" resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz"
@@ -4589,7 +4936,7 @@ rimraf@^3.0.2:
dependencies: dependencies:
glob "^7.1.3" glob "^7.1.3"
rollup@^4.23.0: rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0, rollup@^4.23.0:
version "4.30.1" version "4.30.1"
resolved "https://registry.npmjs.org/rollup/-/rollup-4.30.1.tgz" resolved "https://registry.npmjs.org/rollup/-/rollup-4.30.1.tgz"
integrity sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w== integrity sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==
@@ -4970,7 +5317,7 @@ tailwind-merge@^2.2.2:
dependencies: dependencies:
"@babel/runtime" "^7.24.0" "@babel/runtime" "^7.24.0"
tailwindcss@^3.4.17: tailwindcss@^3.0.24, tailwindcss@^3.4.17, "tailwindcss@>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1":
version "3.4.17" version "3.4.17"
resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz" resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz"
integrity sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og== integrity sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==
@@ -5064,7 +5411,7 @@ tsconfck@^3.1.4:
resolved "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.4.tgz" resolved "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.4.tgz"
integrity sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ== integrity sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==
tslib@^2.6.2: tslib@^2.4.0, tslib@^2.6.2:
version "2.6.2" version "2.6.2"
resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz"
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
@@ -5142,7 +5489,7 @@ typescript-auto-import-cache@^0.3.3:
dependencies: dependencies:
semver "^7.3.8" semver "^7.3.8"
typescript@^5.7.3: typescript@*, "typescript@^4.9.4 || ^5.0.2", typescript@^5.0.0, typescript@^5.7.3, typescript@>=4.2.0:
version "5.7.3" version "5.7.3"
resolved "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz" resolved "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz"
integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==
@@ -5189,6 +5536,11 @@ undici-types@~5.26.4:
resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz"
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
undici-types@~7.14.0:
version "7.14.0"
resolved "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz"
integrity sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==
unenv@^1.10.0: unenv@^1.10.0:
version "1.10.0" version "1.10.0"
resolved "https://registry.npmjs.org/unenv/-/unenv-1.10.0.tgz" resolved "https://registry.npmjs.org/unenv/-/unenv-1.10.0.tgz"
@@ -5357,7 +5709,7 @@ vfile@^6.0.0, vfile@^6.0.3:
"@types/unist" "^3.0.0" "@types/unist" "^3.0.0"
vfile-message "^4.0.0" vfile-message "^4.0.0"
vite@^6.0.7: "vite@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", vite@^6.0.7:
version "6.0.7" version "6.0.7"
resolved "https://registry.npmjs.org/vite/-/vite-6.0.7.tgz" resolved "https://registry.npmjs.org/vite/-/vite-6.0.7.tgz"
integrity sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ== integrity sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==
@@ -5681,7 +6033,7 @@ yaml-language-server@~1.15.0:
optionalDependencies: optionalDependencies:
prettier "2.8.7" prettier "2.8.7"
yaml@^2.3.4, yaml@^2.5.0: yaml@^2.3.4, yaml@^2.4.2, yaml@^2.5.0:
version "2.7.0" version "2.7.0"
resolved "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz" resolved "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz"
integrity sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA== integrity sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==
@@ -5741,7 +6093,7 @@ zod-to-ts@^1.2.0:
resolved "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz" resolved "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz"
integrity sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA== integrity sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==
zod@^3.23.8, zod@^3.24.1: zod@^3, zod@^3.23.8, zod@^3.24.1:
version "3.24.1" version "3.24.1"
resolved "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz" resolved "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz"
integrity sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A== integrity sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==