diff --git a/astro.config.mjs b/astro.config.mjs
index 5998115..414fa46 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -2,8 +2,10 @@ import { defineConfig } from "astro/config";
import tailwind from "@astrojs/tailwind";
import react from "@astrojs/react";
+import icon from "astro-icon";
+
// https://astro.build/config
export default defineConfig({
site: "https://rxyhn.is-a.dev",
- integrations: [tailwind(), react()],
+ integrations: [tailwind(), react(), icon()],
});
diff --git a/cv.json b/cv.json
index e2fe41f..bc97ed4 100644
--- a/cv.json
+++ b/cv.json
@@ -9,26 +9,22 @@
"countryCode": "ID",
"region": "Indonesia"
},
- "profiles": [
+ "socials": [
{
- "network": "Email",
- "username": "rxyhn.dev@gmail.com",
+ "network": "email",
"url": "mailto:rxyhn.dev@gmail.com"
},
{
- "network": "Telegram",
- "username": "@rxxxyhn",
+ "network": "telegram",
"url": "https://t.me/rxxxyhn"
},
{
- "network": "LinkedIn",
- "username": "Rayhan Kafi Pratama",
- "url": "https://linkedin.com/in/rayhankafipratama"
+ "network": "github",
+ "url": "https://github.com/rxyhn"
},
{
- "network": "GitHub",
- "username": "rxyhn",
- "url": "https://github.com/rxyhn"
+ "network": "linkedin",
+ "url": "https://linkedin.com/in/rayhankafipratama"
}
]
},
@@ -42,18 +38,11 @@
"startDate": "2024-08-01",
"endDate": null,
"summary": "Developed back-end systems and APIs for an Audit Trail Management System project, collaborating closely with Business Analysts to understand requirements and design the system architecture.",
- "highlights": [
- "Participated in code reviews and pair programming sessions to ensure code quality and maintainability."
- ],
"responsibilities": [
"Developed back-end systems and APIs for Audit Trail Management System.",
"Collaborated with Business Analysts to understand project requirements.",
"Designed system architecture and participated in code reviews."
- ],
- "achievements": [
- "Contributed to the successful implementation of a scalable back-end system."
- ],
- "skills": ["Java", "Spring Boot", "MySQL"]
+ ]
},
{
"name": "PT. Khatulistiwa Nusantara Indonesia (KHANSIA)",
@@ -64,18 +53,11 @@
"startDate": "2020-09-01",
"endDate": "2021-04-01",
"summary": "Assisted senior developers in building and maintaining back-end systems for mobile applications, gaining hands-on experience with back-end technologies.",
- "highlights": [
- "Collaborated with front-end developers to integrate back-end functionalities with user interfaces."
- ],
"responsibilities": [
"Assisted in building and maintaining back-end systems for mobile applications.",
"Participated in Agile development processes including sprint planning and daily stand-ups.",
"Integrated back-end functionalities with front-end user interfaces."
- ],
- "achievements": [
- "Successfully contributed to the delivery of multiple mobile application projects."
- ],
- "skills": ["Node.js", "MongoDB", "Express"]
+ ]
}
],
"education": [
@@ -95,184 +77,54 @@
"studyType": "Vocational High School",
"startDate": "2019-09-01",
"endDate": "2022-06-01",
- "summary": "Lab Assistant in the school's computer lab. Responsible for maintaining the computer lab, assisting students with computer-related problems, and providing technical support to teachers."
+ "summary": "Graduated as a top student, gained expertise in web and mobile development, and software methodologies. Served as a lab assistant, helping students with software engineering issues and providing technical support to teachers."
}
],
"awards": [
{
- "title": "Finalist of Chain Fusion Hacker - ICP",
+ "title": "Finalist of Chain Fusion Hacker House",
"date": "August 2024",
- "awarder": "Chain Fusion",
- "summary": "As a finalist in the Chain Fusion Hacker competition, I contributed to the advancement of Web3 technologies by developing user-centric decentralized applications. My focus was on addressing interoperability challenges, improving dApp usability, and facilitating seamless integration between blockchain platforms. In my role as a backend developer, I was responsible for managing APIs and creating smart contracts using Motoko."
+ "awarder": "ICP"
},
{
"title": "Finalist of ICPC Asia Jakarta National Contest",
"date": "November 2023",
- "awarder": "ICPC",
- "summary": "As a finalist in the ICPC Asia Jakarta National Contest, I competed against top university teams across the region. The competition involved solving complex algorithmic challenges under strict time constraints, testing our teamwork, problem-solving abilities, and programming expertise. This experience significantly enhanced my technical skills and competitive mindset."
+ "awarder": "ICPC"
}
],
"skills": {
"technologies": [
- {
- "name": "Ansible",
- "level": "Expert",
- "keywords": ["Automation", "Configuration Management", "DevOps"]
- },
- {
- "name": "Docker",
- "level": "Intermediate",
- "keywords": ["Containers", "Virtualization", "DevOps"]
- },
- {
- "name": "Django",
- "level": "Intermediate",
- "keywords": ["Python", "Backend", "Web Development"]
- },
- {
- "name": "Express.js",
- "level": "Intermediate",
- "keywords": ["Node.js", "Backend", "Web Development"]
- },
- {
- "name": "Figma",
- "level": "Expert",
- "keywords": ["Design", "UI"]
- },
- {
- "name": "Flask",
- "level": "Intermediate",
- "keywords": ["Python", "Backend", "Web Development"]
- },
- {
- "name": "Git",
- "level": "Expert",
- "keywords": ["Version Control", "Collaboration", "Source Code"]
- },
- {
- "name": "Linux",
- "level": "Intermediate",
- "keywords": [
- "Operating System",
- "System Administration",
- "System Programming"
- ]
- },
- {
- "name": "MySQL",
- "level": "Intermediate",
- "keywords": ["Databases", "SQL", "Data Storage", "Backend"]
- },
- {
- "name": "Nix Package Manager",
- "level": "Intermediate",
- "keywords": ["Package Management", "DevOps", "Configuration"]
- },
- {
- "name": "Node.js",
- "level": "Intermediate",
- "keywords": ["Web Development", "Backend", "JavaScript", "Server"]
- },
- {
- "name": "PostgreSQL",
- "level": "Intermediate",
- "keywords": ["Databases", "SQL", "Data Storage", "Backend"]
- },
- {
- "name": "React",
- "level": "Intermediate",
- "keywords": ["Web Development", "Frontend", "JavaScript Library", "UI"]
- },
- {
- "name": "Spring Boot",
- "level": "Intermediate",
- "keywords": ["Java", "Backend", "Framework"]
- },
- {
- "name": "Tailwind",
- "level": "Intermediate",
- "keywords": [
- "Web Development",
- "Frontend",
- "CSS Framework",
- "Responsive Design"
- ]
- }
+ "Ansible",
+ "Docker",
+ "Django",
+ "Express.js",
+ "Figma",
+ "Flask",
+ "Git",
+ "Linux",
+ "MySQL",
+ "Nix Package Manager",
+ "Node.js",
+ "PostgreSQL",
+ "React",
+ "Spring Boot",
+ "Tailwind"
],
"programming_languages": [
- {
- "name": "C",
- "level": "Intermediate",
- "keywords": ["Programming", "Backend", "System Programming"]
- },
- {
- "name": "C#",
- "level": "Intermediate",
- "keywords": ["Programming", "Backend", "Object-Oriented"]
- },
- {
- "name": "C++",
- "level": "Intermediate",
- "keywords": ["Programming", "Backend", "Object-Oriented"]
- },
- {
- "name": "CSS",
- "level": "Intermediate",
- "keywords": ["Web Development", "Frontend", "Responsive Design"]
- },
- {
- "name": "HTML",
- "level": "Intermediate",
- "keywords": ["Web Development", "Frontend"]
- },
- {
- "name": "Java",
- "level": "Intermediate",
- "keywords": ["Programming", "Backend", "Object-Oriented"]
- },
- {
- "name": "JavaScript",
- "level": "Intermediate",
- "keywords": ["Web Development", "Frontend", "Backend", "Fullstack"]
- },
- {
- "name": "Lua",
- "level": "Intermediate",
- "keywords": ["Scripting", "Embedded Systems"]
- },
- {
- "name": "Nix",
- "level": "Intermediate",
- "keywords": ["Functional Programming", "Package Management"]
- },
- {
- "name": "Python",
- "level": "Intermediate",
- "keywords": ["Programming", "Backend", "Data Science"]
- },
- {
- "name": "Shell",
- "level": "Intermediate",
- "keywords": ["Scripting", "Automation", "System Programming"]
- },
- {
- "name": "TypeScript",
- "level": "Intermediate",
- "keywords": [
- "Web Development",
- "Frontend",
- "Backend",
- "JavaScript Superset"
- ]
- }
+ "C",
+ "C#",
+ "C++",
+ "CSS",
+ "HTML",
+ "Java",
+ "JavaScript",
+ "Lua",
+ "Nix",
+ "Python",
+ "Shell",
+ "TypeScript"
]
},
- "interests": [
- {
- "name": "Technology",
- "keywords": ["AI", "Blockchain"]
- }
- ],
"projects": [
{
"name": "Kanjo",
@@ -282,7 +134,8 @@
"highlights": [
"Implemented various machine learning models like Naive Bayes, SVM, and Random Forest for sentiment analysis.",
"Designed an intuitive Streamlit interface for easy model interaction."
- ]
+ ],
+ "technologies": ["Python", "Streamlit", "Scikit-learn", "Pandas"]
},
{
"name": "Shusseki",
@@ -292,7 +145,8 @@
"highlights": [
"Integrated facial recognition with OpenCV for real-time attendance tracking.",
"Achieved 95% accuracy in facial recognition under various lighting conditions."
- ]
+ ],
+ "technologies": ["Python", "OpenCV", "Dlib"]
},
{
"name": "Yoru",
@@ -302,7 +156,8 @@
"highlights": [
"Customized AwesomeWM environment with a focus on aesthetics and productivity.",
"Included several custom widgets for enhanced user experience."
- ]
+ ],
+ "technologies": ["Lua", "Shell"]
},
{
"name": "Identik",
@@ -312,7 +167,8 @@
"highlights": [
"Developed a decentralized identity system using Motoko on the Internet Computer (ICP) blockchain.",
"Integrated multi-factor authentication for enhanced security."
- ]
+ ],
+ "technologies": ["Motoko", "JavaScript", "HTML", "CSS"]
},
{
"name": "RAiso",
@@ -322,7 +178,8 @@
"highlights": [
"Implemented a layered architecture to separate concerns and improve maintainability.",
"Enhanced user experience with a modern and responsive UI design."
- ]
+ ],
+ "technologies": ["C#", "ASP.NET", "Entity Framework"]
},
{
"name": "PyQtLMS",
@@ -332,7 +189,8 @@
"highlights": [
"Developed a complete library management system with PyQt5.",
"Implemented a robust database system for efficient book management."
- ]
+ ],
+ "technologies": ["Python", "PyQt5", "MySQL"]
},
{
"name": "Cursed",
@@ -342,7 +200,8 @@
"highlights": [
"Created a terminal-based calendar and todo-list application using ncurses.",
"Optimized for low-resource environments with minimalistic design."
- ]
+ ],
+ "technologies": ["C", "ncurses"]
}
]
}
diff --git a/package.json b/package.json
index 9b14772..2a9ad13 100644
--- a/package.json
+++ b/package.json
@@ -21,6 +21,7 @@
"@types/react": "^18.3.5",
"@types/react-dom": "^18.3.0",
"astro": "^4.15.3",
+ "astro-icon": "^1.1.1",
"clsx": "^2.1.1",
"framer-motion": "^11.5.4",
"prettier-plugin-tailwindcss": "^0.6.6",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0f0d1c7..8d01dd5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -12,10 +12,10 @@ importers:
version: 0.9.3(prettier-plugin-astro@0.14.1)(prettier@3.3.3)(typescript@5.5.4)
"@astrojs/react":
specifier: ^3.6.2
- version: 3.6.2(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.3)
+ version: 3.6.2(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.3(@types/node@22.5.4))
"@astrojs/tailwind":
specifier: ^5.1.0
- version: 5.1.0(astro@4.15.3(rollup@4.21.2)(typescript@5.5.4))(tailwindcss@3.4.10)
+ version: 5.1.0(astro@4.15.3(@types/node@22.5.4)(rollup@4.21.2)(typescript@5.5.4))(tailwindcss@3.4.10)
"@tailwindcss/typography":
specifier: ^0.5.15
version: 0.5.15(tailwindcss@3.4.10)
@@ -36,7 +36,10 @@ importers:
version: 18.3.0
astro:
specifier: ^4.15.3
- version: 4.15.3(rollup@4.21.2)(typescript@5.5.4)
+ version: 4.15.3(@types/node@22.5.4)(rollup@4.21.2)(typescript@5.5.4)
+ astro-icon:
+ specifier: ^1.1.1
+ version: 1.1.1
clsx:
specifier: ^2.1.1
version: 2.1.1
@@ -87,6 +90,18 @@ packages:
}
engines: { node: ">=6.0.0" }
+ "@antfu/install-pkg@0.4.1":
+ resolution:
+ {
+ integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==,
+ }
+
+ "@antfu/utils@0.7.10":
+ resolution:
+ {
+ integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==,
+ }
+
"@astrojs/check@0.9.3":
resolution:
{
@@ -597,6 +612,24 @@ packages:
cpu: [x64]
os: [win32]
+ "@iconify/tools@4.0.6":
+ resolution:
+ {
+ integrity: sha512-riEQggXVuZNXjRdo+aKT0rkzn2XHslIqat8mdW/oVu5mLmP/95Hi+iaq4keT7WwMD97jsYPXMQ6QMCw0EWpRNw==,
+ }
+
+ "@iconify/types@2.0.0":
+ resolution:
+ {
+ integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==,
+ }
+
+ "@iconify/utils@2.1.32":
+ resolution:
+ {
+ integrity: sha512-LeifFZPPKu28O3AEDpYJNdEbvS4/ojAPyIW+pF/vUpJTYnbTiXUHkCh0bwgFRzKvdpb8H4Fbfd/742++MF4fPQ==,
+ }
+
"@img/sharp-darwin-arm64@0.33.5":
resolution:
{
@@ -993,6 +1026,13 @@ packages:
peerDependencies:
tailwindcss: ">=3.0.0 || insiders || >=4.0.0-alpha.20"
+ "@trysound/sax@0.2.0":
+ resolution:
+ {
+ integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==,
+ }
+ engines: { node: ">=10.13.0" }
+
"@tsparticles/basic@3.5.0":
resolution:
{
@@ -1267,6 +1307,12 @@ packages:
integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==,
}
+ "@types/node@22.5.4":
+ resolution:
+ {
+ integrity: sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==,
+ }
+
"@types/prop-types@15.7.12":
resolution:
{
@@ -1285,12 +1331,24 @@ packages:
integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==,
}
+ "@types/tar@6.1.13":
+ resolution:
+ {
+ integrity: sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==,
+ }
+
"@types/unist@3.0.3":
resolution:
{
integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==,
}
+ "@types/yauzl@2.10.3":
+ resolution:
+ {
+ integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==,
+ }
+
"@ungap/structured-clone@1.2.0":
resolution:
{
@@ -1454,6 +1512,12 @@ packages:
integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==,
}
+ astro-icon@1.1.1:
+ resolution:
+ {
+ integrity: sha512-HKBesWk2Faw/0+klLX+epQVqdTfSzZz/9+5vxXUjTJaN/HnpDf608gRPgHh7ZtwBPNJMEFoU5GLegxoDcT56OQ==,
+ }
+
astro@4.15.3:
resolution:
{
@@ -1463,6 +1527,12 @@ packages:
{ node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: ">=9.6.5", pnpm: ">=7.1.0" }
hasBin: true
+ asynckit@0.4.0:
+ resolution:
+ {
+ integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==,
+ }
+
autoprefixer@10.4.20:
resolution:
{
@@ -1473,6 +1543,12 @@ packages:
peerDependencies:
postcss: ^8.1.0
+ axios@1.7.7:
+ resolution:
+ {
+ integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==,
+ }
+
axobject-query@4.1.0:
resolution:
{
@@ -1505,6 +1581,12 @@ packages:
}
engines: { node: ">=8" }
+ boolbase@1.0.0:
+ resolution:
+ {
+ integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==,
+ }
+
boxen@7.1.1:
resolution:
{
@@ -1533,6 +1615,12 @@ packages:
engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 }
hasBin: true
+ buffer-crc32@0.2.13:
+ resolution:
+ {
+ integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==,
+ }
+
camelcase-css@2.0.1:
resolution:
{
@@ -1591,6 +1679,19 @@ packages:
integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==,
}
+ cheerio-select@2.1.0:
+ resolution:
+ {
+ integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==,
+ }
+
+ cheerio@1.0.0:
+ resolution:
+ {
+ integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==,
+ }
+ engines: { node: ">=18.17" }
+
chokidar@3.6.0:
resolution:
{
@@ -1598,6 +1699,13 @@ packages:
}
engines: { node: ">= 8.10.0" }
+ chownr@2.0.0:
+ resolution:
+ {
+ integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==,
+ }
+ engines: { node: ">=10" }
+
ci-info@4.0.0:
resolution:
{
@@ -1678,6 +1786,13 @@ packages:
}
engines: { node: ">=12.5.0" }
+ combined-stream@1.0.8:
+ resolution:
+ {
+ integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==,
+ }
+ engines: { node: ">= 0.8" }
+
comma-separated-tokens@2.0.3:
resolution:
{
@@ -1691,12 +1806,25 @@ packages:
}
engines: { node: ">= 6" }
+ commander@7.2.0:
+ resolution:
+ {
+ integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==,
+ }
+ engines: { node: ">= 10" }
+
common-ancestor-path@1.0.1:
resolution:
{
integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==,
}
+ confbox@0.1.7:
+ resolution:
+ {
+ integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==,
+ }
+
convert-source-map@2.0.0:
resolution:
{
@@ -1717,6 +1845,33 @@ packages:
}
engines: { node: ">= 8" }
+ css-select@5.1.0:
+ resolution:
+ {
+ integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==,
+ }
+
+ css-tree@2.2.1:
+ resolution:
+ {
+ integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==,
+ }
+ engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: ">=7.0.0" }
+
+ css-tree@2.3.1:
+ resolution:
+ {
+ integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==,
+ }
+ engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 }
+
+ css-what@6.1.0:
+ resolution:
+ {
+ integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==,
+ }
+ engines: { node: ">= 6" }
+
cssesc@3.0.0:
resolution:
{
@@ -1725,6 +1880,13 @@ packages:
engines: { node: ">=4" }
hasBin: true
+ csso@5.0.5:
+ resolution:
+ {
+ integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==,
+ }
+ engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: ">=7.0.0" }
+
csstype@3.1.3:
resolution:
{
@@ -1749,6 +1911,13 @@ packages:
integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==,
}
+ delayed-stream@1.0.0:
+ resolution:
+ {
+ integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==,
+ }
+ engines: { node: ">=0.4.0" }
+
dequal@2.0.3:
resolution:
{
@@ -1801,6 +1970,31 @@ packages:
integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==,
}
+ dom-serializer@2.0.0:
+ resolution:
+ {
+ integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==,
+ }
+
+ domelementtype@2.3.0:
+ resolution:
+ {
+ integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==,
+ }
+
+ domhandler@5.0.3:
+ resolution:
+ {
+ integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==,
+ }
+ engines: { node: ">= 4" }
+
+ domutils@3.1.0:
+ resolution:
+ {
+ integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==,
+ }
+
dset@3.1.3:
resolution:
{
@@ -1844,6 +2038,18 @@ packages:
integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==,
}
+ encoding-sniffer@0.2.0:
+ resolution:
+ {
+ integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==,
+ }
+
+ end-of-stream@1.4.4:
+ resolution:
+ {
+ integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==,
+ }
+
entities@4.5.0:
resolution:
{
@@ -1925,6 +2131,14 @@ packages:
integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==,
}
+ extract-zip@2.0.1:
+ resolution:
+ {
+ integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==,
+ }
+ engines: { node: ">= 10.17.0" }
+ hasBin: true
+
fast-deep-equal@3.1.3:
resolution:
{
@@ -1950,6 +2164,12 @@ packages:
integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==,
}
+ fd-slicer@1.1.0:
+ resolution:
+ {
+ integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==,
+ }
+
fill-range@7.1.1:
resolution:
{
@@ -1984,6 +2204,18 @@ packages:
}
engines: { node: ">=8" }
+ follow-redirects@1.15.9:
+ resolution:
+ {
+ integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==,
+ }
+ engines: { node: ">=4.0" }
+ peerDependencies:
+ debug: "*"
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
foreground-child@3.3.0:
resolution:
{
@@ -1991,6 +2223,13 @@ packages:
}
engines: { node: ">=14" }
+ form-data@4.0.0:
+ resolution:
+ {
+ integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==,
+ }
+ engines: { node: ">= 6" }
+
fraction.js@4.3.7:
resolution:
{
@@ -2014,6 +2253,13 @@ packages:
react-dom:
optional: true
+ fs-minipass@2.1.0:
+ resolution:
+ {
+ integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==,
+ }
+ engines: { node: ">= 8" }
+
fsevents@2.3.3:
resolution:
{
@@ -2049,6 +2295,13 @@ packages:
}
engines: { node: ">=18" }
+ get-stream@5.2.0:
+ resolution:
+ {
+ integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==,
+ }
+ engines: { node: ">=8" }
+
github-slugger@2.0.0:
resolution:
{
@@ -2182,12 +2435,25 @@ packages:
integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==,
}
+ htmlparser2@9.1.0:
+ resolution:
+ {
+ integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==,
+ }
+
http-cache-semantics@4.1.1:
resolution:
{
integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==,
}
+ iconv-lite@0.6.3:
+ resolution:
+ {
+ integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==,
+ }
+ engines: { node: ">=0.10.0" }
+
import-meta-resolve@4.1.0:
resolution:
{
@@ -2394,6 +2660,12 @@ packages:
}
engines: { node: ">=6" }
+ kolorist@1.8.0:
+ resolution:
+ {
+ integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==,
+ }
+
lilconfig@2.1.0:
resolution:
{
@@ -2421,6 +2693,13 @@ packages:
}
engines: { node: ">=6" }
+ local-pkg@0.5.0:
+ resolution:
+ {
+ integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==,
+ }
+ engines: { node: ">=14" }
+
locate-path@5.0.0:
resolution:
{
@@ -2580,6 +2859,18 @@ packages:
integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==,
}
+ mdn-data@2.0.28:
+ resolution:
+ {
+ integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==,
+ }
+
+ mdn-data@2.0.30:
+ resolution:
+ {
+ integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==,
+ }
+
merge2@1.4.1:
resolution:
{
@@ -2762,6 +3053,20 @@ packages:
}
engines: { node: ">=8.6" }
+ mime-db@1.52.0:
+ resolution:
+ {
+ integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==,
+ }
+ engines: { node: ">= 0.6" }
+
+ mime-types@2.1.35:
+ resolution:
+ {
+ integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==,
+ }
+ engines: { node: ">= 0.6" }
+
mimic-function@5.0.1:
resolution:
{
@@ -2776,6 +3081,27 @@ packages:
}
engines: { node: ">=16 || 14 >=14.17" }
+ minipass@3.3.6:
+ resolution:
+ {
+ integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==,
+ }
+ engines: { node: ">=8" }
+
+ minipass@4.2.8:
+ resolution:
+ {
+ integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==,
+ }
+ engines: { node: ">=8" }
+
+ minipass@5.0.0:
+ resolution:
+ {
+ integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==,
+ }
+ engines: { node: ">=8" }
+
minipass@7.1.2:
resolution:
{
@@ -2783,6 +3109,27 @@ packages:
}
engines: { node: ">=16 || 14 >=14.17" }
+ minizlib@2.1.2:
+ resolution:
+ {
+ integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==,
+ }
+ engines: { node: ">= 8" }
+
+ mkdirp@1.0.4:
+ resolution:
+ {
+ integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==,
+ }
+ engines: { node: ">=10" }
+ hasBin: true
+
+ mlly@1.7.1:
+ resolution:
+ {
+ integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==,
+ }
+
mrmime@2.0.0:
resolution:
{
@@ -2849,6 +3196,12 @@ packages:
}
engines: { node: ">=0.10.0" }
+ nth-check@2.1.1:
+ resolution:
+ {
+ integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==,
+ }
+
object-assign@4.1.1:
resolution:
{
@@ -2863,6 +3216,12 @@ packages:
}
engines: { node: ">= 6" }
+ once@1.4.0:
+ resolution:
+ {
+ integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==,
+ }
+
onetime@7.0.0:
resolution:
{
@@ -2925,12 +3284,30 @@ packages:
integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==,
}
+ package-manager-detector@0.2.0:
+ resolution:
+ {
+ integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==,
+ }
+
parse-latin@7.0.0:
resolution:
{
integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==,
}
+ parse5-htmlparser2-tree-adapter@7.0.0:
+ resolution:
+ {
+ integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==,
+ }
+
+ parse5-parser-stream@7.1.2:
+ resolution:
+ {
+ integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==,
+ }
+
parse5@7.1.2:
resolution:
{
@@ -2976,6 +3353,18 @@ packages:
integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==,
}
+ pathe@1.1.2:
+ resolution:
+ {
+ integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==,
+ }
+
+ pend@1.2.0:
+ resolution:
+ {
+ integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==,
+ }
+
picocolors@1.1.0:
resolution:
{
@@ -3017,6 +3406,12 @@ packages:
}
engines: { node: ">=8" }
+ pkg-types@1.2.0:
+ resolution:
+ {
+ integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==,
+ }
+
postcss-import@15.1.0:
resolution:
{
@@ -3194,6 +3589,18 @@ packages:
integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==,
}
+ proxy-from-env@1.1.0:
+ resolution:
+ {
+ integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==,
+ }
+
+ pump@3.0.1:
+ resolution:
+ {
+ integrity: sha512-2ynnAmUu45oUSq51AQbeugLkMSKaz8FqVpZ6ykTqzOVkzXe8u/ezkGsYrFJqKZx+D9cVxoDrSbR7CeAwxFa5cQ==,
+ }
+
queue-microtask@1.2.3:
resolution:
{
@@ -3381,6 +3788,12 @@ packages:
integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==,
}
+ safer-buffer@2.1.2:
+ resolution:
+ {
+ integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==,
+ }
+
sass-formatter@0.7.9:
resolution:
{
@@ -3570,6 +3983,14 @@ packages:
}
engines: { node: ">= 0.4" }
+ svgo@3.3.2:
+ resolution:
+ {
+ integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==,
+ }
+ engines: { node: ">=14.0.0" }
+ hasBin: true
+
tailwind-merge@2.5.2:
resolution:
{
@@ -3584,6 +4005,13 @@ packages:
engines: { node: ">=14.0.0" }
hasBin: true
+ tar@6.2.1:
+ resolution:
+ {
+ integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==,
+ }
+ engines: { node: ">=10" }
+
thenify-all@1.6.0:
resolution:
{
@@ -3681,12 +4109,31 @@ packages:
engines: { node: ">=14.17" }
hasBin: true
+ ufo@1.5.4:
+ resolution:
+ {
+ integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==,
+ }
+
ultrahtml@1.5.3:
resolution:
{
integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==,
}
+ undici-types@6.19.8:
+ resolution:
+ {
+ integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==,
+ }
+
+ undici@6.19.8:
+ resolution:
+ {
+ integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==,
+ }
+ engines: { node: ">=18.17" }
+
unified@11.0.5:
resolution:
{
@@ -4006,6 +4453,20 @@ packages:
integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==,
}
+ whatwg-encoding@3.1.1:
+ resolution:
+ {
+ integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==,
+ }
+ engines: { node: ">=18" }
+
+ whatwg-mimetype@4.0.0:
+ resolution:
+ {
+ integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==,
+ }
+ engines: { node: ">=18" }
+
which-pm-runs@1.1.0:
resolution:
{
@@ -4049,6 +4510,12 @@ packages:
}
engines: { node: ">=12" }
+ wrappy@1.0.2:
+ resolution:
+ {
+ integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==,
+ }
+
xxhash-wasm@1.0.2:
resolution:
{
@@ -4068,6 +4535,12 @@ packages:
integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==,
}
+ yallist@4.0.0:
+ resolution:
+ {
+ integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==,
+ }
+
yaml-language-server@1.15.0:
resolution:
{
@@ -4104,6 +4577,12 @@ packages:
}
engines: { node: ">=12" }
+ yauzl@2.10.0:
+ resolution:
+ {
+ integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==,
+ }
+
yocto-queue@1.1.1:
resolution:
{
@@ -4148,6 +4627,13 @@ snapshots:
"@jridgewell/gen-mapping": 0.3.5
"@jridgewell/trace-mapping": 0.3.25
+ "@antfu/install-pkg@0.4.1":
+ dependencies:
+ package-manager-detector: 0.2.0
+ tinyexec: 0.3.0
+
+ "@antfu/utils@0.7.10": {}
+
"@astrojs/check@0.9.3(prettier-plugin-astro@0.14.1)(prettier@3.3.3)(typescript@5.5.4)":
dependencies:
"@astrojs/language-server": 2.14.2(prettier-plugin-astro@0.14.1)(prettier@3.3.3)(typescript@5.5.4)
@@ -4218,11 +4704,11 @@ snapshots:
dependencies:
prismjs: 1.29.0
- "@astrojs/react@3.6.2(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.3)":
+ "@astrojs/react@3.6.2(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.3(@types/node@22.5.4))":
dependencies:
"@types/react": 18.3.5
"@types/react-dom": 18.3.0
- "@vitejs/plugin-react": 4.3.1(vite@5.4.3)
+ "@vitejs/plugin-react": 4.3.1(vite@5.4.3(@types/node@22.5.4))
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
ultrahtml: 1.5.3
@@ -4230,9 +4716,9 @@ snapshots:
- supports-color
- vite
- "@astrojs/tailwind@5.1.0(astro@4.15.3(rollup@4.21.2)(typescript@5.5.4))(tailwindcss@3.4.10)":
+ "@astrojs/tailwind@5.1.0(astro@4.15.3(@types/node@22.5.4)(rollup@4.21.2)(typescript@5.5.4))(tailwindcss@3.4.10)":
dependencies:
- astro: 4.15.3(rollup@4.21.2)(typescript@5.5.4)
+ astro: 4.15.3(@types/node@22.5.4)(rollup@4.21.2)(typescript@5.5.4)
autoprefixer: 10.4.20(postcss@8.4.45)
postcss: 8.4.45
postcss-load-config: 4.0.2(postcss@8.4.45)
@@ -4497,6 +4983,37 @@ snapshots:
"@esbuild/win32-x64@0.21.5":
optional: true
+ "@iconify/tools@4.0.6":
+ dependencies:
+ "@iconify/types": 2.0.0
+ "@iconify/utils": 2.1.32
+ "@types/tar": 6.1.13
+ axios: 1.7.7
+ cheerio: 1.0.0
+ domhandler: 5.0.3
+ extract-zip: 2.0.1
+ local-pkg: 0.5.0
+ pathe: 1.1.2
+ svgo: 3.3.2
+ tar: 6.2.1
+ transitivePeerDependencies:
+ - debug
+ - supports-color
+
+ "@iconify/types@2.0.0": {}
+
+ "@iconify/utils@2.1.32":
+ dependencies:
+ "@antfu/install-pkg": 0.4.1
+ "@antfu/utils": 0.7.10
+ "@iconify/types": 2.0.0
+ debug: 4.3.7
+ kolorist: 1.8.0
+ local-pkg: 0.5.0
+ mlly: 1.7.1
+ transitivePeerDependencies:
+ - supports-color
+
"@img/sharp-darwin-arm64@0.33.5":
optionalDependencies:
"@img/sharp-libvips-darwin-arm64": 1.0.4
@@ -4686,6 +5203,8 @@ snapshots:
postcss-selector-parser: 6.0.10
tailwindcss: 3.4.10
+ "@trysound/sax@0.2.0": {}
+
"@tsparticles/basic@3.5.0":
dependencies:
"@tsparticles/engine": 3.5.0
@@ -4896,6 +5415,10 @@ snapshots:
dependencies:
"@types/unist": 3.0.3
+ "@types/node@22.5.4":
+ dependencies:
+ undici-types: 6.19.8
+
"@types/prop-types@15.7.12": {}
"@types/react-dom@18.3.0":
@@ -4907,18 +5430,28 @@ snapshots:
"@types/prop-types": 15.7.12
csstype: 3.1.3
+ "@types/tar@6.1.13":
+ dependencies:
+ "@types/node": 22.5.4
+ minipass: 4.2.8
+
"@types/unist@3.0.3": {}
+ "@types/yauzl@2.10.3":
+ dependencies:
+ "@types/node": 22.5.4
+ optional: true
+
"@ungap/structured-clone@1.2.0": {}
- "@vitejs/plugin-react@4.3.1(vite@5.4.3)":
+ "@vitejs/plugin-react@4.3.1(vite@5.4.3(@types/node@22.5.4))":
dependencies:
"@babel/core": 7.25.2
"@babel/plugin-transform-react-jsx-self": 7.24.7(@babel/core@7.25.2)
"@babel/plugin-transform-react-jsx-source": 7.24.7(@babel/core@7.25.2)
"@types/babel__core": 7.20.5
react-refresh: 0.14.2
- vite: 5.4.3
+ vite: 5.4.3(@types/node@22.5.4)
transitivePeerDependencies:
- supports-color
@@ -5020,7 +5553,16 @@ snapshots:
array-iterate@2.0.1: {}
- astro@4.15.3(rollup@4.21.2)(typescript@5.5.4):
+ astro-icon@1.1.1:
+ dependencies:
+ "@iconify/tools": 4.0.6
+ "@iconify/types": 2.0.0
+ "@iconify/utils": 2.1.32
+ transitivePeerDependencies:
+ - debug
+ - supports-color
+
+ astro@4.15.3(@types/node@22.5.4)(rollup@4.21.2)(typescript@5.5.4):
dependencies:
"@astrojs/compiler": 2.10.3
"@astrojs/internal-helpers": 0.4.1
@@ -5080,8 +5622,8 @@ snapshots:
tsconfck: 3.1.3(typescript@5.5.4)
unist-util-visit: 5.0.0
vfile: 6.0.3
- vite: 5.4.3
- vitefu: 1.0.2(vite@5.4.3)
+ vite: 5.4.3(@types/node@22.5.4)
+ vitefu: 1.0.2(vite@5.4.3(@types/node@22.5.4))
which-pm: 3.0.0
xxhash-wasm: 1.0.2
yargs-parser: 21.1.1
@@ -5103,6 +5645,8 @@ snapshots:
- terser
- typescript
+ asynckit@0.4.0: {}
+
autoprefixer@10.4.20(postcss@8.4.45):
dependencies:
browserslist: 4.23.3
@@ -5113,6 +5657,14 @@ snapshots:
postcss: 8.4.45
postcss-value-parser: 4.2.0
+ axios@1.7.7:
+ dependencies:
+ follow-redirects: 1.15.9
+ form-data: 4.0.0
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+
axobject-query@4.1.0: {}
bail@2.0.2: {}
@@ -5123,6 +5675,8 @@ snapshots:
binary-extensions@2.3.0: {}
+ boolbase@1.0.0: {}
+
boxen@7.1.1:
dependencies:
ansi-align: 3.0.1
@@ -5149,6 +5703,8 @@ snapshots:
node-releases: 2.0.18
update-browserslist-db: 1.1.0(browserslist@4.23.3)
+ buffer-crc32@0.2.13: {}
+
camelcase-css@2.0.1: {}
camelcase@7.0.1: {}
@@ -5171,6 +5727,29 @@ snapshots:
character-entities@2.0.2: {}
+ cheerio-select@2.1.0:
+ dependencies:
+ boolbase: 1.0.0
+ css-select: 5.1.0
+ css-what: 6.1.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ domutils: 3.1.0
+
+ cheerio@1.0.0:
+ dependencies:
+ cheerio-select: 2.1.0
+ dom-serializer: 2.0.0
+ domhandler: 5.0.3
+ domutils: 3.1.0
+ encoding-sniffer: 0.2.0
+ htmlparser2: 9.1.0
+ parse5: 7.1.2
+ parse5-htmlparser2-tree-adapter: 7.0.0
+ parse5-parser-stream: 7.1.2
+ undici: 6.19.8
+ whatwg-mimetype: 4.0.0
+
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
@@ -5183,6 +5762,8 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
+ chownr@2.0.0: {}
+
ci-info@4.0.0: {}
cli-boxes@3.0.0: {}
@@ -5223,12 +5804,20 @@ snapshots:
color-convert: 2.0.1
color-string: 1.9.1
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
comma-separated-tokens@2.0.3: {}
commander@4.1.1: {}
+ commander@7.2.0: {}
+
common-ancestor-path@1.0.1: {}
+ confbox@0.1.7: {}
+
convert-source-map@2.0.0: {}
cookie@0.6.0: {}
@@ -5239,8 +5828,32 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
+ css-select@5.1.0:
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 5.0.3
+ domutils: 3.1.0
+ nth-check: 2.1.1
+
+ css-tree@2.2.1:
+ dependencies:
+ mdn-data: 2.0.28
+ source-map-js: 1.2.0
+
+ css-tree@2.3.1:
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.2.0
+
+ css-what@6.1.0: {}
+
cssesc@3.0.0: {}
+ csso@5.0.5:
+ dependencies:
+ css-tree: 2.2.1
+
csstype@3.1.3: {}
debug@4.3.7:
@@ -5251,6 +5864,8 @@ snapshots:
dependencies:
character-entities: 2.0.2
+ delayed-stream@1.0.0: {}
+
dequal@2.0.3: {}
detect-libc@2.0.3: {}
@@ -5271,6 +5886,24 @@ snapshots:
dlv@1.1.3: {}
+ dom-serializer@2.0.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.5.0
+
+ domelementtype@2.3.0: {}
+
+ domhandler@5.0.3:
+ dependencies:
+ domelementtype: 2.3.0
+
+ domutils@3.1.0:
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+
dset@3.1.3: {}
eastasianwidth@0.2.0: {}
@@ -5288,6 +5921,15 @@ snapshots:
emoji-regex@9.2.2: {}
+ encoding-sniffer@0.2.0:
+ dependencies:
+ iconv-lite: 0.6.3
+ whatwg-encoding: 3.1.1
+
+ end-of-stream@1.4.4:
+ dependencies:
+ once: 1.4.0
+
entities@4.5.0: {}
es-module-lexer@1.5.4: {}
@@ -5340,6 +5982,16 @@ snapshots:
extend@3.0.2: {}
+ extract-zip@2.0.1:
+ dependencies:
+ debug: 4.3.7
+ get-stream: 5.2.0
+ yauzl: 2.10.0
+ optionalDependencies:
+ "@types/yauzl": 2.10.3
+ transitivePeerDependencies:
+ - supports-color
+
fast-deep-equal@3.1.3: {}
fast-glob@3.3.2:
@@ -5356,6 +6008,10 @@ snapshots:
dependencies:
reusify: 1.0.4
+ fd-slicer@1.1.0:
+ dependencies:
+ pend: 1.2.0
+
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
@@ -5374,11 +6030,19 @@ snapshots:
flattie@1.1.1: {}
+ follow-redirects@1.15.9: {}
+
foreground-child@3.3.0:
dependencies:
cross-spawn: 7.0.3
signal-exit: 4.1.0
+ form-data@4.0.0:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+
fraction.js@4.3.7: {}
framer-motion@11.5.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
@@ -5388,6 +6052,10 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ fs-minipass@2.1.0:
+ dependencies:
+ minipass: 3.3.6
+
fsevents@2.3.3:
optional: true
@@ -5399,6 +6067,10 @@ snapshots:
get-east-asian-width@1.2.0: {}
+ get-stream@5.2.0:
+ dependencies:
+ pump: 3.0.1
+
github-slugger@2.0.0: {}
glob-parent@5.1.2:
@@ -5526,8 +6198,19 @@ snapshots:
html-void-elements@3.0.0: {}
+ htmlparser2@9.1.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ domutils: 3.1.0
+ entities: 4.5.0
+
http-cache-semantics@4.1.1: {}
+ iconv-lite@0.6.3:
+ dependencies:
+ safer-buffer: 2.1.2
+
import-meta-resolve@4.1.0: {}
is-arrayish@0.3.2: {}
@@ -5607,6 +6290,8 @@ snapshots:
kleur@4.1.5: {}
+ kolorist@1.8.0: {}
+
lilconfig@2.1.0: {}
lilconfig@3.1.2: {}
@@ -5620,6 +6305,11 @@ snapshots:
pify: 4.0.1
strip-bom: 3.0.0
+ local-pkg@0.5.0:
+ dependencies:
+ mlly: 1.7.1
+ pkg-types: 1.2.0
+
locate-path@5.0.0:
dependencies:
p-locate: 4.1.0
@@ -5780,6 +6470,10 @@ snapshots:
dependencies:
"@types/mdast": 4.0.4
+ mdn-data@2.0.28: {}
+
+ mdn-data@2.0.30: {}
+
merge2@1.4.1: {}
micromark-core-commonmark@2.0.1:
@@ -5978,14 +6672,42 @@ snapshots:
braces: 3.0.3
picomatch: 2.3.1
+ mime-db@1.52.0: {}
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
mimic-function@5.0.1: {}
minimatch@9.0.5:
dependencies:
brace-expansion: 2.0.1
+ minipass@3.3.6:
+ dependencies:
+ yallist: 4.0.0
+
+ minipass@4.2.8: {}
+
+ minipass@5.0.0: {}
+
minipass@7.1.2: {}
+ minizlib@2.1.2:
+ dependencies:
+ minipass: 3.3.6
+ yallist: 4.0.0
+
+ mkdirp@1.0.4: {}
+
+ mlly@1.7.1:
+ dependencies:
+ acorn: 8.12.1
+ pathe: 1.1.2
+ pkg-types: 1.2.0
+ ufo: 1.5.4
+
mrmime@2.0.0: {}
ms@2.1.3: {}
@@ -6012,10 +6734,18 @@ snapshots:
normalize-range@0.1.2: {}
+ nth-check@2.1.1:
+ dependencies:
+ boolbase: 1.0.0
+
object-assign@4.1.1: {}
object-hash@3.0.0: {}
+ once@1.4.0:
+ dependencies:
+ wrappy: 1.0.2
+
onetime@7.0.0:
dependencies:
mimic-function: 5.0.1
@@ -6055,6 +6785,8 @@ snapshots:
package-json-from-dist@1.0.0: {}
+ package-manager-detector@0.2.0: {}
+
parse-latin@7.0.0:
dependencies:
"@types/nlcst": 2.0.3
@@ -6064,6 +6796,15 @@ snapshots:
unist-util-visit-children: 3.0.0
vfile: 6.0.3
+ parse5-htmlparser2-tree-adapter@7.0.0:
+ dependencies:
+ domhandler: 5.0.3
+ parse5: 7.1.2
+
+ parse5-parser-stream@7.1.2:
+ dependencies:
+ parse5: 7.1.2
+
parse5@7.1.2:
dependencies:
entities: 4.5.0
@@ -6083,6 +6824,10 @@ snapshots:
path-to-regexp@6.2.2: {}
+ pathe@1.1.2: {}
+
+ pend@1.2.0: {}
+
picocolors@1.1.0: {}
picomatch@2.3.1: {}
@@ -6097,6 +6842,12 @@ snapshots:
dependencies:
find-up: 4.1.0
+ pkg-types@1.2.0:
+ dependencies:
+ confbox: 0.1.7
+ mlly: 1.7.1
+ pathe: 1.1.2
+
postcss-import@15.1.0(postcss@8.4.45):
dependencies:
postcss: 8.4.45
@@ -6171,6 +6922,13 @@ snapshots:
property-information@6.5.0: {}
+ proxy-from-env@1.1.0: {}
+
+ pump@3.0.1:
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+
queue-microtask@1.2.3: {}
react-dom@18.3.1(react@18.3.1):
@@ -6333,6 +7091,8 @@ snapshots:
s.color@0.0.15: {}
+ safer-buffer@2.1.2: {}
+
sass-formatter@0.7.9:
dependencies:
suf-log: 2.5.3
@@ -6459,6 +7219,16 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
+ svgo@3.3.2:
+ dependencies:
+ "@trysound/sax": 0.2.0
+ commander: 7.2.0
+ css-select: 5.1.0
+ css-tree: 2.3.1
+ css-what: 6.1.0
+ csso: 5.0.5
+ picocolors: 1.1.0
+
tailwind-merge@2.5.2: {}
tailwindcss@3.4.10:
@@ -6488,6 +7258,15 @@ snapshots:
transitivePeerDependencies:
- ts-node
+ tar@6.2.1:
+ dependencies:
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ minipass: 5.0.0
+ minizlib: 2.1.2
+ mkdirp: 1.0.4
+ yallist: 4.0.0
+
thenify-all@1.6.0:
dependencies:
thenify: 3.3.1
@@ -6526,8 +7305,14 @@ snapshots:
typescript@5.5.4: {}
+ ufo@1.5.4: {}
+
ultrahtml@1.5.3: {}
+ undici-types@6.19.8: {}
+
+ undici@6.19.8: {}
+
unified@11.0.5:
dependencies:
"@types/unist": 3.0.3
@@ -6603,17 +7388,18 @@ snapshots:
"@types/unist": 3.0.3
vfile-message: 4.0.2
- vite@5.4.3:
+ vite@5.4.3(@types/node@22.5.4):
dependencies:
esbuild: 0.21.5
postcss: 8.4.45
rollup: 4.21.2
optionalDependencies:
+ "@types/node": 22.5.4
fsevents: 2.3.3
- vitefu@1.0.2(vite@5.4.3):
+ vitefu@1.0.2(vite@5.4.3(@types/node@22.5.4)):
optionalDependencies:
- vite: 5.4.3
+ vite: 5.4.3(@types/node@22.5.4)
volar-service-css@0.0.61(@volar/language-service@2.4.2):
dependencies:
@@ -6729,6 +7515,12 @@ snapshots:
web-namespaces@2.0.1: {}
+ whatwg-encoding@3.1.1:
+ dependencies:
+ iconv-lite: 0.6.3
+
+ whatwg-mimetype@4.0.0: {}
+
which-pm-runs@1.1.0: {}
which-pm@3.0.0:
@@ -6755,12 +7547,16 @@ snapshots:
string-width: 5.1.2
strip-ansi: 7.1.0
+ wrappy@1.0.2: {}
+
xxhash-wasm@1.0.2: {}
y18n@5.0.8: {}
yallist@3.1.1: {}
+ yallist@4.0.0: {}
+
yaml-language-server@1.15.0:
dependencies:
ajv: 8.17.1
@@ -6792,6 +7588,11 @@ snapshots:
y18n: 5.0.8
yargs-parser: 21.1.1
+ yauzl@2.10.0:
+ dependencies:
+ buffer-crc32: 0.2.13
+ fd-slicer: 1.1.0
+
yocto-queue@1.1.1: {}
zod-to-json-schema@3.23.2(zod@3.23.8):
diff --git a/src/components/Button.astro b/src/components/Button.astro
index d3617da..c350295 100644
--- a/src/components/Button.astro
+++ b/src/components/Button.astro
@@ -1,10 +1,22 @@
---
-const { link, text } = Astro.props;
+import { Icon } from "astro-icon/components";
+
+type Props = {
+ icon: string;
+ href: string;
+};
+
+const { icon, href } = Astro.props;
---
- {text}
+
+
{area}
{summary && (