Examples
diff --git a/docs/src/data/icons.ts b/docs/src/data/icons.ts
index 471ea677..4be74ed5 100644
--- a/docs/src/data/icons.ts
+++ b/docs/src/data/icons.ts
@@ -13,6 +13,7 @@ import {
aiA,
aiAddressBook,
aiAlarmClock,
+ aiAlbum,
aiAlignCenter,
aiAlignContentCenter,
aiAlignContentEnd,
@@ -66,6 +67,7 @@ import {
aiAt,
aiAzure,
aiB,
+ aiBackspace,
aiBackward,
aiBarsStaggered,
aiBarsUneven,
@@ -130,6 +132,7 @@ import {
aiCirclePerson,
aiCirclePlus,
aiCircleQuestion,
+ aiCircleRadio,
aiCircleXmark,
aiCircle,
aiCity,
@@ -178,6 +181,7 @@ import {
aiDice,
aiDisplayCam,
aiDisplay,
+ aiDollar,
aiDoor,
aiDroplet,
aiE,
@@ -190,6 +194,7 @@ import {
aiEnvelope,
aiEthernet,
aiEuro,
+ aiExpandRectangle,
aiExpand,
aiExport,
aiEyeSlash,
@@ -315,6 +320,7 @@ import {
aiMoonCloud,
aiMoon,
aiMoped,
+ aiMusicList,
aiMusicPause,
aiMusic,
aiN,
@@ -337,6 +343,7 @@ import {
aiPassword,
aiPatreon,
aiPause,
+ aiPenToSquare,
aiPen,
aiPeopleCircle,
aiPeopleXmark,
@@ -349,12 +356,16 @@ import {
aiPersonPlus,
aiPersonXmark,
aiPerson,
+ aiPhoneArrowBounceLeft,
+ aiPhoneArrowBounceRight,
aiPhoneArrowDownLeftProhibited,
aiPhoneArrowDownLeft,
+ aiPhoneArrowRight,
aiPhoneArrowUpRightProhibited,
aiPhoneArrowUpRight,
aiPhoneClock,
aiPhoneGear,
+ aiPhoneHangup,
aiPhoneList,
aiPhoneOffice,
aiPhoneVolume,
@@ -366,6 +377,7 @@ import {
aiPlayPause,
aiPlay,
aiPlus,
+ aiPound,
aiPower,
aiPrevious,
aiPrinter,
@@ -413,6 +425,8 @@ import {
aiSmartphoneHinge,
aiSmartphone,
aiSnowflake,
+ aiSparkle,
+ aiSparkles,
aiSpeakerGrill,
aiSpinnerThird,
aiSpinner,
@@ -612,6 +626,13 @@ const icons = [
slug: "alarm-clock",
icon: aiAlarmClock,
},
+ {
+ component: "aiAlbum",
+ categories: [],
+ tags: [],
+ slug: "album",
+ icon: aiAlbum,
+ },
{
component: "aiAlignCenter",
categories: ["layout-design"],
@@ -983,6 +1004,13 @@ const icons = [
slug: "b",
icon: aiB,
},
+ {
+ component: "aiBackspace",
+ categories: ["code-editing", "devices", "writing"],
+ tags: ["delete"],
+ slug: "backspace",
+ icon: aiBackspace,
+ },
{
component: "aiBackward",
categories: ["media"],
@@ -1431,6 +1459,13 @@ const icons = [
slug: "circle-question",
icon: aiCircleQuestion,
},
+ {
+ component: "aiCircleRadio",
+ categories: ["code-editing", "design"],
+ tags: ["radio button"],
+ slug: "circle-radio",
+ icon: aiCircleRadio,
+ },
{
component: "aiCircleXmark",
categories: ["alerts", "mathematics"],
@@ -1588,7 +1623,7 @@ const icons = [
{
component: "aiCoin",
categories: ["finance", "shopping"],
- tags: ["penny", "euro"],
+ tags: ["penny", "euro", "pound", "sterling", "money", "dollar"],
slug: "coin",
icon: aiCoin,
},
@@ -1767,6 +1802,13 @@ const icons = [
slug: "display",
icon: aiDisplay,
},
+ {
+ component: "aiDollar",
+ categories: ["finance"],
+ tags: ["usd", "money"],
+ slug: "dollar",
+ icon: aiDollar,
+ },
{
component: "aiDoor",
categories: ["maps", "security"],
@@ -1847,10 +1889,17 @@ const icons = [
{
component: "aiEuro",
categories: ["finance"],
- tags: [],
+ tags: ["eur", "money"],
slug: "euro",
icon: aiEuro,
},
+ {
+ component: "aiExpandRectangle",
+ categories: ["media"],
+ tags: ["expand view"],
+ slug: "expand-rectangle",
+ icon: aiExpandRectangle,
+ },
{
component: "aiExpand",
categories: ["media"],
@@ -2726,6 +2775,13 @@ const icons = [
slug: "moped",
icon: aiMoped,
},
+ {
+ component: "aiMusicList",
+ categories: ["media"],
+ tags: ["audio", "sound", "playlist"],
+ slug: "music-list",
+ icon: aiMusicList,
+ },
{
component: "aiMusicPause",
categories: ["media", "files", "education"],
@@ -2880,6 +2936,13 @@ const icons = [
slug: "pause",
icon: aiPause,
},
+ {
+ component: "aiPenToSquare",
+ categories: ["business", "design", "editing", "writing"],
+ tags: ["edit", "compose"],
+ slug: "pen-to-square",
+ icon: aiPenToSquare,
+ },
{
component: "aiPen",
categories: ["text-formatting", "office-tools", "design", "writing"],
@@ -2964,6 +3027,20 @@ const icons = [
slug: "person",
icon: aiPerson,
},
+ {
+ component: "aiPhoneArrowBounceLeft",
+ categories: ["office-tools", "communication"],
+ tags: ["telephone", "call", "missed call", "incoming"],
+ slug: "phone-arrow-bounce-left",
+ icon: aiPhoneArrowBounceLeft,
+ },
+ {
+ component: "aiPhoneArrowBounceRight",
+ categories: ["office-tools", "communication"],
+ tags: ["telephone", "call", "missed call", "outgoing"],
+ slug: "phone-arrow-bounce-right",
+ icon: aiPhoneArrowBounceRight,
+ },
{
component: "aiPhoneArrowDownLeftProhibited",
categories: ["office-tools", "communication"],
@@ -2978,6 +3055,13 @@ const icons = [
slug: "phone-arrow-down-left",
icon: aiPhoneArrowDownLeft,
},
+ {
+ component: "aiPhoneArrowRight",
+ categories: ["office-tools", "communication"],
+ tags: ["telephone", "call", "forward"],
+ slug: "phone-arrow-right",
+ icon: aiPhoneArrowRight,
+ },
{
component: "aiPhoneArrowUpRightProhibited",
categories: ["office-tools", "communication"],
@@ -3006,6 +3090,13 @@ const icons = [
slug: "phone-gear",
icon: aiPhoneGear,
},
+ {
+ component: "aiPhoneHangup",
+ categories: ["office-tools", "communication"],
+ tags: ["telephone", "call"],
+ slug: "phone-hangup",
+ icon: aiPhoneHangup,
+ },
{
component: "aiPhoneList",
categories: ["office-tools", "communication"],
@@ -3083,6 +3174,13 @@ const icons = [
slug: "plus",
icon: aiPlus,
},
+ {
+ component: "aiPound",
+ categories: ["finance"],
+ tags: ["gbp", "sterling", "money"],
+ slug: "pound",
+ icon: aiPound,
+ },
{
component: "aiPower",
categories: ["devices", "energy"],
@@ -3412,6 +3510,20 @@ const icons = [
slug: "snowflake",
icon: aiSnowflake,
},
+ {
+ component: "aiSparkle",
+ categories: ["design", "marketing", "shapes", "weather"],
+ tags: ["star", "twinkle", "ai"],
+ slug: "sparkle",
+ icon: aiSparkle,
+ },
+ {
+ component: "aiSparkles",
+ categories: ["gaming", "design", "marketing", "weather"],
+ tags: ["star", "twinkle", "ai"],
+ slug: "sparkles",
+ icon: aiSparkles,
+ },
{
component: "aiSpeakerGrill",
categories: ["communication", "devices"],
diff --git a/docs/src/neo/app/Documentation.tsx b/docs/src/neo/app/Documentation.tsx
new file mode 100644
index 00000000..f134c09f
--- /dev/null
+++ b/docs/src/neo/app/Documentation.tsx
@@ -0,0 +1,86 @@
+import { Outlet, Link, useLocation } from "react-router";
+
+import { Separator } from "@base-ui/react";
+import Amicon, { aiBook, aiArrowLeft, aiArrowRight } from "@studio384/amicons";
+
+import { cn } from "@/utils/cn";
+
+import PageHeader from "../design/blocks/PageHeader";
+import { DOC_PAGES } from "./docs/navigation";
+
+export default function NeoDocumentation() {
+ const location = useLocation();
+ const currentPage = DOC_PAGES.find((page) => page.path === location.pathname);
+ const currentIndex = DOC_PAGES.findIndex((page) => page.path === location.pathname);
+
+ if (currentIndex === -1) return null;
+
+ const prev = currentIndex > 0 ? DOC_PAGES[currentIndex - 1] : null;
+ const next = currentIndex < DOC_PAGES.length - 1 ? DOC_PAGES[currentIndex + 1] : null;
+
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+
+ {prev && (
+
+
+
+
+ {prev.sectionTitle}
+
+ {prev.title}
+
+
+ )}
+ {next && (
+
+
+
+ {next.sectionTitle}
+
+ {next.title}
+
+
+
+ )}
+
+
+
+ >
+ );
+}
diff --git a/docs/src/neo/app/Error.tsx b/docs/src/neo/app/Error.tsx
new file mode 100644
index 00000000..45f73eec
--- /dev/null
+++ b/docs/src/neo/app/Error.tsx
@@ -0,0 +1,13 @@
+import Amicon from "@studio384/amicons";
+
+export default function NeoError() {
+ return (
+
+
+
+
Error 404
+
And I still haven't found what I'm looking for...
+
+
+ );
+}
diff --git a/docs/src/neo/app/Icons.tsx b/docs/src/neo/app/Icons.tsx
new file mode 100644
index 00000000..42174ba3
--- /dev/null
+++ b/docs/src/neo/app/Icons.tsx
@@ -0,0 +1,268 @@
+import { useCallback, useEffect, useMemo, useState } from "react";
+import { useSearchParams } from "react-router";
+
+import { Input } from "@base-ui/react";
+import Amicon, { aiHouse, aiXmark, aiMagnifyingGlass } from "@studio384/amicons";
+import { useDebouncedCallback } from "@tanstack/react-pacer";
+
+import categories from "@/data/categories";
+import icons from "@/data/icons";
+import { Drawer } from "@/neo/design/components/Drawer";
+import { IconCard } from "@/neo/design/components/IconCard";
+import { type ILibraryIcon } from "@/types";
+import { cn } from "@/utils/cn";
+
+export default function NeoIcons() {
+ const [searchParams, setSearchParams] = useSearchParams();
+ const [searchInput, setSearchInput] = useState(searchParams.get("search") ?? "");
+
+ const searchQuery = searchParams.get("search") ?? "";
+ const selectedCategories = searchParams.getAll("categories");
+ const openedIconSlug = searchParams.get("icon");
+
+ useEffect(() => {
+ setSearchInput(searchQuery);
+ }, [searchQuery]);
+
+ const updateParams = useCallback(
+ (updater: (params: URLSearchParams) => void) => {
+ setSearchParams((prev) => {
+ const next = new URLSearchParams(prev);
+ updater(next);
+ return next;
+ });
+ },
+ [setSearchParams],
+ );
+
+ const debouncedSearchUpdate = useDebouncedCallback(
+ (value: string) => {
+ updateParams((params) => {
+ if (value.trim()) {
+ params.set("search", value.trim());
+ } else {
+ params.delete("search");
+ }
+ });
+ },
+ { wait: 250 },
+ );
+
+ const handleSearchChange = useCallback(
+ (value: string) => {
+ setSearchInput(value);
+ debouncedSearchUpdate(value);
+ },
+ [debouncedSearchUpdate],
+ );
+
+ const toggleCategory = useCallback(
+ (category: string) => {
+ updateParams((params) => {
+ const current = params.getAll("categories");
+ const exists = current.includes(category);
+ const next = exists ? current.filter((item) => item !== category) : [...current, category];
+
+ params.delete("categories");
+ next.forEach((item) => params.append("categories", item));
+ });
+ },
+ [updateParams],
+ );
+
+ const searchedIcons = useMemo(() => {
+ const query = searchQuery.trim().toLowerCase();
+ if (!query) {
+ return icons;
+ }
+
+ return icons.filter((icon) => {
+ const searchable = [icon.slug, icon.slug.replaceAll("-", " "), icon.component, ...icon.tags, ...icon.categories];
+ return searchable.some((value) => value.toLowerCase().includes(query));
+ });
+ }, [searchQuery]);
+
+ const filteredIcons = useMemo(() => {
+ if (selectedCategories.length === 0) {
+ return searchedIcons;
+ }
+
+ return searchedIcons.filter((icon) =>
+ selectedCategories.every((category) => (icon.categories as string[]).includes(category)),
+ );
+ }, [searchedIcons, selectedCategories]);
+
+ const categoryCounts = useMemo(() => {
+ const counts = new Map
();
+
+ categories.forEach((category) => {
+ const requiredCategories = selectedCategories.includes(category.slug)
+ ? selectedCategories
+ : [...selectedCategories, category.slug];
+
+ const count = searchedIcons.filter((icon) =>
+ requiredCategories.every((required) => (icon.categories as string[]).includes(required)),
+ ).length;
+
+ counts.set(category.slug, count);
+ });
+
+ return counts;
+ }, [searchedIcons, selectedCategories]);
+
+ const selectedIcon: ILibraryIcon | null = useMemo(
+ () => icons.find((icon) => icon.slug === openedIconSlug) ?? null,
+ [openedIconSlug],
+ );
+
+ const handleDrawerOpenChange = useCallback(
+ (open: boolean) => {
+ if (!open) {
+ updateParams((params) => {
+ params.delete("icon");
+ });
+ }
+ },
+ [updateParams],
+ );
+
+ return (
+ <>
+
+
+
+
+
handleSearchChange(e.target.value)}
+ className="w-full border-0 bg-transparent px-0 outline-0"
+ />
+
+
+
+
+
+
Icons
+
+ {filteredIcons.length} icon{filteredIcons.length !== 1 ? "s" : ""}
+
+
+
+
+
+
+
+
+ {categories.map((category) => (
+
toggleCategory(category.slug)}
+ className={cn(
+ "group grid grid-cols-[min-content_auto_min-content] items-center gap-2.5 rounded-sm px-2.5 py-1.5 text-start text-sm font-medium outline-0 -outline-offset-2 outline-violet-600 transition-[color,background-color,box-shadow] hover:cursor-pointer hover:bg-violet-600 hover:text-white hover:shadow-sm focus-visible:outline-2",
+ selectedCategories.includes(category.slug) && "bg-violet-600 text-white",
+ categoryCounts.get(category.slug) === 0 &&
+ "not-data-active:text-zinc-400 not-data-active:hover:text-violet-200",
+ )}
+ data-active={selectedCategories.includes(category.slug) ? "true" : undefined}
+ >
+
+ {category.title}
+
+ {categoryCounts.get(category.slug) ?? 0}
+
+
+ ))}
+
+
+ {filteredIcons.length > 0 ? (
+
+ {filteredIcons.map((icon) => (
+
+ ))}
+
+ ) : (
+
+ )}
+
+
+
+
+
+
+ {selectedIcon && (
+
+
+
+
+
+ {selectedIcon.slug}
+
+
+
+
+
+
+
+ {selectedIcon.categories.length > 0 && (
+
+
Categories
+
+ {selectedIcon.categories.map((category) => (
+ toggleCategory(category)}
+ className="rounded-full bg-violet-100 px-3 py-1 text-sm text-violet-600 hover:bg-violet-200 dark:bg-violet-900 dark:text-violet-300 dark:hover:bg-violet-800"
+ >
+ {category}
+
+ ))}
+
+
+ )}
+
+ {selectedIcon.tags.length > 0 && (
+
+
Tags
+
+ {selectedIcon.tags.map((tag) => (
+
+ {tag}
+
+ ))}
+
+
+ )}
+
+
+
Component
+
+ {selectedIcon.component}
+
+
+
+ )}
+
+
+
+
+
+ >
+ );
+}
diff --git a/docs/src/neo/app/News.tsx b/docs/src/neo/app/News.tsx
new file mode 100644
index 00000000..cf9cab44
--- /dev/null
+++ b/docs/src/neo/app/News.tsx
@@ -0,0 +1,52 @@
+import { Link } from "react-router";
+
+import { aiMegaphone } from "@studio384/amicons";
+import { format, parse } from "date-fns";
+
+import { newsPosts } from "@/neo/app/posts/newsPosts";
+
+import PageHeader from "../design/blocks/PageHeader";
+
+export default function News() {
+ return (
+ <>
+
+
+
+ {newsPosts.length === 0 ? (
+
+ ) : (
+
+
+ {newsPosts.map((post) => (
+
+
+
+
+
+ {post.title}
+
+
+ {format(parse(post.publishDate, "yyyy-MM-dd", new Date()), "d MMMM yyyy")}
+
+
+
{post.excerpt}
+
+ ))}
+
+
+ )}
+
+ >
+ );
+}
diff --git a/docs/src/neo/app/NewsPost.tsx b/docs/src/neo/app/NewsPost.tsx
new file mode 100644
index 00000000..46c1ca51
--- /dev/null
+++ b/docs/src/neo/app/NewsPost.tsx
@@ -0,0 +1,101 @@
+import { Link, Navigate, useParams } from "react-router";
+
+import { Separator } from "@base-ui/react";
+import Amicon, { aiArrowLeft, aiArrowRight, aiMegaphone } from "@studio384/amicons";
+import { format, parse } from "date-fns";
+
+import { newsPosts, getNewsPostBySlug } from "@/neo/app/posts/newsPosts";
+import { cn } from "@/utils/cn";
+
+import PageHeader from "../design/blocks/PageHeader";
+
+export default function NewsPost() {
+ const { slug } = useParams();
+ const post = getNewsPostBySlug(slug);
+
+ if (!post) {
+ return ;
+ }
+
+ const PostComponent = post.Component;
+ const postIndex = newsPosts.findIndex((entry) => entry.slug === post.slug);
+ const newerPost = postIndex > 0 ? newsPosts[postIndex - 1] : undefined;
+ const olderPost = postIndex < newsPosts.length - 1 ? newsPosts[postIndex + 1] : undefined;
+
+ return (
+ <>
+
+
+ All news
+
+
+
+
+
+
+
+
+
+
+
+
+ {(newerPost || olderPost) && (
+
+
+ {newerPost && (
+
+
+
+ Newer post
+ {newerPost.title}
+
+
+ )}
+ {olderPost && (
+
+
+ Older post
+ {olderPost.title}
+
+
+
+ )}
+
+
+ )}
+
+ >
+ );
+}
diff --git a/docs/src/neo/app/Release.tsx b/docs/src/neo/app/Release.tsx
new file mode 100644
index 00000000..491acab1
--- /dev/null
+++ b/docs/src/neo/app/Release.tsx
@@ -0,0 +1,106 @@
+import { Link, Navigate, useParams } from "react-router";
+
+import { Separator } from "@base-ui/react";
+import Amicon, { aiAmicons, aiArrowLeft, aiArrowRight } from "@studio384/amicons";
+import { format, parse } from "date-fns";
+
+import ReleaseCard from "@/neo/design/blocks/ReleaseCard";
+import { cn } from "@/utils/cn";
+
+import PageHeader from "../design/blocks/PageHeader";
+import { getReleaseBySlug, releases } from "./releases/releaseEntries";
+
+export default function Release() {
+ const { slug } = useParams();
+ const release = getReleaseBySlug(slug);
+
+ if (!release) {
+ return ;
+ }
+
+ const ReleaseComponent = release.Component;
+ const releaseIndex = releases.findIndex((entry) => entry.slug === release.slug);
+ const nextRelease = releaseIndex > 0 ? releases[releaseIndex - 1] : undefined;
+ const previousRelease = releaseIndex < releases.length - 1 ? releases[releaseIndex + 1] : undefined;
+
+ return (
+ <>
+
+
+ All releases
+
+
+
+
+
+
+
+
+
+
+
+
+ {(nextRelease || previousRelease) && (
+
+
+ {nextRelease && (
+
+
+
+ Next release
+ {nextRelease.name}
+
+
+ )}
+ {previousRelease && (
+
+
+
+ Previous release
+
+ {previousRelease.name}
+
+
+
+ )}
+
+
+ )}
+
+ >
+ );
+}
diff --git a/docs/src/neo/app/Releases.tsx b/docs/src/neo/app/Releases.tsx
new file mode 100644
index 00000000..718bbd27
--- /dev/null
+++ b/docs/src/neo/app/Releases.tsx
@@ -0,0 +1,73 @@
+import { Link } from "react-router";
+
+import { Separator } from "@base-ui/react";
+import Amicon, { aiAmicons, aiArrowRight } from "@studio384/amicons";
+import { format, parse } from "date-fns";
+
+import ReleaseCard from "@/neo/design/blocks/ReleaseCard";
+
+import PageHeader from "../design/blocks/PageHeader";
+import { releases } from "./releases/releaseEntries";
+
+export default function Releases() {
+ const [currentRelease, ...previousReleases] = releases;
+
+ const CurrentRelease = currentRelease.Component;
+
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+
+ {previousReleases.length > 0 && (
+
+ Previous releases
+
+
+ {previousReleases.map((release) => (
+
+
+ {release.name}
+
+
+ {format(parse(release.publishDate, "yyyy-MM-dd", new Date()), "d MMMM yyyy")}
+
+
{release.version}
+
+
+ ))}
+
+
+ )}
+
+ >
+ );
+}
diff --git a/docs/src/neo/app/docs/About.mdx b/docs/src/neo/app/docs/About.mdx
new file mode 100644
index 00000000..e143779f
--- /dev/null
+++ b/docs/src/neo/app/docs/About.mdx
@@ -0,0 +1,9 @@
+# About Amicons
+
+Amicons began as Amaranth, a project to replace some of the PNG icons used by [ChangeWindows](https://changewindows.org) in 2021. As time went on, the icon set grew to include all icons necessary for the project as well as the iconography used for StarScout. Simultaneously, the [Valkyrie](https://github.com/sippy-platform/valkyrie) project was created with the same goal, although it used a different style.
+
+As time went on, in 2023 Amaranth was moved over from the ChangeWindows organisation to Studio 384 and the icon set was reworked using an updated grid with its first alpha release for 1.0. Furthermore, Valkyrie was forked from Amaranth and became a subset of the icons specifically designed for Sippy's user interface.
+
+Finally, after some early exploration work in December 2023 and January 2024, Amaranth became Amicons in February 2024 with a first release on 12 March 2024 as Amicons 1.0.0-alpha.7, one of the largest expansions of the icon set to date.
+
+Ever since, we've been continuously building out the set with new icons, improving existing icons, building out the documentation, and more. We intend for Amicons to become a comprehensive, free, and open-source icon set for any user interface, and not just one curated to ChangeWindows.
diff --git a/docs/src/neo/app/docs/Beat.mdx b/docs/src/neo/app/docs/Beat.mdx
new file mode 100644
index 00000000..7bc16e26
--- /dev/null
+++ b/docs/src/neo/app/docs/Beat.mdx
@@ -0,0 +1,49 @@
+import { aiExpand, aiHeart, aiPlay } from "@studio384/amicons";
+
+import ApiTable from "../../design/blocks/ApiTable";
+import Playground from "../../design/blocks/Playground";
+
+export const playgroundConfig = {
+ icons: [aiHeart, aiExpand, aiPlay],
+ properties: [
+ {
+ label: "Beat",
+ type: "chip",
+ name: "beat",
+ values: [true, false],
+ default: true,
+ },
+ ],
+ cssVariables: [
+ {
+ name: "--ai-animation-duration",
+ default: "1s",
+ description: "Time for a full play through of the animation.",
+ },
+ {
+ name: "--ai-animation-timing-function",
+ default: "ease-in-out",
+ description: "The timing function used for the animation.",
+ },
+ {
+ name: "--ai-animation-iteration-count",
+ default: "infinite",
+ description: "Number of times the animation is repeated.",
+ },
+ {
+ name: "--ai-animation-scale",
+ default: "1.4",
+ description: "The scale at which the icon can grow.",
+ },
+ ],
+};
+
+# Beat
+
+With the `beat` property gives you a basic beat animation.
+
+
+
+## API
+
+
diff --git a/docs/src/neo/app/docs/Bounce.mdx b/docs/src/neo/app/docs/Bounce.mdx
new file mode 100644
index 00000000..a479a4e5
--- /dev/null
+++ b/docs/src/neo/app/docs/Bounce.mdx
@@ -0,0 +1,41 @@
+import { aiArrowUp, aiMusic, aiValkyrieSword } from "@studio384/amicons";
+
+import Code from "../../design/components/Code";
+
+import ApiTable from "../../design/blocks/ApiTable";
+import Playground from "../../design/blocks/Playground";
+
+export const playgroundConfig = {
+ icons: [aiValkyrieSword, aiMusic, aiArrowUp],
+ properties: [
+ {
+ label: "Bounce",
+ type: "chip",
+ name: "bounce",
+ values: [true, false],
+ default: true,
+ },
+ ],
+ cssVariables: [
+ {
+ name: "--ai-animation-duration",
+ default: "1s",
+ description: "Time for a full play through of the animation.",
+ },
+ {
+ name: "--ai-animation-iteration-count",
+ default: "infinite",
+ description: "Number of times the animation is repeated.",
+ },
+ ],
+};
+
+# Bounce
+
+With the `bounce` property gives you a basic bouncing animation.
+
+
+
+## API
+
+
diff --git a/docs/src/neo/app/docs/Fade.mdx b/docs/src/neo/app/docs/Fade.mdx
new file mode 100644
index 00000000..8e736faf
--- /dev/null
+++ b/docs/src/neo/app/docs/Fade.mdx
@@ -0,0 +1,49 @@
+import { aiAmicons, aiCircleHalfInner, aiMusic } from "@studio384/amicons";
+
+import ApiTable from "../../design/blocks/ApiTable";
+import Playground from "../../design/blocks/Playground";
+
+export const playgroundConfig = {
+ icons: [aiAmicons, aiMusic, aiCircleHalfInner],
+ properties: [
+ {
+ label: "Fade",
+ type: "chip",
+ name: "fade",
+ values: [true, false],
+ default: true,
+ },
+ ],
+ cssVariables: [
+ {
+ name: "--ai-animation-duration",
+ default: "1.5s",
+ description: "Time for a full play through of the animation.",
+ },
+ {
+ name: "--ai-animation-timing-function",
+ default: "ease-in-out",
+ description: "The timing function used for the animation.",
+ },
+ {
+ name: "--ai-animation-iteration-count",
+ default: "infinite",
+ description: "Number of times the animation is repeated.",
+ },
+ {
+ name: "--ai-animation-opacity",
+ default: ".4",
+ description: "The lowest opacity of the icon.",
+ },
+ ],
+};
+
+# Fade
+
+With the `fade` property gives you a basic fade animation.
+
+
+
+## API
+
+
diff --git a/docs/src/neo/app/docs/Flip.mdx b/docs/src/neo/app/docs/Flip.mdx
new file mode 100644
index 00000000..f5f77ea4
--- /dev/null
+++ b/docs/src/neo/app/docs/Flip.mdx
@@ -0,0 +1,22 @@
+import { aiAmicons, aiCar, aiMessageSmile } from "@studio384/amicons";
+
+import Playground from "../../design/blocks/Playground";
+
+export const playgroundConfig = {
+ icons: [aiMessageSmile, aiAmicons, aiCar],
+ properties: [
+ {
+ label: "Flip",
+ type: "chip",
+ name: "flip",
+ values: [true, "x", "y", false],
+ default: true,
+ },
+ ],
+};
+
+# Flip
+
+With the `flip` property you can mirror your icon on its x-axis, y-axis or both.
+
+
diff --git a/docs/src/neo/app/docs/Installation.mdx b/docs/src/neo/app/docs/Installation.mdx
new file mode 100644
index 00000000..6520b320
--- /dev/null
+++ b/docs/src/neo/app/docs/Installation.mdx
@@ -0,0 +1,24 @@
+# Installation
+
+## Get the npm package
+
+Get started with Amicons by running the following command in your project.
+
+```bash
+npm install @studio384/amicons
+```
+
+## Add the style
+
+When the package is installed, you can add the styles to your project by importing it in your
+JavaScript or TypeScript file.
+
+```js
+import "@studio384/amicons/amicons.css";
+```
+
+Alternatively, you can add it in your CSS.
+
+```css
+@import "@studio384/amicons/amicons.css";
+```
diff --git a/docs/src/neo/app/docs/Rotate.mdx b/docs/src/neo/app/docs/Rotate.mdx
new file mode 100644
index 00000000..43e01937
--- /dev/null
+++ b/docs/src/neo/app/docs/Rotate.mdx
@@ -0,0 +1,39 @@
+import { aiAmicons, aiArrowUp, aiMessageSmile } from "@studio384/amicons";
+
+import ApiTable from "../../design/blocks/ApiTable";
+import Playground from "../../design/blocks/Playground";
+
+export const playgroundConfig = {
+ icons: [aiMessageSmile, aiAmicons, aiArrowUp],
+ properties: [
+ {
+ label: "Rotate",
+ type: "chip",
+ name: "rotate",
+ values: [0, 45, 90, 135, 180, 225, 270, 315, false],
+ default: 90,
+ },
+ ],
+ cssVariables: [
+ {
+ name: "--ai-transition-duration",
+ default: "0.2s",
+ description: "Time for a full play through of the animation.",
+ },
+ {
+ name: "--ai-animation-timing-function",
+ default: "ease-in-out",
+ description: "The timing function used for the animation.",
+ },
+ ],
+};
+
+# Rotate
+
+With the `rotate` property you can change the default rotation of your icon. You can pass any numeric degree value for full flexibility.
+
+
+
+## API
+
+
diff --git a/docs/src/neo/app/docs/Spin.mdx b/docs/src/neo/app/docs/Spin.mdx
new file mode 100644
index 00000000..64f81185
--- /dev/null
+++ b/docs/src/neo/app/docs/Spin.mdx
@@ -0,0 +1,61 @@
+import { aiGear, aiLoader, aiSpinner, aiSpinnerThird } from "@studio384/amicons";
+
+import Code from "../../design/components/Code";
+
+import ApiTable from "../../design/blocks/ApiTable";
+import Playground from "../../design/blocks/Playground";
+
+export const playgroundConfig = {
+ icons: [aiSpinnerThird, aiSpinner, aiGear, aiLoader],
+ properties: [
+ {
+ label: "Spin",
+ type: "chip",
+ name: "spin",
+ values: [true, "pulse", false],
+ default: true,
+ },
+ ],
+ cssVariables: [
+ {
+ name: "--ai-animation-duration",
+ default: "2s",
+ description: (
+ <>
+ Time for a full play through of the animation. Defaults to 1s when using `pulse`.
+ >
+ ),
+ },
+ {
+ name: "--ai-animation-timing-function",
+ default: "linear",
+ description: "The timing function used for the animation.",
+ },
+ {
+ name: "--ai-animation-iteration-count",
+ default: "infinite",
+ description: "Number of times the animation is repeated.",
+ },
+ {
+ name: "--ai-animation-pulse-steps",
+ default: 8,
+ description: (
+ <>
+ Number of steps when the spin property is set to pulse.
+ >
+ ),
+ },
+ ],
+};
+
+# Spin
+
+With the `spin` property you can make your icons play a rotation animation.
+
+
+
+## API
+
+When setting the property to `pulse`, some additional variables are available while some defaults are changed.
+
+
diff --git a/docs/src/neo/app/docs/navigation.ts b/docs/src/neo/app/docs/navigation.ts
new file mode 100644
index 00000000..cee06fee
--- /dev/null
+++ b/docs/src/neo/app/docs/navigation.ts
@@ -0,0 +1,47 @@
+import {
+ aiAmicons,
+ aiArrowRotateRight,
+ aiArrowsDownLeftRightUpCenter,
+ aiArrowUp,
+ aiCircleHalfInner,
+ aiFlag,
+ aiHeart,
+ aiReact,
+ aiSpinner,
+ type IAmicon,
+} from "@studio384/amicons";
+
+export type DocPage = { title: string; path: string; icon: IAmicon };
+export type DocSection = { title: string; icon: IAmicon; pages: DocPage[] };
+export type DocNavPage = DocPage & { sectionTitle: string; sectionIcon: IAmicon };
+
+export const DOC_NAV: DocSection[] = [
+ {
+ title: "Introduction",
+ icon: aiAmicons,
+ pages: [
+ { title: "About", path: "/neo/documentation/about", icon: aiAmicons },
+ { title: "Installation", path: "/neo/documentation/installation", icon: aiFlag },
+ ],
+ },
+ {
+ title: "React component",
+ icon: aiReact,
+ pages: [
+ { title: "Spin", path: "/neo/documentation/spin", icon: aiSpinner },
+ { title: "Bounce", path: "/neo/documentation/bounce", icon: aiArrowUp },
+ { title: "Rotate", path: "/neo/documentation/rotate", icon: aiArrowRotateRight },
+ { title: "Flip", path: "/neo/documentation/flip", icon: aiArrowsDownLeftRightUpCenter },
+ { title: "Beat", path: "/neo/documentation/beat", icon: aiHeart },
+ { title: "Fade", path: "/neo/documentation/fade", icon: aiCircleHalfInner },
+ ],
+ },
+];
+
+export const DOC_PAGES: DocNavPage[] = DOC_NAV.flatMap((section) =>
+ section.pages.map((page) => ({
+ ...page,
+ sectionTitle: section.title,
+ sectionIcon: section.icon,
+ })),
+);
diff --git a/docs/src/neo/app/posts/2026-04-11-amicons-alpha-12-is-here.mdx b/docs/src/neo/app/posts/2026-04-11-amicons-alpha-12-is-here.mdx
new file mode 100644
index 00000000..63e7d121
--- /dev/null
+++ b/docs/src/neo/app/posts/2026-04-11-amicons-alpha-12-is-here.mdx
@@ -0,0 +1,64 @@
+---
+title: Amicons Alpha 12 Is Here
+excerpt: A major update is here with a refreshed look for the documentation, icon updates, and an improved React component.
+author: Amicons
+categories: [Release]
+publishDate: 2026-04-11
+featuredImage: release-alpha-12.svg
+---
+
+import IconGrid from "../../design/blocks/IconGrid";
+
+Amicons 1.0 alpha 12 is finally here! It's been a while since our last substantial update, but Alpha 12 brings a massive list of changes to Amicons. So let's just jump into it.
+
+## Icons
+
+Are there new icons? Well... yeah. Kinda. `book-bookmark` joins the fun. And that's... it. We do, however, have a bunch of updated icons too. `book`, `bug`, `compress`, and `expand` have been updated. Together, these five icons are the first steps for a larger effort that we'll get to later.
+
+
+
+Also updated are the `facebook-messenger`, `github`, `google-play`, and `visual-studio` icons to match their latest brand updates. Especially for GitHub, this is a big jump, since we completely missed that the icon we used until this alpha hasn't been used since 2015. Don't worry, we're instantly up-to-date and skipped straight to the 2026 redesign.
+
+
+
+## React component
+
+Our React component has gotten some major enhancements. First of all, we've dropped the two dependencies it previously relied on (being `clsx` and `html-react-parser`). `html-react-parser` itself also brought in 11 other dependencies. The end result is a significantly lighter Amicons component.
+
+Now, when the `Amicon` component hasn't been given a valid icon in its `icon` prop, it will render a placeholder icon instead of breaking your application. This placeholder is the `aiCircleQuestion` icon, which will also have the fade style applied to it to make it easier to notice when an icon is broken.
+
+Finally, instead of being limited to `0`, `90`, `180`, `270`, and `false`, the `rotate` prop can now take any numeric degree value (and `false`), giving you full flexibility over the rotation of all icons. We've also fixed a bug where the `rotate` prop wouldn't properly apply the transition style.
+
+## The documentation
+
+We've spent a lot of time improving the documentation. While it will not look very different, underneath it has been basically rebuilt from the ground up. The documentation now uses Markdown like any sane project instead of being written in JSX directly. This just makes everything easier to maintain. Of course, there is also this new blog section. We hope you like it.
+
+But more importantly, we've made some major improvements to icon exploration. They're small, yet substantial. For starters, the search function no longer freaks out when you type the name of an icon faster than it likes. Search can now also look for the tags that we've given icons. These are essentially alternative names, e.g. the `house` icon is tagged with `home`, and `magnifying-glass` is tagged with `search`. This should make finding the right icon considerably easier.
+
+Furthermore, when you select a category, instead of the other categories that don't also have icons in that particular category just disappearing, they'll now just become slightly transparent. This makes it easier to switch between categories when searching. We've also put some effort into cleaning up some of the categories, merging categories when it made sense, etc., to further improve this experience.
+
+You'll also find that our code blocks now have syntax highlighting. It's a small change, but it hopefully makes it easier to read and copy our code snippets for your own use. And last but not least; the icon detail pages now include a section that shows you the SVG markup of the icon, so you can use it even without the React component if you want to.
+
+## The pipeline
+
+Last but not least, we've made major enhancements to our build pipeline. This isn't something you'll notice as an end user directly, but it makes our lives a lot easier and allows us to get updates out faster. Among those changes are improvements for our own developer experience like improved linting and formatting, but also a complete overhaul of our release process both for GitHub releases and npm. As part of this, our [GitHub releases](https://github.com/Studio384/amicons/releases) will finally have actual release notes again instead of just linking to our [changelog page](https://studio384.github.io/amicons/#/changelog) here.
+
+## What's next
+
+### Alpha 13
+
+Next up will be our 13th alpha. This is where we get back to our 4 redesigned icons and `book-bookmark`. These 5 are the start of an effort to further improve the (visual) consistency in our icons. We're finally properly defining the design guidelines for Amicons - which we'll publish in our documentation soon - and these 5 icons basically serve as a first test run for those guidelines. Alpha 13 will bring this to all of our icons. Mostly this means slightly altered border radii, improved stroke clarity, better visual balance, and more consistent shapes. It's not supposed to be some major redesign effort.
+
+### Future alphas
+
+And when that work is done, we'll continue on our path to add more icons. We'll primarily focus on bringing more icons to some of the existing icon categories in an effort to improve the functional use of Amicons. Finally, after our major update to the documentation to port it over to Tailwind and Base UI, we'll also give it an actual new coat of paint in the near future. That will either happen in alpha 13, or the release after that.
+
+### Changes to our release strategy
+
+Starting with alpha 12, we'll be changing our release strategy. We've been a bit all over the place, now we're codifying it. Every future 1.0 preview will, from here on out, be published as the latest release both on GitHub and npm.
+
+Once 1.0 goes stable, the `latest` tag on npm will only serve stable releases like 1.0.1, 1.1.0, and 2.0.0. Future previews like 1.1.0-alpha.1 will be made available on the `next` tag.
+
+## Support us
+
+From this point forward, we want to take things a bit more seriously too, so today we're also launching our [Patreon](https://www.patreon.com/cw/Amicons) where you can support us on our journey to building this icon set.
diff --git a/docs/src/neo/app/posts/newsPosts.ts b/docs/src/neo/app/posts/newsPosts.ts
new file mode 100644
index 00000000..9bdeb05f
--- /dev/null
+++ b/docs/src/neo/app/posts/newsPosts.ts
@@ -0,0 +1,54 @@
+import { type ComponentType } from "react";
+
+export type NewsPostMeta = {
+ title: string;
+ excerpt: string;
+ author: string;
+ categories: string[];
+ publishDate: string;
+ featuredImage: string;
+};
+
+type NewsPostFrontmatter = {
+ title: string;
+ excerpt: string;
+ author: string;
+ categories: string[];
+ publishDate: string;
+ featuredImage: string;
+};
+
+type NewsPostModule = {
+ default: ComponentType;
+ frontmatter: NewsPostFrontmatter;
+};
+
+export type NewsPost = NewsPostMeta & {
+ slug: string;
+ Component: ComponentType;
+};
+
+const modules = import.meta.glob("./*.mdx", { eager: true });
+
+export const newsPosts: NewsPost[] = Object.entries(modules)
+ .map(([path, module]) => {
+ const parts = path.split("/");
+ const fileName = parts[parts.length - 1] ?? "";
+ const slug = fileName.replace(/\.mdx$/, "");
+
+ const frontmatter = module.frontmatter;
+
+ return {
+ ...frontmatter,
+ featuredImage: `${import.meta.env.BASE_URL}news/${slug}/${frontmatter.featuredImage}`,
+ slug,
+ Component: module.default,
+ };
+ })
+ .sort((a, b) => new Date(b.publishDate).getTime() - new Date(a.publishDate).getTime());
+
+export function getNewsPostBySlug(slug?: string): NewsPost | undefined {
+ if (!slug) return undefined;
+
+ return newsPosts.find((post) => post.slug === slug);
+}
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.10.mdx b/docs/src/neo/app/releases/1.0.0-alpha.10.mdx
new file mode 100644
index 00000000..f08f8450
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.10.mdx
@@ -0,0 +1,56 @@
+---
+name: Amicons 1.0 alpha 10
+version: 1.0.0-alpha.10
+publishDate: 2025-10-17
+excerpt: Improving our exports, removing dependencies, and introducing a bouncy new animation. And of course a bunch of new icons.
+newIcons:
+ - align-content-center
+ - align-content-end
+ - align-content-start
+ - arrow-right-to-bracket-clock
+ - arrows-up-right-and-down-left-from-center
+ - arrows-up-right-and-down-left-to-center
+ - bluesky
+ - clock-pause
+ - clock-slash
+ - cursor
+ - diamonds
+ - id-card-slash
+ - input
+ - list-bar-chart
+ - macos-finder
+ - record-stop
+ - record
+ - signal-fair
+ - signal-good
+ - signal-moderate
+ - signal-slash
+ - signal-strong
+ - signal-weak
+ - square-check
+updatedIcons:
+ - arrow-down-to-line
+ - arrow-left-from-bracket
+ - arrow-up-right-from-square
+ - devices
+ - facebook-messenger
+ - fanvil
+ - fingerprint
+ - keyboard
+ - message-pen
+ - record-stop
+ - safari
+ - signal-strong
+ - triangle-exclamation
+ - yealink
+---
+
+## Added
+
+- Amicons is now properly exported as both a CJS and ESM package.
+- Adds the bounce animation to our default style, and added the `bounce` prop to our React component.
+- We've removed the dependency on `@emotion/css`.
+
+## Fixed
+
+- Fixes the SVG and export for fingerprint, record-stop, safari, signal-strong, and triangle-exclamation containing the icon twice.
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.11.mdx b/docs/src/neo/app/releases/1.0.0-alpha.11.mdx
new file mode 100644
index 00000000..f73b04c9
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.11.mdx
@@ -0,0 +1,15 @@
+---
+name: Amicons 1.0 alpha 11
+version: 1.0.0-alpha.11
+publishDate: 2026-03-05
+excerpt: The silence before the storm.
+newIcons:
+ - calendar-arrow-to-day
+updatedIcons:
+ - gauge
+ - teams
+---
+
+## Changed
+
+- This update includes general maintenance work.
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.12.mdx b/docs/src/neo/app/releases/1.0.0-alpha.12.mdx
new file mode 100644
index 00000000..cfaa8bef
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.12.mdx
@@ -0,0 +1,47 @@
+---
+name: Amicons 1.0 alpha 12
+version: 1.0.0-alpha.12
+publishDate: 2026-04-11
+excerpt: A broad documentation refresh with a better React component, major improvements to the documentation, and easier releases for the future.
+newIcons:
+ - book-bookmark
+updatedIcons:
+ - book
+ - bug
+ - compress
+ - expand
+ - facebook-messenger
+ - github
+ - google-play
+ - visual-studio
+---
+
+Amicons 1.0 alpha 12 is a significant update to our project. With both a first step towards a major refresh of our documentation, drastic enhancements to our tooling for releasing future updates, and the first steps towards a more consistent icon library, this release is maybe our biggest update yet.
+
+## Added
+
+- When the `Amicon` component isn't passed an icon, or the icon isn't valid, it will now show the `aiCircleQuestion` icon. The `fade` property will be enabled to draw attention to it.
+
+## Changed
+
+- Rotate now allows you to set any numeric value rather than just `0`, `90`, `180`, or `270`.
+- Amicons doesn't have any other dependencies anymore.
+- Major enhancements to our build process and library generation. We now include source maps.
+- The build process now includes logic to publish Amicons to GitHub and npm.
+
+## Fixed
+
+- Fixes a bug where variables and classes used the wrong prefix.
+- Fixes a bug where markdown generation would report a successful run before finishing.
+- Fixes a bug where `rotate` would not correctly apply the animation styling.
+
+## Documentation
+
+- The documentation has been rebuilt with Tailwind and Base UI.
+- Icon details now include a section that shows the SVG markup.
+- The category filter now keeps showing empty categories for easier navigation.
+- The search function can now properly look for tags.
+- Various categories have been updated and categories have been regrouped to make more sense.
+- Major improvements to our documentation, including simpeler changelog markup.
+- Fixes the bounce documentation not showing up in the documentation.
+- Codeblocks in our documentation now have syntax highlighting.
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.13.mdx b/docs/src/neo/app/releases/1.0.0-alpha.13.mdx
new file mode 100644
index 00000000..5bca0685
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.13.mdx
@@ -0,0 +1,58 @@
+---
+name: Amicons 1.0 alpha 13
+version: 1.0.0-alpha.13
+publishDate: 2026-07-07
+excerpt: Now with an updated design for our documentation, major updates to the icon set itself, and much more.
+newIcons:
+ - album
+ - backspace
+ - circle-radio
+ - dollar
+ - expand-rectangle
+ - music-list
+ - pen-to-square
+ - phone-arrow-bounce-left
+ - phone-arrow-bounce-right
+ - phone-arrow-right
+ - phone-hangup
+ - pound
+ - sparkle
+ - sparkles
+updatedIcons:
+ - building
+ - calendar
+ - calendar-arrow-to-day
+ - calendar-clock
+ - calendar-day
+ - calendar-range
+ - calendar-range-clock
+ - calendar-stars
+ - calendar-week
+ - chalkboard-person
+ - city
+ - compare
+ - copy
+ - diagram
+ - diamonds
+ - display
+ - door
+ - pen-to-square
+ - phone
+ - phone-arrow-bounce-right
+ - phone-arrow-down-left
+ - phone-arrow-down-left-prohibited
+ - phone-arrow-up-right
+ - phone-arrow-up-right-prohibited
+ - phone-clock
+ - phone-gear
+ - phone-hangup
+ - phone-list
+ - phone-volume
+ - phone-xmark
+---
+
+Amicons 1.0 alpha 13 introduces our new documentation design, after we gave the underlying system a major refresh with the previous alpha. More importantly; it also begins the transition of our icons to our new design language, with more consistency, tighter radii, and an overal more modern look.
+
+## Documentation
+
+- The documentation has been given a fresh new coat of paint.
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.2.mdx b/docs/src/neo/app/releases/1.0.0-alpha.2.mdx
new file mode 100644
index 00000000..f48ca2dc
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.2.mdx
@@ -0,0 +1,10 @@
+---
+name: Amaranth 1.0 alpha 2
+version: 1.0.0-alpha.2
+publishDate: 2023-08-22
+excerpt: Taking the leap from ChangeWindows to Studio 384.
+---
+
+## Changed
+
+- Migrations from ChangeWindows to Studio 384.
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.3.mdx b/docs/src/neo/app/releases/1.0.0-alpha.3.mdx
new file mode 100644
index 00000000..df5876a3
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.3.mdx
@@ -0,0 +1,30 @@
+---
+name: Amaranth 1.0 alpha 3
+version: 1.0.0-alpha.3
+publishDate: 2023-08-23
+excerpt: The one for when you need iconography for your tables.
+newIcons:
+ - table-cell-merge
+ - table-column-insert-left
+ - table-column-insert-right
+ - table-column-min
+ - table-header-cell
+ - table-min
+ - table-row-insert-bottom
+ - table-row-insert-top
+ - table-row-min
+updatedIcons:
+ - chart-pie
+ - circle-dashed
+ - table-clock
+ - table-header-column
+ - table-header-row
+ - table
+ - tag-gear
+ - tag-plus
+ - tag
+---
+
+## Removed
+
+- The repository no longer provides font files or CSS files.
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.4.mdx b/docs/src/neo/app/releases/1.0.0-alpha.4.mdx
new file mode 100644
index 00000000..17b74152
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.4.mdx
@@ -0,0 +1,15 @@
+---
+name: Amaranth 1.0 alpha 4
+version: 1.0.0-alpha.4
+publishDate: 2023-11-17
+newIcons:
+ - arrow-down-from-cloud
+ - arrow-right-from-file
+ - arrow-right-from-smartphone
+ - arrow-right-to-file
+ - arrow-up-to-cloud
+ - compare
+ - people-xmark
+ - person-xmark
+ - react
+---
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.5.mdx b/docs/src/neo/app/releases/1.0.0-alpha.5.mdx
new file mode 100644
index 00000000..9a30a5e2
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.5.mdx
@@ -0,0 +1,8 @@
+---
+name: Amaranth 1.0 alpha 5
+version: 1.0.0-alpha.5
+publishDate: 2023-11-17
+excerpt: And around, around in circles we go.
+newIcons:
+ - circle
+---
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.6.mdx b/docs/src/neo/app/releases/1.0.0-alpha.6.mdx
new file mode 100644
index 00000000..2caef62d
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.6.mdx
@@ -0,0 +1,14 @@
+---
+name: Amaranth 1.0 alpha 6
+version: 1.0.0-alpha.6
+publishDate: 2024-01-30
+excerpt: A focused Amaranth release that expanded alignment and script-related icons, and introduces a new logo icon.
+newIcons:
+ - align-center
+ - align-justify
+ - align-left
+ - align-right
+ - amicons
+ - subscript
+ - superscript
+---
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.7.mdx b/docs/src/neo/app/releases/1.0.0-alpha.7.mdx
new file mode 100644
index 00000000..44d40137
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.7.mdx
@@ -0,0 +1,155 @@
+---
+name: Amicons 1.0 alpha 7
+version: 1.0.0-alpha.7
+publishDate: 2024-03-12
+excerpt: Welcome to Amicons. And meet our largest expansion of our iconography yet. With alphabets, batteris, dice, and more.
+newIcons:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - a
+ - arrow-down-arrow-up
+ - arrow-up-right-from-square
+ - b
+ - battery-charging
+ - battery-empty
+ - battery-exclamation
+ - battery-full
+ - battery-half
+ - battery-low
+ - battery-quarter
+ - battery-slash
+ - battery-three-quarter
+ - broom
+ - c
+ - calculator
+ - camera
+ - car-side
+ - clipboard
+ - command
+ - computer-mouse-scroll-wheel
+ - computer-mouse
+ - crop
+ - cursor
+ - d
+ - dice-five
+ - dice-four
+ - dice-one
+ - dice-six
+ - dice-three
+ - dice-two
+ - dice
+ - e
+ - ellipsis-h
+ - envelope-open
+ - export
+ - f
+ - file-audio
+ - file-excel
+ - file-powerpoint
+ - file-text
+ - file-word
+ - file-zip
+ - flask
+ - folder-min
+ - folder-open
+ - folder-plus
+ - frame
+ - g
+ - grip-dots-v
+ - grip-dots
+ - h
+ - i
+ - icons
+ - j
+ - k
+ - keyboard-brightness-high
+ - keyboard-brightness-low
+ - keyboard
+ - l
+ - loader
+ - m
+ - n
+ - o
+ - option
+ - p
+ - q
+ - r
+ - road
+ - s
+ - share-nodes
+ - spinner
+ - square-dashed
+ - square
+ - studio-384
+ - t
+ - threads
+ - toast
+ - train-track
+ - triangle-dashed
+ - triangle
+ - truck-pickup
+ - truck-tow
+ - u
+ - v
+ - w
+ - x
+ - y
+ - z
+updatedIcons:
+ - a-gum
+ - envelope
+ - facebook
+ - heading-1
+ - heading-2
+ - heading-3
+ - heading-4
+ - heading-5
+ - heading-6
+ - patreon
+ - safari
+ - shuffle
+ - translate
+ - triangle-exclamation
+ - volume-0
+ - volume-1
+ - volume-2
+ - volume-3
+ - volume-slash
+renamedIcons:
+ - old: amaranth
+ new: amicons
+ - old: ellipsis
+ new: ellipsis-h
+removedIcons:
+ - amaranth
+ - bootstrap
+ - font-awesome
+---
+
+## Added
+
+- Introduces a brand new documentation website with improved icon previews, component documentation with interactive playground, this changelog, and much more. And best of all; it's now available online instead of needing to be compiled by you.
+- The `AmaranthIcon` component has been renamed to `Amicon`.
+- The `Amicon` component now supports the `beat` and `fade` property.
+
+## Changed
+
+- We're updating our branding from Amaranth to Amicons, with a brand new logo and mascot to boot. While the `Amaranth` and `Amicons` icons have existed at the same time in the previous version, we consider the removal of the `Amaranth` icon a rename.
+- The default values for all properties of our `Amicon` component are now being set to `Undefined` rather than a default truthy value.
+- The various CSS variables have been renamed to be more consistent with new variables introduced in this update. See the documentation for more info.
+- You can now pass properties to the `Amicon` component.
+- Various updates to the categorization of icons in the documentation.
+
+## Fixed
+
+- Fixed the `expand` icon including excessive shapes.
+- Fixed the misalignment in the `heading-2` icon to better map the icon to a pixel grid.
+- Fixes various issues with the CSS variables in the `Amicon` component.
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.8.mdx b/docs/src/neo/app/releases/1.0.0-alpha.8.mdx
new file mode 100644
index 00000000..fab6dae0
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.8.mdx
@@ -0,0 +1,43 @@
+---
+name: Amicons 1.0 alpha 8
+version: 1.0.0-alpha.8
+publishDate: 2024-11-17
+excerpt: The updae that renames our package and futher expands our iconography.
+newIcons:
+ - angles-x
+ - apple
+ - arrow-left-arrow-right
+ - arrow-rotate-left
+ - bars-uneven
+ - burger-glass
+ - cloud-softphone
+ - diagram
+ - fanvil
+ - glass
+ - grip-dots-h
+ - magnifying-glass-min
+ - magnifying-glass-plus
+ - microphone-slash
+ - moped
+ - order-alphabetical-asc
+ - order-alphabetical-desc
+ - order-numerical-asc
+ - order-numerical-desc
+ - password
+ - phone-xmark
+ - teams
+ - yealink
+updatedIcons:
+ - angles-y
+ - magnifying-glass
+ - windows
+renamedIcons:
+ - old: thumbstack
+ new: thumbtack
+ - old: thumbstack-slash
+ new: thumbtack-slash
+---
+
+## Changed
+
+- Changes the import from `@studio384/amaranth` to `@studio384/amicons`.
diff --git a/docs/src/neo/app/releases/1.0.0-alpha.9.mdx b/docs/src/neo/app/releases/1.0.0-alpha.9.mdx
new file mode 100644
index 00000000..4edcaefb
--- /dev/null
+++ b/docs/src/neo/app/releases/1.0.0-alpha.9.mdx
@@ -0,0 +1,10 @@
+---
+name: Amicons 1.0 alpha 9
+version: 1.0.0-alpha.9
+publishDate: 2024-12-19
+excerpt: An updated that brings support for React 19.
+---
+
+## Added
+
+- Amicons now supports React 19.
diff --git a/docs/src/neo/app/releases/releaseEntries.ts b/docs/src/neo/app/releases/releaseEntries.ts
new file mode 100644
index 00000000..2efea0a3
--- /dev/null
+++ b/docs/src/neo/app/releases/releaseEntries.ts
@@ -0,0 +1,53 @@
+import { type ComponentType } from "react";
+
+export type RenamedIcon = {
+ old: string;
+ new: string;
+};
+
+export type ReleaseFrontmatter = {
+ name: string;
+ version: string;
+ date: string;
+ publishDate: string;
+ excerpt: string;
+ newIcons?: string[];
+ updatedIcons?: string[];
+ renamedIcons?: RenamedIcon[];
+ removedIcons?: string[];
+};
+
+type ReleaseModule = {
+ default: ComponentType;
+ frontmatter: ReleaseFrontmatter;
+};
+
+export type ReleaseEntry = ReleaseFrontmatter & {
+ slug: string;
+ Component: ComponentType;
+};
+
+const modules = import.meta.glob("./*.mdx", { eager: true });
+const versionCollator = new Intl.Collator(undefined, { numeric: true, sensitivity: "base" });
+
+export const releases: ReleaseEntry[] = Object.values(modules)
+ .map((module) => ({
+ ...module.frontmatter,
+ slug: module.frontmatter.version,
+ Component: module.default,
+ }))
+ .sort((a, b) => {
+ const publishDateDifference = new Date(b.publishDate).getTime() - new Date(a.publishDate).getTime();
+
+ if (publishDateDifference !== 0) {
+ return publishDateDifference;
+ }
+
+ return versionCollator.compare(b.version, a.version);
+ });
+
+export function getReleaseBySlug(slug?: string): ReleaseEntry | undefined {
+ if (!slug) return undefined;
+
+ return releases.find((release) => release.slug === slug);
+}
diff --git a/docs/src/neo/design/blocks/ApiTable.tsx b/docs/src/neo/design/blocks/ApiTable.tsx
new file mode 100644
index 00000000..98004105
--- /dev/null
+++ b/docs/src/neo/design/blocks/ApiTable.tsx
@@ -0,0 +1,42 @@
+import { type IIconCssVariables } from "@/app/Docs/playground/Playground";
+
+import Code from "../components/Code";
+
+interface IApiTableProps {
+ cssVariables: IIconCssVariables[];
+}
+
+export default function ApiTable({ cssVariables }: IApiTableProps) {
+ return (
+
+
+
+
+
+ Property name
+
+
+ Default
+
+
+ Description
+
+
+
+
+ {cssVariables.map((variable, key) => (
+
+
+ {variable.name}
+
+
+ {variable.default}
+
+ {variable.description}
+
+ ))}
+
+
+
+ );
+}
diff --git a/docs/src/neo/design/blocks/IconGrid.tsx b/docs/src/neo/design/blocks/IconGrid.tsx
new file mode 100644
index 00000000..c31ba9db
--- /dev/null
+++ b/docs/src/neo/design/blocks/IconGrid.tsx
@@ -0,0 +1,23 @@
+import { useMemo } from "react";
+
+import iconsData from "@/data/icons";
+import { type ILibraryIcon } from "@/types";
+
+import { IconCard } from "../components/IconCard";
+
+type ReleaseProps = {
+ icons: string[];
+};
+
+// Release component
+export default function IconGrid({ icons }: ReleaseProps) {
+ const iconList = useMemo(() => iconsData.filter((icon) => icons?.includes(icon.slug)), [icons]);
+
+ return (
+
+ {iconList.map((icon: ILibraryIcon) => (
+
+ ))}
+
+ );
+}
diff --git a/docs/src/neo/design/blocks/PageHeader.tsx b/docs/src/neo/design/blocks/PageHeader.tsx
new file mode 100644
index 00000000..3e90f4a1
--- /dev/null
+++ b/docs/src/neo/design/blocks/PageHeader.tsx
@@ -0,0 +1,30 @@
+import { type PropsWithChildren } from "react";
+
+import Amicon, { type IAmicon } from "@studio384/amicons";
+
+export default function PageHeader({
+ icon,
+ title,
+ subtitle,
+ children,
+}: { icon: IAmicon; title: string; subtitle: string } & PropsWithChildren) {
+ return (
+
+
+
{children}
+
+
+
+
+
+ {subtitle}
+
+
{title}
+
+
+
+
+ );
+}
diff --git a/docs/src/neo/design/blocks/Playground.tsx b/docs/src/neo/design/blocks/Playground.tsx
new file mode 100644
index 00000000..6617b740
--- /dev/null
+++ b/docs/src/neo/design/blocks/Playground.tsx
@@ -0,0 +1,227 @@
+import { type ReactNode, useMemo, useState } from "react";
+
+import { Field, Toggle, ToggleGroup } from "@base-ui/react";
+import Amicon, { aiBroom, type IAmicon } from "@studio384/amicons";
+import clsx from "clsx";
+import hljs from "highlight.js/lib/core";
+import javascript from "highlight.js/lib/languages/javascript";
+
+hljs.registerLanguage("javascript", javascript);
+
+export interface IPlaygroundConfig {
+ icons: IAmicon[];
+ properties?: IIconProperties[];
+ cssVariables?: IIconCssVariables[];
+}
+
+export interface IIconProperties {
+ label: string;
+ type: "chip";
+ name: string;
+ values: unknown[];
+ default: unknown;
+}
+
+export interface IIconCssVariables {
+ name: string;
+ default: string | number | boolean;
+ description: ReactNode;
+}
+
+interface IPlaygroundProps {
+ config: IPlaygroundConfig;
+}
+
+export default function Playground({ config }: IPlaygroundProps) {
+ const [playgroundIcon, setPlaygroundIcon] = useState([config.icons[0].name]);
+
+ // Get the icon name
+ function getIconName(icon: string): string {
+ return `ai${icon
+ .split("_")
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
+ .join("")}`;
+ }
+
+ const icon = config.icons.find((icon) => icon.name === playgroundIcon[0]) ?? config.icons[0];
+
+ const iconName = useMemo(() => {
+ return getIconName(icon.name);
+ }, [icon]);
+
+ // Properties
+ const [playgroundProps, setPlaygroundProps] = useState<{ [index: string]: string | number }>({});
+
+ const iconProperties: { [index: string]: string | number | boolean } = useMemo(() => {
+ const props: { [index: string]: string | number | boolean } = {};
+
+ config.properties?.map((property) => {
+ props[property.name] = playgroundProps?.[property.name] ?? property.default;
+ });
+
+ return props;
+ }, [config.properties, playgroundProps]);
+
+ const propertyParser: string = useMemo(() => {
+ let exampleString = "";
+
+ Object.keys(iconProperties).map((propName) => {
+ if (iconProperties[propName] === true) {
+ exampleString += `\n ${propName}`;
+ return;
+ } else if (iconProperties[propName] === false) {
+ return;
+ } else if (typeof iconProperties[propName] === "number") {
+ exampleString += `\n ${propName}={${iconProperties[propName]}}`;
+ } else if (typeof iconProperties[propName] === "string") {
+ exampleString += `\n ${propName}="${iconProperties[propName]}"`;
+ }
+ });
+
+ return exampleString;
+ }, [iconProperties]);
+
+ // CSS Variables
+ const [playgroundCssVariable, setPlaygroundCssVariable] = useState<{ [cssVar: string]: string }>({});
+
+ const iconVariables: { [index: string]: string | number | boolean } = useMemo(() => {
+ const props: { [index: string]: string | number | boolean } = {};
+
+ config.cssVariables?.map((variable) => {
+ props[variable.name] = playgroundCssVariable?.[variable.name as string] ?? variable.default;
+ });
+
+ return props;
+ }, [config.cssVariables, playgroundCssVariable]);
+
+ const variableParser = useMemo(() => {
+ let exampleString = "";
+ let hasProperty = false;
+
+ Object.keys(iconVariables).map((varName) => {
+ const variableProperties = config.cssVariables?.find((variable) => variable.name === varName);
+
+ if (iconVariables[varName] === variableProperties?.default) return;
+
+ hasProperty = true;
+
+ if (typeof iconVariables[varName] === "number" || !isNaN(Number(iconVariables[varName]))) {
+ exampleString += `\n "${varName}": ${iconVariables[varName]},`;
+ } else if (typeof iconVariables[varName] === "string") {
+ exampleString += `\n "${varName}": "${iconVariables[varName]}",`;
+ }
+ });
+
+ return hasProperty ? exampleString : "";
+ }, [config.cssVariables, iconVariables]);
+
+ const importCode = ` `;
+
+ const html = useMemo(() => {
+ return hljs.highlight(importCode, { language: "javascript" }).value;
+ }, [importCode]);
+
+ return (
+
+
+
+
+
Playground
+
{
+ setPlaygroundIcon([config.icons[0].name]);
+ setPlaygroundProps({});
+ setPlaygroundCssVariable({});
+ }}
+ className="flex size-8 items-center justify-center rounded-sm hover:cursor-pointer hover:bg-violet-500 hover:text-white focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-violet-500"
+ >
+ Clear playground
+
+
+
+
+ Icon
+
+
+ {config.icons.map((icon) => (
+
+
+
+ ))}
+
+
+
+ {config.properties?.map((property) => {
+ switch (property.type) {
+ case "chip": {
+ return (
+
+ {property.label}
+
+
+ {property.values.map((value, key) => (
+
+ setPlaygroundProps((prev) => ({
+ ...prev,
+ [property.name as string]: value as string | number,
+ }))
+ }
+ className={clsx(
+ "flex rounded-full border border-zinc-200 px-2 py-0.75 text-sm/4 select-none hover:cursor-pointer hover:border-violet-300 hover:bg-violet-200 focus-visible:bg-none focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-violet-800 active:bg-violet-600 active:text-white dark:border-zinc-700 dark:hover:border-violet-800 dark:hover:bg-violet-600/50",
+ {
+ "border-violet-600! bg-violet-500 text-white hover:bg-violet-500":
+ iconProperties?.[property.name] === value,
+ },
+ )}
+ >
+ {value?.toString()}
+
+ ))}
+
+
+ );
+ }
+ }
+ })}
+
+ {config.cssVariables?.map((variable) => (
+
+ {variable.name}
+ setPlaygroundCssVariable((prev) => ({ ...prev, [variable.name]: e.target.value }))}
+ className="h-9 w-full rounded-md border border-zinc-200 pl-2 focus:outline-2 focus:-outline-offset-1 focus:outline-violet-600 dark:border-zinc-700"
+ />
+
+ ))}
+
+
+
+ );
+}
diff --git a/docs/src/neo/design/blocks/ReleaseCard.tsx b/docs/src/neo/design/blocks/ReleaseCard.tsx
new file mode 100644
index 00000000..fea8b03f
--- /dev/null
+++ b/docs/src/neo/design/blocks/ReleaseCard.tsx
@@ -0,0 +1,71 @@
+import { type ReactNode } from "react";
+
+import Amicon, { aiArrowRight } from "@studio384/amicons";
+
+import Code from "../components/Code";
+import IconGrid from "./IconGrid";
+
+type ReleaseProps = {
+ excerpt?: string;
+ children?: ReactNode;
+ newIcons?: string[];
+ updatedIcons?: string[];
+ renamedIcons?: { old: string; new: string }[];
+ removedIcons?: string[];
+};
+
+export default function ReleaseCard({
+ excerpt,
+ children,
+ newIcons,
+ updatedIcons,
+ renamedIcons,
+ removedIcons,
+}: ReleaseProps) {
+ return (
+
+ {excerpt ?
{excerpt}
: null}
+ {children}
+ {newIcons && (
+ <>
+
New icons · {newIcons?.length}
+
+ >
+ )}
+ {updatedIcons && (
+ <>
+
Updated icons · {updatedIcons?.length}
+
+ >
+ )}
+ {renamedIcons && (
+ <>
+
Renamed icons · {renamedIcons?.length}
+
+ {renamedIcons.map((icon: { new: string; old: string }) => (
+
+
+ {icon.old}
+
+ {icon.new}
+
+
+ ))}
+
+ >
+ )}
+ {removedIcons && (
+ <>
+
Removed icons · {removedIcons?.length}
+
+ {removedIcons.map((icon: string) => (
+
+ {icon}
+
+ ))}
+
+ >
+ )}
+
+ );
+}
diff --git a/docs/src/neo/design/components/Code.tsx b/docs/src/neo/design/components/Code.tsx
new file mode 100644
index 00000000..9f6f4635
--- /dev/null
+++ b/docs/src/neo/design/components/Code.tsx
@@ -0,0 +1,10 @@
+import { type PropsWithChildren } from "react";
+
+export default function Code(props: PropsWithChildren) {
+ return (
+
+ );
+}
diff --git a/docs/src/neo/design/components/Drawer.tsx b/docs/src/neo/design/components/Drawer.tsx
new file mode 100644
index 00000000..8d32fc00
--- /dev/null
+++ b/docs/src/neo/design/components/Drawer.tsx
@@ -0,0 +1,76 @@
+import { Drawer as DrawerPrimitive } from "@base-ui/react";
+
+import { cn } from "@/utils/cn";
+
+function Portal({ children, ...props }: DrawerPrimitive.Portal.Props) {
+ return (
+
+
+ {children}
+
+ );
+}
+
+function Viewport({ className, ...props }: DrawerPrimitive.Viewport.Props) {
+ return (
+
+ );
+}
+
+function Popup({ className, ...props }: DrawerPrimitive.Popup.Props) {
+ return (
+
+ );
+}
+
+export const Drawer = {
+ Root: DrawerPrimitive.Root,
+ Portal,
+ Viewport,
+ Popup,
+ Content: DrawerPrimitive.Content,
+ Title: DrawerPrimitive.Title,
+ Trigger: DrawerPrimitive.Trigger,
+ Close: DrawerPrimitive.Close,
+};
diff --git a/docs/src/neo/design/components/IconCard.tsx b/docs/src/neo/design/components/IconCard.tsx
new file mode 100644
index 00000000..b3031246
--- /dev/null
+++ b/docs/src/neo/design/components/IconCard.tsx
@@ -0,0 +1,34 @@
+import { useMemo } from "react";
+import { NavLink, useLocation } from "react-router";
+
+import Amicon from "@studio384/amicons";
+
+import { type ILibraryIcon } from "@/types";
+
+export function IconCard({ icon }: { icon: ILibraryIcon }) {
+ const location = useLocation();
+
+ const to = useMemo(() => {
+ const params = new URLSearchParams(location.pathname === "/neo/icons" ? location.search : undefined);
+ params.set("icon", icon.slug);
+
+ const search = params.toString();
+
+ return {
+ pathname: "/neo/icons",
+ search: search ? `?${search}` : "",
+ };
+ }, [icon.slug, location.pathname, location.search]);
+
+ return (
+
+
+
+ {icon.slug}
+
+
+ );
+}
diff --git a/docs/src/neo/design/components/NavigationMenu.tsx b/docs/src/neo/design/components/NavigationMenu.tsx
new file mode 100644
index 00000000..7639dd43
--- /dev/null
+++ b/docs/src/neo/design/components/NavigationMenu.tsx
@@ -0,0 +1,63 @@
+import { NavLink } from "react-router";
+
+import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react";
+
+import { cn } from "@/utils/cn";
+
+function Root(props: NavigationMenuPrimitive.Root.Props) {
+ return ;
+}
+
+function List({ className, ...props }: NavigationMenuPrimitive.List.Props) {
+ return ;
+}
+
+const itemClassName = cn(
+ // Text
+ "font-display text-start",
+ // Spacing
+ "grid grid-cols-[min-content_auto_min-content] items-center",
+ "data-[size=md]:gap-2.5 data-[size=md]:px-4 data-[size=md]:py-2.5",
+ "data-[size=sm]:gap-2.5 data-[size=sm]:px-4 data-[size=sm]:py-1.5",
+ // Styling
+ "w-full rounded-sm",
+ // Hover
+ "hover:cursor-pointer hover:bg-violet-600 hover:text-white",
+ // Active
+ "data-active:bg-violet-600 data-active:text-white data-active:shadow-sm",
+ // Transition
+ "transition-all duration-150",
+);
+
+function Item({ to, size = "md", ...props }: { to: string; size?: "sm" | "md" } & NavigationMenuPrimitive.Link.Props) {
+ return (
+
+ }
+ className={itemClassName}
+ data-size={size}
+ {...props}
+ />
+
+ );
+}
+
+function ActionItem({ className, size = "md", ...props }: { size?: "sm" | "md" } & NavigationMenuPrimitive.Link.Props) {
+ return (
+
+ }
+ className={cn(itemClassName, className)}
+ data-size={size}
+ {...props}
+ />
+
+ );
+}
+
+export const NavigationMenu = {
+ ActionItem,
+ Root,
+ List,
+ Item,
+};
diff --git a/docs/src/neo/design/layouts/Layout.tsx b/docs/src/neo/design/layouts/Layout.tsx
new file mode 100644
index 00000000..b0eda2a8
--- /dev/null
+++ b/docs/src/neo/design/layouts/Layout.tsx
@@ -0,0 +1,59 @@
+import { type PropsWithChildren } from "react";
+import { NavLink, Outlet } from "react-router";
+
+import Amicon, { aiBarsUneven, aiXmark } from "@studio384/amicons";
+
+import pkg from "../../../../../amicons/package.json";
+import { Drawer } from "../components/Drawer";
+import Menu from "./Menu";
+
+export default function NeoLayout({ children }: PropsWithChildren) {
+ return (
+
+
+
+
+
+
+ Amicons {pkg.version}
+
+
+
+
+
+ Open navigation menu
+
+
+
+
+
+
+
+
+
+
+ Amicons {pkg.version}
+
+
+
+
+
+ Close navigation menu
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {children ? children : }
+
+
+ );
+}
diff --git a/docs/src/neo/design/layouts/Menu.tsx b/docs/src/neo/design/layouts/Menu.tsx
new file mode 100644
index 00000000..d8e7f9df
--- /dev/null
+++ b/docs/src/neo/design/layouts/Menu.tsx
@@ -0,0 +1,163 @@
+import { Fragment, useEffect, useRef, useState } from "react";
+import { useLocation, useNavigate } from "react-router";
+
+import { Separator } from "@base-ui/react";
+import Amicon, {
+ aiBluesky,
+ aiBook,
+ aiChevronLeft,
+ aiChevronRight,
+ aiGithub,
+ aiIcons,
+ aiMegaphone,
+ aiPatreon,
+ aiRocket,
+ aiTwitter,
+} from "@studio384/amicons";
+
+import { DOC_NAV } from "@/neo/app/docs/navigation";
+import { cn } from "@/utils/cn";
+
+import { NavigationMenu } from "../components/NavigationMenu";
+
+export default function Menu(props: React.HTMLAttributes) {
+ const location = useLocation();
+ const navigate = useNavigate();
+ const isDocumentationRoute = location.pathname.startsWith("/neo/documentation");
+ const [view, setView] = useState<"primary" | "documentation">(isDocumentationRoute ? "documentation" : "primary");
+ const previousPathname = useRef(location.pathname);
+
+ useEffect(() => {
+ const wasDocumentationRoute = previousPathname.current.startsWith("/neo/documentation");
+
+ if (!wasDocumentationRoute && isDocumentationRoute) {
+ setView("documentation");
+ }
+
+ if (!isDocumentationRoute) {
+ setView("primary");
+ }
+
+ previousPathname.current = location.pathname;
+ }, [isDocumentationRoute, location.pathname]);
+
+ function openDocumentationNavigation() {
+ setView("documentation");
+
+ if (!isDocumentationRoute) {
+ navigate("/neo/documentation/installation");
+ }
+ }
+
+ return (
+
+
+ {view === "documentation" ? (
+
+
+ setView("primary")}>
+
+ Back
+
+
+ {DOC_NAV.map((section) => (
+
+
+ {section.title}
+
+
+ {section.pages.map((page) => {
+ const isActive = location.pathname === page.path;
+
+ return (
+
+
+ {page.title}
+
+ );
+ })}
+
+
+ ))}
+
+ ) : (
+
+
+ Icons
+
+
+
+
+ Documentation
+
+
+
+
+
+ News
+
+
+
+
+ Releases
+
+
+ )}
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/docs/src/style.css b/docs/src/style.css
index 20692ead..05ab66e1 100644
--- a/docs/src/style.css
+++ b/docs/src/style.css
@@ -1,28 +1,30 @@
@import url("https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap");
+@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300..700&display=swap");
@import "tailwindcss";
@import "@studio384/amicons/amicons.css";
+@import "highlight.js/styles/github.css";
+@import "highlight.js/styles/github-dark.css" (prefers-color-scheme: dark);
.root {
isolation: isolate;
}
@theme {
- --font-display: "Lexend", sans-serif;
+ --font-display: "Space Grotesk", sans-serif;
--font-dev: "Century Gothic", "Segoe UI Variable Display", var(--font-sans);
}
-.shiki {
- overflow-x: auto;
- padding: 0.5rem;
- border-radius: var(--radius-md);
- border: 1px solid var(--color-zinc-800);
+.hljs {
+ line-height: 1.25;
+ padding: 0.5em !important;
+ border-radius: var(--radius-sm);
+ border: 1px solid var(--color-zinc-200);
}
-pre {
- overflow-x: auto;
- padding: 0.5rem;
- border-radius: var(--radius-md);
- border: 1px solid var(--color-zinc-800);
+@media (prefers-color-scheme: dark) {
+ .hljs {
+ border-color: var(--color-zinc-800);
+ }
}
.docs {
@@ -94,3 +96,105 @@ pre {
margin-bottom: 0.75rem;
}
}
+
+.neo-doc-page {
+ & > h1:first-child {
+ display: none;
+ }
+}
+
+.neo-docs {
+ :is(ul, ol) {
+ margin-bottom: 0.75rem;
+ padding-left: 1.5rem;
+ }
+
+ ul {
+ list-style: disc;
+ }
+
+ ol {
+ list-style: decimal;
+ }
+
+ li {
+ line-height: var(--leading-relaxed);
+ }
+
+ h1 {
+ font-size: var(--text-4xl);
+ font-weight: var(--font-weight-bold);
+ font-family: var(--font-display);
+ margin-bottom: 0.25rem;
+ margin-top: 1rem;
+ }
+
+ h2 {
+ font-size: var(--text-2xl);
+ font-weight: var(--font-weight-bold);
+ font-family: var(--font-display);
+ margin-bottom: 0.25rem;
+ margin-top: 0.75rem;
+ }
+
+ :is(h1, h2, h3, h4, h5, h6):first-child {
+ margin-top: 0;
+ }
+
+ :is(h1, h2, h3, h4, h5, h6) + :is(h1, h2, h3, h4, h5, h6) {
+ margin-top: 0;
+ }
+
+ figure {
+ margin-bottom: 0.75rem;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ p {
+ margin-bottom: 0.75rem;
+ line-height: var(--leading-relaxed);
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ & > a,
+ p > a {
+ text-decoration-line: underline;
+ text-decoration-color: var(--color-violet-400);
+ text-decoration-thickness: 1.5px;
+ text-underline-offset: 2px;
+
+ &:hover {
+ text-decoration-color: var(--color-violet-500);
+ }
+ }
+
+ li > p {
+ margin-bottom: 0;
+ }
+
+ p code,
+ li code {
+ font-size: var(--text-sm);
+ background-color: var(--color-violet-100);
+ color: var(--color-violet-600);
+ font-family: var(--font-mono);
+ border-radius: var(--radius-sm);
+ padding-inline: 0.25rem;
+ padding-block: 1px;
+
+ @media (prefers-color-scheme: dark) {
+ background-color: var(--color-violet-950);
+ color: var(--color-violet-300);
+ }
+ }
+
+ & > .icon-grid:not(:last-child) {
+ margin-bottom: 0.75rem;
+ }
+}
diff --git a/docs/vite.config.ts b/docs/vite.config.ts
index 56431e5e..733df7a2 100644
--- a/docs/vite.config.ts
+++ b/docs/vite.config.ts
@@ -4,7 +4,7 @@ import { devtools } from "@tanstack/devtools-vite";
import react from "@vitejs/plugin-react-swc";
import ReactCompiler from "babel-plugin-react-compiler";
import * as path from "path";
-import rehypePrettyCode from "rehype-pretty-code";
+import rehypeHighlight from "rehype-highlight";
import remarkFrontmatter from "remark-frontmatter";
import remarkMdxFrontmatter from "remark-mdx-frontmatter";
import { visualizer } from "rollup-plugin-visualizer";
@@ -16,7 +16,7 @@ export default defineConfig({
[ReactCompiler],
mdx({
remarkPlugins: [remarkFrontmatter, [remarkMdxFrontmatter, { name: "frontmatter" }]],
- rehypePlugins: [[rehypePrettyCode, { theme: "dark-plus" }]],
+ rehypePlugins: [rehypeHighlight],
}),
tailwindcss(),
react(),
diff --git a/package.json b/package.json
new file mode 100644
index 00000000..b6f4612f
--- /dev/null
+++ b/package.json
@@ -0,0 +1,26 @@
+{
+ "name": "amicons-monorepo",
+ "version": "1.0.0-alpha.13",
+ "private": true,
+ "scripts": {
+ "build": "pnpm -r build",
+ "dev": "pnpm --filter amicons-docs dev",
+ "docs:build": "pnpm --filter amicons-docs build",
+ "deps:sync": "syncpack fix --dependency-types local,prod,dev",
+ "deps:sync-check": "syncpack lint --dependency-types local,prod,dev",
+ "docs:dev": "pnpm --filter amicons-docs dev",
+ "docs:preview": "pnpm --filter amicons-docs preview",
+ "fix": "pnpm -r fix",
+ "format": "pnpm -r format",
+ "format:fix": "pnpm -r format:fix",
+ "lint": "pnpm -r lint",
+ "lint:fix": "pnpm -r lint:fix",
+ "lib:build": "pnpm --filter @studio384/amicons build",
+ "lib:prod": "pnpm --filter @studio384/amicons prod",
+ "version:sync": "node scripts/sync-versions.mjs"
+ },
+ "devDependencies": {
+ "syncpack": "^15.3.2"
+ },
+ "packageManager": "pnpm@11.10.0"
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 00000000..c1af03f5
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,5492 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ devDependencies:
+ syncpack:
+ specifier: ^15.3.2
+ version: 15.3.2
+
+ amicons:
+ devDependencies:
+ '@types/react':
+ specifier: ^19.2.17
+ version: 19.2.17
+ oxfmt:
+ specifier: ^0.58.0
+ version: 0.58.0
+ oxlint:
+ specifier: ^1.73.0
+ version: 1.73.0
+ picocolors:
+ specifier: 1.1.1
+ version: 1.1.1
+ react:
+ specifier: ^19.2.7
+ version: 19.2.7
+ svg-to-ts:
+ specifier: 12.0.0
+ version: 12.0.0
+ svgo:
+ specifier: 4.0.1
+ version: 4.0.1
+ tsup:
+ specifier: ^8.5.1
+ version: 8.5.1(@swc/core@1.15.43)(jiti@2.7.0)(postcss@8.5.16)(typescript@6.0.3)(yaml@2.9.0)
+ typescript:
+ specifier: ^6.0.3
+ version: 6.0.3
+
+ docs:
+ dependencies:
+ '@base-ui/react':
+ specifier: ^1.6.0
+ version: 1.6.0(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@mui/material':
+ specifier: ^9.2.0
+ version: 9.2.0(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@studio384/amicons':
+ specifier: 'workspace:'
+ version: link:../amicons
+ '@tailwindcss/vite':
+ specifier: ^4.3.2
+ version: 4.3.2(vite@8.1.3(@types/node@26.1.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))
+ '@tanstack/react-pacer':
+ specifier: ^0.22.1
+ version: 0.22.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ clsx:
+ specifier: ^2.1.1
+ version: 2.1.1
+ cva:
+ specifier: 1.0.0-beta.4
+ version: 1.0.0-beta.4(typescript@6.0.3)
+ date-fns:
+ specifier: ^4.4.0
+ version: 4.4.0
+ highlight.js:
+ specifier: ^11.11.1
+ version: 11.11.1
+ react:
+ specifier: ^19.2.7
+ version: 19.2.7
+ react-dom:
+ specifier: ^19.2.7
+ version: 19.2.7(react@19.2.7)
+ react-router:
+ specifier: ^8.1.0
+ version: 8.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ tailwind-merge:
+ specifier: ^3.6.0
+ version: 3.6.0
+ tailwindcss:
+ specifier: ^4.3.2
+ version: 4.3.2
+ devDependencies:
+ '@mdx-js/rollup':
+ specifier: ^3.1.1
+ version: 3.1.1(rollup@4.62.2)
+ '@tanstack/devtools-vite':
+ specifier: ^0.8.1
+ version: 0.8.1(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(vite@8.1.3(@types/node@26.1.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))
+ '@tanstack/react-devtools':
+ specifier: ^0.10.8
+ version: 0.10.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(csstype@3.2.3)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.14)
+ '@tanstack/react-pacer-devtools':
+ specifier: ^0.7.1
+ version: 0.7.1(@tanstack/pacer@0.21.1)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.14)
+ '@types/node':
+ specifier: ^26.1.0
+ version: 26.1.0
+ '@types/react':
+ specifier: ^19.2.17
+ version: 19.2.17
+ '@types/react-dom':
+ specifier: 19.2.3
+ version: 19.2.3(@types/react@19.2.17)
+ '@vitejs/plugin-react-swc':
+ specifier: ^4.3.1
+ version: 4.3.1(vite@8.1.3(@types/node@26.1.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))
+ babel-plugin-react-compiler:
+ specifier: ^1.0.0
+ version: 1.0.0
+ oxfmt:
+ specifier: ^0.58.0
+ version: 0.58.0
+ oxlint:
+ specifier: ^1.73.0
+ version: 1.73.0
+ rehype-highlight:
+ specifier: ^7.0.2
+ version: 7.0.2
+ remark-frontmatter:
+ specifier: ^5.0.0
+ version: 5.0.0
+ remark-mdx-frontmatter:
+ specifier: ^5.2.0
+ version: 5.2.0
+ rollup-plugin-visualizer:
+ specifier: ^7.0.1
+ version: 7.0.1(rolldown@1.1.4)(rollup@4.62.2)
+ typescript:
+ specifier: ^6.0.3
+ version: 6.0.3
+ vite:
+ specifier: ^8.1.3
+ version: 8.1.3(@types/node@26.1.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)
+
+packages:
+
+ '@babel/code-frame@7.29.7':
+ resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.29.7':
+ resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.29.7':
+ resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/runtime@7.29.7':
+ resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.29.7':
+ resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==}
+ engines: {node: '>=6.9.0'}
+
+ '@base-ui/react@1.6.0':
+ resolution: {integrity: sha512-/jzjTWJYXhRFO45Bev9lc3cHbmjzCMpUqbMZ2AgKy/z25mY9B6shGSNcXcjQar9n5doM0KYW1W8fcFv2jZBuMw==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@date-fns/tz': ^1.2.0
+ '@types/react': ^17 || ^18 || ^19
+ date-fns: ^4.0.0
+ react: ^17 || ^18 || ^19
+ react-dom: ^17 || ^18 || ^19
+ peerDependenciesMeta:
+ '@date-fns/tz':
+ optional: true
+ '@types/react':
+ optional: true
+ date-fns:
+ optional: true
+
+ '@base-ui/utils@0.3.1':
+ resolution: {integrity: sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg==}
+ peerDependencies:
+ '@types/react': ^17 || ^18 || ^19
+ react: ^17 || ^18 || ^19
+ react-dom: ^17 || ^18 || ^19
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@emnapi/core@1.11.1':
+ resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==}
+
+ '@emnapi/runtime@1.11.1':
+ resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==}
+
+ '@emnapi/wasi-threads@1.2.2':
+ resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==}
+
+ '@emotion/cache@11.14.0':
+ resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==}
+
+ '@emotion/hash@0.9.2':
+ resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==}
+
+ '@emotion/memoize@0.9.0':
+ resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==}
+
+ '@emotion/serialize@1.3.3':
+ resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==}
+
+ '@emotion/sheet@1.4.0':
+ resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==}
+
+ '@emotion/unitless@0.10.0':
+ resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==}
+
+ '@emotion/utils@1.4.2':
+ resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==}
+
+ '@emotion/weak-memoize@0.4.0':
+ resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==}
+
+ '@esbuild/aix-ppc64@0.27.7':
+ resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.27.7':
+ resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.27.7':
+ resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.27.7':
+ resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.27.7':
+ resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.27.7':
+ resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.27.7':
+ resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.27.7':
+ resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.27.7':
+ resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.27.7':
+ resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.27.7':
+ resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.27.7':
+ resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.27.7':
+ resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.27.7':
+ resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.27.7':
+ resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.27.7':
+ resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.27.7':
+ resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-arm64@0.27.7':
+ resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.27.7':
+ resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-arm64@0.27.7':
+ resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.27.7':
+ resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openharmony-arm64@0.27.7':
+ resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@esbuild/sunos-x64@0.27.7':
+ resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.27.7':
+ resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.27.7':
+ resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.27.7':
+ resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@floating-ui/core@1.7.5':
+ resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==}
+
+ '@floating-ui/dom@1.7.6':
+ resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==}
+
+ '@floating-ui/react-dom@2.1.8':
+ resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/utils@0.2.11':
+ resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
+
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+
+ '@mdx-js/mdx@3.1.1':
+ resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==}
+
+ '@mdx-js/rollup@3.1.1':
+ resolution: {integrity: sha512-v8satFmBB+DqDzYohnm1u2JOvxx6Hl3pUvqzJvfs2Zk/ngZ1aRUhsWpXvwPkNeGN9c2NCm/38H29ZqXQUjf8dw==}
+ peerDependencies:
+ rollup: '>=2'
+
+ '@mui/core-downloads-tracker@9.2.0':
+ resolution: {integrity: sha512-+XMav+ZaXkZKUFUgzjrfMEedfyJKxxviAske2q8N8CWDMeqZdDU2lWMkiUPiB388hGaDqhwvOAwkrsc/pUyp8g==}
+
+ '@mui/material@9.2.0':
+ resolution: {integrity: sha512-+YTRSgGKGrrRo2XJZXs7JRA6qHoHWvNtxyqxnrRJTBmIuLOUpxxh7m4G9lF4tWberxGFY+EqkkRPgJCl+fSMJg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@mui/material-pigment-css': ^9.2.0
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@mui/material-pigment-css':
+ optional: true
+ '@types/react':
+ optional: true
+
+ '@mui/private-theming@9.2.0':
+ resolution: {integrity: sha512-w9wpyDxGPGnAACPB2hKhCDmILJIAvQxrfjUbIAEa0AznX1rOjaz5N+yB1uuw8ixnJcpEh/tPbD9oEe19wcWPHw==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@mui/styled-engine@9.1.1':
+ resolution: {integrity: sha512-neaYKdJfvEG54q8efHLJR7swpHG/gfSv9xGqW5iTSMsubD7yPCPFrhVBt284j1DOF3uZaaDJSHQL7gz6jGF21Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.4.1
+ '@emotion/styled': ^11.3.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+
+ '@mui/system@9.2.0':
+ resolution: {integrity: sha512-YvUJwKoGVtbnOm2PyPi5TvX2d1rOA6sqSpEWVs4WmXNIaFTuYmNUaVdU2o1NKUEe31URnD3E8ZVUMcsLQXwcYg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@types/react':
+ optional: true
+
+ '@mui/types@9.1.1':
+ resolution: {integrity: sha512-Zjt7u8wNvDg40rPTGoL+TnfkpuSKjwubsNSFRH1KAVZLcaV4I3AFNHIFbvH7p4F3alEibSbdd90xAgn5Rnfndg==}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@mui/utils@9.2.0':
+ resolution: {integrity: sha512-OsUH5zhlSOM4xmLl53+agug1M1UyWb4zxFxWQCqwKTKUeQPvTENtg3JhrroBD2qpCLKsX5W/DYGERJ4mBUbc8g==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@napi-rs/wasm-runtime@1.1.6':
+ resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==}
+ peerDependencies:
+ '@emnapi/core': ^1.7.1
+ '@emnapi/runtime': ^1.7.1
+
+ '@oxc-parser/binding-android-arm-eabi@0.120.0':
+ resolution: {integrity: sha512-WU3qtINx802wOl8RxAF1v0VvmC2O4D9M8Sv486nLeQ7iPHVmncYZrtBhB4SYyX+XZxj2PNnCcN+PW21jHgiOxg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [android]
+
+ '@oxc-parser/binding-android-arm64@0.120.0':
+ resolution: {integrity: sha512-SEf80EHdhlbjZEgzeWm0ZA/br4GKMenDW3QB/gtyeTV1gStvvZeFi40ioHDZvds2m4Z9J1bUAUL8yn1/+A6iGg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxc-parser/binding-darwin-arm64@0.120.0':
+ resolution: {integrity: sha512-xVrrbCai8R8CUIBu3CjryutQnEYhZqs1maIqDvtUCFZb8vY33H7uh9mHpL3a0JBIKoBUKjPH8+rzyAeXnS2d6A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-parser/binding-darwin-x64@0.120.0':
+ resolution: {integrity: sha512-xyHBbnJ6mydnQUH7MAcafOkkrNzQC6T+LXgDH/3InEq2BWl/g424IMRiJVSpVqGjB+p2bd0h0WRR8iIwzjU7rw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-parser/binding-freebsd-x64@0.120.0':
+ resolution: {integrity: sha512-UMnVRllquXUYTeNfFKmxTTEdZ/ix1nLl0ducDzMSREoWYGVIHnOOxoKMWlCOvRr9Wk/HZqo2rh1jeumbPGPV9A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.120.0':
+ resolution: {integrity: sha512-tkvn2CQ7QdcsMnpfiX3fd3wA3EFsWKYlcQzq9cFw/xc89Al7W6Y4O0FgLVkVQpo0Tnq/qtE1XfkJOnRRA9S/NA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm-musleabihf@0.120.0':
+ resolution: {integrity: sha512-WN5y135Ic42gQDk9grbwY9++fDhqf8knN6fnP+0WALlAUh4odY/BDK1nfTJRSfpJD9P3r1BwU0m3pW2DU89whQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm64-gnu@0.120.0':
+ resolution: {integrity: sha512-1GgQBCcXvFMw99EPdMy+4NZ3aYyXsxjf9kbUUg8HuAy3ZBXzOry5KfFEzT9nqmgZI1cuetvApkiJBZLAPo8uaw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-parser/binding-linux-arm64-musl@0.120.0':
+ resolution: {integrity: sha512-gmMQ70gsPdDBgpcErvJEoWNBr7bJooSLlvOBVBSGfOzlP5NvJ3bFvnUeZZ9d+dPrqSngtonf7nyzWUTUj/U+lw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxc-parser/binding-linux-ppc64-gnu@0.120.0':
+ resolution: {integrity: sha512-T/kZuU0ajop0xhzVMwH5r3srC9Nqup5HaIo+3uFjIN5uPxa0LvSxC1ZqP4aQGJVW5G0z8/nCkjIfSMS91P/wzw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-parser/binding-linux-riscv64-gnu@0.120.0':
+ resolution: {integrity: sha512-vn21KXLAXzaI3N5CZWlBr1iWeXLl9QFIMor7S1hUjUGTeUuWCoE6JZB040/ZNDwf+JXPX8Ao9KbmJq9FMC2iGw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-parser/binding-linux-riscv64-musl@0.120.0':
+ resolution: {integrity: sha512-SUbUxlar007LTGmSLGIC5x/WJvwhdX+PwNzFJ9f/nOzZOrCFbOT4ikt7pJIRg1tXVsEfzk5mWpGO1NFiSs4PIw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxc-parser/binding-linux-s390x-gnu@0.120.0':
+ resolution: {integrity: sha512-hYiPJTxyfJY2+lMBFk3p2bo0R9GN+TtpPFlRqVchL1qvLG+pznstramHNvJlw9AjaoRUHwp9IKR7UZQnRPGjgQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-parser/binding-linux-x64-gnu@0.120.0':
+ resolution: {integrity: sha512-q+5jSVZkprJCIy3dzJpApat0InJaoxQLsJuD6DkX8hrUS61z2lHQ1Fe9L2+TYbKHXCLWbL0zXe7ovkIdopBGMQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-parser/binding-linux-x64-musl@0.120.0':
+ resolution: {integrity: sha512-D9QDDZNnH24e7X4ftSa6ar/2hCavETfW3uk0zgcMIrZNy459O5deTbWrjGzZiVrSWigGtlQwzs2McBP0QsfV1w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxc-parser/binding-openharmony-arm64@0.120.0':
+ resolution: {integrity: sha512-TBU8ZwOUWAOUWVfmI16CYWbvh4uQb9zHnGBHsw5Cp2JUVG044OIY1CSHODLifqzQIMTXvDvLzcL89GGdUIqNrA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@oxc-parser/binding-wasm32-wasi@0.120.0':
+ resolution: {integrity: sha512-WG/FOZgDJCpJnuF3ToG/K28rcOmSY7FmFmfBKYb2fmLyhDzPpUldFGV7/Fz4ru0Iz/v4KPmf8xVgO8N3lO4KHA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@oxc-parser/binding-win32-arm64-msvc@0.120.0':
+ resolution: {integrity: sha512-1T0HKGcsz/BKo77t7+89L8Qvu4f9DoleKWHp3C5sJEcbCjDOLx3m9m722bWZTY+hANlUEs+yjlK+lBFsA+vrVQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-parser/binding-win32-ia32-msvc@0.120.0':
+ resolution: {integrity: sha512-L7vfLzbOXsjBXV0rv/6Y3Jd9BRjPeCivINZAqrSyAOZN3moCopDN+Psq9ZrGNZtJzP8946MtlRFZ0Als0wBCOw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@oxc-parser/binding-win32-x64-msvc@0.120.0':
+ resolution: {integrity: sha512-ys+upfqNtSu58huAhJMBKl3XCkGzyVFBlMlGPzHeFKgpFF/OdgNs1MMf8oaJIbgMH8ZxgGF7qfue39eJohmKIg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@oxc-project/types@0.120.0':
+ resolution: {integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==}
+
+ '@oxc-project/types@0.138.0':
+ resolution: {integrity: sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==}
+
+ '@oxfmt/binding-android-arm-eabi@0.58.0':
+ resolution: {integrity: sha512-Uz62sHduGGPftXtILGyxdSW4PX82rUg+rfdNqhsgxe881g4rIoXlIqmZQ6HVKcF4f+F8qMhdD03Bx5u7gmeTdg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [android]
+
+ '@oxfmt/binding-android-arm64@0.58.0':
+ resolution: {integrity: sha512-rD0lRaJp1b+9vw6X4A2dJWKukd6X8yxiicN4JxXcXayolmUypRZxk+lKR+fVOu5q/iYc0fh5fR4bgmfOfVlbaA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxfmt/binding-darwin-arm64@0.58.0':
+ resolution: {integrity: sha512-uzbPPk7O6M+w2K65vcQ1woga3wgP8zghjL1KOG5b6qJ8dvYHZJ1VShaslg2KOK6yQIwCQtcMCXqLBM6sqXUNTg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxfmt/binding-darwin-x64@0.58.0':
+ resolution: {integrity: sha512-L0nKYDxU32oxeQqJj21W9SlIMnf81VZEhyah6iDvFhf5q0oynq498Fopth7blErUJVBpVtxQ98RMCfMPqpJX6w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxfmt/binding-freebsd-x64@0.58.0':
+ resolution: {integrity: sha512-woNwfD58dC5PGS9LSLSD5JYfo/EFK5iG9vhDWkcCg3q78ag7KC8bpDqgvPHrMoXpx83OLXxoSOhu6z8FsVTHlg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxfmt/binding-linux-arm-gnueabihf@0.58.0':
+ resolution: {integrity: sha512-Sqs8nMLxuQpY21NKJ1u4stPDmO5hskBCNNh2E3AdCfI1QqWtf4m+Qn4mGEIUO4KGmuq3SWc/SZ80uy5IiwTCDw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxfmt/binding-linux-arm-musleabihf@0.58.0':
+ resolution: {integrity: sha512-Vd4exzBI5B5hB9m22JiTQzIL23WvHo/Pe+sNXPNeBLXSP9swCBPKCEBRwKpmpQzYhlgYaCgfPcGXPKAJBRIiZQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxfmt/binding-linux-arm64-gnu@0.58.0':
+ resolution: {integrity: sha512-bUWi5mHV+4Vi56RLHE1h6q/HHfwAIT3XoB9vJAVeRzfu5NriXM8y6eeJu0vlKa0C9kq2rq1sOWRClhdLHPocrg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxfmt/binding-linux-arm64-musl@0.58.0':
+ resolution: {integrity: sha512-2ZHxemzgHcjtktAuVUwSoyXmGo/t+aF5tS1ciPpPei4rhSyrz3JOqDosXXrmhN/yLUSzJjtuW7ToTWqfQpCj2w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxfmt/binding-linux-ppc64-gnu@0.58.0':
+ resolution: {integrity: sha512-AwKkVwjVmFQ3bcO7j0McGYAqCKH2a326fswfofng/E8VewCT/raeeGQr4huVhY704deK8AWASSTlxzMj0eZc6Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxfmt/binding-linux-riscv64-gnu@0.58.0':
+ resolution: {integrity: sha512-xsRpTxfUnJF8D3AUKko/qyWdjw4GZVHlCVFuGlzSCTeewLmykKINW8em1+wx+axsDVtJJcMtvsiaXggXxrlHgw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxfmt/binding-linux-riscv64-musl@0.58.0':
+ resolution: {integrity: sha512-Z4AYOTcy7nYEIiXwD62PlerimyYRcfJOgUbQAEBjXz098kxKuERBlRntofGy69HHhe9E0TLVNMl1yspVNu+efw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxfmt/binding-linux-s390x-gnu@0.58.0':
+ resolution: {integrity: sha512-A3nhhtZPC/TKVWOPj9q/H3p2znJDCcHWYlJBhWL8hGq/bFmBaNBHC8Np6E581yVq1w9Mi3rMDNzDalWvtUfJtQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxfmt/binding-linux-x64-gnu@0.58.0':
+ resolution: {integrity: sha512-2g+tVkgwqphw8R4hgo+kF4oz8+P5RwVOtr9+irsC7uwEp0e9j7Crw8kDGKL20uYlLPD7g02DqA61mC/UNYx98A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxfmt/binding-linux-x64-musl@0.58.0':
+ resolution: {integrity: sha512-rc15P6AbyyB7426aN8AakLd02Trb3a6ML/mmfAQeVHJEfVofWLcWIrBdy6zDEY+DIaL/s8E4GGPboVw+oP3+EA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxfmt/binding-openharmony-arm64@0.58.0':
+ resolution: {integrity: sha512-ZWoTM27/HYPOh9iq86DAbhPu9nXb8qKvvGU/h8OfliyVUFAMMNTLDkGsWDKKnDqIkqvZ9+dXlgUOsH1LYO3O7g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@oxfmt/binding-win32-arm64-msvc@0.58.0':
+ resolution: {integrity: sha512-LHZnqFXe2dEfkRI4XdZS/57nEOT/I4UCRX5IyM9v4GYW9XwQCjGe1IUK59SuKw3POwvcgWQ4pme2cYXmNqTNPg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxfmt/binding-win32-ia32-msvc@0.58.0':
+ resolution: {integrity: sha512-mZKpg20TpheCJym1rarcZCUJeW1sSruw8zAAaCYWvuVfwIUDN1CXdrPU/JgCWReXTCTrEfCB8Wyo3hh9jSZ2EA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@oxfmt/binding-win32-x64-msvc@0.58.0':
+ resolution: {integrity: sha512-N/wUU4N5PZ2orBtI+Ko7MnMfYLfE7K91UrGMY/c/pYyHR3lA9kwst1XugkZx+92YcRh/Eo+iv2eTESSWXfiZPA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@oxlint/binding-android-arm-eabi@1.73.0':
+ resolution: {integrity: sha512-HZQRN/UMBu+Ut+/9MiAChkbP4qZqrNOWBcNI45vOT40GVhbGR0JgHB87L48D4iAqFQIdVmeQYtV9RF89AjTKkg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [android]
+
+ '@oxlint/binding-android-arm64@1.73.0':
+ resolution: {integrity: sha512-Gp+KJRylv2aW7thRpG5p1KTxZq4ZJFbWowrKzufNq9d3ssl3r3JviYV45/+p+7CN1Nv0zDd1e8Ex0b/HUDq4TQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxlint/binding-darwin-arm64@1.73.0':
+ resolution: {integrity: sha512-3de96NdtXhxERMjIz7wsp2HYMY6pMQycGxFWac2mFecAx6VeARF/IqFb1QIaqiCRIdfzBwzTed+pCTCoiS+CYA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxlint/binding-darwin-x64@1.73.0':
+ resolution: {integrity: sha512-5zx/uPW32TiaOeVY1dQ/H5iOf0K1HOdFKOJhLqGl4o63+i1fpzoqqu/mKtd7OFgFjNCdhlyTGgjVkQTZm1ELcg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxlint/binding-freebsd-x64@1.73.0':
+ resolution: {integrity: sha512-qNe4gKHaGnLuZJ8toUg90JAa0S2vTVvDw+0bRi3q1avXZXDT4u5mMeECf3nD4HYrbdn1O7dXqWut4onY/yx/Xg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxlint/binding-linux-arm-gnueabihf@1.73.0':
+ resolution: {integrity: sha512-cCehYh5hTbfShm/fxTD6wwrGUWIpvX+N5OxmAMhFhDeTGXvw+BeNj889tpxsFQ9ZLatQ6wImuY8tsKLZ+FMz7w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxlint/binding-linux-arm-musleabihf@1.73.0':
+ resolution: {integrity: sha512-d5j5GDU/2dMgjVhw7TQT9ITrsIr1Y02KEXKyVGIXUkD+KiaxE9TP65FS2ZdgTBemQvoRL+gSBdbrIm3cQIeacg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxlint/binding-linux-arm64-gnu@1.73.0':
+ resolution: {integrity: sha512-Eyf1SrP3+yR1DI3OJgOY2Pvrr9dWP9TK37xPaDYycwTtlGlI45erJAVIfH5/m/xosDt6BupJYEFi47bvbTuuyw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxlint/binding-linux-arm64-musl@1.73.0':
+ resolution: {integrity: sha512-IlT/OJApEDKaMmCooHuncgJZbbCe7T5QIWmTZBEtYscWvzPQuuEinVcid6kwQRVQOUdb7PUCz4jQHnaYXdfJXw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxlint/binding-linux-ppc64-gnu@1.73.0':
+ resolution: {integrity: sha512-L+JYcb/vdg5fmcH08V6o0YYLU28cTH1SPNulwJdvK9NK49aXSkYy6oNpKBmddArVOXYqNepriDGiZ04G54kh1Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxlint/binding-linux-riscv64-gnu@1.73.0':
+ resolution: {integrity: sha512-Qtk0g3bKV6OwWjIm7R8kQN1uOZRKQt/MODK2a8QfkwhTpXBD53ozx5XLVWLGDQAVyp2otLW4D2wB98XfAfMPGA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxlint/binding-linux-riscv64-musl@1.73.0':
+ resolution: {integrity: sha512-wX0NQKZVxltkAOVmzFcpOaMpdaUvsq1Eqpx9tkAfl71UdkTlSo1R4AdAnGccR1Fm2+TzFgZ22CyyGuZ41RDr/A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxlint/binding-linux-s390x-gnu@1.73.0':
+ resolution: {integrity: sha512-vPe7UGBMWyiLTtnqS4xxgMQFSFGmtQwhwCxuiw6lXygaO6bVt0D8dFVg8Xv05eaiN3ybC0HXXHUAohFMFvqoCQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxlint/binding-linux-x64-gnu@1.73.0':
+ resolution: {integrity: sha512-2CwIWr9cemFC/CbRBWZvuk5mffz6ObmfFkfcC/9rTQ7f+icNhYr2kOjf9Rt8lLvugvkdGDOmkoVoFFHh6ClCTw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxlint/binding-linux-x64-musl@1.73.0':
+ resolution: {integrity: sha512-nDadfJgg7NBBxG0N560wOe7LLX5QiYp6qBaI7viuk5EUORFBktU/NfV0MbTqU3gTqQDCh4VyxKdo5VADxk9w8Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxlint/binding-openharmony-arm64@1.73.0':
+ resolution: {integrity: sha512-wGjJC+NLH9xP+IKGn9RDW94ojJR/wPbg5WCnQjj/oReaOtCQthr8ws1zICe77JFmo4ouUdeTHHZL/ESGiF6Pmw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@oxlint/binding-win32-arm64-msvc@1.73.0':
+ resolution: {integrity: sha512-I7X47GPGljw225YUQ5SbC/rb1Kkdrd0yQf0x+hYxeKS6DpfjMbo9ccQPQ6LNY6BoJQ1sHhgDUGuMn5Vg5gHT6w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxlint/binding-win32-ia32-msvc@1.73.0':
+ resolution: {integrity: sha512-5lWj+3h+74Fm1jYOO9qkJA4xkAlZA099DkXppuXsk7UpnpZLttsefrZU469vChGaG6hcSqrkKXQOvMTZtbjeNg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@oxlint/binding-win32-x64-msvc@1.73.0':
+ resolution: {integrity: sha512-WaNRvh4f6zY9CvUQk2YoA1O90ieWrIklI84+HXFr9Isjz9CSESrdqo/RtIYt4Dll/cAchqGDMehfaZd0vqEFZw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@popperjs/core@2.11.8':
+ resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
+
+ '@rolldown/binding-android-arm64@1.1.4':
+ resolution: {integrity: sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@rolldown/binding-darwin-arm64@1.1.4':
+ resolution: {integrity: sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rolldown/binding-darwin-x64@1.1.4':
+ resolution: {integrity: sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rolldown/binding-freebsd-x64@1.1.4':
+ resolution: {integrity: sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.1.4':
+ resolution: {integrity: sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-gnu@1.1.4':
+ resolution: {integrity: sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-arm64-musl@1.1.4':
+ resolution: {integrity: sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rolldown/binding-linux-ppc64-gnu@1.1.4':
+ resolution: {integrity: sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-s390x-gnu@1.1.4':
+ resolution: {integrity: sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-x64-gnu@1.1.4':
+ resolution: {integrity: sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-x64-musl@1.1.4':
+ resolution: {integrity: sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@rolldown/binding-openharmony-arm64@1.1.4':
+ resolution: {integrity: sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rolldown/binding-wasm32-wasi@1.1.4':
+ resolution: {integrity: sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [wasm32]
+
+ '@rolldown/binding-win32-arm64-msvc@1.1.4':
+ resolution: {integrity: sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rolldown/binding-win32-x64-msvc@1.1.4':
+ resolution: {integrity: sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@rolldown/pluginutils@1.0.1':
+ resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==}
+
+ '@rollup/pluginutils@5.4.0':
+ resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.62.2':
+ resolution: {integrity: sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.62.2':
+ resolution: {integrity: sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.62.2':
+ resolution: {integrity: sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.62.2':
+ resolution: {integrity: sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-freebsd-arm64@4.62.2':
+ resolution: {integrity: sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@rollup/rollup-freebsd-x64@4.62.2':
+ resolution: {integrity: sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.62.2':
+ resolution: {integrity: sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.62.2':
+ resolution: {integrity: sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==}
+ cpu: [arm]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-arm64-gnu@4.62.2':
+ resolution: {integrity: sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm64-musl@4.62.2':
+ resolution: {integrity: sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-loong64-gnu@4.62.2':
+ resolution: {integrity: sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==}
+ cpu: [loong64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-loong64-musl@4.62.2':
+ resolution: {integrity: sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==}
+ cpu: [loong64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-ppc64-gnu@4.62.2':
+ resolution: {integrity: sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-ppc64-musl@4.62.2':
+ resolution: {integrity: sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.62.2':
+ resolution: {integrity: sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-riscv64-musl@4.62.2':
+ resolution: {integrity: sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-s390x-gnu@4.62.2':
+ resolution: {integrity: sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-gnu@4.62.2':
+ resolution: {integrity: sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-musl@4.62.2':
+ resolution: {integrity: sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-openbsd-x64@4.62.2':
+ resolution: {integrity: sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@rollup/rollup-openharmony-arm64@4.62.2':
+ resolution: {integrity: sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rollup/rollup-win32-arm64-msvc@4.62.2':
+ resolution: {integrity: sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.62.2':
+ resolution: {integrity: sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-gnu@4.62.2':
+ resolution: {integrity: sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==}
+ cpu: [x64]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.62.2':
+ resolution: {integrity: sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==}
+ cpu: [x64]
+ os: [win32]
+
+ '@solid-primitives/event-listener@2.4.6':
+ resolution: {integrity: sha512-5I0YJcTVYIWoMmgBSROBZGcz+ymhew/pGTg2dHW74BUjFKsV8Li4bOZYl0YAGP4mHw5o4UBd9/BEesqBci3wxw==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
+ '@solid-primitives/keyboard@1.3.7':
+ resolution: {integrity: sha512-558RPNYnXx4nGh537DSqAn4xMrC8iFipl/5+xzgzWoTNFst4RnUN3BOLmtDjJ0UGGoQXVMALYR3bNOHM0xnt1Q==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
+ '@solid-primitives/resize-observer@2.2.0':
+ resolution: {integrity: sha512-9Fuu/EWBeGj+atGHRJp70HKhdfalmpjwxY8a32NZixdLNmfCJ45AfhLQNr6uOzETbbiMx4iCKlTrJ8KZCHC2Ww==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
+ '@solid-primitives/rootless@1.5.4':
+ resolution: {integrity: sha512-TOIZa1VUfVJ+9nkCcRajw3U4t9vBOP1HxX1WHNTbXq32mXwlqTvUnC4CRIilohcryBkT9u2ZkhUDSHRTaGp55g==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
+ '@solid-primitives/static-store@0.1.4':
+ resolution: {integrity: sha512-LgtVaVBtB7EbmS4+M0b8xY5Iq6pUWXBsIC4VgtrFKDGDdyCaDt88sHk0fUlx1Enxm/XZnZyLXJABRoa39RjJqA==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
+ '@solid-primitives/utils@6.4.1':
+ resolution: {integrity: sha512-ISSB5QX1qP2ynrheIpYwc4oKR5Ny4siNuUyf1qZniy+Il+p/PtDB0QK1Dnle8noiHpwRD3gpPdubOC3qI/Zamg==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
+ '@swc/core-darwin-arm64@1.15.43':
+ resolution: {integrity: sha512-v1aVuvXdo/BHxJzco9V2xpHrvwWmhfS8t6gziY5wJxd+Z2h8AeJRnAwPD8itCDaGXVBwJ/CaKfxEzTkG0Va0OA==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@swc/core-darwin-x64@1.15.43':
+ resolution: {integrity: sha512-lp3d4Lamc8dt5huYdGLSR+9hLxmfr1jb0l+4XXG2zPqZwYWRN9R0U2qYoTrggiU2RWW0oV9VbWM3kBnqIc2kdQ==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@swc/core-linux-arm-gnueabihf@1.15.43':
+ resolution: {integrity: sha512-JWTQQELtsG5GgphDrr/XqqmM2pDN3cZqbMS0Mrg+iTiXL3F74sn/S2IyYE/5u4h2KLkTf9qQ7dXyxsbx7YzkeA==}
+ engines: {node: '>=10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@swc/core-linux-arm64-gnu@1.15.43':
+ resolution: {integrity: sha512-B4otJRdPWIsmiSBf0uG7Z/+vMWmkufjz5MmYxubwKuZazDW14Zd3symga1N62QR4RT+kEFeHEgsXfZGyn/w0hw==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@swc/core-linux-arm64-musl@1.15.43':
+ resolution: {integrity: sha512-6zB6OnpViBxYy4tgY3v2i6AZY9fwkcHZ032UOwtwUuW1d19sdT07qF0kZe6/3UR1tUaK6jjg2rmVcUIBCEYVjQ==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@swc/core-linux-ppc64-gnu@1.15.43':
+ resolution: {integrity: sha512-coxE1ZWdB3uSDVNoEtYNrRi/1epvckZx9cTJ8ICUxTMTxGk+yvQ/Twacp3ruZSaMPGCriUjP86C37VhaT6nyRg==}
+ engines: {node: '>=10'}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@swc/core-linux-s390x-gnu@1.15.43':
+ resolution: {integrity: sha512-lXfLhs+LpBsD5inuYx+YDH5WsPPBQ95KPUiy8P5wq9ob9xKDZFqwNfU2QW6bGO8NqRO/H9JQomTSt5Yyh+FGfA==}
+ engines: {node: '>=10'}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@swc/core-linux-x64-gnu@1.15.43':
+ resolution: {integrity: sha512-07XnKwTmKy8TGOZG3D9fRnLWGynxPjwQnZLVmBFbo6F+7vHYzBIOuwXEhemrChBWb6yDNZsVCcMWCPX6FDD2xg==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@swc/core-linux-x64-musl@1.15.43':
+ resolution: {integrity: sha512-TJc+bsSIaBh+hZvZ5GRtW/K1bw66TJ9vsUwvVIsZdiWxU5ObLwZvfcnZ3UpgVfMnFibRes9uriJrQNBHEEogRQ==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@swc/core-win32-arm64-msvc@1.15.43':
+ resolution: {integrity: sha512-jfd7s2/bUQYkOHLs+LWQNKZdmDa8+sufKLllhpWAhVQ2GDCwsHe3vR/j+OSiItZNtkzFuaawa3+SAKz9y5gYfw==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@swc/core-win32-ia32-msvc@1.15.43':
+ resolution: {integrity: sha512-rLAE8JvucqEW1ZGohxPQrQWPBQeJG4+ypKbWfdlU/qmKScvCkxf9/Jxnzki1dkUQCQ7P5Enp13RlvqOlvx/32g==}
+ engines: {node: '>=10'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@swc/core-win32-x64-msvc@1.15.43':
+ resolution: {integrity: sha512-h8MLDHZcfIukwQWj03rIJZx1I0E81AYj2X7J/nGErG4nz+QAv6G1Z+peotvinL3lqpbo32tLYSMFo32/ySzxKg==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@swc/core@1.15.43':
+ resolution: {integrity: sha512-1CuKjFkPxIgGdeHVuNbkxmBxkcbdc08u0aiI43pFq6yY1tTVKmXT9hFEooyyKs/sJ3xf1GPHyEwTtk9Xl8dvQw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@swc/helpers': '>=0.5.17'
+ peerDependenciesMeta:
+ '@swc/helpers':
+ optional: true
+
+ '@swc/counter@0.1.3':
+ resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+
+ '@swc/types@0.1.27':
+ resolution: {integrity: sha512-K6h3iUlqeM946U4sXFYeahefR1YBbXJvko+hv8WS8/0BNJ4OHiHRywMnQUJCqkR7Y9+hqQ1TvEpiKqUhz7NEFg==}
+
+ '@tailwindcss/node@4.3.2':
+ resolution: {integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==}
+
+ '@tailwindcss/oxide-android-arm64@4.3.2':
+ resolution: {integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [android]
+
+ '@tailwindcss/oxide-darwin-arm64@4.3.2':
+ resolution: {integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-darwin-x64@4.3.2':
+ resolution: {integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-freebsd-x64@4.3.2':
+ resolution: {integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2':
+ resolution: {integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==}
+ engines: {node: '>= 20'}
+ cpu: [arm]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.3.2':
+ resolution: {integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.3.2':
+ resolution: {integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.3.2':
+ resolution: {integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@tailwindcss/oxide-linux-x64-musl@4.3.2':
+ resolution: {integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@tailwindcss/oxide-wasm32-wasi@4.3.2':
+ resolution: {integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+ bundledDependencies:
+ - '@napi-rs/wasm-runtime'
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - '@tybys/wasm-util'
+ - '@emnapi/wasi-threads'
+ - tslib
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.3.2':
+ resolution: {integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.3.2':
+ resolution: {integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [win32]
+
+ '@tailwindcss/oxide@4.3.2':
+ resolution: {integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==}
+ engines: {node: '>= 20'}
+
+ '@tailwindcss/vite@4.3.2':
+ resolution: {integrity: sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==}
+ peerDependencies:
+ vite: ^5.2.0 || ^6 || ^7 || ^8
+
+ '@tanstack/devtools-client@0.0.8':
+ resolution: {integrity: sha512-cG3iZkGWCwN330bLBKa8+9r4Of2AXNoz2zUqcsy/4XsD3105ghVBx78cGyvJj9fSclNomPxoqAnDGXXhg1WLvA==}
+ engines: {node: '>=18'}
+
+ '@tanstack/devtools-event-bus@0.4.2':
+ resolution: {integrity: sha512-2LHzhwBFlKHCcklsQrGe8TeyjHd4XAF8nuCO6wHmva5fePUkJUULbu6CsCNAlGlCi0KkEsMXZSvRdR4HgMq4yA==}
+ engines: {node: '>=18'}
+
+ '@tanstack/devtools-event-client@0.4.4':
+ resolution: {integrity: sha512-6T5Yop/793YI+H+5J8Hsyj4kCih9sl4t3ElLgKioW5hk3ocn+ZdSJ94tT7vL7uabxSugWYBZlOTMPzEw2puvQw==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ '@tanstack/devtools-event-client@0.5.0':
+ resolution: {integrity: sha512-H+OH3zC6Vhu/K0NaVfQKknEKawc/+2PT+D3SB3Ox0V8SiMlTo0abbmH2rH0721R2aNYbjdMXA1oENOd8E2UVoA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ '@tanstack/devtools-ui@0.5.2':
+ resolution: {integrity: sha512-GtaMk8kaGZ9ZdR8Pu5RAfcse/ZrxzH/xsAIFtHMapLs2VMqSPFfb1NvIDO1MAAfUcub8Ix8XKQEP0uYSPzoFKw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ solid-js: '>=1.9.7'
+
+ '@tanstack/devtools-ui@0.6.0':
+ resolution: {integrity: sha512-CVaM6rT6Nl5ijo83vJYFa2SjofvpuOl/uOvbYGhBrRgUhhelNHhx8zZX+hnZCHmIr0/lzM65hsocnZ72592Rvg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ solid-js: '>=1.9.7'
+
+ '@tanstack/devtools-utils@0.5.1':
+ resolution: {integrity: sha512-yXw2PNY7cOjvx5sU03vNQoH4LG0TSTT7d/TpUpJTpjQQHoehTTjBHQyki8RGIAW6iHJ7K4/DVZgrRiP7hicInQ==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ '@angular/core': '>=19.0.0'
+ '@types/react': '>=17.0.0'
+ preact: '>=10.0.0'
+ react: '>=17.0.0'
+ solid-js: '>=1.9.7'
+ vue: '>=3.2.0'
+ peerDependenciesMeta:
+ '@angular/core':
+ optional: true
+ '@types/react':
+ optional: true
+ preact:
+ optional: true
+ react:
+ optional: true
+ solid-js:
+ optional: true
+ vue:
+ optional: true
+
+ '@tanstack/devtools-vite@0.8.1':
+ resolution: {integrity: sha512-oQxOo0fI0bwhHtw/psFlIR0OS/bsKrirBxwnw2vuhCM4bjt3k4EZZsW/lvZ1+Vpouhts7LSyvngnxvGXbQ1sUQ==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ '@tanstack/devtools@0.12.5':
+ resolution: {integrity: sha512-JdxTSeVdjJheycgz4c7qbldNKDCEDWlWr1l9dZBhd9sOmRBT5Z70ka9Eb8mb+FUnalcOIB62IDSR/iSxAIUD8Q==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ solid-js: '>=1.9.7'
+
+ '@tanstack/pacer-devtools@1.3.1':
+ resolution: {integrity: sha512-Gx9xCv2QGZo0xIjFhv74Ass5iS21aTnCIHvAtgQEaK95s9HfcNB8GJlDwYt3lHbAFxpmiH8BN04Bd6TosDMUIQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@tanstack/pacer': '>=0.16.4'
+
+ '@tanstack/pacer@0.21.1':
+ resolution: {integrity: sha512-hB01dd4rlsYcTCNP7wK186jgAe6K5qimgM1Y5Jtvz+9PUaILvpmeLLjmQNUNSO1l23lIt+CeQR6mO1mjlPvRtQ==}
+ engines: {node: '>=18'}
+
+ '@tanstack/react-devtools@0.10.8':
+ resolution: {integrity: sha512-YJV6YttQf9lhhPbPBLULgy1eScEvJUMsCS26mjg9hfBKgAJQA5sF9zvzorDzW9Ob6o/asoXikO81JnRUVuFX0Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ '@types/react-dom': '>=16.8'
+ react: '>=16.8'
+ react-dom: '>=16.8'
+
+ '@tanstack/react-pacer-devtools@0.7.1':
+ resolution: {integrity: sha512-y1mjaZWvNVBZyWp+/rhf8LzmPqRTiKxszzTc2woFTNTNhl6CDjxZYtTxKQfYUKzeH4Qd136VjV05da/PdmLQVg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ '@types/react-dom': '>=16.8'
+ react: '>=16.8'
+ react-dom: '>=16.8'
+
+ '@tanstack/react-pacer@0.22.1':
+ resolution: {integrity: sha512-CenQqK0GluSPIrnsG1yuD7w5uMSQ/4lI9AcGEFxBrRd66r260boWcYRIsS5+eHtXb238FoZYhKmJPGlhRzmHRw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ react: '>=16.8'
+ react-dom: '>=16.8'
+
+ '@tanstack/react-store@0.11.0':
+ resolution: {integrity: sha512-tX4YXh3PDkmpvGQWkWqKpzs/MSqbtuwY9dWdWhtV9Q50PmO+jOkUKIWIX4G85dwt7lxdHLXsiaEKPdKmC8F41w==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ '@tanstack/solid-store@0.11.0':
+ resolution: {integrity: sha512-2isL0ZnnyI1iN0V+QPrxE3OcPndohBgVlBcHZYoAOIAiU1WoWjVy0q5gb0suPu1Id0h5cKC23JnwzQTxWDZD0w==}
+ peerDependencies:
+ solid-js: ^1.6.0
+
+ '@tanstack/store@0.11.0':
+ resolution: {integrity: sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw==}
+
+ '@tybys/wasm-util@0.10.3':
+ resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==}
+
+ '@types/debug@4.1.13':
+ resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==}
+
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
+
+ '@types/estree@1.0.9':
+ resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
+
+ '@types/hast@3.0.4':
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+
+ '@types/mdx@2.0.14':
+ resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==}
+
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+
+ '@types/node@26.1.0':
+ resolution: {integrity: sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==}
+
+ '@types/parse-json@4.0.2':
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+
+ '@types/prop-types@15.7.15':
+ resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
+
+ '@types/react-dom@19.2.3':
+ resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
+ peerDependencies:
+ '@types/react': ^19.2.0
+
+ '@types/react-transition-group@4.4.12':
+ resolution: {integrity: sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==}
+ peerDependencies:
+ '@types/react': '*'
+
+ '@types/react@19.2.17':
+ resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==}
+
+ '@types/unist@2.0.11':
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
+
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
+ '@ungap/structured-clone@1.3.2':
+ resolution: {integrity: sha512-5jsZFwgR5rTdKwidH9Qmat75RKwqfpKlWWB1frDkljN127mwqBu8K0PYo7/hFpF03IEJpfVPpCQDY/eDx3iHvA==}
+
+ '@vitejs/plugin-react-swc@4.3.1':
+ resolution: {integrity: sha512-PaeokKjAGraNN+s5SIApgsktnJprIyt3zgEIu7awnEdfn29QiB2crTcCzyi2XGpX9rUnTc0cKU07Wm0N0g7H2w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ peerDependencies:
+ vite: ^4 || ^5 || ^6 || ^7 || ^8
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn@8.17.0:
+ resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
+ engines: {node: '>=12'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
+ engines: {node: '>=12'}
+
+ any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
+ hasBin: true
+
+ babel-plugin-react-compiler@1.0.0:
+ resolution: {integrity: sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==}
+
+ bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+ brace-expansion@1.1.15:
+ resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==}
+
+ buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+
+ bundle-name@4.1.0:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
+ bundle-require@5.1.0:
+ resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ peerDependencies:
+ esbuild: '>=0.18'
+
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+
+ chalk@3.0.0:
+ resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
+ engines: {node: '>=8'}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ chalk@5.6.2:
+ resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
+ character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+
+ character-entities-legacy@3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+
+ character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+
+ character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
+
+ cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+
+ cliui@9.0.1:
+ resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==}
+ engines: {node: '>=20'}
+
+ clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+
+ commander@11.1.0:
+ resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
+ engines: {node: '>=16'}
+
+ commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+
+ commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ confbox@0.1.8:
+ resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
+
+ consola@3.4.2:
+ resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
+ cookie-es@3.1.1:
+ resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==}
+
+ cosmiconfig@6.0.0:
+ resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==}
+ engines: {node: '>=8'}
+
+ css-select@5.2.2:
+ resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==}
+
+ 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-tree@3.2.1:
+ resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
+ css-what@6.2.2:
+ resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
+ engines: {node: '>= 6'}
+
+ 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.2.3:
+ resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
+
+ cva@1.0.0-beta.4:
+ resolution: {integrity: sha512-F/JS9hScapq4DBVQXcK85l9U91M6ePeXoBMSp7vypzShoefUBxjQTo3g3935PUHgQd+IW77DjbPRIxugy4/GCQ==}
+ peerDependencies:
+ typescript: '>= 4.5.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ date-fns@4.4.0:
+ resolution: {integrity: sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==}
+
+ dayjs@1.11.21:
+ resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==}
+
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decode-named-character-reference@1.3.0:
+ resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==}
+
+ default-browser-id@5.0.1:
+ resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==}
+ engines: {node: '>=18'}
+
+ default-browser@5.5.0:
+ resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==}
+ engines: {node: '>=18'}
+
+ defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+
+ define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+
+ dom-helpers@5.2.1:
+ resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
+
+ 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.2.2:
+ resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
+
+ emoji-regex@10.6.0:
+ resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
+
+ enhanced-resolve@5.21.6:
+ resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==}
+ engines: {node: '>=10.13.0'}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ error-ex@1.3.4:
+ resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
+
+ esast-util-from-estree@2.0.0:
+ resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
+
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
+
+ esbuild@0.27.7:
+ resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ estree-util-attach-comments@3.0.0:
+ resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
+
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+
+ estree-util-scope@1.0.0:
+ resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==}
+
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+
+ estree-util-value-to-estree@3.5.0:
+ resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==}
+
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+
+ fault@2.0.1:
+ resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
+
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
+ fix-dts-default-cjs-exports@1.0.1:
+ resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==}
+
+ format@0.2.2:
+ resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
+ engines: {node: '>=0.4.x'}
+
+ fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ get-east-asian-width@1.6.0:
+ resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==}
+ engines: {node: '>=18'}
+
+ glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
+
+ goober@2.1.19:
+ resolution: {integrity: sha512-U7veizMqxyKlM58+Z5j2ngJBH/r9siDmxpvNxSw0PylF6WQvrASJEZrxh1hidRBJc2jqoBVSyOban5u8m+6Rxg==}
+ peerDependencies:
+ csstype: ^3.0.10
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ hast-util-is-element@3.0.0:
+ resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
+
+ hast-util-to-estree@3.1.3:
+ resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
+
+ hast-util-to-jsx-runtime@2.3.6:
+ resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
+
+ hast-util-to-text@4.0.2:
+ resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
+
+ hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+
+ highlight.js@11.11.1:
+ resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==}
+ engines: {node: '>=12.0.0'}
+
+ ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
+ engines: {node: '>=6'}
+
+ inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ inline-style-parser@0.2.7:
+ resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
+
+ is-alphabetical@2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
+
+ is-alphanumerical@2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
+
+ is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
+ is-decimal@2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
+
+ is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+
+ is-hexadecimal@2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+
+ is-in-ssh@1.0.0:
+ resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==}
+ engines: {node: '>=20'}
+
+ is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+
+ is-interactive@1.0.0:
+ resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
+ engines: {node: '>=8'}
+
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+
+ is-unicode-supported@0.1.0:
+ resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
+ engines: {node: '>=10'}
+
+ is-wsl@3.1.1:
+ resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==}
+ engines: {node: '>=16'}
+
+ jiti@2.7.0:
+ resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==}
+ hasBin: true
+
+ joycon@3.1.1:
+ resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
+ engines: {node: '>=10'}
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
+ launch-editor@2.14.1:
+ resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==}
+
+ lightningcss-android-arm64@1.32.0:
+ resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ lightningcss-darwin-arm64@1.32.0:
+ resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.32.0:
+ resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-freebsd-x64@1.32.0:
+ resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.32.0:
+ resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ lightningcss-linux-arm64-musl@1.32.0:
+ resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ lightningcss-linux-x64-gnu@1.32.0:
+ resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ lightningcss-linux-x64-musl@1.32.0:
+ resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ lightningcss-win32-arm64-msvc@1.32.0:
+ resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.32.0:
+ resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ lightningcss@1.32.0:
+ resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
+ engines: {node: '>= 12.0.0'}
+
+ lilconfig@3.1.3:
+ resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
+ engines: {node: '>=14'}
+
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ load-tsconfig@0.2.5:
+ resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ lodash.camelcase@4.3.0:
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+
+ lodash.kebabcase@4.1.1:
+ resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==}
+
+ lodash.snakecase@4.1.1:
+ resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
+
+ log-symbols@4.1.0:
+ resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
+ engines: {node: '>=10'}
+
+ longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+
+ loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+
+ lowlight@3.3.0:
+ resolution: {integrity: sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==}
+
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
+
+ mdast-util-from-markdown@2.0.3:
+ resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==}
+
+ mdast-util-frontmatter@2.0.1:
+ resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
+
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
+
+ mdast-util-mdx-jsx@3.2.0:
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
+
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+
+ mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+
+ mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
+
+ mdast-util-to-hast@13.2.1:
+ resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==}
+
+ mdast-util-to-markdown@2.1.2:
+ resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
+
+ mdast-util-to-string@4.0.0:
+ resolution: {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==}
+
+ mdn-data@2.27.1:
+ resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==}
+
+ micromark-core-commonmark@2.0.3:
+ resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
+
+ micromark-extension-frontmatter@2.0.0:
+ resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
+
+ micromark-extension-mdx-expression@3.0.1:
+ resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==}
+
+ micromark-extension-mdx-jsx@3.0.2:
+ resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==}
+
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
+
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+
+ micromark-factory-destination@2.0.1:
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
+
+ micromark-factory-label@2.0.1:
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
+
+ micromark-factory-mdx-expression@2.0.3:
+ resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==}
+
+ micromark-factory-space@2.0.1:
+ resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
+
+ micromark-factory-title@2.0.1:
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
+
+ micromark-factory-whitespace@2.0.1:
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
+
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
+
+ micromark-util-classify-character@2.0.1:
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
+
+ micromark-util-combine-extensions@2.0.1:
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
+
+ micromark-util-decode-string@2.0.1:
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
+
+ micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+
+ micromark-util-events-to-acorn@2.0.3:
+ resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==}
+
+ micromark-util-html-tag-name@2.0.1:
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
+
+ micromark-util-normalize-identifier@2.0.1:
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
+
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
+
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+
+ micromark-util-subtokenize@2.1.0:
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
+
+ micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
+
+ micromark-util-types@2.0.2:
+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
+
+ micromark@4.0.2:
+ resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
+
+ mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ minimatch@3.1.5:
+ resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
+
+ mlly@1.8.2:
+ resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+
+ nanoid@3.3.15:
+ resolution: {integrity: sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+ onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+
+ open@11.0.0:
+ resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==}
+ engines: {node: '>=20'}
+
+ ora@5.4.1:
+ resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
+ engines: {node: '>=10'}
+
+ oxc-parser@0.120.0:
+ resolution: {integrity: sha512-WyPWZlcIm+Fkte63FGfgFB8mAAk33aH9h5N9lphXVOHSXEBFFsmYdOBedVKly363aWABjZdaj/m9lBfEY4wt+w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
+ oxfmt@0.58.0:
+ resolution: {integrity: sha512-8feG/7NVEHDVwc1OUpP6Pks+TnaDFUw2jLLFIMi5bcmmwxAX2wBQvjSzj62RRTYBf2Op1Wt8xbkmagmPTR5ETg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ svelte: ^5.0.0
+ vite-plus: '*'
+ peerDependenciesMeta:
+ svelte:
+ optional: true
+ vite-plus:
+ optional: true
+
+ oxlint@1.73.0:
+ resolution: {integrity: sha512-u91G9TJzU6yqKWNZUYprQB07W7YvntZXaRxQ6CkoytepYhLWUXWsr1M8zUJ34VatNPuUAr3Z8GH+O2A331CluQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ oxlint-tsgolint: '>=0.24.0'
+ vite-plus: '*'
+ peerDependenciesMeta:
+ oxlint-tsgolint:
+ optional: true
+ vite-plus:
+ optional: true
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ parse-entities@4.0.2:
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
+
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+
+ path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@4.0.5:
+ resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==}
+ engines: {node: '>=12'}
+
+ pirates@4.0.7:
+ resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
+ engines: {node: '>= 6'}
+
+ pkg-types@1.3.1:
+ resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
+
+ postcss-load-config@6.0.1:
+ resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ jiti: '>=1.21.0'
+ postcss: '>=8.0.9'
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+ postcss:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
+ postcss@8.5.16:
+ resolution: {integrity: sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ powershell-utils@0.1.0:
+ resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==}
+ engines: {node: '>=20'}
+
+ prettier@3.9.4:
+ resolution: {integrity: sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ prop-types@15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+
+ property-information@7.2.0:
+ resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==}
+
+ react-dom@19.2.7:
+ resolution: {integrity: sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==}
+ peerDependencies:
+ react: ^19.2.7
+
+ react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+
+ react-is@19.2.7:
+ resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==}
+
+ react-router@8.1.0:
+ resolution: {integrity: sha512-Mdfi61uObuvWNN9OhChOC0HV6YWOIfKRzEWOvCHRSuQg8IM+Nv10edaM/2HE8ZixBpUTdQbruyWqC3sDkkh9vw==}
+ engines: {node: '>=22.22.0'}
+ peerDependencies:
+ react: '>=19.2.7'
+ react-dom: '>=19.2.7'
+ peerDependenciesMeta:
+ react-dom:
+ optional: true
+
+ react-transition-group@4.4.5:
+ resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
+ peerDependencies:
+ react: '>=16.6.0'
+ react-dom: '>=16.6.0'
+
+ react@19.2.7:
+ resolution: {integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==}
+ engines: {node: '>=0.10.0'}
+
+ readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
+
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
+
+ recma-jsx@1.0.1:
+ resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
+
+ recma-stringify@1.0.0:
+ resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
+
+ rehype-highlight@7.0.2:
+ resolution: {integrity: sha512-k158pK7wdC2qL3M5NcZROZ2tR/l7zOzjxXd5VGdcfIyoijjQqpHd3JKtYSBDpDZ38UI2WJWuFAtkMDxmx5kstA==}
+
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
+
+ remark-frontmatter@5.0.0:
+ resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
+
+ remark-mdx-frontmatter@5.2.0:
+ resolution: {integrity: sha512-U/hjUYTkQqNjjMRYyilJgLXSPF65qbLPdoESOkXyrwz2tVyhAnm4GUKhfXqOOS9W34M3545xEMq+aMpHgVjEeQ==}
+
+ remark-mdx@3.1.1:
+ resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==}
+
+ remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+
+ remark-rehype@11.1.2:
+ resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
+
+ reselect@5.2.0:
+ resolution: {integrity: sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+
+ restore-cursor@3.1.0:
+ resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
+ engines: {node: '>=8'}
+
+ rolldown@1.1.4:
+ resolution: {integrity: sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
+ rollup-plugin-visualizer@7.0.1:
+ resolution: {integrity: sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==}
+ engines: {node: '>=22'}
+ hasBin: true
+ peerDependencies:
+ rolldown: 1.x || ^1.0.0-beta || ^1.0.0-rc
+ rollup: 2.x || 3.x || 4.x
+ peerDependenciesMeta:
+ rolldown:
+ optional: true
+ rollup:
+ optional: true
+
+ rollup@4.62.2:
+ resolution: {integrity: sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ run-applescript@7.1.0:
+ resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
+ engines: {node: '>=18'}
+
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+ sax@1.6.0:
+ resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==}
+ engines: {node: '>=11.0.0'}
+
+ scheduler@0.27.0:
+ resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
+
+ seroval-plugins@1.5.4:
+ resolution: {integrity: sha512-S0xQPhUTefAhNvNWFg0c1J8qJArHt5KdtJ/cFAofo06KD1MVSeFWyl4iiu+ApDIuw0WhjpOfCdgConOfAnLgkw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ seroval: ^1.0
+
+ seroval@1.5.4:
+ resolution: {integrity: sha512-46uFvgrXTVxZcUorgSSRZ4y+ieqLLQRMlG4bnCZKW3qI6BZm7Rg4ntMW4p1mILEEBZWrFlcpp0AyIIlM6jD9iw==}
+ engines: {node: '>=10'}
+
+ shell-quote@1.9.0:
+ resolution: {integrity: sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA==}
+ engines: {node: '>= 0.4'}
+
+ signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ solid-js@1.9.14:
+ resolution: {integrity: sha512-sAEXC0Kk0S1EDg+8ysEWJDbYhA3RRoEjwuySUGlKIemeo0I5YZfOyumNjNs9Sv3y2nmhD+0rW66ag2HsMuQiGQ==}
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
+
+ space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
+
+ string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+
+ stringify-entities@4.0.4:
+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.2.0:
+ resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
+ engines: {node: '>=12'}
+
+ style-to-js@1.1.21:
+ resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==}
+
+ style-to-object@1.0.14:
+ resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
+
+ stylis@4.2.0:
+ resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+
+ sucrase@3.35.1:
+ resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ svg-to-ts@12.0.0:
+ resolution: {integrity: sha512-jTHHaSQdXbzzXZ0uwbOPXkrGhHakJbnoe0dNob98AzRgTVSX+sKCOm/AUSdn4xcIOTCrZ2zS86ZpcmycW8QJbA==}
+ hasBin: true
+
+ svgo@3.3.3:
+ resolution: {integrity: sha512-+wn7I4p7YgJhHs38k2TNjy1vCfPIfLIJWR5MnCStsN8WuuTcBnRKcMHQLMM2ijxGZmDoZwNv8ipl5aTTen62ng==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
+ svgo@4.0.1:
+ resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ syncpack-darwin-arm64@15.3.2:
+ resolution: {integrity: sha512-rQwZOvWJbvUzhBySbKnvs+F5khmdkH2W/kTZo+zz6UfH651K9z2fiOYlcpDPX0L97m566gRxVmOr930ygB97ZQ==}
+ cpu: [arm64]
+ os: [darwin]
+
+ syncpack-darwin-x64@15.3.2:
+ resolution: {integrity: sha512-91CWe9Pamfmlm2nY8bCL5z8GYOafGJUm/nQqtvaQDZ9SS25c6Gn8LDfRu6JSKV0dcI1zOH3EiRCM0K/kn9Mpiw==}
+ cpu: [x64]
+ os: [darwin]
+
+ syncpack-linux-arm64-musl@15.3.2:
+ resolution: {integrity: sha512-IzI4Sr1rFDuF7FFbZ+ti+qA2/0Rp/aGNgzoUzNH28wYJkJMv9KBBr3Nygc1jsoO1+XE1JkYsXkJHuSFrwiwtgA==}
+ cpu: [arm64]
+ os: [linux]
+
+ syncpack-linux-arm64@15.3.2:
+ resolution: {integrity: sha512-eApeUFLb8yFHAFnCyHicDieTBW0eR3HsaKSWPMmz+VOQOpZYl0cmqbRLtunsYN6OykRi9Sl1faYjKmyETow7Gg==}
+ cpu: [arm64]
+ os: [linux]
+
+ syncpack-linux-x64-musl@15.3.2:
+ resolution: {integrity: sha512-dohyuYgUVHdSFz1KYW/XngyYSiSV3tarroYRsloYsT8bcSStkh2vJVBht0eMl1OFTh3Hb6lNEC12Pgtw4gWTcg==}
+ cpu: [x64]
+ os: [linux]
+
+ syncpack-linux-x64@15.3.2:
+ resolution: {integrity: sha512-xrzBZx3DjKoece2h3Olv/Y/U7b1eNorWTMiF407m0tO5KJp5u926TMeHlldaA5GRCkVJBe5VaI33WYTJF753oQ==}
+ cpu: [x64]
+ os: [linux]
+
+ syncpack-windows-arm64@15.3.2:
+ resolution: {integrity: sha512-ZGjVpyS8PW6Y69HyXOb8RYVWRQ+hlRklqdgOp+x+eqrCRidGho8z2nN5tleMGzcaMC7hg+qSPFh5u6Fy/BXr4w==}
+ cpu: [arm64]
+ os: [win32]
+
+ syncpack-windows-x64@15.3.2:
+ resolution: {integrity: sha512-9zKWNXGhd3rryQjcpBjs02pKgvIzuz3PUS+vKL4vWnDu5VoHad4e6TzL4pvn+VfAm4wXzcuS9fZkxLBEMPLerw==}
+ cpu: [x64]
+ os: [win32]
+
+ syncpack@15.3.2:
+ resolution: {integrity: sha512-RKYfXFQlrIWosTheNbyJg3xHNjTDrW2mOvwxAz3XGghrUDN4hDjhKPCTAQrUtGZw9hNeIr37qRO3/+EP927Vtg==}
+ engines: {node: '>=14.17.0'}
+ hasBin: true
+
+ tailwind-merge@3.6.0:
+ resolution: {integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==}
+
+ tailwindcss@4.3.2:
+ resolution: {integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==}
+
+ tapable@2.3.3:
+ resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
+ engines: {node: '>=6'}
+
+ thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+
+ thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+
+ tinyexec@0.3.2:
+ resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
+
+ tinyglobby@0.2.17:
+ resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
+ engines: {node: '>=12.0.0'}
+
+ tinypool@2.1.0:
+ resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==}
+ engines: {node: ^20.0.0 || >=22.0.0}
+
+ toml@3.0.0:
+ resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==}
+
+ tree-kill@1.2.2:
+ resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
+ hasBin: true
+
+ trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+
+ trough@2.2.0:
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+
+ ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ tsup@8.5.1:
+ resolution: {integrity: sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ '@microsoft/api-extractor': ^7.36.0
+ '@swc/core': ^1
+ postcss: ^8.4.12
+ typescript: '>=4.5.0'
+ peerDependenciesMeta:
+ '@microsoft/api-extractor':
+ optional: true
+ '@swc/core':
+ optional: true
+ postcss:
+ optional: true
+ typescript:
+ optional: true
+
+ typescript@4.9.5:
+ resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+
+ typescript@6.0.3:
+ resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ ufo@1.6.4:
+ resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==}
+
+ undici-types@8.3.0:
+ resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==}
+
+ unified@11.0.5:
+ resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
+
+ unist-util-find-after@5.0.0:
+ resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
+
+ unist-util-is@6.0.1:
+ resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==}
+
+ unist-util-mdx-define@1.1.2:
+ resolution: {integrity: sha512-9ncH7i7TN5Xn7/tzX5bE3rXgz1X/u877gYVAUB3mLeTKYJmQHmqKTDBi6BTGXV7AeolBCI9ErcVsOt2qryoD0g==}
+
+ unist-util-position-from-estree@2.0.0:
+ resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
+
+ unist-util-position@5.0.0:
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+
+ unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+
+ unist-util-visit-parents@6.0.2:
+ resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==}
+
+ unist-util-visit@5.1.0:
+ resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==}
+
+ use-sync-external-store@1.6.0:
+ resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ vfile-message@4.0.3:
+ resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
+
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+
+ vite@8.1.3:
+ resolution: {integrity: sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^20.19.0 || >=22.12.0
+ '@vitejs/devtools': ^0.3.0
+ esbuild: ^0.27.0 || ^0.28.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ '@vitejs/devtools':
+ optional: true
+ esbuild:
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
+ wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+
+ wrap-ansi@9.0.2:
+ resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
+ engines: {node: '>=18'}
+
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ ws@8.21.0:
+ resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ wsl-utils@0.3.1:
+ resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==}
+ engines: {node: '>=20'}
+
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+
+ yaml@1.10.3:
+ resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==}
+ engines: {node: '>= 6'}
+
+ yaml@2.9.0:
+ resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
+
+ yargs-parser@22.0.0:
+ resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+
+ yargs@18.0.0:
+ resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+
+ zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+
+snapshots:
+
+ '@babel/code-frame@7.29.7':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.29.7
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/helper-string-parser@7.29.7': {}
+
+ '@babel/helper-validator-identifier@7.29.7': {}
+
+ '@babel/runtime@7.29.7': {}
+
+ '@babel/types@7.29.7':
+ dependencies:
+ '@babel/helper-string-parser': 7.29.7
+ '@babel/helper-validator-identifier': 7.29.7
+
+ '@base-ui/react@1.6.0(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ '@base-ui/utils': 0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@floating-ui/react-dom': 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@floating-ui/utils': 0.2.11
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ use-sync-external-store: 1.6.0(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.17
+ date-fns: 4.4.0
+
+ '@base-ui/utils@0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ '@floating-ui/utils': 0.2.11
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ reselect: 5.2.0
+ use-sync-external-store: 1.6.0(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.17
+
+ '@emnapi/core@1.11.1':
+ dependencies:
+ '@emnapi/wasi-threads': 1.2.2
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/runtime@1.11.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/wasi-threads@1.2.2':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@emotion/cache@11.14.0':
+ dependencies:
+ '@emotion/memoize': 0.9.0
+ '@emotion/sheet': 1.4.0
+ '@emotion/utils': 1.4.2
+ '@emotion/weak-memoize': 0.4.0
+ stylis: 4.2.0
+
+ '@emotion/hash@0.9.2': {}
+
+ '@emotion/memoize@0.9.0': {}
+
+ '@emotion/serialize@1.3.3':
+ dependencies:
+ '@emotion/hash': 0.9.2
+ '@emotion/memoize': 0.9.0
+ '@emotion/unitless': 0.10.0
+ '@emotion/utils': 1.4.2
+ csstype: 3.2.3
+
+ '@emotion/sheet@1.4.0': {}
+
+ '@emotion/unitless@0.10.0': {}
+
+ '@emotion/utils@1.4.2': {}
+
+ '@emotion/weak-memoize@0.4.0': {}
+
+ '@esbuild/aix-ppc64@0.27.7':
+ optional: true
+
+ '@esbuild/android-arm64@0.27.7':
+ optional: true
+
+ '@esbuild/android-arm@0.27.7':
+ optional: true
+
+ '@esbuild/android-x64@0.27.7':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.27.7':
+ optional: true
+
+ '@esbuild/darwin-x64@0.27.7':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.27.7':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.27.7':
+ optional: true
+
+ '@esbuild/linux-arm64@0.27.7':
+ optional: true
+
+ '@esbuild/linux-arm@0.27.7':
+ optional: true
+
+ '@esbuild/linux-ia32@0.27.7':
+ optional: true
+
+ '@esbuild/linux-loong64@0.27.7':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.27.7':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.27.7':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.27.7':
+ optional: true
+
+ '@esbuild/linux-s390x@0.27.7':
+ optional: true
+
+ '@esbuild/linux-x64@0.27.7':
+ optional: true
+
+ '@esbuild/netbsd-arm64@0.27.7':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.27.7':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.27.7':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.27.7':
+ optional: true
+
+ '@esbuild/openharmony-arm64@0.27.7':
+ optional: true
+
+ '@esbuild/sunos-x64@0.27.7':
+ optional: true
+
+ '@esbuild/win32-arm64@0.27.7':
+ optional: true
+
+ '@esbuild/win32-ia32@0.27.7':
+ optional: true
+
+ '@esbuild/win32-x64@0.27.7':
+ optional: true
+
+ '@floating-ui/core@1.7.5':
+ dependencies:
+ '@floating-ui/utils': 0.2.11
+
+ '@floating-ui/dom@1.7.6':
+ dependencies:
+ '@floating-ui/core': 1.7.5
+ '@floating-ui/utils': 0.2.11
+
+ '@floating-ui/react-dom@2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@floating-ui/dom': 1.7.6
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+
+ '@floating-ui/utils@0.2.11': {}
+
+ '@jridgewell/gen-mapping@0.3.13':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/remapping@2.3.5':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/sourcemap-codec@1.5.5': {}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ '@mdx-js/mdx@3.1.1':
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdx': 2.0.14
+ acorn: 8.17.0
+ collapse-white-space: 2.1.0
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-util-scope: 1.0.0
+ estree-walker: 3.0.3
+ hast-util-to-jsx-runtime: 2.3.6
+ markdown-extensions: 2.0.0
+ recma-build-jsx: 1.0.0
+ recma-jsx: 1.0.1(acorn@8.17.0)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+ remark-mdx: 3.1.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ source-map: 0.7.6
+ unified: 11.0.5
+ unist-util-position-from-estree: 2.0.0
+ unist-util-stringify-position: 4.0.0
+ unist-util-visit: 5.1.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@mdx-js/rollup@3.1.1(rollup@4.62.2)':
+ dependencies:
+ '@mdx-js/mdx': 3.1.1
+ '@rollup/pluginutils': 5.4.0(rollup@4.62.2)
+ rollup: 4.62.2
+ source-map: 0.7.6
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@mui/core-downloads-tracker@9.2.0': {}
+
+ '@mui/material@9.2.0(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ '@mui/core-downloads-tracker': 9.2.0
+ '@mui/system': 9.2.0(@types/react@19.2.17)(react@19.2.7)
+ '@mui/types': 9.1.1(@types/react@19.2.17)
+ '@mui/utils': 9.2.0(@types/react@19.2.17)(react@19.2.7)
+ '@popperjs/core': 2.11.8
+ '@types/react-transition-group': 4.4.12(@types/react@19.2.17)
+ clsx: 2.1.1
+ csstype: 3.2.3
+ prop-types: 15.8.1
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ react-is: 19.2.7
+ react-transition-group: 4.4.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.17
+
+ '@mui/private-theming@9.2.0(@types/react@19.2.17)(react@19.2.7)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ '@mui/utils': 9.2.0(@types/react@19.2.17)(react@19.2.7)
+ prop-types: 15.8.1
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.17
+
+ '@mui/styled-engine@9.1.1(react@19.2.7)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ '@emotion/cache': 11.14.0
+ '@emotion/serialize': 1.3.3
+ '@emotion/sheet': 1.4.0
+ csstype: 3.2.3
+ prop-types: 15.8.1
+ react: 19.2.7
+
+ '@mui/system@9.2.0(@types/react@19.2.17)(react@19.2.7)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ '@mui/private-theming': 9.2.0(@types/react@19.2.17)(react@19.2.7)
+ '@mui/styled-engine': 9.1.1(react@19.2.7)
+ '@mui/types': 9.1.1(@types/react@19.2.17)
+ '@mui/utils': 9.2.0(@types/react@19.2.17)(react@19.2.7)
+ clsx: 2.1.1
+ csstype: 3.2.3
+ prop-types: 15.8.1
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.17
+
+ '@mui/types@9.1.1(@types/react@19.2.17)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ optionalDependencies:
+ '@types/react': 19.2.17
+
+ '@mui/utils@9.2.0(@types/react@19.2.17)(react@19.2.7)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ '@mui/types': 9.1.1(@types/react@19.2.17)
+ '@types/prop-types': 15.7.15
+ clsx: 2.1.1
+ prop-types: 15.8.1
+ react: 19.2.7
+ react-is: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.17
+
+ '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
+ dependencies:
+ '@emnapi/core': 1.11.1
+ '@emnapi/runtime': 1.11.1
+ '@tybys/wasm-util': 0.10.3
+ optional: true
+
+ '@oxc-parser/binding-android-arm-eabi@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-android-arm64@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-darwin-arm64@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-darwin-x64@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-freebsd-x64@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm-musleabihf@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm64-gnu@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm64-musl@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-ppc64-gnu@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-riscv64-gnu@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-riscv64-musl@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-s390x-gnu@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-x64-gnu@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-x64-musl@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-openharmony-arm64@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-wasm32-wasi@0.120.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ optional: true
+
+ '@oxc-parser/binding-win32-arm64-msvc@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-win32-ia32-msvc@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-win32-x64-msvc@0.120.0':
+ optional: true
+
+ '@oxc-project/types@0.120.0': {}
+
+ '@oxc-project/types@0.138.0': {}
+
+ '@oxfmt/binding-android-arm-eabi@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-android-arm64@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-darwin-arm64@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-darwin-x64@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-freebsd-x64@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-linux-arm-gnueabihf@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-linux-arm-musleabihf@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-linux-arm64-gnu@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-linux-arm64-musl@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-linux-ppc64-gnu@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-linux-riscv64-gnu@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-linux-riscv64-musl@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-linux-s390x-gnu@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-linux-x64-gnu@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-linux-x64-musl@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-openharmony-arm64@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-win32-arm64-msvc@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-win32-ia32-msvc@0.58.0':
+ optional: true
+
+ '@oxfmt/binding-win32-x64-msvc@0.58.0':
+ optional: true
+
+ '@oxlint/binding-android-arm-eabi@1.73.0':
+ optional: true
+
+ '@oxlint/binding-android-arm64@1.73.0':
+ optional: true
+
+ '@oxlint/binding-darwin-arm64@1.73.0':
+ optional: true
+
+ '@oxlint/binding-darwin-x64@1.73.0':
+ optional: true
+
+ '@oxlint/binding-freebsd-x64@1.73.0':
+ optional: true
+
+ '@oxlint/binding-linux-arm-gnueabihf@1.73.0':
+ optional: true
+
+ '@oxlint/binding-linux-arm-musleabihf@1.73.0':
+ optional: true
+
+ '@oxlint/binding-linux-arm64-gnu@1.73.0':
+ optional: true
+
+ '@oxlint/binding-linux-arm64-musl@1.73.0':
+ optional: true
+
+ '@oxlint/binding-linux-ppc64-gnu@1.73.0':
+ optional: true
+
+ '@oxlint/binding-linux-riscv64-gnu@1.73.0':
+ optional: true
+
+ '@oxlint/binding-linux-riscv64-musl@1.73.0':
+ optional: true
+
+ '@oxlint/binding-linux-s390x-gnu@1.73.0':
+ optional: true
+
+ '@oxlint/binding-linux-x64-gnu@1.73.0':
+ optional: true
+
+ '@oxlint/binding-linux-x64-musl@1.73.0':
+ optional: true
+
+ '@oxlint/binding-openharmony-arm64@1.73.0':
+ optional: true
+
+ '@oxlint/binding-win32-arm64-msvc@1.73.0':
+ optional: true
+
+ '@oxlint/binding-win32-ia32-msvc@1.73.0':
+ optional: true
+
+ '@oxlint/binding-win32-x64-msvc@1.73.0':
+ optional: true
+
+ '@popperjs/core@2.11.8': {}
+
+ '@rolldown/binding-android-arm64@1.1.4':
+ optional: true
+
+ '@rolldown/binding-darwin-arm64@1.1.4':
+ optional: true
+
+ '@rolldown/binding-darwin-x64@1.1.4':
+ optional: true
+
+ '@rolldown/binding-freebsd-x64@1.1.4':
+ optional: true
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.1.4':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-gnu@1.1.4':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-musl@1.1.4':
+ optional: true
+
+ '@rolldown/binding-linux-ppc64-gnu@1.1.4':
+ optional: true
+
+ '@rolldown/binding-linux-s390x-gnu@1.1.4':
+ optional: true
+
+ '@rolldown/binding-linux-x64-gnu@1.1.4':
+ optional: true
+
+ '@rolldown/binding-linux-x64-musl@1.1.4':
+ optional: true
+
+ '@rolldown/binding-openharmony-arm64@1.1.4':
+ optional: true
+
+ '@rolldown/binding-wasm32-wasi@1.1.4':
+ dependencies:
+ '@emnapi/core': 1.11.1
+ '@emnapi/runtime': 1.11.1
+ '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ optional: true
+
+ '@rolldown/binding-win32-arm64-msvc@1.1.4':
+ optional: true
+
+ '@rolldown/binding-win32-x64-msvc@1.1.4':
+ optional: true
+
+ '@rolldown/pluginutils@1.0.1': {}
+
+ '@rollup/pluginutils@5.4.0(rollup@4.62.2)':
+ dependencies:
+ '@types/estree': 1.0.9
+ estree-walker: 2.0.2
+ picomatch: 4.0.5
+ optionalDependencies:
+ rollup: 4.62.2
+
+ '@rollup/rollup-android-arm-eabi@4.62.2':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.62.2':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.62.2':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.62.2':
+ optional: true
+
+ '@rollup/rollup-freebsd-arm64@4.62.2':
+ optional: true
+
+ '@rollup/rollup-freebsd-x64@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-loong64-gnu@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-loong64-musl@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-ppc64-gnu@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-ppc64-musl@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-musl@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.62.2':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.62.2':
+ optional: true
+
+ '@rollup/rollup-openbsd-x64@4.62.2':
+ optional: true
+
+ '@rollup/rollup-openharmony-arm64@4.62.2':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.62.2':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.62.2':
+ optional: true
+
+ '@rollup/rollup-win32-x64-gnu@4.62.2':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.62.2':
+ optional: true
+
+ '@solid-primitives/event-listener@2.4.6(solid-js@1.9.14)':
+ dependencies:
+ '@solid-primitives/utils': 6.4.1(solid-js@1.9.14)
+ solid-js: 1.9.14
+
+ '@solid-primitives/keyboard@1.3.7(solid-js@1.9.14)':
+ dependencies:
+ '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.14)
+ '@solid-primitives/rootless': 1.5.4(solid-js@1.9.14)
+ '@solid-primitives/utils': 6.4.1(solid-js@1.9.14)
+ solid-js: 1.9.14
+
+ '@solid-primitives/resize-observer@2.2.0(solid-js@1.9.14)':
+ dependencies:
+ '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.14)
+ '@solid-primitives/rootless': 1.5.4(solid-js@1.9.14)
+ '@solid-primitives/static-store': 0.1.4(solid-js@1.9.14)
+ '@solid-primitives/utils': 6.4.1(solid-js@1.9.14)
+ solid-js: 1.9.14
+
+ '@solid-primitives/rootless@1.5.4(solid-js@1.9.14)':
+ dependencies:
+ '@solid-primitives/utils': 6.4.1(solid-js@1.9.14)
+ solid-js: 1.9.14
+
+ '@solid-primitives/static-store@0.1.4(solid-js@1.9.14)':
+ dependencies:
+ '@solid-primitives/utils': 6.4.1(solid-js@1.9.14)
+ solid-js: 1.9.14
+
+ '@solid-primitives/utils@6.4.1(solid-js@1.9.14)':
+ dependencies:
+ solid-js: 1.9.14
+
+ '@swc/core-darwin-arm64@1.15.43':
+ optional: true
+
+ '@swc/core-darwin-x64@1.15.43':
+ optional: true
+
+ '@swc/core-linux-arm-gnueabihf@1.15.43':
+ optional: true
+
+ '@swc/core-linux-arm64-gnu@1.15.43':
+ optional: true
+
+ '@swc/core-linux-arm64-musl@1.15.43':
+ optional: true
+
+ '@swc/core-linux-ppc64-gnu@1.15.43':
+ optional: true
+
+ '@swc/core-linux-s390x-gnu@1.15.43':
+ optional: true
+
+ '@swc/core-linux-x64-gnu@1.15.43':
+ optional: true
+
+ '@swc/core-linux-x64-musl@1.15.43':
+ optional: true
+
+ '@swc/core-win32-arm64-msvc@1.15.43':
+ optional: true
+
+ '@swc/core-win32-ia32-msvc@1.15.43':
+ optional: true
+
+ '@swc/core-win32-x64-msvc@1.15.43':
+ optional: true
+
+ '@swc/core@1.15.43':
+ dependencies:
+ '@swc/counter': 0.1.3
+ '@swc/types': 0.1.27
+ optionalDependencies:
+ '@swc/core-darwin-arm64': 1.15.43
+ '@swc/core-darwin-x64': 1.15.43
+ '@swc/core-linux-arm-gnueabihf': 1.15.43
+ '@swc/core-linux-arm64-gnu': 1.15.43
+ '@swc/core-linux-arm64-musl': 1.15.43
+ '@swc/core-linux-ppc64-gnu': 1.15.43
+ '@swc/core-linux-s390x-gnu': 1.15.43
+ '@swc/core-linux-x64-gnu': 1.15.43
+ '@swc/core-linux-x64-musl': 1.15.43
+ '@swc/core-win32-arm64-msvc': 1.15.43
+ '@swc/core-win32-ia32-msvc': 1.15.43
+ '@swc/core-win32-x64-msvc': 1.15.43
+
+ '@swc/counter@0.1.3': {}
+
+ '@swc/types@0.1.27':
+ dependencies:
+ '@swc/counter': 0.1.3
+
+ '@tailwindcss/node@4.3.2':
+ dependencies:
+ '@jridgewell/remapping': 2.3.5
+ enhanced-resolve: 5.21.6
+ jiti: 2.7.0
+ lightningcss: 1.32.0
+ magic-string: 0.30.21
+ source-map-js: 1.2.1
+ tailwindcss: 4.3.2
+
+ '@tailwindcss/oxide-android-arm64@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-arm64@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-x64@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-freebsd-x64@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-musl@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-wasm32-wasi@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide@4.3.2':
+ optionalDependencies:
+ '@tailwindcss/oxide-android-arm64': 4.3.2
+ '@tailwindcss/oxide-darwin-arm64': 4.3.2
+ '@tailwindcss/oxide-darwin-x64': 4.3.2
+ '@tailwindcss/oxide-freebsd-x64': 4.3.2
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.2
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.3.2
+ '@tailwindcss/oxide-linux-arm64-musl': 4.3.2
+ '@tailwindcss/oxide-linux-x64-gnu': 4.3.2
+ '@tailwindcss/oxide-linux-x64-musl': 4.3.2
+ '@tailwindcss/oxide-wasm32-wasi': 4.3.2
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.3.2
+ '@tailwindcss/oxide-win32-x64-msvc': 4.3.2
+
+ '@tailwindcss/vite@4.3.2(vite@8.1.3(@types/node@26.1.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))':
+ dependencies:
+ '@tailwindcss/node': 4.3.2
+ '@tailwindcss/oxide': 4.3.2
+ tailwindcss: 4.3.2
+ vite: 8.1.3(@types/node@26.1.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)
+
+ '@tanstack/devtools-client@0.0.8':
+ dependencies:
+ '@tanstack/devtools-event-client': 0.5.0
+
+ '@tanstack/devtools-event-bus@0.4.2':
+ dependencies:
+ ws: 8.21.0
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ '@tanstack/devtools-event-client@0.4.4': {}
+
+ '@tanstack/devtools-event-client@0.5.0': {}
+
+ '@tanstack/devtools-ui@0.5.2(csstype@3.2.3)(solid-js@1.9.14)':
+ dependencies:
+ clsx: 2.1.1
+ dayjs: 1.11.21
+ goober: 2.1.19(csstype@3.2.3)
+ solid-js: 1.9.14
+ transitivePeerDependencies:
+ - csstype
+
+ '@tanstack/devtools-ui@0.6.0(csstype@3.2.3)(solid-js@1.9.14)':
+ dependencies:
+ clsx: 2.1.1
+ dayjs: 1.11.21
+ goober: 2.1.19(csstype@3.2.3)
+ solid-js: 1.9.14
+ transitivePeerDependencies:
+ - csstype
+
+ '@tanstack/devtools-utils@0.5.1(@types/react@19.2.17)(react@19.2.7)(solid-js@1.9.14)':
+ optionalDependencies:
+ '@types/react': 19.2.17
+ react: 19.2.7
+ solid-js: 1.9.14
+
+ '@tanstack/devtools-vite@0.8.1(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(vite@8.1.3(@types/node@26.1.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))':
+ dependencies:
+ '@tanstack/devtools-client': 0.0.8
+ '@tanstack/devtools-event-bus': 0.4.2
+ chalk: 5.6.2
+ launch-editor: 2.14.1
+ magic-string: 0.30.21
+ oxc-parser: 0.120.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ picomatch: 4.0.5
+ vite: 8.1.3(@types/node@26.1.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - bufferutil
+ - utf-8-validate
+
+ '@tanstack/devtools@0.12.5(csstype@3.2.3)(solid-js@1.9.14)':
+ dependencies:
+ '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.14)
+ '@solid-primitives/keyboard': 1.3.7(solid-js@1.9.14)
+ '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.14)
+ '@tanstack/devtools-client': 0.0.8
+ '@tanstack/devtools-event-bus': 0.4.2
+ '@tanstack/devtools-ui': 0.6.0(csstype@3.2.3)(solid-js@1.9.14)
+ clsx: 2.1.1
+ goober: 2.1.19(csstype@3.2.3)
+ solid-js: 1.9.14
+ transitivePeerDependencies:
+ - bufferutil
+ - csstype
+ - utf-8-validate
+
+ '@tanstack/pacer-devtools@1.3.1(@tanstack/pacer@0.21.1)(@types/react@19.2.17)(react@19.2.7)':
+ dependencies:
+ '@tanstack/devtools-ui': 0.5.2(csstype@3.2.3)(solid-js@1.9.14)
+ '@tanstack/devtools-utils': 0.5.1(@types/react@19.2.17)(react@19.2.7)(solid-js@1.9.14)
+ '@tanstack/pacer': 0.21.1
+ '@tanstack/solid-store': 0.11.0(solid-js@1.9.14)
+ clsx: 2.1.1
+ csstype: 3.2.3
+ dayjs: 1.11.21
+ goober: 2.1.19(csstype@3.2.3)
+ solid-js: 1.9.14
+ transitivePeerDependencies:
+ - '@angular/core'
+ - '@types/react'
+ - preact
+ - react
+ - vue
+
+ '@tanstack/pacer@0.21.1':
+ dependencies:
+ '@tanstack/devtools-event-client': 0.4.4
+ '@tanstack/store': 0.11.0
+
+ '@tanstack/react-devtools@0.10.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(csstype@3.2.3)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.14)':
+ dependencies:
+ '@tanstack/devtools': 0.12.5(csstype@3.2.3)(solid-js@1.9.14)
+ '@types/react': 19.2.17
+ '@types/react-dom': 19.2.3(@types/react@19.2.17)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ transitivePeerDependencies:
+ - bufferutil
+ - csstype
+ - solid-js
+ - utf-8-validate
+
+ '@tanstack/react-pacer-devtools@0.7.1(@tanstack/pacer@0.21.1)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.14)':
+ dependencies:
+ '@tanstack/devtools-utils': 0.5.1(@types/react@19.2.17)(react@19.2.7)(solid-js@1.9.14)
+ '@tanstack/pacer-devtools': 1.3.1(@tanstack/pacer@0.21.1)(@types/react@19.2.17)(react@19.2.7)
+ '@types/react': 19.2.17
+ '@types/react-dom': 19.2.3(@types/react@19.2.17)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ transitivePeerDependencies:
+ - '@angular/core'
+ - '@tanstack/pacer'
+ - preact
+ - solid-js
+ - vue
+
+ '@tanstack/react-pacer@0.22.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@tanstack/pacer': 0.21.1
+ '@tanstack/react-store': 0.11.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+
+ '@tanstack/react-store@0.11.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@tanstack/store': 0.11.0
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ use-sync-external-store: 1.6.0(react@19.2.7)
+
+ '@tanstack/solid-store@0.11.0(solid-js@1.9.14)':
+ dependencies:
+ '@tanstack/store': 0.11.0
+ solid-js: 1.9.14
+
+ '@tanstack/store@0.11.0': {}
+
+ '@tybys/wasm-util@0.10.3':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@types/debug@4.1.13':
+ dependencies:
+ '@types/ms': 2.1.0
+
+ '@types/estree-jsx@1.0.5':
+ dependencies:
+ '@types/estree': 1.0.9
+
+ '@types/estree@1.0.9': {}
+
+ '@types/hast@3.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/mdast@4.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/mdx@2.0.14': {}
+
+ '@types/ms@2.1.0': {}
+
+ '@types/node@26.1.0':
+ dependencies:
+ undici-types: 8.3.0
+
+ '@types/parse-json@4.0.2': {}
+
+ '@types/prop-types@15.7.15': {}
+
+ '@types/react-dom@19.2.3(@types/react@19.2.17)':
+ dependencies:
+ '@types/react': 19.2.17
+
+ '@types/react-transition-group@4.4.12(@types/react@19.2.17)':
+ dependencies:
+ '@types/react': 19.2.17
+
+ '@types/react@19.2.17':
+ dependencies:
+ csstype: 3.2.3
+
+ '@types/unist@2.0.11': {}
+
+ '@types/unist@3.0.3': {}
+
+ '@ungap/structured-clone@1.3.2': {}
+
+ '@vitejs/plugin-react-swc@4.3.1(vite@8.1.3(@types/node@26.1.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))':
+ dependencies:
+ '@rolldown/pluginutils': 1.0.1
+ '@swc/core': 1.15.43
+ vite: 8.1.3(@types/node@26.1.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)
+ transitivePeerDependencies:
+ - '@swc/helpers'
+
+ acorn-jsx@5.3.2(acorn@8.17.0):
+ dependencies:
+ acorn: 8.17.0
+
+ acorn@8.17.0: {}
+
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.2.2: {}
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ ansi-styles@6.2.3: {}
+
+ any-promise@1.3.0: {}
+
+ astring@1.9.0: {}
+
+ babel-plugin-react-compiler@1.0.0:
+ dependencies:
+ '@babel/types': 7.29.7
+
+ bail@2.0.2: {}
+
+ balanced-match@1.0.2: {}
+
+ base64-js@1.5.1: {}
+
+ bl@4.1.0:
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ boolbase@1.0.0: {}
+
+ brace-expansion@1.1.15:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ buffer@5.7.1:
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+
+ bundle-name@4.1.0:
+ dependencies:
+ run-applescript: 7.1.0
+
+ bundle-require@5.1.0(esbuild@0.27.7):
+ dependencies:
+ esbuild: 0.27.7
+ load-tsconfig: 0.2.5
+
+ cac@6.7.14: {}
+
+ callsites@3.1.0: {}
+
+ ccount@2.0.1: {}
+
+ chalk@3.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ chalk@4.1.2:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ chalk@5.6.2: {}
+
+ character-entities-html4@2.1.0: {}
+
+ character-entities-legacy@3.0.0: {}
+
+ character-entities@2.0.2: {}
+
+ character-reference-invalid@2.0.1: {}
+
+ chokidar@4.0.3:
+ dependencies:
+ readdirp: 4.1.2
+
+ cli-cursor@3.1.0:
+ dependencies:
+ restore-cursor: 3.1.0
+
+ cli-spinners@2.9.2: {}
+
+ cliui@9.0.1:
+ dependencies:
+ string-width: 7.2.0
+ strip-ansi: 7.2.0
+ wrap-ansi: 9.0.2
+
+ clone@1.0.4: {}
+
+ clsx@2.1.1: {}
+
+ collapse-white-space@2.1.0: {}
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.4: {}
+
+ comma-separated-tokens@2.0.3: {}
+
+ commander@11.1.0: {}
+
+ commander@4.1.1: {}
+
+ commander@7.2.0: {}
+
+ concat-map@0.0.1: {}
+
+ confbox@0.1.8: {}
+
+ consola@3.4.2: {}
+
+ cookie-es@3.1.1: {}
+
+ cosmiconfig@6.0.0:
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.1
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.3
+
+ css-select@5.2.2:
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.2.2
+ domhandler: 5.0.3
+ domutils: 3.2.2
+ nth-check: 2.1.1
+
+ css-tree@2.2.1:
+ dependencies:
+ mdn-data: 2.0.28
+ source-map-js: 1.2.1
+
+ css-tree@2.3.1:
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.2.1
+
+ css-tree@3.2.1:
+ dependencies:
+ mdn-data: 2.27.1
+ source-map-js: 1.2.1
+
+ css-what@6.2.2: {}
+
+ csso@5.0.5:
+ dependencies:
+ css-tree: 2.2.1
+
+ csstype@3.2.3: {}
+
+ cva@1.0.0-beta.4(typescript@6.0.3):
+ dependencies:
+ clsx: 2.1.1
+ optionalDependencies:
+ typescript: 6.0.3
+
+ date-fns@4.4.0: {}
+
+ dayjs@1.11.21: {}
+
+ debug@4.4.3:
+ dependencies:
+ ms: 2.1.3
+
+ decode-named-character-reference@1.3.0:
+ dependencies:
+ character-entities: 2.0.2
+
+ default-browser-id@5.0.1: {}
+
+ default-browser@5.5.0:
+ dependencies:
+ bundle-name: 4.1.0
+ default-browser-id: 5.0.1
+
+ defaults@1.0.4:
+ dependencies:
+ clone: 1.0.4
+
+ define-lazy-prop@3.0.0: {}
+
+ dequal@2.0.3: {}
+
+ detect-libc@2.1.2: {}
+
+ devlop@1.1.0:
+ dependencies:
+ dequal: 2.0.3
+
+ dom-helpers@5.2.1:
+ dependencies:
+ '@babel/runtime': 7.29.7
+ csstype: 3.2.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.2.2:
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+
+ emoji-regex@10.6.0: {}
+
+ enhanced-resolve@5.21.6:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.3.3
+
+ entities@4.5.0: {}
+
+ error-ex@1.3.4:
+ dependencies:
+ is-arrayish: 0.2.1
+
+ esast-util-from-estree@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ unist-util-position-from-estree: 2.0.0
+
+ esast-util-from-js@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ acorn: 8.17.0
+ esast-util-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ esbuild@0.27.7:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.27.7
+ '@esbuild/android-arm': 0.27.7
+ '@esbuild/android-arm64': 0.27.7
+ '@esbuild/android-x64': 0.27.7
+ '@esbuild/darwin-arm64': 0.27.7
+ '@esbuild/darwin-x64': 0.27.7
+ '@esbuild/freebsd-arm64': 0.27.7
+ '@esbuild/freebsd-x64': 0.27.7
+ '@esbuild/linux-arm': 0.27.7
+ '@esbuild/linux-arm64': 0.27.7
+ '@esbuild/linux-ia32': 0.27.7
+ '@esbuild/linux-loong64': 0.27.7
+ '@esbuild/linux-mips64el': 0.27.7
+ '@esbuild/linux-ppc64': 0.27.7
+ '@esbuild/linux-riscv64': 0.27.7
+ '@esbuild/linux-s390x': 0.27.7
+ '@esbuild/linux-x64': 0.27.7
+ '@esbuild/netbsd-arm64': 0.27.7
+ '@esbuild/netbsd-x64': 0.27.7
+ '@esbuild/openbsd-arm64': 0.27.7
+ '@esbuild/openbsd-x64': 0.27.7
+ '@esbuild/openharmony-arm64': 0.27.7
+ '@esbuild/sunos-x64': 0.27.7
+ '@esbuild/win32-arm64': 0.27.7
+ '@esbuild/win32-ia32': 0.27.7
+ '@esbuild/win32-x64': 0.27.7
+
+ escalade@3.2.0: {}
+
+ escape-string-regexp@5.0.0: {}
+
+ estree-util-attach-comments@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+
+ estree-util-build-jsx@3.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-walker: 3.0.3
+
+ estree-util-is-identifier-name@3.0.0: {}
+
+ estree-util-scope@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+
+ estree-util-to-js@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ astring: 1.9.0
+ source-map: 0.7.6
+
+ estree-util-value-to-estree@3.5.0:
+ dependencies:
+ '@types/estree': 1.0.9
+
+ estree-util-visit@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/unist': 3.0.3
+
+ estree-walker@2.0.2: {}
+
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.9
+
+ extend@3.0.2: {}
+
+ fault@2.0.1:
+ dependencies:
+ format: 0.2.2
+
+ fdir@6.5.0(picomatch@4.0.5):
+ optionalDependencies:
+ picomatch: 4.0.5
+
+ fix-dts-default-cjs-exports@1.0.1:
+ dependencies:
+ magic-string: 0.30.21
+ mlly: 1.8.2
+ rollup: 4.62.2
+
+ format@0.2.2: {}
+
+ fs.realpath@1.0.0: {}
+
+ fsevents@2.3.3:
+ optional: true
+
+ get-caller-file@2.0.5: {}
+
+ get-east-asian-width@1.6.0: {}
+
+ glob@7.2.3:
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.5
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ goober@2.1.19(csstype@3.2.3):
+ dependencies:
+ csstype: 3.2.3
+
+ graceful-fs@4.2.11: {}
+
+ has-flag@4.0.0: {}
+
+ hast-util-is-element@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-to-estree@3.1.3:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-attach-comments: 3.0.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.2.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.21
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-jsx-runtime@2.3.6:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.2.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.21
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-text@4.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ hast-util-is-element: 3.0.0
+ unist-util-find-after: 5.0.0
+
+ hast-util-whitespace@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ highlight.js@11.11.1: {}
+
+ ieee754@1.2.1: {}
+
+ import-fresh@3.3.1:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ inflight@1.0.6:
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ inherits@2.0.4: {}
+
+ inline-style-parser@0.2.7: {}
+
+ is-alphabetical@2.0.1: {}
+
+ is-alphanumerical@2.0.1:
+ dependencies:
+ is-alphabetical: 2.0.1
+ is-decimal: 2.0.1
+
+ is-arrayish@0.2.1: {}
+
+ is-decimal@2.0.1: {}
+
+ is-docker@3.0.0: {}
+
+ is-hexadecimal@2.0.1: {}
+
+ is-in-ssh@1.0.0: {}
+
+ is-inside-container@1.0.0:
+ dependencies:
+ is-docker: 3.0.0
+
+ is-interactive@1.0.0: {}
+
+ is-plain-obj@4.1.0: {}
+
+ is-unicode-supported@0.1.0: {}
+
+ is-wsl@3.1.1:
+ dependencies:
+ is-inside-container: 1.0.0
+
+ jiti@2.7.0: {}
+
+ joycon@3.1.1: {}
+
+ js-tokens@4.0.0: {}
+
+ json-parse-even-better-errors@2.3.1: {}
+
+ launch-editor@2.14.1:
+ dependencies:
+ picocolors: 1.1.1
+ shell-quote: 1.9.0
+
+ lightningcss-android-arm64@1.32.0:
+ optional: true
+
+ lightningcss-darwin-arm64@1.32.0:
+ optional: true
+
+ lightningcss-darwin-x64@1.32.0:
+ optional: true
+
+ lightningcss-freebsd-x64@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm64-gnu@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm64-musl@1.32.0:
+ optional: true
+
+ lightningcss-linux-x64-gnu@1.32.0:
+ optional: true
+
+ lightningcss-linux-x64-musl@1.32.0:
+ optional: true
+
+ lightningcss-win32-arm64-msvc@1.32.0:
+ optional: true
+
+ lightningcss-win32-x64-msvc@1.32.0:
+ optional: true
+
+ lightningcss@1.32.0:
+ dependencies:
+ detect-libc: 2.1.2
+ optionalDependencies:
+ lightningcss-android-arm64: 1.32.0
+ lightningcss-darwin-arm64: 1.32.0
+ lightningcss-darwin-x64: 1.32.0
+ lightningcss-freebsd-x64: 1.32.0
+ lightningcss-linux-arm-gnueabihf: 1.32.0
+ lightningcss-linux-arm64-gnu: 1.32.0
+ lightningcss-linux-arm64-musl: 1.32.0
+ lightningcss-linux-x64-gnu: 1.32.0
+ lightningcss-linux-x64-musl: 1.32.0
+ lightningcss-win32-arm64-msvc: 1.32.0
+ lightningcss-win32-x64-msvc: 1.32.0
+
+ lilconfig@3.1.3: {}
+
+ lines-and-columns@1.2.4: {}
+
+ load-tsconfig@0.2.5: {}
+
+ lodash.camelcase@4.3.0: {}
+
+ lodash.kebabcase@4.1.1: {}
+
+ lodash.snakecase@4.1.1: {}
+
+ log-symbols@4.1.0:
+ dependencies:
+ chalk: 4.1.2
+ is-unicode-supported: 0.1.0
+
+ longest-streak@3.1.0: {}
+
+ loose-envify@1.4.0:
+ dependencies:
+ js-tokens: 4.0.0
+
+ lowlight@3.3.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ devlop: 1.1.0
+ highlight.js: 11.11.1
+
+ magic-string@0.30.21:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ markdown-extensions@2.0.0: {}
+
+ mdast-util-from-markdown@2.0.3:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.2
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-frontmatter@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ escape-string-regexp: 5.0.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ micromark-extension-frontmatter: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-expression@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-jsx@3.2.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx@3.0.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdxjs-esm@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-phrasing@4.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ unist-util-is: 6.0.1
+
+ mdast-util-to-hast@13.2.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.3.2
+ devlop: 1.1.0
+ micromark-util-sanitize-uri: 2.0.1
+ trim-lines: 3.0.1
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.1.0
+ vfile: 6.0.3
+
+ mdast-util-to-markdown@2.1.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+ micromark-util-classify-character: 2.0.1
+ micromark-util-decode-string: 2.0.1
+ unist-util-visit: 5.1.0
+ zwitch: 2.0.4
+
+ mdast-util-to-string@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+
+ mdn-data@2.0.28: {}
+
+ mdn-data@2.0.30: {}
+
+ mdn-data@2.27.1: {}
+
+ micromark-core-commonmark@2.0.3:
+ dependencies:
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ micromark-factory-destination: 2.0.1
+ micromark-factory-label: 2.0.1
+ micromark-factory-space: 2.0.1
+ micromark-factory-title: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-html-tag-name: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-frontmatter@2.0.0:
+ dependencies:
+ fault: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-expression@3.0.1:
+ dependencies:
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-jsx@3.0.2:
+ dependencies:
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
+
+ micromark-extension-mdx-md@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ micromark-extension-mdxjs@3.0.0:
+ dependencies:
+ acorn: 8.17.0
+ acorn-jsx: 5.3.2(acorn@8.17.0)
+ micromark-extension-mdx-expression: 3.0.1
+ micromark-extension-mdx-jsx: 3.0.2
+ micromark-extension-mdx-md: 2.0.0
+ micromark-extension-mdxjs-esm: 3.0.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-destination@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-label@2.0.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-mdx-expression@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ micromark-factory-space@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-title@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-whitespace@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-character@2.1.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-chunked@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-classify-character@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-combine-extensions@2.0.1:
+ dependencies:
+ micromark-util-chunked: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-decode-string@2.0.1:
+ dependencies:
+ decode-named-character-reference: 1.3.0
+ micromark-util-character: 2.1.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-encode@2.0.1: {}
+
+ micromark-util-events-to-acorn@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
+
+ micromark-util-html-tag-name@2.0.1: {}
+
+ micromark-util-normalize-identifier@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-resolve-all@2.0.1:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-util-sanitize-uri@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-subtokenize@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-symbol@2.0.1: {}
+
+ micromark-util-types@2.0.2: {}
+
+ micromark@4.0.2:
+ dependencies:
+ '@types/debug': 4.1.13
+ debug: 4.4.3
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-encode: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mimic-fn@2.1.0: {}
+
+ minimatch@3.1.5:
+ dependencies:
+ brace-expansion: 1.1.15
+
+ mlly@1.8.2:
+ dependencies:
+ acorn: 8.17.0
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.4
+
+ ms@2.1.3: {}
+
+ mz@2.7.0:
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+
+ nanoid@3.3.15: {}
+
+ nth-check@2.1.1:
+ dependencies:
+ boolbase: 1.0.0
+
+ object-assign@4.1.1: {}
+
+ once@1.4.0:
+ dependencies:
+ wrappy: 1.0.2
+
+ onetime@5.1.2:
+ dependencies:
+ mimic-fn: 2.1.0
+
+ open@11.0.0:
+ dependencies:
+ default-browser: 5.5.0
+ define-lazy-prop: 3.0.0
+ is-in-ssh: 1.0.0
+ is-inside-container: 1.0.0
+ powershell-utils: 0.1.0
+ wsl-utils: 0.3.1
+
+ ora@5.4.1:
+ dependencies:
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.9.2
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+
+ oxc-parser@0.120.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1):
+ dependencies:
+ '@oxc-project/types': 0.120.0
+ optionalDependencies:
+ '@oxc-parser/binding-android-arm-eabi': 0.120.0
+ '@oxc-parser/binding-android-arm64': 0.120.0
+ '@oxc-parser/binding-darwin-arm64': 0.120.0
+ '@oxc-parser/binding-darwin-x64': 0.120.0
+ '@oxc-parser/binding-freebsd-x64': 0.120.0
+ '@oxc-parser/binding-linux-arm-gnueabihf': 0.120.0
+ '@oxc-parser/binding-linux-arm-musleabihf': 0.120.0
+ '@oxc-parser/binding-linux-arm64-gnu': 0.120.0
+ '@oxc-parser/binding-linux-arm64-musl': 0.120.0
+ '@oxc-parser/binding-linux-ppc64-gnu': 0.120.0
+ '@oxc-parser/binding-linux-riscv64-gnu': 0.120.0
+ '@oxc-parser/binding-linux-riscv64-musl': 0.120.0
+ '@oxc-parser/binding-linux-s390x-gnu': 0.120.0
+ '@oxc-parser/binding-linux-x64-gnu': 0.120.0
+ '@oxc-parser/binding-linux-x64-musl': 0.120.0
+ '@oxc-parser/binding-openharmony-arm64': 0.120.0
+ '@oxc-parser/binding-wasm32-wasi': 0.120.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ '@oxc-parser/binding-win32-arm64-msvc': 0.120.0
+ '@oxc-parser/binding-win32-ia32-msvc': 0.120.0
+ '@oxc-parser/binding-win32-x64-msvc': 0.120.0
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+
+ oxfmt@0.58.0:
+ dependencies:
+ tinypool: 2.1.0
+ optionalDependencies:
+ '@oxfmt/binding-android-arm-eabi': 0.58.0
+ '@oxfmt/binding-android-arm64': 0.58.0
+ '@oxfmt/binding-darwin-arm64': 0.58.0
+ '@oxfmt/binding-darwin-x64': 0.58.0
+ '@oxfmt/binding-freebsd-x64': 0.58.0
+ '@oxfmt/binding-linux-arm-gnueabihf': 0.58.0
+ '@oxfmt/binding-linux-arm-musleabihf': 0.58.0
+ '@oxfmt/binding-linux-arm64-gnu': 0.58.0
+ '@oxfmt/binding-linux-arm64-musl': 0.58.0
+ '@oxfmt/binding-linux-ppc64-gnu': 0.58.0
+ '@oxfmt/binding-linux-riscv64-gnu': 0.58.0
+ '@oxfmt/binding-linux-riscv64-musl': 0.58.0
+ '@oxfmt/binding-linux-s390x-gnu': 0.58.0
+ '@oxfmt/binding-linux-x64-gnu': 0.58.0
+ '@oxfmt/binding-linux-x64-musl': 0.58.0
+ '@oxfmt/binding-openharmony-arm64': 0.58.0
+ '@oxfmt/binding-win32-arm64-msvc': 0.58.0
+ '@oxfmt/binding-win32-ia32-msvc': 0.58.0
+ '@oxfmt/binding-win32-x64-msvc': 0.58.0
+
+ oxlint@1.73.0:
+ optionalDependencies:
+ '@oxlint/binding-android-arm-eabi': 1.73.0
+ '@oxlint/binding-android-arm64': 1.73.0
+ '@oxlint/binding-darwin-arm64': 1.73.0
+ '@oxlint/binding-darwin-x64': 1.73.0
+ '@oxlint/binding-freebsd-x64': 1.73.0
+ '@oxlint/binding-linux-arm-gnueabihf': 1.73.0
+ '@oxlint/binding-linux-arm-musleabihf': 1.73.0
+ '@oxlint/binding-linux-arm64-gnu': 1.73.0
+ '@oxlint/binding-linux-arm64-musl': 1.73.0
+ '@oxlint/binding-linux-ppc64-gnu': 1.73.0
+ '@oxlint/binding-linux-riscv64-gnu': 1.73.0
+ '@oxlint/binding-linux-riscv64-musl': 1.73.0
+ '@oxlint/binding-linux-s390x-gnu': 1.73.0
+ '@oxlint/binding-linux-x64-gnu': 1.73.0
+ '@oxlint/binding-linux-x64-musl': 1.73.0
+ '@oxlint/binding-openharmony-arm64': 1.73.0
+ '@oxlint/binding-win32-arm64-msvc': 1.73.0
+ '@oxlint/binding-win32-ia32-msvc': 1.73.0
+ '@oxlint/binding-win32-x64-msvc': 1.73.0
+
+ parent-module@1.0.1:
+ dependencies:
+ callsites: 3.1.0
+
+ parse-entities@4.0.2:
+ dependencies:
+ '@types/unist': 2.0.11
+ character-entities-legacy: 3.0.0
+ character-reference-invalid: 2.0.1
+ decode-named-character-reference: 1.3.0
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+ is-hexadecimal: 2.0.1
+
+ parse-json@5.2.0:
+ dependencies:
+ '@babel/code-frame': 7.29.7
+ error-ex: 1.3.4
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+
+ path-is-absolute@1.0.1: {}
+
+ path-type@4.0.0: {}
+
+ pathe@2.0.3: {}
+
+ picocolors@1.1.1: {}
+
+ picomatch@4.0.5: {}
+
+ pirates@4.0.7: {}
+
+ pkg-types@1.3.1:
+ dependencies:
+ confbox: 0.1.8
+ mlly: 1.8.2
+ pathe: 2.0.3
+
+ postcss-load-config@6.0.1(jiti@2.7.0)(postcss@8.5.16)(yaml@2.9.0):
+ dependencies:
+ lilconfig: 3.1.3
+ optionalDependencies:
+ jiti: 2.7.0
+ postcss: 8.5.16
+ yaml: 2.9.0
+
+ postcss@8.5.16:
+ dependencies:
+ nanoid: 3.3.15
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ powershell-utils@0.1.0: {}
+
+ prettier@3.9.4: {}
+
+ prop-types@15.8.1:
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+
+ property-information@7.2.0: {}
+
+ react-dom@19.2.7(react@19.2.7):
+ dependencies:
+ react: 19.2.7
+ scheduler: 0.27.0
+
+ react-is@16.13.1: {}
+
+ react-is@19.2.7: {}
+
+ react-router@8.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
+ dependencies:
+ cookie-es: 3.1.1
+ react: 19.2.7
+ optionalDependencies:
+ react-dom: 19.2.7(react@19.2.7)
+
+ react-transition-group@4.4.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
+ dependencies:
+ '@babel/runtime': 7.29.7
+ dom-helpers: 5.2.1
+ loose-envify: 1.4.0
+ prop-types: 15.8.1
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+
+ react@19.2.7: {}
+
+ readable-stream@3.6.2:
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+
+ readdirp@4.1.2: {}
+
+ recma-build-jsx@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
+
+ recma-jsx@1.0.1(acorn@8.17.0):
+ dependencies:
+ acorn: 8.17.0
+ acorn-jsx: 5.3.2(acorn@8.17.0)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
+
+ recma-parse@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ esast-util-from-js: 2.0.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ recma-stringify@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ rehype-highlight@7.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-to-text: 4.0.2
+ lowlight: 3.3.0
+ unist-util-visit: 5.1.0
+ vfile: 6.0.3
+
+ rehype-recma@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/hast': 3.0.4
+ hast-util-to-estree: 3.1.3
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-frontmatter@5.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-frontmatter: 2.0.1
+ micromark-extension-frontmatter: 2.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-mdx-frontmatter@5.2.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ estree-util-value-to-estree: 3.5.0
+ toml: 3.0.0
+ unified: 11.0.5
+ unist-util-mdx-define: 1.1.2
+ yaml: 2.9.0
+
+ remark-mdx@3.1.1:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-parse@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.3
+ micromark-util-types: 2.0.2
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-rehype@11.1.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ reselect@5.2.0: {}
+
+ resolve-from@4.0.0: {}
+
+ resolve-from@5.0.0: {}
+
+ restore-cursor@3.1.0:
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+
+ rolldown@1.1.4:
+ dependencies:
+ '@oxc-project/types': 0.138.0
+ '@rolldown/pluginutils': 1.0.1
+ optionalDependencies:
+ '@rolldown/binding-android-arm64': 1.1.4
+ '@rolldown/binding-darwin-arm64': 1.1.4
+ '@rolldown/binding-darwin-x64': 1.1.4
+ '@rolldown/binding-freebsd-x64': 1.1.4
+ '@rolldown/binding-linux-arm-gnueabihf': 1.1.4
+ '@rolldown/binding-linux-arm64-gnu': 1.1.4
+ '@rolldown/binding-linux-arm64-musl': 1.1.4
+ '@rolldown/binding-linux-ppc64-gnu': 1.1.4
+ '@rolldown/binding-linux-s390x-gnu': 1.1.4
+ '@rolldown/binding-linux-x64-gnu': 1.1.4
+ '@rolldown/binding-linux-x64-musl': 1.1.4
+ '@rolldown/binding-openharmony-arm64': 1.1.4
+ '@rolldown/binding-wasm32-wasi': 1.1.4
+ '@rolldown/binding-win32-arm64-msvc': 1.1.4
+ '@rolldown/binding-win32-x64-msvc': 1.1.4
+
+ rollup-plugin-visualizer@7.0.1(rolldown@1.1.4)(rollup@4.62.2):
+ dependencies:
+ open: 11.0.0
+ picomatch: 4.0.5
+ source-map: 0.7.6
+ yargs: 18.0.0
+ optionalDependencies:
+ rolldown: 1.1.4
+ rollup: 4.62.2
+
+ rollup@4.62.2:
+ dependencies:
+ '@types/estree': 1.0.9
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.62.2
+ '@rollup/rollup-android-arm64': 4.62.2
+ '@rollup/rollup-darwin-arm64': 4.62.2
+ '@rollup/rollup-darwin-x64': 4.62.2
+ '@rollup/rollup-freebsd-arm64': 4.62.2
+ '@rollup/rollup-freebsd-x64': 4.62.2
+ '@rollup/rollup-linux-arm-gnueabihf': 4.62.2
+ '@rollup/rollup-linux-arm-musleabihf': 4.62.2
+ '@rollup/rollup-linux-arm64-gnu': 4.62.2
+ '@rollup/rollup-linux-arm64-musl': 4.62.2
+ '@rollup/rollup-linux-loong64-gnu': 4.62.2
+ '@rollup/rollup-linux-loong64-musl': 4.62.2
+ '@rollup/rollup-linux-ppc64-gnu': 4.62.2
+ '@rollup/rollup-linux-ppc64-musl': 4.62.2
+ '@rollup/rollup-linux-riscv64-gnu': 4.62.2
+ '@rollup/rollup-linux-riscv64-musl': 4.62.2
+ '@rollup/rollup-linux-s390x-gnu': 4.62.2
+ '@rollup/rollup-linux-x64-gnu': 4.62.2
+ '@rollup/rollup-linux-x64-musl': 4.62.2
+ '@rollup/rollup-openbsd-x64': 4.62.2
+ '@rollup/rollup-openharmony-arm64': 4.62.2
+ '@rollup/rollup-win32-arm64-msvc': 4.62.2
+ '@rollup/rollup-win32-ia32-msvc': 4.62.2
+ '@rollup/rollup-win32-x64-gnu': 4.62.2
+ '@rollup/rollup-win32-x64-msvc': 4.62.2
+ fsevents: 2.3.3
+
+ run-applescript@7.1.0: {}
+
+ safe-buffer@5.2.1: {}
+
+ sax@1.6.0: {}
+
+ scheduler@0.27.0: {}
+
+ seroval-plugins@1.5.4(seroval@1.5.4):
+ dependencies:
+ seroval: 1.5.4
+
+ seroval@1.5.4: {}
+
+ shell-quote@1.9.0: {}
+
+ signal-exit@3.0.7: {}
+
+ solid-js@1.9.14:
+ dependencies:
+ csstype: 3.2.3
+ seroval: 1.5.4
+ seroval-plugins: 1.5.4(seroval@1.5.4)
+
+ source-map-js@1.2.1: {}
+
+ source-map@0.7.6: {}
+
+ space-separated-tokens@2.0.2: {}
+
+ string-width@7.2.0:
+ dependencies:
+ emoji-regex: 10.6.0
+ get-east-asian-width: 1.6.0
+ strip-ansi: 7.2.0
+
+ string_decoder@1.3.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ stringify-entities@4.0.4:
+ dependencies:
+ character-entities-html4: 2.1.0
+ character-entities-legacy: 3.0.0
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.2.0:
+ dependencies:
+ ansi-regex: 6.2.2
+
+ style-to-js@1.1.21:
+ dependencies:
+ style-to-object: 1.0.14
+
+ style-to-object@1.0.14:
+ dependencies:
+ inline-style-parser: 0.2.7
+
+ stylis@4.2.0: {}
+
+ sucrase@3.35.1:
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ commander: 4.1.1
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.7
+ tinyglobby: 0.2.17
+ ts-interface-checker: 0.1.13
+
+ supports-color@7.2.0:
+ dependencies:
+ has-flag: 4.0.0
+
+ svg-to-ts@12.0.0:
+ dependencies:
+ chalk: 3.0.0
+ commander: 4.1.1
+ cosmiconfig: 6.0.0
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ lodash.camelcase: 4.3.0
+ lodash.kebabcase: 4.1.1
+ lodash.snakecase: 4.1.1
+ ora: 5.4.1
+ prettier: 3.9.4
+ svgo: 3.3.3
+ typescript: 4.9.5
+
+ svgo@3.3.3:
+ dependencies:
+ commander: 7.2.0
+ css-select: 5.2.2
+ css-tree: 2.3.1
+ css-what: 6.2.2
+ csso: 5.0.5
+ picocolors: 1.1.1
+ sax: 1.6.0
+
+ svgo@4.0.1:
+ dependencies:
+ commander: 11.1.0
+ css-select: 5.2.2
+ css-tree: 3.2.1
+ css-what: 6.2.2
+ csso: 5.0.5
+ picocolors: 1.1.1
+ sax: 1.6.0
+
+ syncpack-darwin-arm64@15.3.2:
+ optional: true
+
+ syncpack-darwin-x64@15.3.2:
+ optional: true
+
+ syncpack-linux-arm64-musl@15.3.2:
+ optional: true
+
+ syncpack-linux-arm64@15.3.2:
+ optional: true
+
+ syncpack-linux-x64-musl@15.3.2:
+ optional: true
+
+ syncpack-linux-x64@15.3.2:
+ optional: true
+
+ syncpack-windows-arm64@15.3.2:
+ optional: true
+
+ syncpack-windows-x64@15.3.2:
+ optional: true
+
+ syncpack@15.3.2:
+ optionalDependencies:
+ syncpack-darwin-arm64: 15.3.2
+ syncpack-darwin-x64: 15.3.2
+ syncpack-linux-arm64: 15.3.2
+ syncpack-linux-arm64-musl: 15.3.2
+ syncpack-linux-x64: 15.3.2
+ syncpack-linux-x64-musl: 15.3.2
+ syncpack-windows-arm64: 15.3.2
+ syncpack-windows-x64: 15.3.2
+
+ tailwind-merge@3.6.0: {}
+
+ tailwindcss@4.3.2: {}
+
+ tapable@2.3.3: {}
+
+ thenify-all@1.6.0:
+ dependencies:
+ thenify: 3.3.1
+
+ thenify@3.3.1:
+ dependencies:
+ any-promise: 1.3.0
+
+ tinyexec@0.3.2: {}
+
+ tinyglobby@0.2.17:
+ dependencies:
+ fdir: 6.5.0(picomatch@4.0.5)
+ picomatch: 4.0.5
+
+ tinypool@2.1.0: {}
+
+ toml@3.0.0: {}
+
+ tree-kill@1.2.2: {}
+
+ trim-lines@3.0.1: {}
+
+ trough@2.2.0: {}
+
+ ts-interface-checker@0.1.13: {}
+
+ tslib@2.8.1:
+ optional: true
+
+ tsup@8.5.1(@swc/core@1.15.43)(jiti@2.7.0)(postcss@8.5.16)(typescript@6.0.3)(yaml@2.9.0):
+ dependencies:
+ bundle-require: 5.1.0(esbuild@0.27.7)
+ cac: 6.7.14
+ chokidar: 4.0.3
+ consola: 3.4.2
+ debug: 4.4.3
+ esbuild: 0.27.7
+ fix-dts-default-cjs-exports: 1.0.1
+ joycon: 3.1.1
+ picocolors: 1.1.1
+ postcss-load-config: 6.0.1(jiti@2.7.0)(postcss@8.5.16)(yaml@2.9.0)
+ resolve-from: 5.0.0
+ rollup: 4.62.2
+ source-map: 0.7.6
+ sucrase: 3.35.1
+ tinyexec: 0.3.2
+ tinyglobby: 0.2.17
+ tree-kill: 1.2.2
+ optionalDependencies:
+ '@swc/core': 1.15.43
+ postcss: 8.5.16
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - jiti
+ - supports-color
+ - tsx
+ - yaml
+
+ typescript@4.9.5: {}
+
+ typescript@6.0.3: {}
+
+ ufo@1.6.4: {}
+
+ undici-types@8.3.0: {}
+
+ unified@11.0.5:
+ dependencies:
+ '@types/unist': 3.0.3
+ bail: 2.0.2
+ devlop: 1.1.0
+ extend: 3.0.2
+ is-plain-obj: 4.1.0
+ trough: 2.2.0
+ vfile: 6.0.3
+
+ unist-util-find-after@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.1
+
+ unist-util-is@6.0.1:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-mdx-define@1.1.2:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ estree-util-is-identifier-name: 3.0.0
+ estree-util-scope: 1.0.0
+ estree-walker: 3.0.3
+ vfile: 6.0.3
+
+ unist-util-position-from-estree@2.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-stringify-position@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-visit-parents@6.0.2:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.1
+
+ unist-util-visit@5.1.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.1
+ unist-util-visit-parents: 6.0.2
+
+ use-sync-external-store@1.6.0(react@19.2.7):
+ dependencies:
+ react: 19.2.7
+
+ util-deprecate@1.0.2: {}
+
+ vfile-message@4.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-stringify-position: 4.0.0
+
+ vfile@6.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile-message: 4.0.3
+
+ vite@8.1.3(@types/node@26.1.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0):
+ dependencies:
+ lightningcss: 1.32.0
+ picomatch: 4.0.5
+ postcss: 8.5.16
+ rolldown: 1.1.4
+ tinyglobby: 0.2.17
+ optionalDependencies:
+ '@types/node': 26.1.0
+ esbuild: 0.27.7
+ fsevents: 2.3.3
+ jiti: 2.7.0
+ yaml: 2.9.0
+
+ wcwidth@1.0.1:
+ dependencies:
+ defaults: 1.0.4
+
+ wrap-ansi@9.0.2:
+ dependencies:
+ ansi-styles: 6.2.3
+ string-width: 7.2.0
+ strip-ansi: 7.2.0
+
+ wrappy@1.0.2: {}
+
+ ws@8.21.0: {}
+
+ wsl-utils@0.3.1:
+ dependencies:
+ is-wsl: 3.1.1
+ powershell-utils: 0.1.0
+
+ y18n@5.0.8: {}
+
+ yaml@1.10.3: {}
+
+ yaml@2.9.0: {}
+
+ yargs-parser@22.0.0: {}
+
+ yargs@18.0.0:
+ dependencies:
+ cliui: 9.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ string-width: 7.2.0
+ y18n: 5.0.8
+ yargs-parser: 22.0.0
+
+ zwitch@2.0.4: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 00000000..ed4b1c65
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,9 @@
+packages:
+ - docs
+ - amicons
+
+minimumReleaseAge: 0
+
+allowBuilds:
+ "@swc/core": true
+ esbuild: true
diff --git a/scripts/sync-versions.mjs b/scripts/sync-versions.mjs
new file mode 100644
index 00000000..c543be9b
--- /dev/null
+++ b/scripts/sync-versions.mjs
@@ -0,0 +1,37 @@
+import { readFile, writeFile } from "node:fs/promises";
+import path from "node:path";
+import { fileURLToPath } from "node:url";
+
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+const rootDir = path.resolve(__dirname, "..");
+
+const rootPackagePath = path.join(rootDir, "package.json");
+const docsPackagePath = path.join(rootDir, "docs", "package.json");
+const libraryPackagePath = path.join(rootDir, "amicons", "package.json");
+
+const readJson = async (filePath) => JSON.parse(await readFile(filePath, "utf8"));
+
+const writeJson = async (filePath, data) => {
+ await writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf8");
+};
+
+const rootPackage = await readJson(rootPackagePath);
+
+if (!rootPackage.version) {
+ throw new Error("Root package.json must contain a version field.");
+}
+
+const targetVersion = rootPackage.version;
+const docsPackage = await readJson(docsPackagePath);
+const libraryPackage = await readJson(libraryPackagePath);
+
+docsPackage.version = targetVersion;
+libraryPackage.version = targetVersion;
+
+await Promise.all([
+ writeJson(docsPackagePath, docsPackage),
+ writeJson(libraryPackagePath, libraryPackage),
+]);
+
+console.log(`Synchronized package versions to ${targetVersion}`);