From c09cb4ea6f79cb5b4957d7f05374a050e2cc19f9 Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 18:22:55 +0200
Subject: [PATCH 01/16] feat(docs): scaffold Fumadocs app shell, remove
Docusaurus
---
apps/docs/.gitignore | 34 ++-
apps/docs/app/(home)/layout.tsx | 6 +
apps/docs/app/(home)/page.tsx | 15 +
apps/docs/app/api/search/route.ts | 7 +
apps/docs/app/docs/[[...slug]]/page.tsx | 55 ++++
apps/docs/app/docs/layout.tsx | 11 +
apps/docs/app/global.css | 21 ++
apps/docs/app/layout.tsx | 33 ++
apps/docs/app/llms-full.txt/route.ts | 13 +
.../app/llms.mdx/docs/[[...slug]]/route.ts | 20 ++
apps/docs/app/llms.txt/route.ts | 13 +
apps/docs/app/og/docs/[...slug]/route.tsx | 27 ++
apps/docs/components/ai/page-actions.tsx | 162 ++++++++++
apps/docs/content/docs/index.mdx | 7 +
apps/docs/content/docs/meta.json | 5 +
apps/docs/docs/api/CloudStorage.md | 283 ------------------
apps/docs/docs/api/CloudStorageError.md | 35 ---
apps/docs/docs/api/_category_.json | 4 -
.../docs/api/enums/CloudStorageErrorCode.md | 44 ---
.../docs/api/enums/CloudStorageProvider.md | 46 ---
apps/docs/docs/api/enums/CloudStorageScope.md | 28 --
apps/docs/docs/api/enums/_category_.json | 4 -
apps/docs/docs/api/hooks/_category_.json | 4 -
apps/docs/docs/api/hooks/useCloudFile.md | 57 ----
.../docs/api/hooks/useIsCloudAvailable.md | 21 --
.../api/interfaces/CloudStorageFileStat.md | 19 --
apps/docs/docs/api/interfaces/_category_.json | 4 -
apps/docs/docs/example.md | 20 --
apps/docs/docs/guides/_category_.json | 4 -
.../guides/google-drive-files-same-name.md | 21 --
.../docs/guides/migrating-icloud-documents.md | 61 ----
.../docs/guides/using-multiple-providers.md | 32 --
apps/docs/docs/installation/_category_.json | 4 -
.../installation/configure-google-drive.md | 99 ------
apps/docs/docs/installation/expo.md | 60 ----
apps/docs/docs/installation/react-native.md | 33 --
apps/docs/docs/intro.md | 7 -
apps/docs/docusaurus.config.ts | 117 --------
apps/docs/lib/cn.ts | 1 +
apps/docs/lib/layout.shared.tsx | 23 ++
apps/docs/lib/source.ts | 27 ++
apps/docs/mdx-components.tsx | 13 +
apps/docs/next.config.mjs | 18 ++
apps/docs/package.json | 59 ++--
apps/docs/postcss.config.mjs | 7 +
apps/docs/{static/img => public}/favicon.ico | Bin
.../img => public}/ios_installation.jpg | Bin
apps/docs/{static/img => public}/logo.png | Bin
apps/docs/sidebars.ts | 33 --
apps/docs/source.config.ts | 26 ++
.../src/components/HomepageFeatures/index.tsx | 70 -----
.../HomepageFeatures/styles.module.css | 11 -
apps/docs/src/css/custom.css | 30 --
apps/docs/src/pages/index.module.css | 23 --
apps/docs/src/pages/index.tsx | 37 ---
apps/docs/src/pages/markdown-page.md | 7 -
apps/docs/static/.nojekyll | 0
apps/docs/static/img/undraw_dx.svg | 1 -
apps/docs/static/img/undraw_easy_to_use.svg | 1 -
apps/docs/static/img/undraw_expo.svg | 1 -
apps/docs/tsconfig.json | 30 +-
61 files changed, 580 insertions(+), 1274 deletions(-)
create mode 100644 apps/docs/app/(home)/layout.tsx
create mode 100644 apps/docs/app/(home)/page.tsx
create mode 100644 apps/docs/app/api/search/route.ts
create mode 100644 apps/docs/app/docs/[[...slug]]/page.tsx
create mode 100644 apps/docs/app/docs/layout.tsx
create mode 100644 apps/docs/app/global.css
create mode 100644 apps/docs/app/layout.tsx
create mode 100644 apps/docs/app/llms-full.txt/route.ts
create mode 100644 apps/docs/app/llms.mdx/docs/[[...slug]]/route.ts
create mode 100644 apps/docs/app/llms.txt/route.ts
create mode 100644 apps/docs/app/og/docs/[...slug]/route.tsx
create mode 100644 apps/docs/components/ai/page-actions.tsx
create mode 100644 apps/docs/content/docs/index.mdx
create mode 100644 apps/docs/content/docs/meta.json
delete mode 100644 apps/docs/docs/api/CloudStorage.md
delete mode 100644 apps/docs/docs/api/CloudStorageError.md
delete mode 100644 apps/docs/docs/api/_category_.json
delete mode 100644 apps/docs/docs/api/enums/CloudStorageErrorCode.md
delete mode 100644 apps/docs/docs/api/enums/CloudStorageProvider.md
delete mode 100644 apps/docs/docs/api/enums/CloudStorageScope.md
delete mode 100644 apps/docs/docs/api/enums/_category_.json
delete mode 100644 apps/docs/docs/api/hooks/_category_.json
delete mode 100644 apps/docs/docs/api/hooks/useCloudFile.md
delete mode 100644 apps/docs/docs/api/hooks/useIsCloudAvailable.md
delete mode 100644 apps/docs/docs/api/interfaces/CloudStorageFileStat.md
delete mode 100644 apps/docs/docs/api/interfaces/_category_.json
delete mode 100644 apps/docs/docs/example.md
delete mode 100644 apps/docs/docs/guides/_category_.json
delete mode 100644 apps/docs/docs/guides/google-drive-files-same-name.md
delete mode 100644 apps/docs/docs/guides/migrating-icloud-documents.md
delete mode 100644 apps/docs/docs/guides/using-multiple-providers.md
delete mode 100644 apps/docs/docs/installation/_category_.json
delete mode 100644 apps/docs/docs/installation/configure-google-drive.md
delete mode 100644 apps/docs/docs/installation/expo.md
delete mode 100644 apps/docs/docs/installation/react-native.md
delete mode 100644 apps/docs/docs/intro.md
delete mode 100644 apps/docs/docusaurus.config.ts
create mode 100644 apps/docs/lib/cn.ts
create mode 100644 apps/docs/lib/layout.shared.tsx
create mode 100644 apps/docs/lib/source.ts
create mode 100644 apps/docs/mdx-components.tsx
create mode 100644 apps/docs/next.config.mjs
create mode 100644 apps/docs/postcss.config.mjs
rename apps/docs/{static/img => public}/favicon.ico (100%)
rename apps/docs/{static/img => public}/ios_installation.jpg (100%)
rename apps/docs/{static/img => public}/logo.png (100%)
delete mode 100644 apps/docs/sidebars.ts
create mode 100644 apps/docs/source.config.ts
delete mode 100644 apps/docs/src/components/HomepageFeatures/index.tsx
delete mode 100644 apps/docs/src/components/HomepageFeatures/styles.module.css
delete mode 100644 apps/docs/src/css/custom.css
delete mode 100644 apps/docs/src/pages/index.module.css
delete mode 100644 apps/docs/src/pages/index.tsx
delete mode 100644 apps/docs/src/pages/markdown-page.md
delete mode 100644 apps/docs/static/.nojekyll
delete mode 100644 apps/docs/static/img/undraw_dx.svg
delete mode 100644 apps/docs/static/img/undraw_easy_to_use.svg
delete mode 100644 apps/docs/static/img/undraw_expo.svg
diff --git a/apps/docs/.gitignore b/apps/docs/.gitignore
index c6320b8..713c6be 100644
--- a/apps/docs/.gitignore
+++ b/apps/docs/.gitignore
@@ -1,19 +1,27 @@
-# Dependencies
+# deps
/node_modules
-# Production
-/build
+# generated content
+.source
+content/docs/api
-# Generated files
-.docusaurus
-.cache-loader
+# test & build
+/coverage
+/.next/
+/out/
+/build
+*.tsbuildinfo
-# Misc
+# misc
.DS_Store
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
+*.pem
+/.pnp
+.pnp.js
npm-debug.log*
-pnpm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# others
+.env*.local
+.vercel
+next-env.d.ts
diff --git a/apps/docs/app/(home)/layout.tsx b/apps/docs/app/(home)/layout.tsx
new file mode 100644
index 0000000..77379fa
--- /dev/null
+++ b/apps/docs/app/(home)/layout.tsx
@@ -0,0 +1,6 @@
+import { HomeLayout } from 'fumadocs-ui/layouts/home';
+import { baseOptions } from '@/lib/layout.shared';
+
+export default function Layout({ children }: LayoutProps<'/'>) {
+ return {children} ;
+}
diff --git a/apps/docs/app/(home)/page.tsx b/apps/docs/app/(home)/page.tsx
new file mode 100644
index 0000000..03ca4cf
--- /dev/null
+++ b/apps/docs/app/(home)/page.tsx
@@ -0,0 +1,15 @@
+import Link from 'next/link';
+
+export default function HomePage() {
+ return (
+
+ React Native Cloud Storage
+ iCloud and Google Drive for React Native, simplified.
+
+ Read docs
+
+
+ );
+}
diff --git a/apps/docs/app/api/search/route.ts b/apps/docs/app/api/search/route.ts
new file mode 100644
index 0000000..7ba7e82
--- /dev/null
+++ b/apps/docs/app/api/search/route.ts
@@ -0,0 +1,7 @@
+import { source } from '@/lib/source';
+import { createFromSource } from 'fumadocs-core/search/server';
+
+export const { GET } = createFromSource(source, {
+ // https://docs.orama.com/docs/orama-js/supported-languages
+ language: 'english',
+});
diff --git a/apps/docs/app/docs/[[...slug]]/page.tsx b/apps/docs/app/docs/[[...slug]]/page.tsx
new file mode 100644
index 0000000..b5afced
--- /dev/null
+++ b/apps/docs/app/docs/[[...slug]]/page.tsx
@@ -0,0 +1,55 @@
+import { getPageImage, source } from '@/lib/source';
+import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/layouts/docs/page';
+import { notFound } from 'next/navigation';
+import { getMDXComponents } from '@/mdx-components';
+import type { Metadata } from 'next';
+import { createRelativeLink } from 'fumadocs-ui/mdx';
+import { LLMCopyButton, ViewOptions } from '@/components/ai/page-actions';
+import { gitConfig } from '@/lib/layout.shared';
+
+export default async function Page(props: PageProps<'/docs/[[...slug]]'>) {
+ const params = await props.params;
+ const page = source.getPage(params.slug);
+ if (!page) notFound();
+
+ const MDX = page.data.body;
+
+ return (
+
+ {page.data.title}
+ {page.data.description}
+
+
+
+
+
+
+
+
+ );
+}
+
+export async function generateStaticParams() {
+ return source.generateParams();
+}
+
+export async function generateMetadata(props: PageProps<'/docs/[[...slug]]'>): Promise {
+ const params = await props.params;
+ const page = source.getPage(params.slug);
+ if (!page) notFound();
+
+ return {
+ title: page.data.title,
+ description: page.data.description,
+ openGraph: {
+ images: getPageImage(page).url,
+ },
+ };
+}
diff --git a/apps/docs/app/docs/layout.tsx b/apps/docs/app/docs/layout.tsx
new file mode 100644
index 0000000..a373143
--- /dev/null
+++ b/apps/docs/app/docs/layout.tsx
@@ -0,0 +1,11 @@
+import { source } from '@/lib/source';
+import { DocsLayout } from 'fumadocs-ui/layouts/docs';
+import { baseOptions } from '@/lib/layout.shared';
+
+export default function Layout({ children }: LayoutProps<'/docs'>) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/apps/docs/app/global.css b/apps/docs/app/global.css
new file mode 100644
index 0000000..11923d7
--- /dev/null
+++ b/apps/docs/app/global.css
@@ -0,0 +1,21 @@
+@import 'tailwindcss';
+@import 'fumadocs-ui/css/neutral.css';
+@import 'fumadocs-ui/css/preset.css';
+
+:root {
+ --color-fd-primary: #0ea5e9;
+ --color-fd-primary-foreground: #04293a;
+ --color-fd-ring: #0ea5e9;
+ --font-sans: var(--font-geist-sans);
+ --font-mono: var(--font-geist-mono);
+}
+
+.dark {
+ --color-fd-primary: #38bdf8;
+ --color-fd-primary-foreground: #04293a;
+ --color-fd-ring: #38bdf8;
+}
+
+body {
+ font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
+}
diff --git a/apps/docs/app/layout.tsx b/apps/docs/app/layout.tsx
new file mode 100644
index 0000000..dc908bb
--- /dev/null
+++ b/apps/docs/app/layout.tsx
@@ -0,0 +1,33 @@
+import { RootProvider } from 'fumadocs-ui/provider/next';
+import './global.css';
+import { Geist, Geist_Mono } from 'next/font/google';
+import type { Metadata } from 'next';
+
+const geist = Geist({
+ subsets: ['latin'],
+ variable: '--font-geist-sans',
+});
+
+const geistMono = Geist_Mono({
+ subsets: ['latin'],
+ variable: '--font-geist-mono',
+});
+
+export const metadata: Metadata = {
+ metadataBase: new URL('https://react-native-cloud-storage.oss.kuatsu.de'),
+ title: {
+ default: 'React Native Cloud Storage',
+ template: '%s | React Native Cloud Storage',
+ },
+ description: 'iCloud and Google Drive for React Native, simplified.',
+};
+
+export default function Layout({ children }: LayoutProps<'/'>) {
+ return (
+
+
+ {children}
+
+
+ );
+}
diff --git a/apps/docs/app/llms-full.txt/route.ts b/apps/docs/app/llms-full.txt/route.ts
new file mode 100644
index 0000000..0603b36
--- /dev/null
+++ b/apps/docs/app/llms-full.txt/route.ts
@@ -0,0 +1,13 @@
+import { getLLMText, source } from '@/lib/source';
+
+export const revalidate = false;
+
+export async function GET() {
+ const scan = [];
+ for (const page of source.getPages()) {
+ scan.push(getLLMText(page));
+ }
+ const scanned = await Promise.all(scan);
+
+ return new Response(scanned.join('\n\n'));
+}
diff --git a/apps/docs/app/llms.mdx/docs/[[...slug]]/route.ts b/apps/docs/app/llms.mdx/docs/[[...slug]]/route.ts
new file mode 100644
index 0000000..fde26d9
--- /dev/null
+++ b/apps/docs/app/llms.mdx/docs/[[...slug]]/route.ts
@@ -0,0 +1,20 @@
+import { getLLMText, source } from '@/lib/source';
+import { notFound } from 'next/navigation';
+
+export const revalidate = false;
+
+export async function GET(_req: Request, { params }: RouteContext<'/llms.mdx/docs/[[...slug]]'>) {
+ const { slug } = await params;
+ const page = source.getPage(slug);
+ if (!page) notFound();
+
+ return new Response(await getLLMText(page), {
+ headers: {
+ 'Content-Type': 'text/markdown',
+ },
+ });
+}
+
+export function generateStaticParams() {
+ return source.generateParams();
+}
diff --git a/apps/docs/app/llms.txt/route.ts b/apps/docs/app/llms.txt/route.ts
new file mode 100644
index 0000000..6639c25
--- /dev/null
+++ b/apps/docs/app/llms.txt/route.ts
@@ -0,0 +1,13 @@
+import { source } from '@/lib/source';
+
+export const revalidate = false;
+
+export async function GET() {
+ const lines: string[] = [];
+ lines.push('# Documentation');
+ lines.push('');
+ for (const page of source.getPages()) {
+ lines.push(`- [${page.data.title}](${page.url}): ${page.data.description}`);
+ }
+ return new Response(lines.join('\n'));
+}
diff --git a/apps/docs/app/og/docs/[...slug]/route.tsx b/apps/docs/app/og/docs/[...slug]/route.tsx
new file mode 100644
index 0000000..b29e8d6
--- /dev/null
+++ b/apps/docs/app/og/docs/[...slug]/route.tsx
@@ -0,0 +1,27 @@
+import { getPageImage, source } from '@/lib/source';
+import { notFound } from 'next/navigation';
+import { ImageResponse } from 'next/og';
+import { generate as DefaultImage } from 'fumadocs-ui/og';
+
+export const revalidate = false;
+
+export async function GET(_req: Request, { params }: RouteContext<'/og/docs/[...slug]'>) {
+ const { slug } = await params;
+ const page = source.getPage(slug.slice(0, -1));
+ if (!page) notFound();
+
+ return new ImageResponse(
+ ,
+ {
+ width: 1200,
+ height: 630,
+ }
+ );
+}
+
+export function generateStaticParams() {
+ return source.getPages().map((page) => ({
+ lang: page.locale,
+ slug: getPageImage(page).segments,
+ }));
+}
diff --git a/apps/docs/components/ai/page-actions.tsx b/apps/docs/components/ai/page-actions.tsx
new file mode 100644
index 0000000..bfa507f
--- /dev/null
+++ b/apps/docs/components/ai/page-actions.tsx
@@ -0,0 +1,162 @@
+'use client';
+import { useMemo, useState } from 'react';
+import { Check, ChevronDown, Copy, ExternalLinkIcon, TextIcon } from 'lucide-react';
+import { cn } from '@/lib/cn';
+import { useCopyButton } from 'fumadocs-ui/utils/use-copy-button';
+import { buttonVariants } from 'fumadocs-ui/components/ui/button';
+import { Popover, PopoverContent, PopoverTrigger } from 'fumadocs-ui/components/ui/popover';
+
+const cache = new Map();
+
+export function LLMCopyButton({
+ /**
+ * A URL to fetch the raw Markdown/MDX content of page
+ */
+ markdownUrl,
+}: {
+ markdownUrl: string;
+}) {
+ const [isLoading, setLoading] = useState(false);
+ const [checked, onClick] = useCopyButton(async () => {
+ const cached = cache.get(markdownUrl);
+ if (cached) return navigator.clipboard.writeText(cached);
+
+ setLoading(true);
+
+ try {
+ await navigator.clipboard.write([
+ new ClipboardItem({
+ 'text/plain': fetch(markdownUrl).then(async (res) => {
+ const content = await res.text();
+ cache.set(markdownUrl, content);
+
+ return content;
+ }),
+ }),
+ ]);
+ } finally {
+ setLoading(false);
+ }
+ });
+
+ return (
+
+ {checked ? : }
+ Copy Markdown
+
+ );
+}
+
+export function ViewOptions({
+ markdownUrl,
+ githubUrl,
+}: {
+ /**
+ * A URL to the raw Markdown/MDX content of page
+ */
+ markdownUrl: string;
+
+ /**
+ * Source file URL on GitHub
+ */
+ githubUrl: string;
+}) {
+ const items = useMemo(() => {
+ const pageUrl = (globalThis as { location?: { href: string } }).location?.href ?? 'loading';
+ const q = `Read ${pageUrl}, I want to ask questions about it.`;
+
+ return [
+ {
+ title: 'Open in GitHub',
+ href: githubUrl,
+ icon: (
+
+ GitHub
+
+
+ ),
+ },
+ {
+ title: 'View as Markdown',
+ href: markdownUrl,
+ icon: ,
+ },
+ {
+ title: 'Open in ChatGPT',
+ href: `https://chatgpt.com/?${new URLSearchParams({
+ hints: 'search',
+ q,
+ })}`,
+ icon: (
+
+ OpenAI
+
+
+ ),
+ },
+ {
+ title: 'Open in Claude',
+ href: `https://claude.ai/new?${new URLSearchParams({
+ q,
+ })}`,
+ icon: (
+
+ Anthropic
+
+
+ ),
+ },
+ {
+ title: 'Open in Cursor',
+ icon: (
+
+ Cursor
+
+
+ ),
+ href: `https://cursor.com/link/prompt?${new URLSearchParams({
+ text: q,
+ })}`,
+ },
+ ];
+ }, [githubUrl, markdownUrl]);
+
+ return (
+
+
+ Open
+
+
+
+ {items.map((item) => (
+
+ {item.icon}
+ {item.title}
+
+
+ ))}
+
+
+ );
+}
diff --git a/apps/docs/content/docs/index.mdx b/apps/docs/content/docs/index.mdx
new file mode 100644
index 0000000..e29cc68
--- /dev/null
+++ b/apps/docs/content/docs/index.mdx
@@ -0,0 +1,7 @@
+---
+title: Introduction
+description: iCloud and Google Drive for React Native, simplified.
+---
+
+React Native Cloud Storage allows you to use iCloud (iOS only) and Google Drive as file storage in your
+React Native app.
diff --git a/apps/docs/content/docs/meta.json b/apps/docs/content/docs/meta.json
new file mode 100644
index 0000000..03502a2
--- /dev/null
+++ b/apps/docs/content/docs/meta.json
@@ -0,0 +1,5 @@
+{
+ "title": "React Native Cloud Storage",
+ "root": true,
+ "pages": ["index"]
+}
diff --git a/apps/docs/docs/api/CloudStorage.md b/apps/docs/docs/api/CloudStorage.md
deleted file mode 100644
index 0244c58..0000000
--- a/apps/docs/docs/api/CloudStorage.md
+++ /dev/null
@@ -1,283 +0,0 @@
----
-sidebar_position: 1
----
-
-# CloudStorage
-
-The `CloudStorage` class provides the core functionality of the library. File operations loosely follow the conventions of Node's `fs`.
-
-The class can both be used as a static class and be instantiated. This means you can use both `CloudStorage.readFile()` and `cloudStorageInstance.readFile()`. The former will use a default cloud storage provider based on the platform, while the latter will use a provider of your choice. [Learn more](../guides/using-multiple-providers). All file system operations are available on both the static class and instances, while the available configuration methods differ between the two (see below).
-
-```ts
-import { CloudStorage } from 'react-native-cloud-storage';
-```
-
-## Definitions
-
-### `path` / `remotePath` / `localPath`
-
-When a method takes a `path`, `remotePath` or `localPath` parameter, you should provide a full path on the remote cloud storage or local file system respectively with a leading slash, but no trailing slashes:
-
-- ❌ `some/file.txt`
-- ❌ `file:///some/file.txt`
-- ❌ `/some/directory/`
-- ✅ `/some/file.txt`
-- ✅ `/some/directory`
-
-:::caution
-
-When creating files or directories, always make sure that all parent directories in the tree already exist. Otherwise the library will throw a [`CloudStorageErrorCode.DIRECTORY_NOT_FOUND`](./enums/CloudStorageErrorCode).
-
-:::
-
-## Constructor
-
-### `new CloudStorage(provider, options)`
-
-Creates a new `CloudStorage` instance using the given provider.
-
-**Parameters**:
-
-- `provider` ([`CloudStorageProvider`](./enums/CloudStorageProvider)): Optional. The provider to use. Defaults to the default provider of the current platform.
-- `options` (`object`): Optional. The options to set for the provider. [See here](./enums/CloudStorageProvider#provider-options) for a list of available options per provider.
-
-## Configuration methods
-
-### `getDefaultInstance()`
-
-- **Available on static class**: ✅ Yes
-- **Available on instances**: ❌ No
-
-Gets the internal default instance of `CloudStorage`.
-
-**Returns**: The default `CloudStorage` instance, used when calling static methods.
-
-### `getDefaultProvider()`
-
-- **Available on static class**: ✅ Yes
-- **Available on instances**: ❌ No
-
-Gets the default cloud storage provider for the current platform.
-
-**Returns**: The default [`CloudStorageProvider`](./enums/CloudStorageProvider) for the current platform (e.g. [`CloudStorageProvider.ICloud`](./enums/CloudStorageProvider) on iOS and [`CloudStorageProvider.GoogleDrive`](./enums/CloudStorageProvider) on all other platforms).
-
-### `getProvider()`
-
-- **Available on static class**: ✅ Yes (gets the provider of the static default instance)
-- **Available on instances**: ✅ Yes
-
-Gets the cloud storage provider currently in use.
-
-**Returns**: The currently used [`CloudStorageProvider`](./enums/CloudStorageProvider).
-
-### `getProviderOptions()`
-
-- **Available on static class**: ✅ Yes (gets the options of the static default instance)
-- **Available on instances**: ✅ Yes
-
-Gets the currently set options of the current provider.
-
-**Returns**: The options of the given provider.
-
-### `getSupportedProviders()`
-
-- **Available on static class**: ✅ Yes
-- **Available on instances**: ❌ No
-
-Gets the list of supported cloud storage providers on the current platform.
-
-**Returns**: An array of [`CloudStorageProvider`](./enums/CloudStorageProvider) values.
-
-### `setProvider(provider)`
-
-- **Available on static class**: ✅ Yes (sets the provider of the static default instance)
-- **Available on instances**: ✅ Yes
-
-Sets the cloud storage provider to use.
-
-:::tip
-
-Use `Platform.select` to set the provider based on the platform:
-
-```ts
-import { Platform } from 'react-native';
-import { CloudStorage, CloudStorageProvider } from 'react-native-cloud-storage';
-
-CloudStorage.setProvider(
- Platform.select({
- ios: CloudStorageProvider.ICloud,
- default: CloudStorageProvider.GoogleDrive,
- })
-);
-```
-
-:::
-
-**Parameters**:
-
-- `provider` ([`CloudStorageProvider`](./enums/CloudStorageProvider)): Required. The provider to set.
-
-**Returns**: `void`.
-
-### `setProviderOptions(options)`
-
-- **Available on static class**: ✅ Yes (sets the options of the static default instance)
-- **Available on instances**: ✅ Yes
-
-Sets the options of the current provider. For a list of available options per provider, [see here](./enums/CloudStorageProvider#provider-options).
-
-**Parameters**:
-
-- `options` (`object`): Required. The options to set. [See here](./enums/CloudStorageProvider#provider-options) for a list of available options per provider.
-
-**Returns**: `void`.
-
-## File system operations
-
-All file system operations are available on both the static class and instances. When using the static class, the operation will be performed using the default provider (or the provider set via [`setProvider()`](#setproviderprovider)).
-
-### `appendFile(path, data, scope)`
-
-Appends the data to the file at the given path. Creates the file if it doesn't exist yet.
-
-**Parameters**:
-
-- `path` (`string`): Required. The path including the filename to append data to.
-- `content` (`string`): Required. The content to append.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves to `void` once the data has been appended.
-
-### `downloadFile(remotePath, localPath, scope)`
-
-Downloads the file at the given remote path to the given local path.
-
-**Parameters**:
-
-- `remotePath` (`string`): Required. The remote path of the file to download.
-- `localPath` (`string`): Required. The local path to download the file to, including the filename of the downloaded file.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves to `void` once the file has been downloaded.
-
-### `exists(path, scope)`
-
-Tests whether or not the file or directory at the given path exists.
-
-**Parameters**:
-
-- `path` (`string`): Required. The path to test.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves to a `boolean`. `true` if a file or directory exists at the given path, `false` otherwise.
-
-### `isCloudAvailable()`
-
-Tests whether or not the cloud storage is available.
-When using iCloud, this actually verifies with the system whether or not iCloud is available. This might not be the case right at app launch or when the user is not logged into iCloud.
-For Google Drive, this simply checks whether or not an access token has been set within the provider options.
-
-**Returns**: A `Promise` that resolves to a `boolean`. `true` if the cloud storage is available, `false` otherwise.
-
-### `mkdir(path, scope)`
-
-Creates a new directory at the given path.
-
-**Parameters**:
-
-- `path` (`string`): Required. The path of the new directory to create. All parent directories must already exist.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves once the directory has been created.
-
-### `readdir(path, scope)`
-
-Reads the files and directories contained in the directory at the given path. Does not include `.` and `..` entries.
-
-**Parameters**:
-
-- `path` (`string`): Required. The full pathname of the directory to read.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves to an array of `string`s containing the names of the files and directories in the given directory.
-
-### `readFile(path, scope)`
-
-Reads the file at the given path into a `string`.
-
-**Parameters**:
-
-- `path` (`string`): Required. The full pathname of the file to read.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves to a `string` containing the file's content.
-
-### `rmdir(path, options, scope)`
-
-Deletes the directory at the given path. Can optionally delete the directory including all its contents (recursively).
-
-**Parameters**:
-
-- `path` (`string`): Required. The full pathname of the directory to delete.
-- `options` (`{ recursive?: boolean }`): Optional. An object containing the `recursive` property which, if set to `true`, will delete the directory including all its contents (recursively). If set to `false` (or omitted), the library will throw a [`CloudStorageErrorCode.DIRECTORY_NOT_EMPTY`](./enums/CloudStorageErrorCode) if the directory is not empty. Defaults to `{ recursive: false }`.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves once the directory has been deleted.
-
-### `stat(path, scope)`
-
-Gets several file statistics of the file at the given path.
-
-**Parameters**:
-
-- `path` (`string`): Required. The full pathname of the file to stat.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves to [`CloudStorageFileStat`](./interfaces/CloudStorageFileStat) object containing the statistics.
-
-### `triggerSync(path, scope)`
-
-When a file has been uploaded to iCloud, it is not immediately synced across devices. In this case, those files will have an `.icloud` extension, so trying to read them will fail. This method will download the file from iCloud so you can safely process it afterwards. If it has already been synced, this will not do anything and immediately return. Does not have any effect on Google Drive.
-
-**Parameters**:
-
-- `path` (`string`): Required. The path including the filename to download.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves to `void` once the download has been triggered.
-
-### `unlink(path, scope)`
-
-Deletes the file at the given path.
-
-**Parameters**:
-
-- `path` (`string`): Required. The full pathname of the file to delete.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves to `void` once the file has been deleted.
-
-### `uploadFile(remotePath, localPath, options, scope)`
-
-Uploads the file at the given local path to the given remote path, creating it if it doesn't exist or overwriting it if it does.
-
-**Parameters**:
-
-- `remotePath` (`string`): Required. The remote path to upload to.
-- `localPath` (`string`): Required. The local path of the file to upload.
-- `options` (`{ mimeType: string }`): Required. The options for the upload. Must contain a `mimeType` property.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves to `void` once the file has been uploaded.
-
-### `writeFile(path, data, scope)`
-
-Writes the data to the given path. Creates the file if it doesn't exist yet and overwrites it otherwise.
-
-**Parameters**:
-
-- `path` (`string`): Required. The path including the filename to write to.
-- `content` (`string`): Required. The content to write.
-- `scope` ([`CloudStorageScope`](./enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](./enums/CloudStorageScope), unless the default scope has been changed via [`setProviderOptions()`](#setprovideroptionsoptions).
-
-**Returns**: A `Promise` that resolves to `void` once the file has been written.
diff --git a/apps/docs/docs/api/CloudStorageError.md b/apps/docs/docs/api/CloudStorageError.md
deleted file mode 100644
index 0c30b7c..0000000
--- a/apps/docs/docs/api/CloudStorageError.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-sidebar_position: 2
----
-
-# CloudStorageError
-
-`CloudStorageError` is a custom error class which wraps most of the errors produced by the library.
-
-```ts
-import { CloudStorageError } from 'react-native-cloud-storage';
-```
-
-## API
-
-The class provides three properties:
-
-- `message` (`string`): The error message.
-- `code` ([`CloudStorageErrorCode`](./enums/CloudStorageErrorCode)): The error code which can be used to determine the type of the error.
-- `details` (`any`): Optionally, any details like raw errors.
-
-## Example
-
-```ts
-import { CloudStorage, CloudStorageError, CloudStorageErrorCode } from 'react-native-cloud-storage';
-
-try {
- await CloudStorage.stat('test.txt');
-} catch (e: unknown) {
- if (e instanceof CloudStorageError && e.code === CloudStorageErrorCode.FILE_NOT_FOUND) {
- console.log('File not found');
- } else {
- console.warn(e);
- }
-}
-```
diff --git a/apps/docs/docs/api/_category_.json b/apps/docs/docs/api/_category_.json
deleted file mode 100644
index 7e1d166..0000000
--- a/apps/docs/docs/api/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "API Reference",
- "position": 3
-}
diff --git a/apps/docs/docs/api/enums/CloudStorageErrorCode.md b/apps/docs/docs/api/enums/CloudStorageErrorCode.md
deleted file mode 100644
index dd05851..0000000
--- a/apps/docs/docs/api/enums/CloudStorageErrorCode.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-sidebar_position: 3
----
-
-# CloudStorageErrorCode
-
-`CloudStorageErrorCode` is a TypeScript enum containing the possible error codes of a [`CloudStorageError`](../CloudStorageError).
-
-```ts
-import { CloudStorageErrorCode } from 'react-native-cloud-storage';
-```
-
-## Definition
-
-```ts
-enum CloudStorageErrorCode {
- INVALID_SCOPE = 'ERR_INVALID_SCOPE',
- FILE_NOT_FOUND = 'ERR_FILE_NOT_FOUND',
- PATH_IS_DIRECTORY = 'ERR_PATH_IS_DIRECTORY',
- PATH_IS_FILE = 'ERR_PATH_IS_FILE',
- DIRECTORY_NOT_FOUND = 'ERR_DIRECTORY_NOT_FOUND',
- DIRECTORY_NOT_EMPTY = 'ERR_DIRECTORY_NOT_EMPTY',
- FILE_ALREADY_EXISTS = 'ERR_FILE_EXISTS', // also used when a directory already exists
- MULTIPLE_FILES_SAME_NAME = 'ERR_MULTIPLE_FILES_SAME_NAME',
- AUTHENTICATION_FAILED = 'ERR_AUTHENTICATION_FAILED',
- WRITE_ERROR = 'ERR_WRITE_ERROR',
- READ_ERROR = 'ERR_READ_ERROR',
- DELETE_ERROR = 'ERR_DELETE_ERROR',
- STAT_ERROR = 'ERR_STAT_ERROR',
- UNKNOWN = 'ERR_UNKNOWN',
- FILE_NOT_DOWNLOADABLE = 'ERR_FILE_NOT_DOWNLOADABLE',
- ACCESS_TOKEN_MISSING = 'ERR_ACCESS_TOKEN_MISSING',
- INVALID_URL = 'ERR_INVALID_URL',
- NETWORK_ERROR = 'ERR_NETWORK_ERROR',
-}
-```
-
-When using pure JavaScript, simply use the corresponding values:
-
-```js
-if (e instanceof CloudStorageError && e.code === 'FILE_NOT_FOUND') {
- /* do something */
-}
-```
diff --git a/apps/docs/docs/api/enums/CloudStorageProvider.md b/apps/docs/docs/api/enums/CloudStorageProvider.md
deleted file mode 100644
index 410dbfc..0000000
--- a/apps/docs/docs/api/enums/CloudStorageProvider.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-sidebar_position: 1
----
-
-# CloudStorageProvider
-
-The `CloudStorageProvider` defines which cloud storage is used. Currently, only iCloud and Google Drive are supported.
-
-By default, the provider is set based on the device's platform. On iOS, iCloud is used, while on all other platforms, Google Drive is used. This can be overriden by calling [`setProvider()`](../CloudStorage#setproviderprovider). You can therefore optionally use Google Drive on iOS, too, instead of iCloud.
-
-```ts
-import { CloudStorageScope } from 'react-native-cloud-storage';
-```
-
-## Definition
-
-```ts
-enum CloudStorageProvider {
- ICloud = 'icloud',
- GoogleDrive = 'googledrive',
-}
-```
-
-When using pure JavaScript, simply use the corresponding values:
-
-```js
-CloudStorage.setProvider('googledrive');
-```
-
-## Provider options
-
-The provider options can be set via [`setProviderOptions()`](../CloudStorage#setprovideroptionsoptions). The following options are available:
-
-### `CloudStorageProvider.ICloud`
-
-- `scope` (`CloudStorageScope`): The directory scope to use. Default: `CloudStorageScope.AppData`.
-- `documentsMode` (`'icloud' | 'legacy_sandbox'`): Defines how `CloudStorageScope.Documents` is resolved. Use `'icloud'` for the iCloud `Documents` folder (default) or `'legacy_sandbox'` to use the local app sandbox `Documents` folder (which was the default before react-native-cloud-storage v3).
-
-If you need to move existing files from legacy sandbox storage into the user-facing iCloud Documents folder, see [this migration guide](../../guides/migrating-icloud-documents).
-
-### `CloudStorageProvider.GoogleDrive`
-
-- `accessToken` (`string`): The access token to use. Required.
-- `scope` (`CloudStorageScope`): The directory scope to use. Default: `CloudStorageScope.AppData`.
-- `strictFilenames` (`boolean`): If set to `true`, the library will check for files with duplicate filenames and throw an error if found. File operations will not be carried out in that case. For more information, [see here](../../guides/google-drive-files-same-name). Default: `false`.
-- `timeout` (`number`): The timeout in milliseconds for requests. Default: 3000.
diff --git a/apps/docs/docs/api/enums/CloudStorageScope.md b/apps/docs/docs/api/enums/CloudStorageScope.md
deleted file mode 100644
index 182cfe8..0000000
--- a/apps/docs/docs/api/enums/CloudStorageScope.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-sidebar_position: 2
----
-
-# CloudStorageScope
-
-`CloudStorageScope` is a TypeScript enum containing the possible values for the `scope` parameters of the rest of the API.
-
-Available scopes are `documents` and `app_data`. When using `documents`, data will be stored in the user-visible root directory of the cloud storage. When using `app_data`, the directory for app-specific data, usually hidden from the user, will be used. By default, all methods will use the `app_data` scope. This can either be overriden by explicitly providing a scope to the method or by setting a default scope on the provider using [`setProviderOptions({ scope })`](../CloudStorage#setprovideroptionsoptions). On iCloud, you can temporarily opt into the old sandbox-based behavior of `documents` with [`documentsMode: 'legacy_sandbox'`](./CloudStorageProvider#provider-options).
-
-```ts
-import { CloudStorageScope } from 'react-native-cloud-storage';
-```
-
-## Definition
-
-```ts
-enum CloudStorageScope {
- Documents = 'documents',
- AppData = 'app_data',
-}
-```
-
-When using pure JavaScript, simply use the corresponding values:
-
-```js
-CloudStorage.exists('/test.txt', 'documents');
-```
diff --git a/apps/docs/docs/api/enums/_category_.json b/apps/docs/docs/api/enums/_category_.json
deleted file mode 100644
index ab2a23e..0000000
--- a/apps/docs/docs/api/enums/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Enums",
- "position": 5
-}
diff --git a/apps/docs/docs/api/hooks/_category_.json b/apps/docs/docs/api/hooks/_category_.json
deleted file mode 100644
index 5080206..0000000
--- a/apps/docs/docs/api/hooks/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Hooks",
- "position": 3
-}
diff --git a/apps/docs/docs/api/hooks/useCloudFile.md b/apps/docs/docs/api/hooks/useCloudFile.md
deleted file mode 100644
index fbae271..0000000
--- a/apps/docs/docs/api/hooks/useCloudFile.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-sidebar_position: 1
----
-
-# useCloudFile
-
-The `useCloudFile` hook is a helper hook designed to improve the developer experience when working with a single file in the cloud. This is especially useful when, for example, working with a single file containing the app's state as backup.
-
-```ts
-import { useCloudFile } from 'react-native-cloud-storage';
-```
-
-## API
-
-**Parameters**:
-
-- `path` (`string`): Required. The full pathname of the file to use. See [the definition of this parameter in `CloudStorage`](../CloudStorage#path).
-- `scope` ([`CloudStorageScope`](../enums/CloudStorageScope)): Optional. The storage scope (documents/app data) to use. Defaults to [`CloudStorageScope.AppData`](../enums/CloudStorageScope), unless the default scope of the provider has been changed via [`setProviderOptions()`](../CloudStorage#setprovideroptionsoptions).
-- `cloudStorageInstance` ([`CloudStorage`](../CloudStorage)): Optional. An instance of [`CloudStorage`](../CloudStorage). If not specified, the default static instance will be used.
-
-**Returns**: An object containing the following properties:
-
-- `content`: The content of the file (`string`, or `null` if the file does not exist).
-- `sync()`: Function to sync the file's content from iCloud to the device. Refer to [`triggerSync()`](../CloudStorage#triggersyncpath-scope) for more information.
-- `read()`: Function to re-read the file (automatically called on every `write` call and change of `path` or `scope`).
-- `write(newContent)`: Function to write the content of the first parameter (`string`) to the file. **Note**: This will overwrite the file's current content. Automatically calls `read()` afterwards.
-- `remove()`: Function to delete the file.
-
-## Example
-
-```tsx
-import React, { useState, useEffect } from 'react';
-import { useCloudFile } from 'react-native-cloud-storage';
-
-const App: React.FC = () => {
- const { content, read, write, remove } = useCloudFile('/test.txt');
-
- const [counter, setCounter] = useState(0);
-
- useEffect(() => {
- write(counter);
- }, [counter]);
-
- const increase = () => {
- setCounter((prevCounter) => prevCounter + 1);
- };
-
- return (
-
- {content ?? 'File not found'}
-
-
-
-
- );
-};
-```
diff --git a/apps/docs/docs/api/hooks/useIsCloudAvailable.md b/apps/docs/docs/api/hooks/useIsCloudAvailable.md
deleted file mode 100644
index f420b21..0000000
--- a/apps/docs/docs/api/hooks/useIsCloudAvailable.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-sidebar_position: 2
----
-
-# useIsCloudAvailable
-
-The `useIsCloudAvailable` hook listens to changes in the availability of the cloud storage. For iCloud, it listens to native system events that notify you once iCloud becomes available or unavailable. The iCloud storage might become unavailable when, for example, the user logs out of iCloud. On Google Drive, this hook simply listens to changes of the access token set via [`setProviderOptions()`](../CloudStorage#setprovideroptionsoptions) and returns `true` if an access token is set, `false` otherwise.
-
-This is helpful when you want to read from the cloud storage on app launch, as reading from iCloud without waiting for the storage to be available will block the main thread.
-
-```ts
-import { useIsCloudAvailable } from 'react-native-cloud-storage';
-```
-
-## API
-
-**Parameters**:
-
-- `cloudStorageInstance` ([`CloudStorage`](../CloudStorage)): Optional. An instance of [`CloudStorage`](../CloudStorage). If not specified, the default static instance will be used.
-
-**Returns**: A `boolean` which is `true` if the cloud storage is online, `false` otherwise. For a more specific definition, [see here](../CloudStorage#iscloudavailable).
diff --git a/apps/docs/docs/api/interfaces/CloudStorageFileStat.md b/apps/docs/docs/api/interfaces/CloudStorageFileStat.md
deleted file mode 100644
index 414a428..0000000
--- a/apps/docs/docs/api/interfaces/CloudStorageFileStat.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-sidebar_position: 1
----
-
-# CloudStorageFileStat
-
-A `CloudStorageFileStat` is returned by the [`CloudStorage.stat()`](../CloudStorage#statpath-scope) method and contains several statistics about the file.
-
-## API
-
-The `CloudStorageFileStat` object has the following properties:
-
-- `size` (`number`): The filesize in bytes. If no size could be determined, this is `0`.
-- `birthtimeMs` (`number`): The timestamp in milliseconds indicating the creation time of the file.
-- `mtimeMs` (`number`): The timestamp in milliseconds indicating the time of the last modification of the file.
-- `birthtime` (`Date`): A date object created from `birthtimeMs`.
-- `mtime` (`Date`): A date object created from `mtimeMs`.
-- `isDirectory()` (`() => boolean`): A function that returns a `boolean` determining whether or not this is a directory.
-- `isFile()` (`() => boolean`): A function that returns a `boolean` determining whether or not this is a file.
diff --git a/apps/docs/docs/api/interfaces/_category_.json b/apps/docs/docs/api/interfaces/_category_.json
deleted file mode 100644
index a0bc0b3..0000000
--- a/apps/docs/docs/api/interfaces/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Interfaces",
- "position": 4
-}
diff --git a/apps/docs/docs/example.md b/apps/docs/docs/example.md
deleted file mode 100644
index fa5a7e3..0000000
--- a/apps/docs/docs/example.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-sidebar_position: 5
----
-
-# Example Project
-
-An example project is available within the [`example` directory](https://github.com/Kuatsu/react-native-cloud-storage/tree/master/example) of the GitHub repository. It demonstrates all functionality the library provides.
-
-## iOS Setup
-
-When setting up the example project for iOS, you will need to follow the [iOS installation steps](./installation/react-native) in order to provide your own iCloud container.
-
-## Android Setup
-
-If you want to set up the example project for Android, you'll need a valid access token for the Google Drive API. You can create one using the [Google OAuth 2.0 Playground](https://developers.google.com/oauthplayground). Select the following scopes from "Drive API v3":
-
-- https://www.googleapis.com/auth/drive (if you want to use `CloudStorageScope.Documents`)
-- https://www.googleapis.com/auth/drive.appdata
-
-Then generate an authorization code and exchange it for an access token. Once you have the access token, you can make your life easier by using `adb shell input text '{some_token}'` if you're using an emulator, which feeds the token into it (make sure to tap into the text input field first).
diff --git a/apps/docs/docs/guides/_category_.json b/apps/docs/docs/guides/_category_.json
deleted file mode 100644
index 3fe62f0..0000000
--- a/apps/docs/docs/guides/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Guides & Tips",
- "position": 4
-}
diff --git a/apps/docs/docs/guides/google-drive-files-same-name.md b/apps/docs/docs/guides/google-drive-files-same-name.md
deleted file mode 100644
index a0381ec..0000000
--- a/apps/docs/docs/guides/google-drive-files-same-name.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-sidebar_position: 2
----
-
-# Handling multiple files with the same name in Google Drive
-
-Google Drive has a little peculiarity as in that there can be multiple files (or even directories) with the same name in the same parent directory. Under the hood, files are uniquely identified by a file ID instead of their name and directories are actually simply files with a custom MIME type. As iCloud does not behave in such a way, this library will default to the first file found to ensure best compatibility between the two cloud storages.
-
-However, this might not always be desired by the user, especially when working in the [`CloudStorageScope.Documents` scope](../api/enums/CloudStorageScope).
-
-:::tip
-
-When only working in the `CloudStorageScope.AppData` scope, which should be the case for most apps (and which is also the default behavior of this library), you don't really need to pay attention to this issue as `react-native-cloud-storage` will never create multiple files with the same filename in the same directory. Therefore, this only becomes an issue within this scope if you're accessing the same app data container from outside `react-native-cloud-storage` and create multiple files with the same filename yourself.
-
-:::
-
-## Throwing an error
-
-By default, the library will not throw when there are multiple files with the same name detected but instead default to the first one returned by the Google Drive API. You can however opt into throwing. Please note however that this will render the library completely useless for such cases until the user manually "fixed" this by renaming the files in his Google Drive, as the library will throw before performing any file operations. Behind the scenes, the library will always list all files first to get the file id of the given pathname in order to perform actual actions on this file. Throwing an error will already occur when there are multiple files with the same name detected on this step.
-
-If you do wish to enable throwing, simply call [`CloudStorage.setProviderOptions({ strictFilenames: true })`](../api/CloudStorage#setprovideroptionsoptions) on a `CloudStorage` instance set to Google Drive. The library will then throw a [`CloudStorageError`](../api/CloudStorageError) with the code [`CloudStorageErrorCode.MULTIPLE_FILES_SAME_NAME`](../api/enums/CloudStorageErrorCode). Again, this will only affect Google Drive and not have any effect on other providers such as iCloud, which do not allow same filenames on different files within the same directory.
diff --git a/apps/docs/docs/guides/migrating-icloud-documents.md b/apps/docs/docs/guides/migrating-icloud-documents.md
deleted file mode 100644
index 6bb70b7..0000000
--- a/apps/docs/docs/guides/migrating-icloud-documents.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-sidebar_position: 3
----
-
-# Migrating iCloud `Documents` from legacy sandbox storage
-
-Before version 3, the `CloudStorageScope.Documents` incorrectly pointed to a local app sandbox `Documents` directory on iCloud. In version 3, this was fixed and the scope now points to the user-facing Documents folder on iCloud Drive instead.
-
-If you shipped that behavior and now want to move users to real iCloud Documents, use the iCloud provider option `documentsMode` to read legacy files and copy them over once.
-
-## Step 1: Create two iCloud instances
-
-```ts
-import { CloudStorage, CloudStorageProvider, CloudStorageScope } from 'react-native-cloud-storage';
-
-const legacyICloudStorage = new CloudStorage(CloudStorageProvider.ICloud, {
- scope: CloudStorageScope.Documents,
- documentsMode: 'legacy_sandbox',
-});
-
-const iCloudStorage = new CloudStorage(CloudStorageProvider.ICloud, {
- scope: CloudStorageScope.Documents,
- // `documentsMode` defaults to `icloud`, so we can omit it here
-});
-```
-
-## Step 2: Copy files recursively
-
-```ts
-const toChildPath = (parentPath: string, name: string): string => {
- return parentPath === '/' ? `/${name}` : `${parentPath}/${name}`;
-};
-
-const migrateDirectory = async (directoryPath = '/'): Promise => {
- const entries = await legacyICloudStorage.readdir(directoryPath, CloudStorageScope.Documents);
-
- for (const entry of entries) {
- const sourcePath = toChildPath(directoryPath, entry);
- const sourceStat = await legacyICloudStorage.stat(sourcePath, CloudStorageScope.Documents);
-
- if (sourceStat.isDirectory()) {
- const targetDirectoryExists = await iCloudStorage.exists(sourcePath, CloudStorageScope.Documents);
- if (!targetDirectoryExists) {
- await iCloudStorage.mkdir(sourcePath, CloudStorageScope.Documents);
- }
-
- await migrateDirectory(sourcePath);
- continue;
- }
-
- const fileContent = await legacyICloudStorage.readFile(sourcePath, CloudStorageScope.Documents);
- await iCloudStorage.writeFile(sourcePath, fileContent, CloudStorageScope.Documents);
- }
-};
-```
-
-## Step 3: Run once
-
-Run this migration once per user (for example, guarded by your own persisted "migration complete" flag).
-
-After migration, use only `documentsMode: 'icloud'` (or omit `documentsMode`, since `icloud` is the default).
diff --git a/apps/docs/docs/guides/using-multiple-providers.md b/apps/docs/docs/guides/using-multiple-providers.md
deleted file mode 100644
index effbe04..0000000
--- a/apps/docs/docs/guides/using-multiple-providers.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-sidebar_position: 1
----
-
-# Using multiple Cloud Storage Providers
-
-By default, the [`CloudStorage`](../api/CloudStorage) API will use a default storage provider based on the platform (CloudKit for iOS, Google Drive for all other platforms).
-
-If you want to use _one specific provider_ in your app for all platforms, you can override the default provider used by the static default instance by calling [`CloudStorage.setProvider()`](../api/CloudStorage#setproviderprovider) statically.
-
-If you want to use _multiple providers_ in your app, you can get a new instance of the `CloudStorage` API and specify a provider in the constructor. This can be useful if you want to provide multiple cloud backup options to the user at the same time, allowing him to backup his files to iCloud and Google Drive simultaneously.
-
-## Example
-
-```ts
-import { CloudStorageProvider, CloudStorageScope, CloudStorage } from 'react-native-cloud-storage';
-
-// WARNING: This will throw an error if the iCloud provider is not available on the platform (i.e. not on iOS)
-const iCloudStorage = new CloudStorage(CloudStorageProvider.ICloud);
-
-// You can pass provider options directly in the constructor, or use `googleDriveStorage.setProviderOptions()`
-const googleDriveStorage = new CloudStorage(CloudStorageProvider.GoogleDrive, { accessToken: 'some_access_token' });
-
-// Then, use the provider-specific instances
-const handleSaveFileToICloud = async () => {
- await iCloudStorage.writeFile('/test.txt', 'Hello, iCloud!');
-};
-
-const handleSaveFileToGoogleDrive = async () => {
- await googleDriveStorage.writeFile('/test.txt', 'Hello, Google Drive!');
-};
-```
diff --git a/apps/docs/docs/installation/_category_.json b/apps/docs/docs/installation/_category_.json
deleted file mode 100644
index e111289..0000000
--- a/apps/docs/docs/installation/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Installation",
- "position": 2
-}
diff --git a/apps/docs/docs/installation/configure-google-drive.md b/apps/docs/docs/installation/configure-google-drive.md
deleted file mode 100644
index 362a781..0000000
--- a/apps/docs/docs/installation/configure-google-drive.md
+++ /dev/null
@@ -1,99 +0,0 @@
----
-sidebar_position: 3
----
-
-# Configure Google Drive API
-
-:::caution
-
-Please note that filenames are not unique in Google Drive. There can be multiple files with the same name within the same directory (even files and directories sharing the same name). By default, the library will not throw any errors when there are multiple files with the same name detected, but instead default to the first file found. However, this might be problematic when working with the [`CloudStorageScope.Documents` scope](../api/enums/CloudStorageScope). Please [see here](../guides/google-drive-files-same-name) for more info.
-
-:::
-
-:::info
-
-Be aware that all file operations on Google Drive will take severely more time than on iCloud. This is because iCloud is implemented using a direct native API that uses a local mirror of the cloud filesystem (CloudKit) while Google Drive is implemented using the HTTP REST API. A file read operation that might only take a split second on iCloud might take several seconds on Google Drive.
-
-:::
-
-While iCloud for iOS devices works out of the box, Google Drive support requires some additional setup. Specifically, you will need to get and provide an access token for the Google Drive API. This module does **not** provide any way of acquiring such a token from the user, as it is out of scope.
-
-You therefore need to acquire the token with another library. A popular choice is [`@react-native-google-signin/google-signin`](https://github.com/react-native-google-signin/google-signin). Whatever you do, you will also need a Google OAuth client ID in order to make authentication requests. The linked Expo module has good documentation on this topic. When creating this client ID, make sure to request at least the `https://www.googleapis.com/auth/drive.appdata` scope. This will allow you to use the [`CloudStorageScope.AppData`](../api/enums/CloudStorageScope) scope of this library. If you also want to access `CloudStorageScope.Documents`, you will also require the `https://www.googleapis.com/auth/drive` scope, which is a restricted Google API scope. This means your app needs to be audited in order to use it. For more documentation on this matter, consult the [Google documentation](https://developers.google.com/identity/protocols/oauth2/production-readiness/restricted-scope-verification).
-
-Once you have acquired an access token from the user, you will need to provide it to the library:
-
-```ts
-import { CloudStorage, CloudStorageProvider } from 'react-native-cloud-storage';
-if (CloudStorage.getProvider() === CloudStorageProvider.GoogleDrive) {
- CloudStorage.setProviderOptions({ accessToken: 'some_access_token' });
-}
-```
-
-Below is a more practical example of how this could look in action using the Expo AuthSession API:
-
-```tsx
-import { useEffect, useState } from 'react';
-import { StyleSheet, Text, View, Button } from 'react-native';
-import * as WebBrowser from 'expo-web-browser';
-import * as Google from 'expo-auth-session/providers/google';
-import { CloudStorage, CloudStorageProvider, CloudStorageScope } from 'react-native-cloud-storage';
-
-WebBrowser.maybeCompleteAuthSession();
-
-const App: React.FC = () => {
- const [accessToken, setAccessToken] = useState(null);
-
- const [request, response, promptAsync] = Google.useAuthRequest({
- androidClientId: 'GOOGLE_GUID.apps.googleusercontent.com',
- // if you're also deploying to web, uncomment the next line
- // webClientId: 'GOOGLE_GUID.apps.googleusercontent.com',
- scopes: ['https://www.googleapis.com/auth/drive.appdata'],
- });
-
- useEffect(() => {
- if (response?.type === 'success') {
- setAccessToken(response.authentication.accessToken);
- }
-
- if (accessToken && CloudStorage.getProvider() === CloudStorageProvider.GoogleDrive) {
- CloudStorage.setProviderOptions({ accessToken });
- }
- }, [response, accessToken]);
-
- const writeFileAsync = () => {
- return CloudStorage.writeFile('test.txt', 'Hello World', CloudStorageScope.AppData);
- };
-
- return (
-
- {CloudStorage.getProvider() === CloudStorageProvider.GoogleDrive && !accessToken ? (
- {
- promptAsync();
- }}
- />
- ) : (
- {
- writeFileAsync();
- }}
- />
- )}
-
- );
-};
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- backgroundColor: '#fff',
- alignItems: 'center',
- justifyContent: 'center',
- },
-});
-```
-
-Ultimately, you are responsible for acquiring and potentially refreshing the access token. Do note however, that this process only needs to be done when Google Drive is used and is not required on other providers such as iCloud.
diff --git a/apps/docs/docs/installation/expo.md b/apps/docs/docs/installation/expo.md
deleted file mode 100644
index 95f52b5..0000000
--- a/apps/docs/docs/installation/expo.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-sidebar_position: 1
----
-
-# Install in Expo Managed project
-
-:::caution
-
-This library is not compatible with Expo Go. You need to use a [development client](https://docs.expo.dev/development/create-development-builds/).
-
-:::
-
-:::info
-
-Newer versions of this library are only compatible with the New Architecture. If you're still using the Legacy Architecture, [consider migrating to the New Architecture](https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here). If you can't migrate yet, you can continue using version 2 of this library, which is compatible with both the New and Legacy Architectures. You can install it using `npm install react-native-cloud-storage@^2` or `yarn add react-native-cloud-storage@^2`.
-
-:::
-
-First, install the library using your favorite package manager:
-
-```sh
-npm install react-native-cloud-storage
-# or
-yarn add react-native-cloud-storage
-```
-
-Because this library includes native code, you will need to use an [Expo development client](https://docs.expo.dev/development/create-development-builds/). In order to make necessary changes to the iOS files, this library provides an Expo config plugin which makes those changes for you upon build. To use it, simply add the library to the `plugins` section of your `app.json`:
-
-```json
-{
- "expo": {
- "plugins": ["react-native-cloud-storage"]
- }
-}
-```
-
-There are a few options you can pass to the config plugin:
-
-- `iCloudContainerEnvironment`: Set the iCloud container environment. Can be `Production` or `Development`. Defaults to `Production`. [Learn more about this option.](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_icloud-container-environment)
-- `iCloudContainerIdentifier`: Manually set the iCloud container identifier. If not set, the container identifier will be derived from the app's bundle identifier (`iCloud.$BUNDLE_IDENTIFIER`).
-
-**Example:**
-
-```json
-{
- "expo": {
- "plugins": [
- [
- "react-native-cloud-storage",
- {
- "iCloudContainerEnvironment": "Development",
- "iCloudContainerIdentifier": "iCloud.mycompany.icloud"
- }
- ]
- ]
- }
-}
-```
-
-Finally, rebuild your development client and proceed with [the Google Drive configuration](./configure-google-drive).
diff --git a/apps/docs/docs/installation/react-native.md b/apps/docs/docs/installation/react-native.md
deleted file mode 100644
index f347877..0000000
--- a/apps/docs/docs/installation/react-native.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-sidebar_position: 2
----
-
-# Install in bare React Native project
-
-:::info
-
-Newer versions of this library are only compatible with the New Architecture. If you're still using the Legacy Architecture, [consider migrating to the New Architecture](https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here). If you can't migrate yet, you can continue using version 2 of this library, which is compatible with both the New and Legacy Architectures. You can install it using `npm install react-native-cloud-storage@^2` or `yarn add react-native-cloud-storage@^2`.
-
-:::
-
-First, install the library using your favorite package manager:
-
-```sh
-npm install react-native-cloud-storage
-# or
-yarn add react-native-cloud-storage
-```
-
-After installing the library itself, you will need to install the native iOS module (linking is done by React Native's autolinking) and configure iCloud within the native iOS files. First, install the pods:
-
-```sh
-cd ios && pod install && cd ..
-```
-
-Then, open your Xcode workspace. From there, find the main project target and open the section "Signing & Capabilities". Click on the "+ Capability" button to add a new capability. From there, add the "iCloud" capability. Once added, scroll down to the newly created capability and enable "iCloud Documents" from the "Services" section. Finally, add a new container called `iCloud.{bundle_identifier}` where `{bundle_identifier}` should be replaced with your project's bundle identifier.
-
-Once complete, it should look like this:
-
-
-
-Finally, proceed with [the Google Drive configuration](./configure-google-drive).
diff --git a/apps/docs/docs/intro.md b/apps/docs/docs/intro.md
deleted file mode 100644
index f1c1f9b..0000000
--- a/apps/docs/docs/intro.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-sidebar_position: 1
----
-
-# Introduction
-
-React Native Cloud Storage allows you to use iCloud (iOS only) and Google Drive as file storage in your React Native app. The API of its core functionality follows the conventions of the Node.js module `fs`. React hooks and other utilities make working with cloud files even easier.
diff --git a/apps/docs/docusaurus.config.ts b/apps/docs/docusaurus.config.ts
deleted file mode 100644
index 707e0f3..0000000
--- a/apps/docs/docusaurus.config.ts
+++ /dev/null
@@ -1,117 +0,0 @@
-import { themes as prismThemes } from 'prism-react-renderer';
-import type { Config } from '@docusaurus/types';
-import type * as Preset from '@docusaurus/preset-classic';
-
-// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
-
-const config: Config = {
- title: 'React Native Cloud Storage',
- tagline: 'iCloud and Google Drive for React Native, simplified.',
- favicon: 'img/favicon.ico',
-
- // Set the production url of your site here
- url: 'https://react-native-cloud-storage.oss.kuatsu.de',
- // Set the // pathname under which your site is served
- // For GitHub pages deployment, it is often '//'
- baseUrl: '/',
-
- // GitHub pages deployment config.
- // If you aren't using GitHub pages, you don't need these.
- organizationName: 'facebook', // Usually your GitHub org/user name.
- projectName: 'docusaurus', // Usually your repo name.
-
- onBrokenLinks: 'throw',
- onBrokenMarkdownLinks: 'warn',
-
- // Even if you don't use internationalization, you can use this field to set
- // useful metadata like html lang. For example, if your site is Chinese, you
- // may want to replace "en" with "zh-Hans".
- i18n: {
- defaultLocale: 'en',
- locales: ['en'],
- },
-
- presets: [
- [
- 'classic',
- {
- docs: {
- sidebarPath: './sidebars.ts',
- // Please change this to your repo.
- // Remove this to remove the "edit this page" links.
- editUrl: 'https://github.com/kuatsu/react-native-cloud-storage/tree/main/apps/docs',
- },
- theme: {
- customCss: './src/css/custom.css',
- },
- } satisfies Preset.Options,
- ],
- ],
-
- themeConfig: {
- // Replace with your project's social card
- // image: 'img/docusaurus-social-card.jpg',
- navbar: {
- title: 'React Native Cloud Storage',
- logo: {
- alt: 'React Native Cloud Storage',
- src: 'img/logo.png',
- },
- items: [
- {
- type: 'docSidebar',
- sidebarId: 'tutorialSidebar',
- position: 'right',
- label: 'Docs',
- },
- {
- href: 'https://github.com/kuatsu/react-native-cloud-storage/releases/latest',
- label: 'Latest Release',
- position: 'right',
- },
- {
- href: 'https://github.com/kuatsu/react-native-cloud-storage',
- label: 'GitHub',
- position: 'right',
- },
- ],
- },
- footer: {
- style: 'dark',
- links: [
- {
- title: 'Docs',
- items: [
- {
- label: 'Getting Started',
- to: '/docs/intro',
- },
- ],
- },
- {
- title: 'More',
- items: [
- {
- label: 'kuatsu.de',
- href: 'https://kuatsu.de',
- },
- ],
- },
- ],
- copyright: `Copyright © ${
- new Date().getFullYear() === 2023 ? '' : '2023-'
- }${new Date().getFullYear()} Kuatsu App Agency.`,
- },
- prism: {
- theme: prismThemes.github,
- darkTheme: prismThemes.dracula,
- },
- algolia: {
- appId: 'OFUZ8EY1AT',
- apiKey: 'df6a6580f66eefffb1dbb3342492bace',
- indexName: 'react-native-cloud-storage-oss-kuatsu',
- },
- } satisfies Preset.ThemeConfig,
-};
-
-export default config;
diff --git a/apps/docs/lib/cn.ts b/apps/docs/lib/cn.ts
new file mode 100644
index 0000000..ba66fd2
--- /dev/null
+++ b/apps/docs/lib/cn.ts
@@ -0,0 +1 @@
+export { twMerge as cn } from 'tailwind-merge';
diff --git a/apps/docs/lib/layout.shared.tsx b/apps/docs/lib/layout.shared.tsx
new file mode 100644
index 0000000..0a57865
--- /dev/null
+++ b/apps/docs/lib/layout.shared.tsx
@@ -0,0 +1,23 @@
+import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared';
+
+export const gitConfig = {
+ user: 'kuatsu',
+ repo: 'react-native-cloud-storage',
+ branch: 'main',
+};
+
+export function baseOptions(): BaseLayoutProps {
+ return {
+ nav: {
+ title: 'React Native Cloud Storage',
+ },
+ githubUrl: `https://github.com/${gitConfig.user}/${gitConfig.repo}`,
+ links: [
+ {
+ text: 'Latest Release',
+ url: `https://github.com/${gitConfig.user}/${gitConfig.repo}/releases/latest`,
+ external: true,
+ },
+ ],
+ };
+}
diff --git a/apps/docs/lib/source.ts b/apps/docs/lib/source.ts
new file mode 100644
index 0000000..2b2d52f
--- /dev/null
+++ b/apps/docs/lib/source.ts
@@ -0,0 +1,27 @@
+import { docs } from 'fumadocs-mdx:collections/server';
+import { type InferPageType, loader } from 'fumadocs-core/source';
+import { lucideIconsPlugin } from 'fumadocs-core/source/lucide-icons';
+
+// See https://fumadocs.dev/docs/headless/source-api for more info
+export const source = loader({
+ baseUrl: '/docs',
+ source: docs.toFumadocsSource(),
+ plugins: [lucideIconsPlugin()],
+});
+
+export function getPageImage(page: InferPageType) {
+ const segments = [...page.slugs, 'image.png'];
+
+ return {
+ segments,
+ url: `/og/docs/${segments.join('/')}`,
+ };
+}
+
+export async function getLLMText(page: InferPageType) {
+ const processed = await page.data.getText('processed');
+
+ return `# ${page.data.title}
+
+${processed}`;
+}
diff --git a/apps/docs/mdx-components.tsx b/apps/docs/mdx-components.tsx
new file mode 100644
index 0000000..fcfba82
--- /dev/null
+++ b/apps/docs/mdx-components.tsx
@@ -0,0 +1,13 @@
+import defaultMdxComponents from 'fumadocs-ui/mdx';
+import * as TabsComponents from 'fumadocs-ui/components/tabs';
+import { Callout } from 'fumadocs-ui/components/callout';
+import type { MDXComponents } from 'mdx/types';
+
+export function getMDXComponents(components?: MDXComponents): MDXComponents {
+ return {
+ ...defaultMdxComponents,
+ ...TabsComponents,
+ Callout,
+ ...components,
+ };
+}
diff --git a/apps/docs/next.config.mjs b/apps/docs/next.config.mjs
new file mode 100644
index 0000000..91c6ac1
--- /dev/null
+++ b/apps/docs/next.config.mjs
@@ -0,0 +1,18 @@
+import { createMDX } from 'fumadocs-mdx/next';
+
+const withMDX = createMDX();
+
+/** @type {import('next').NextConfig} */
+const config = {
+ reactStrictMode: true,
+ async rewrites() {
+ return [
+ {
+ source: '/docs/:path*.mdx',
+ destination: '/llms.mdx/docs/:path*',
+ },
+ ];
+ },
+};
+
+export default withMDX(config);
diff --git a/apps/docs/package.json b/apps/docs/package.json
index 5e86ea0..7dd6d0b 100644
--- a/apps/docs/package.json
+++ b/apps/docs/package.json
@@ -3,45 +3,34 @@
"version": "0.0.0",
"private": true,
"scripts": {
- "docusaurus": "docusaurus",
- "start": "docusaurus start",
- "build": "docusaurus build",
- "swizzle": "docusaurus swizzle",
- "deploy": "docusaurus deploy",
- "clear": "docusaurus clear",
- "serve": "docusaurus serve",
- "write-translations": "docusaurus write-translations",
- "write-heading-ids": "docusaurus write-heading-ids",
- "typecheck": "tsc --noEmit"
+ "dev": "fumadocs-mdx && next dev",
+ "build": "fumadocs-mdx && next build",
+ "start": "next start",
+ "typecheck": "fumadocs-mdx && next typegen && tsc --noEmit",
+ "postinstall": "fumadocs-mdx",
+ "clean": "rm -rf .next .source content/docs/api"
},
"dependencies": {
- "@docusaurus/core": "3.9.2",
- "@docusaurus/preset-classic": "3.9.2",
- "@mdx-js/react": "^3.0.0",
- "clsx": "^2.0.0",
- "prism-react-renderer": "^2.3.0",
- "react": "19.2.0",
- "react-dom": "19.2.0"
+ "fumadocs-core": "16.9.2",
+ "fumadocs-mdx": "15.0.9",
+ "fumadocs-ui": "16.9.2",
+ "lucide-react": "^0.575.0",
+ "next": "16.2.6",
+ "react": "19.2.3",
+ "react-dom": "19.2.3",
+ "tailwind-merge": "^3.5.0"
},
"devDependencies": {
- "@docusaurus/module-type-aliases": "3.9.2",
- "@docusaurus/tsconfig": "3.9.2",
- "@docusaurus/types": "3.9.2",
+ "@tailwindcss/postcss": "4.3.0",
+ "@types/mdx": "^2.0.13",
+ "@types/node": "^25.3.1",
+ "@types/react": "^19.2.14",
+ "@types/react-dom": "^19.2.3",
+ "postcss": "8.5.15",
+ "tailwindcss": "4.3.0",
+ "typedoc": "0.28.19",
+ "typedoc-plugin-frontmatter": "1.3.1",
+ "typedoc-plugin-markdown": "4.11.0",
"typescript": "~5.9.3"
- },
- "browserslist": {
- "production": [
- ">0.5%",
- "not dead",
- "not op_mini all"
- ],
- "development": [
- "last 3 chrome version",
- "last 3 firefox version",
- "last 5 safari version"
- ]
- },
- "engines": {
- "node": ">=18.0"
}
}
diff --git a/apps/docs/postcss.config.mjs b/apps/docs/postcss.config.mjs
new file mode 100644
index 0000000..297374d
--- /dev/null
+++ b/apps/docs/postcss.config.mjs
@@ -0,0 +1,7 @@
+const config = {
+ plugins: {
+ '@tailwindcss/postcss': {},
+ },
+};
+
+export default config;
diff --git a/apps/docs/static/img/favicon.ico b/apps/docs/public/favicon.ico
similarity index 100%
rename from apps/docs/static/img/favicon.ico
rename to apps/docs/public/favicon.ico
diff --git a/apps/docs/static/img/ios_installation.jpg b/apps/docs/public/ios_installation.jpg
similarity index 100%
rename from apps/docs/static/img/ios_installation.jpg
rename to apps/docs/public/ios_installation.jpg
diff --git a/apps/docs/static/img/logo.png b/apps/docs/public/logo.png
similarity index 100%
rename from apps/docs/static/img/logo.png
rename to apps/docs/public/logo.png
diff --git a/apps/docs/sidebars.ts b/apps/docs/sidebars.ts
deleted file mode 100644
index 68d3ae9..0000000
--- a/apps/docs/sidebars.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import type { SidebarsConfig } from '@docusaurus/plugin-content-docs';
-
-// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
-
-/**
- * Creating a sidebar enables you to:
- - create an ordered group of docs
- - render a sidebar for each doc of that group
- - provide next/previous navigation
-
- The sidebars can be generated from the filesystem, or explicitly defined here.
-
- Create as many sidebars as you want.
- */
-const sidebars: SidebarsConfig = {
- // By default, Docusaurus generates a sidebar from the docs folder structure
- tutorialSidebar: [{ type: 'autogenerated', dirName: '.' }],
-
- // But you can create a sidebar manually
- /*
- tutorialSidebar: [
- 'intro',
- 'hello',
- {
- type: 'category',
- label: 'Tutorial',
- items: ['tutorial-basics/create-a-document'],
- },
- ],
- */
-};
-
-export default sidebars;
diff --git a/apps/docs/source.config.ts b/apps/docs/source.config.ts
new file mode 100644
index 0000000..a5dfce3
--- /dev/null
+++ b/apps/docs/source.config.ts
@@ -0,0 +1,26 @@
+import { defineConfig, defineDocs, frontmatterSchema, metaSchema } from 'fumadocs-mdx/config';
+import { z } from 'zod';
+
+const docsFrontmatterSchema = frontmatterSchema.extend({
+ // Page-level badges, e.g. a symbol restricted to a single provider/platform.
+ badges: z.array(z.string().min(1)).optional(),
+ // Per-heading badges for API member pills, keyed by the rendered member heading text.
+ tocBadges: z.record(z.string(), z.array(z.string().min(1))).optional(),
+});
+
+export const docs = defineDocs({
+ dir: 'content/docs',
+ docs: {
+ schema: docsFrontmatterSchema,
+ postprocess: {
+ includeProcessedMarkdown: true,
+ },
+ },
+ meta: {
+ schema: metaSchema,
+ },
+});
+
+export default defineConfig({
+ mdxOptions: {},
+});
diff --git a/apps/docs/src/components/HomepageFeatures/index.tsx b/apps/docs/src/components/HomepageFeatures/index.tsx
deleted file mode 100644
index 76261da..0000000
--- a/apps/docs/src/components/HomepageFeatures/index.tsx
+++ /dev/null
@@ -1,70 +0,0 @@
-/* eslint-disable @typescript-eslint/no-require-imports,unicorn/prefer-module */
-import React, { ReactNode } from 'react';
-import clsx from 'clsx';
-import styles from './styles.module.css';
-
-type FeatureItem = {
- title: string;
- Svg: React.ComponentType>;
- description: ReactNode;
-};
-
-const FeatureList: FeatureItem[] = [
- {
- title: 'Easy to Use',
- Svg: require('@site/static/img/undraw_easy_to_use.svg').default,
- description: (
- <>
- React Native Cloud Storage reduces much of the boilerplate when it comes to working with cloud storage providers
- such as iCloud and Google Drive.
- >
- ),
- },
- {
- title: 'DX First',
- Svg: require('@site/static/img/undraw_dx.svg').default,
- description: (
- <>
- Developer experience is a top priority in our API design. All core functionality follows the conventions of
- Node.js's fs module.
- >
- ),
- },
- {
- title: 'Works with Expo',
- Svg: require('@site/static/img/undraw_expo.svg').default,
- description: (
- <>
- The library fully supports Expo using a config plugin. No need to eject to a bare workflow or pure React Native.
- >
- ),
- },
-];
-
-function Feature({ title, Svg, description }: FeatureItem) {
- return (
-
-
-
-
-
-
{title}
-
{description}
-
-
- );
-}
-
-export default function HomepageFeatures(): ReactNode {
- return (
-
-
-
- {FeatureList.map((props, index) => (
-
- ))}
-
-
-
- );
-}
diff --git a/apps/docs/src/components/HomepageFeatures/styles.module.css b/apps/docs/src/components/HomepageFeatures/styles.module.css
deleted file mode 100644
index b248eb2..0000000
--- a/apps/docs/src/components/HomepageFeatures/styles.module.css
+++ /dev/null
@@ -1,11 +0,0 @@
-.features {
- display: flex;
- align-items: center;
- padding: 2rem 0;
- width: 100%;
-}
-
-.featureSvg {
- height: 200px;
- width: 200px;
-}
diff --git a/apps/docs/src/css/custom.css b/apps/docs/src/css/custom.css
deleted file mode 100644
index e61c809..0000000
--- a/apps/docs/src/css/custom.css
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Any CSS included here will be global. The classic template
- * bundles Infima by default. Infima is a CSS framework designed to
- * work well for content-centric websites.
- */
-
-/* You can override the default Infima variables here. */
-:root {
- --ifm-color-primary: #0ea5e9;
- --ifm-color-primary-dark: #0284c7;
- --ifm-color-primary-darker: #0369a1;
- --ifm-color-primary-darkest: ##075985;
- --ifm-color-primary-light: #38bdf8;
- --ifm-color-primary-lighter: #7dd3fc;
- --ifm-color-primary-lightest: #bae6fd;
- --ifm-code-font-size: 95%;
- --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
-}
-
-/* For readability concerns, you should choose a lighter palette in dark mode. */
-[data-theme='dark'] {
- --ifm-color-primary: #38bdf8;
- --ifm-color-primary-dark: #0ea5e9;
- --ifm-color-primary-darker: #0284c7;
- --ifm-color-primary-darkest: #0369a1;
- --ifm-color-primary-light: #7dd3fc;
- --ifm-color-primary-lighter: #bae6fd;
- --ifm-color-primary-lightest: #e0f2fe;
- --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
-}
diff --git a/apps/docs/src/pages/index.module.css b/apps/docs/src/pages/index.module.css
deleted file mode 100644
index 9f71a5d..0000000
--- a/apps/docs/src/pages/index.module.css
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * CSS files with the .module.css suffix will be treated as CSS modules
- * and scoped locally.
- */
-
-.heroBanner {
- padding: 4rem 0;
- text-align: center;
- position: relative;
- overflow: hidden;
-}
-
-@media screen and (max-width: 996px) {
- .heroBanner {
- padding: 2rem;
- }
-}
-
-.buttons {
- display: flex;
- align-items: center;
- justify-content: center;
-}
diff --git a/apps/docs/src/pages/index.tsx b/apps/docs/src/pages/index.tsx
deleted file mode 100644
index c099297..0000000
--- a/apps/docs/src/pages/index.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import React, { ReactNode } from 'react';
-import clsx from 'clsx';
-import Link from '@docusaurus/Link';
-import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
-import Layout from '@theme/Layout';
-import HomepageFeatures from '@site/src/components/HomepageFeatures';
-
-import styles from './index.module.css';
-
-function HomepageHeader() {
- const { siteConfig } = useDocusaurusContext();
- return (
-
-
-
{siteConfig.title}
-
{siteConfig.tagline}
-
-
- Get started →
-
-
-
-
- );
-}
-
-export default function Home(): ReactNode {
- const { siteConfig } = useDocusaurusContext();
- return (
-
-
-
-
-
-
- );
-}
diff --git a/apps/docs/src/pages/markdown-page.md b/apps/docs/src/pages/markdown-page.md
deleted file mode 100644
index 9756c5b..0000000
--- a/apps/docs/src/pages/markdown-page.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Markdown page example
----
-
-# Markdown page example
-
-You don't need React to write simple standalone pages.
diff --git a/apps/docs/static/.nojekyll b/apps/docs/static/.nojekyll
deleted file mode 100644
index e69de29..0000000
diff --git a/apps/docs/static/img/undraw_dx.svg b/apps/docs/static/img/undraw_dx.svg
deleted file mode 100644
index eaaff66..0000000
--- a/apps/docs/static/img/undraw_dx.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/docs/static/img/undraw_easy_to_use.svg b/apps/docs/static/img/undraw_easy_to_use.svg
deleted file mode 100644
index 98295c9..0000000
--- a/apps/docs/static/img/undraw_easy_to_use.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/docs/static/img/undraw_expo.svg b/apps/docs/static/img/undraw_expo.svg
deleted file mode 100644
index c06e996..0000000
--- a/apps/docs/static/img/undraw_expo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json
index 753df3d..ff00a09 100644
--- a/apps/docs/tsconfig.json
+++ b/apps/docs/tsconfig.json
@@ -1,10 +1,30 @@
{
- // This file is not used in compilation. It is here just for a nice editor experience.
- "extends": "../../tsconfig.json",
"compilerOptions": {
+ "baseUrl": ".",
+ "target": "ESNext",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "noEmit": true,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "bundler",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "react-jsx",
+ "incremental": true,
"paths": {
- "@site/*": ["./*"]
- }
+ "@/*": ["./*"],
+ "fumadocs-mdx:collections/*": [".source/*"]
+ },
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ]
},
- "exclude": [".docusaurus", "build"]
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", ".next/dev/types/**/*.ts"],
+ "exclude": ["node_modules"]
}
From 591db085ea02c3c6386607ca7f0f59f54947073d Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 18:25:39 +0200
Subject: [PATCH 02/16] feat(docs): migrate authored content to MDX
---
apps/docs/content/docs/example.mdx | 19 ++++
.../guides/google-drive-files-same-name.mdx | 18 ++++
.../guides/migrating-icloud-documents.mdx | 60 ++++++++++++
.../docs/guides/using-multiple-providers.mdx | 31 ++++++
apps/docs/content/docs/index.mdx | 3 +-
.../installation/configure-google-drive.mdx | 94 +++++++++++++++++++
apps/docs/content/docs/installation/expo.mdx | 55 +++++++++++
.../docs/installation/react-native.mdx | 30 ++++++
apps/docs/content/docs/meta.json | 13 ++-
9 files changed, 320 insertions(+), 3 deletions(-)
create mode 100644 apps/docs/content/docs/example.mdx
create mode 100644 apps/docs/content/docs/guides/google-drive-files-same-name.mdx
create mode 100644 apps/docs/content/docs/guides/migrating-icloud-documents.mdx
create mode 100644 apps/docs/content/docs/guides/using-multiple-providers.mdx
create mode 100644 apps/docs/content/docs/installation/configure-google-drive.mdx
create mode 100644 apps/docs/content/docs/installation/expo.mdx
create mode 100644 apps/docs/content/docs/installation/react-native.mdx
diff --git a/apps/docs/content/docs/example.mdx b/apps/docs/content/docs/example.mdx
new file mode 100644
index 0000000..f964081
--- /dev/null
+++ b/apps/docs/content/docs/example.mdx
@@ -0,0 +1,19 @@
+---
+title: Example Project
+description: Run the example app to see every feature of react-native-cloud-storage in action.
+---
+
+An example project is available within the [`apps/example` directory](https://github.com/kuatsu/react-native-cloud-storage/tree/main/apps/example) of the GitHub repository. It demonstrates all functionality the library provides.
+
+## iOS Setup
+
+When setting up the example project for iOS, you will need to follow the [iOS installation steps](/docs/installation/react-native) in order to provide your own iCloud container.
+
+## Android Setup
+
+If you want to set up the example project for Android, you'll need a valid access token for the Google Drive API. You can create one using the [Google OAuth 2.0 Playground](https://developers.google.com/oauthplayground). Select the following scopes from "Drive API v3":
+
+- https://www.googleapis.com/auth/drive (if you want to use `CloudStorageScope.Documents`)
+- https://www.googleapis.com/auth/drive.appdata
+
+Then generate an authorization code and exchange it for an access token. Once you have the access token, you can make your life easier by using `adb shell input text '{some_token}'` if you're using an emulator, which feeds the token into it (make sure to tap into the text input field first).
diff --git a/apps/docs/content/docs/guides/google-drive-files-same-name.mdx b/apps/docs/content/docs/guides/google-drive-files-same-name.mdx
new file mode 100644
index 0000000..a28957a
--- /dev/null
+++ b/apps/docs/content/docs/guides/google-drive-files-same-name.mdx
@@ -0,0 +1,18 @@
+---
+title: Handling multiple files with the same name in Google Drive
+description: Understand and optionally opt into strict filename handling when Google Drive contains multiple files with the same name.
+---
+
+Google Drive has a little peculiarity as in that there can be multiple files (or even directories) with the same name in the same parent directory. Under the hood, files are uniquely identified by a file ID instead of their name and directories are actually simply files with a custom MIME type. As iCloud does not behave in such a way, this library will default to the first file found to ensure best compatibility between the two cloud storages.
+
+However, this might not always be desired by the user, especially when working in the [`CloudStorageScope.Documents` scope](/docs/api/enumerations/CloudStorageScope).
+
+
+When only working in the `CloudStorageScope.AppData` scope, which should be the case for most apps (and which is also the default behavior of this library), you don't really need to pay attention to this issue as `react-native-cloud-storage` will never create multiple files with the same filename in the same directory. Therefore, this only becomes an issue within this scope if you're accessing the same app data container from outside `react-native-cloud-storage` and create multiple files with the same filename yourself.
+
+
+## Throwing an error
+
+By default, the library will not throw when there are multiple files with the same name detected but instead default to the first one returned by the Google Drive API. You can however opt into throwing. Please note however that this will render the library completely useless for such cases until the user manually "fixed" this by renaming the files in his Google Drive, as the library will throw before performing any file operations. Behind the scenes, the library will always list all files first to get the file id of the given pathname in order to perform actual actions on this file. Throwing an error will already occur when there are multiple files with the same name detected on this step.
+
+If you do wish to enable throwing, simply call [`CloudStorage.setProviderOptions({ strictFilenames: true })`](/docs/api/classes/CloudStorage#setprovideroptions) on a `CloudStorage` instance set to Google Drive. The library will then throw a [`CloudStorageError`](/docs/api/classes/CloudStorageError) with the code [`CloudStorageErrorCode.MULTIPLE_FILES_SAME_NAME`](/docs/api/enumerations/CloudStorageErrorCode). Again, this will only affect Google Drive and not have any effect on other providers such as iCloud, which do not allow same filenames on different files within the same directory.
diff --git a/apps/docs/content/docs/guides/migrating-icloud-documents.mdx b/apps/docs/content/docs/guides/migrating-icloud-documents.mdx
new file mode 100644
index 0000000..e176717
--- /dev/null
+++ b/apps/docs/content/docs/guides/migrating-icloud-documents.mdx
@@ -0,0 +1,60 @@
+---
+title: Migrating iCloud Documents from legacy sandbox storage
+description: Move existing files from the legacy app-sandbox Documents directory to the user-facing iCloud Drive Documents folder.
+---
+
+Before version 3, the `CloudStorageScope.Documents` incorrectly pointed to a local app sandbox `Documents` directory on iCloud. In version 3, this was fixed and the scope now points to the user-facing Documents folder on iCloud Drive instead.
+
+If you shipped that behavior and now want to move users to real iCloud Documents, use the iCloud provider option `documentsMode` to read legacy files and copy them over once.
+
+## Step 1: Create two iCloud instances
+
+```ts
+import { CloudStorage, CloudStorageProvider, CloudStorageScope } from 'react-native-cloud-storage';
+
+const legacyICloudStorage = new CloudStorage(CloudStorageProvider.ICloud, {
+ scope: CloudStorageScope.Documents,
+ documentsMode: 'legacy_sandbox',
+});
+
+const iCloudStorage = new CloudStorage(CloudStorageProvider.ICloud, {
+ scope: CloudStorageScope.Documents,
+ // `documentsMode` defaults to `icloud`, so we can omit it here
+});
+```
+
+## Step 2: Copy files recursively
+
+```ts
+const toChildPath = (parentPath: string, name: string): string => {
+ return parentPath === '/' ? `/${name}` : `${parentPath}/${name}`;
+};
+
+const migrateDirectory = async (directoryPath = '/'): Promise => {
+ const entries = await legacyICloudStorage.readdir(directoryPath, CloudStorageScope.Documents);
+
+ for (const entry of entries) {
+ const sourcePath = toChildPath(directoryPath, entry);
+ const sourceStat = await legacyICloudStorage.stat(sourcePath, CloudStorageScope.Documents);
+
+ if (sourceStat.isDirectory()) {
+ const targetDirectoryExists = await iCloudStorage.exists(sourcePath, CloudStorageScope.Documents);
+ if (!targetDirectoryExists) {
+ await iCloudStorage.mkdir(sourcePath, CloudStorageScope.Documents);
+ }
+
+ await migrateDirectory(sourcePath);
+ continue;
+ }
+
+ const fileContent = await legacyICloudStorage.readFile(sourcePath, CloudStorageScope.Documents);
+ await iCloudStorage.writeFile(sourcePath, fileContent, CloudStorageScope.Documents);
+ }
+};
+```
+
+## Step 3: Run once
+
+Run this migration once per user (for example, guarded by your own persisted "migration complete" flag).
+
+After migration, use only `documentsMode: 'icloud'` (or omit `documentsMode`, since `icloud` is the default).
diff --git a/apps/docs/content/docs/guides/using-multiple-providers.mdx b/apps/docs/content/docs/guides/using-multiple-providers.mdx
new file mode 100644
index 0000000..86219cb
--- /dev/null
+++ b/apps/docs/content/docs/guides/using-multiple-providers.mdx
@@ -0,0 +1,31 @@
+---
+title: Using multiple Cloud Storage Providers
+description: Override the default provider or create per-provider CloudStorage instances to back up to iCloud and Google Drive at the same time.
+---
+
+By default, the [`CloudStorage`](/docs/api/classes/CloudStorage) API will use a default storage provider based on the platform (CloudKit for iOS, Google Drive for all other platforms).
+
+If you want to use _one specific provider_ in your app for all platforms, you can override the default provider used by the static default instance by calling [`CloudStorage.setProvider()`](/docs/api/classes/CloudStorage#setprovider) statically.
+
+If you want to use _multiple providers_ in your app, you can get a new instance of the `CloudStorage` API and specify a provider in the constructor. This can be useful if you want to provide multiple cloud backup options to the user at the same time, allowing him to backup his files to iCloud and Google Drive simultaneously.
+
+## Example
+
+```ts
+import { CloudStorageProvider, CloudStorageScope, CloudStorage } from 'react-native-cloud-storage';
+
+// WARNING: This will throw an error if the iCloud provider is not available on the platform (i.e. not on iOS)
+const iCloudStorage = new CloudStorage(CloudStorageProvider.ICloud);
+
+// You can pass provider options directly in the constructor, or use `googleDriveStorage.setProviderOptions()`
+const googleDriveStorage = new CloudStorage(CloudStorageProvider.GoogleDrive, { accessToken: 'some_access_token' });
+
+// Then, use the provider-specific instances
+const handleSaveFileToICloud = async () => {
+ await iCloudStorage.writeFile('/test.txt', 'Hello, iCloud!');
+};
+
+const handleSaveFileToGoogleDrive = async () => {
+ await googleDriveStorage.writeFile('/test.txt', 'Hello, Google Drive!');
+};
+```
diff --git a/apps/docs/content/docs/index.mdx b/apps/docs/content/docs/index.mdx
index e29cc68..6f53fc8 100644
--- a/apps/docs/content/docs/index.mdx
+++ b/apps/docs/content/docs/index.mdx
@@ -3,5 +3,4 @@ title: Introduction
description: iCloud and Google Drive for React Native, simplified.
---
-React Native Cloud Storage allows you to use iCloud (iOS only) and Google Drive as file storage in your
-React Native app.
+React Native Cloud Storage allows you to use iCloud (iOS only) and Google Drive as file storage in your React Native app. The API of its core functionality follows the conventions of the Node.js module `fs`. React hooks and other utilities make working with cloud files even easier.
diff --git a/apps/docs/content/docs/installation/configure-google-drive.mdx b/apps/docs/content/docs/installation/configure-google-drive.mdx
new file mode 100644
index 0000000..015eec6
--- /dev/null
+++ b/apps/docs/content/docs/installation/configure-google-drive.mdx
@@ -0,0 +1,94 @@
+---
+title: Configure Google Drive API
+description: Acquire and provide a Google Drive access token so react-native-cloud-storage can read and write files on Google Drive.
+---
+
+
+Please note that filenames are not unique in Google Drive. There can be multiple files with the same name within the same directory (even files and directories sharing the same name). By default, the library will not throw any errors when there are multiple files with the same name detected, but instead default to the first file found. However, this might be problematic when working with the [`CloudStorageScope.Documents` scope](/docs/api/enumerations/CloudStorageScope). Please [see here](/docs/guides/google-drive-files-same-name) for more info.
+
+
+
+Be aware that all file operations on Google Drive will take severely more time than on iCloud. This is because iCloud is implemented using a direct native API that uses a local mirror of the cloud filesystem (CloudKit) while Google Drive is implemented using the HTTP REST API. A file read operation that might only take a split second on iCloud might take several seconds on Google Drive.
+
+
+While iCloud for iOS devices works out of the box, Google Drive support requires some additional setup. Specifically, you will need to get and provide an access token for the Google Drive API. This module does **not** provide any way of acquiring such a token from the user, as it is out of scope.
+
+You therefore need to acquire the token with another library. A popular choice is [`@react-native-google-signin/google-signin`](https://github.com/react-native-google-signin/google-signin). Whatever you do, you will also need a Google OAuth client ID in order to make authentication requests. The linked Expo module has good documentation on this topic. When creating this client ID, make sure to request at least the `https://www.googleapis.com/auth/drive.appdata` scope. This will allow you to use the [`CloudStorageScope.AppData`](/docs/api/enumerations/CloudStorageScope) scope of this library. If you also want to access `CloudStorageScope.Documents`, you will also require the `https://www.googleapis.com/auth/drive` scope, which is a restricted Google API scope. This means your app needs to be audited in order to use it. For more documentation on this matter, consult the [Google documentation](https://developers.google.com/identity/protocols/oauth2/production-readiness/restricted-scope-verification).
+
+Once you have acquired an access token from the user, you will need to provide it to the library:
+
+```ts
+import { CloudStorage, CloudStorageProvider } from 'react-native-cloud-storage';
+if (CloudStorage.getProvider() === CloudStorageProvider.GoogleDrive) {
+ CloudStorage.setProviderOptions({ accessToken: 'some_access_token' });
+}
+```
+
+Below is a more practical example of how this could look in action using the Expo AuthSession API:
+
+```tsx
+import { useEffect, useState } from 'react';
+import { StyleSheet, Text, View, Button } from 'react-native';
+import * as WebBrowser from 'expo-web-browser';
+import * as Google from 'expo-auth-session/providers/google';
+import { CloudStorage, CloudStorageProvider, CloudStorageScope } from 'react-native-cloud-storage';
+
+WebBrowser.maybeCompleteAuthSession();
+
+const App: React.FC = () => {
+ const [accessToken, setAccessToken] = useState(null);
+
+ const [request, response, promptAsync] = Google.useAuthRequest({
+ androidClientId: 'GOOGLE_GUID.apps.googleusercontent.com',
+ // if you're also deploying to web, uncomment the next line
+ // webClientId: 'GOOGLE_GUID.apps.googleusercontent.com',
+ scopes: ['https://www.googleapis.com/auth/drive.appdata'],
+ });
+
+ useEffect(() => {
+ if (response?.type === 'success') {
+ setAccessToken(response.authentication.accessToken);
+ }
+
+ if (accessToken && CloudStorage.getProvider() === CloudStorageProvider.GoogleDrive) {
+ CloudStorage.setProviderOptions({ accessToken });
+ }
+ }, [response, accessToken]);
+
+ const writeFileAsync = () => {
+ return CloudStorage.writeFile('test.txt', 'Hello World', CloudStorageScope.AppData);
+ };
+
+ return (
+
+ {CloudStorage.getProvider() === CloudStorageProvider.GoogleDrive && !accessToken ? (
+ {
+ promptAsync();
+ }}
+ />
+ ) : (
+ {
+ writeFileAsync();
+ }}
+ />
+ )}
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: '#fff',
+ alignItems: 'center',
+ justifyContent: 'center',
+ },
+});
+```
+
+Ultimately, you are responsible for acquiring and potentially refreshing the access token. Do note however, that this process only needs to be done when Google Drive is used and is not required on other providers such as iCloud.
diff --git a/apps/docs/content/docs/installation/expo.mdx b/apps/docs/content/docs/installation/expo.mdx
new file mode 100644
index 0000000..8589275
--- /dev/null
+++ b/apps/docs/content/docs/installation/expo.mdx
@@ -0,0 +1,55 @@
+---
+title: Install in Expo Managed project
+description: Add react-native-cloud-storage to an Expo managed project using the included config plugin.
+---
+
+
+This library is not compatible with Expo Go. You need to use a [development client](https://docs.expo.dev/development/create-development-builds/).
+
+
+
+Newer versions of this library are only compatible with the New Architecture. If you're still using the Legacy Architecture, [consider migrating to the New Architecture](https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here). If you can't migrate yet, you can continue using version 2 of this library, which is compatible with both the New and Legacy Architectures. You can install it using `npm install react-native-cloud-storage@^2` or `yarn add react-native-cloud-storage@^2`.
+
+
+First, install the library using your favorite package manager:
+
+```sh
+npm install react-native-cloud-storage
+# or
+yarn add react-native-cloud-storage
+```
+
+Because this library includes native code, you will need to use an [Expo development client](https://docs.expo.dev/development/create-development-builds/). In order to make necessary changes to the iOS files, this library provides an Expo config plugin which makes those changes for you upon build. To use it, simply add the library to the `plugins` section of your `app.json`:
+
+```json
+{
+ "expo": {
+ "plugins": ["react-native-cloud-storage"]
+ }
+}
+```
+
+There are a few options you can pass to the config plugin:
+
+- `iCloudContainerEnvironment`: Set the iCloud container environment. Can be `Production` or `Development`. Defaults to `Production`. [Learn more about this option.](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_icloud-container-environment)
+- `iCloudContainerIdentifier`: Manually set the iCloud container identifier. If not set, the container identifier will be derived from the app's bundle identifier (`iCloud.$BUNDLE_IDENTIFIER`).
+
+**Example:**
+
+```json
+{
+ "expo": {
+ "plugins": [
+ [
+ "react-native-cloud-storage",
+ {
+ "iCloudContainerEnvironment": "Development",
+ "iCloudContainerIdentifier": "iCloud.mycompany.icloud"
+ }
+ ]
+ ]
+ }
+}
+```
+
+Finally, rebuild your development client and proceed with [the Google Drive configuration](/docs/installation/configure-google-drive).
diff --git a/apps/docs/content/docs/installation/react-native.mdx b/apps/docs/content/docs/installation/react-native.mdx
new file mode 100644
index 0000000..ed785dd
--- /dev/null
+++ b/apps/docs/content/docs/installation/react-native.mdx
@@ -0,0 +1,30 @@
+---
+title: Install in bare React Native project
+description: Install react-native-cloud-storage in a bare React Native project and configure the native iCloud capability.
+---
+
+
+Newer versions of this library are only compatible with the New Architecture. If you're still using the Legacy Architecture, [consider migrating to the New Architecture](https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here). If you can't migrate yet, you can continue using version 2 of this library, which is compatible with both the New and Legacy Architectures. You can install it using `npm install react-native-cloud-storage@^2` or `yarn add react-native-cloud-storage@^2`.
+
+
+First, install the library using your favorite package manager:
+
+```sh
+npm install react-native-cloud-storage
+# or
+yarn add react-native-cloud-storage
+```
+
+After installing the library itself, you will need to install the native iOS module (linking is done by React Native's autolinking) and configure iCloud within the native iOS files. First, install the pods:
+
+```sh
+cd ios && pod install && cd ..
+```
+
+Then, open your Xcode workspace. From there, find the main project target and open the section "Signing & Capabilities". Click on the "+ Capability" button to add a new capability. From there, add the "iCloud" capability. Once added, scroll down to the newly created capability and enable "iCloud Documents" from the "Services" section. Finally, add a new container called `iCloud.{bundle_identifier}` where `{bundle_identifier}` should be replaced with your project's bundle identifier.
+
+Once complete, it should look like this:
+
+
+
+Finally, proceed with [the Google Drive configuration](/docs/installation/configure-google-drive).
diff --git a/apps/docs/content/docs/meta.json b/apps/docs/content/docs/meta.json
index 03502a2..cdd000b 100644
--- a/apps/docs/content/docs/meta.json
+++ b/apps/docs/content/docs/meta.json
@@ -1,5 +1,16 @@
{
"title": "React Native Cloud Storage",
"root": true,
- "pages": ["index"]
+ "pages": [
+ "index",
+ "---Installation---",
+ "installation/expo",
+ "installation/react-native",
+ "installation/configure-google-drive",
+ "---Guides & Tips---",
+ "guides/using-multiple-providers",
+ "guides/google-drive-files-same-name",
+ "guides/migrating-icloud-documents",
+ "example"
+ ]
}
From 31d3cd758890af372377b0ec5effd9e3a8201e77 Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 18:33:40 +0200
Subject: [PATCH 03/16] feat(docs): generate API reference from TypeDoc
---
apps/docs/config/api-reference.ts | 37 ++++++++
apps/docs/content/docs/meta.json | 2 +
apps/docs/lib/source.ts | 3 +-
.../lib/source/api-reference-tree-plugin.ts | 85 +++++++++++++++++++
apps/docs/package.json | 9 +-
apps/docs/scripts/typedoc-frontmatter.mts | 68 +++++++++++++++
apps/docs/typedoc.config.mts | 40 +++++++++
.../src/types/main.ts | 5 +-
8 files changed, 243 insertions(+), 6 deletions(-)
create mode 100644 apps/docs/config/api-reference.ts
create mode 100644 apps/docs/lib/source/api-reference-tree-plugin.ts
create mode 100644 apps/docs/scripts/typedoc-frontmatter.mts
create mode 100644 apps/docs/typedoc.config.mts
diff --git a/apps/docs/config/api-reference.ts b/apps/docs/config/api-reference.ts
new file mode 100644
index 0000000..f4d7a1f
--- /dev/null
+++ b/apps/docs/config/api-reference.ts
@@ -0,0 +1,37 @@
+/**
+ * Maps TypeDoc's kind-based output folders (`classes`, `functions`, …) onto the API Reference
+ * sidebar: which folders get flattened into the section root, their canonical labels, and the
+ * order in which pages and folders appear.
+ */
+
+export function normalizeApiSectionKey(name: string): string {
+ return name.trim().toLowerCase().replaceAll(/\s+/g, '-');
+}
+
+/** TypeDoc kind folders whose pages are lifted directly into the API Reference root. */
+export const FLATTENED_FOLDERS = new Set(['classes']);
+
+/** TypeDoc kind folder key -> canonical sidebar label. */
+export const FOLDER_LABELS: Record = {
+ 'functions': 'Hooks',
+ 'interfaces': 'Interfaces',
+ 'enumerations': 'Enums',
+ 'type-aliases': 'Type Aliases',
+};
+
+/** All TypeDoc kind folders the tree plugin recognizes (used to detect the API Reference folder). */
+export const API_SECTION_KEYS = new Set([...FLATTENED_FOLDERS, ...Object.keys(FOLDER_LABELS)]);
+
+/** Sidebar order for flattened pages (by title). Lower sorts first. */
+export const PAGE_ORDER: Record = {
+ CloudStorage: 0,
+ CloudStorageError: 1,
+};
+
+/** Sidebar order for section folders (by canonical label). Lower sorts first. */
+export const FOLDER_ORDER: Record = {
+ 'Hooks': 2,
+ 'Interfaces': 3,
+ 'Enums': 4,
+ 'Type Aliases': 5,
+};
diff --git a/apps/docs/content/docs/meta.json b/apps/docs/content/docs/meta.json
index cdd000b..275ce65 100644
--- a/apps/docs/content/docs/meta.json
+++ b/apps/docs/content/docs/meta.json
@@ -7,6 +7,8 @@
"installation/expo",
"installation/react-native",
"installation/configure-google-drive",
+ "---API Reference---",
+ "api",
"---Guides & Tips---",
"guides/using-multiple-providers",
"guides/google-drive-files-same-name",
diff --git a/apps/docs/lib/source.ts b/apps/docs/lib/source.ts
index 2b2d52f..b2ff14d 100644
--- a/apps/docs/lib/source.ts
+++ b/apps/docs/lib/source.ts
@@ -1,12 +1,13 @@
import { docs } from 'fumadocs-mdx:collections/server';
import { type InferPageType, loader } from 'fumadocs-core/source';
import { lucideIconsPlugin } from 'fumadocs-core/source/lucide-icons';
+import { createApiReferenceTreePlugin } from '@/lib/source/api-reference-tree-plugin';
// See https://fumadocs.dev/docs/headless/source-api for more info
export const source = loader({
baseUrl: '/docs',
source: docs.toFumadocsSource(),
- plugins: [lucideIconsPlugin()],
+ plugins: [lucideIconsPlugin(), createApiReferenceTreePlugin()],
});
export function getPageImage(page: InferPageType) {
diff --git a/apps/docs/lib/source/api-reference-tree-plugin.ts b/apps/docs/lib/source/api-reference-tree-plugin.ts
new file mode 100644
index 0000000..f3efdda
--- /dev/null
+++ b/apps/docs/lib/source/api-reference-tree-plugin.ts
@@ -0,0 +1,85 @@
+import type { Folder, Node, Root } from 'fumadocs-core/page-tree';
+import type { LoaderPlugin } from 'fumadocs-core/source';
+import {
+ API_SECTION_KEYS,
+ FLATTENED_FOLDERS,
+ FOLDER_LABELS,
+ FOLDER_ORDER,
+ normalizeApiSectionKey,
+ PAGE_ORDER,
+} from '@/config/api-reference';
+
+function getNodeName(name: Node['name']): string {
+ return typeof name === 'string' ? name : '';
+}
+
+function isApiReferenceFolder(folder: Folder): boolean {
+ return folder.children.some(
+ (child) => child.type === 'folder' && API_SECTION_KEYS.has(normalizeApiSectionKey(getNodeName(child.name)))
+ );
+}
+
+function sortPriority(node: Node): number {
+ if (node.type === 'folder') {
+ return FOLDER_ORDER[getNodeName(node.name)] ?? 100;
+ }
+ if (node.type === 'page') {
+ return PAGE_ORDER[getNodeName(node.name)] ?? 50;
+ }
+ return 200;
+}
+
+function transformApiReferenceFolder(folder: Folder): Folder {
+ const children: Node[] = [];
+
+ for (const child of folder.children) {
+ if (child.type === 'folder') {
+ const key = normalizeApiSectionKey(getNodeName(child.name));
+
+ if (FLATTENED_FOLDERS.has(key)) {
+ children.push(...child.children);
+ continue;
+ }
+
+ const label = FOLDER_LABELS[key];
+ if (label != null) {
+ children.push({ ...child, name: label });
+ continue;
+ }
+ }
+
+ children.push(child);
+ }
+
+ children.sort((left, right) => sortPriority(left) - sortPriority(right));
+
+ return { ...folder, children };
+}
+
+function transformNode(node: Node): Node {
+ if (node.type !== 'folder') {
+ return node;
+ }
+
+ const folder: Folder = { ...node, children: node.children.map(transformNode) };
+ return isApiReferenceFolder(folder) ? transformApiReferenceFolder(folder) : folder;
+}
+
+/**
+ * Reshapes the TypeDoc-generated `api/` subtree: lifts the two classes (`CloudStorage`,
+ * `CloudStorageError`) to the section root, renames the remaining kind folders to friendly labels
+ * (Hooks, Interfaces, Enums, Type Aliases), and orders everything for the sidebar.
+ */
+export function createApiReferenceTreePlugin(): LoaderPlugin {
+ return {
+ name: 'api-reference-tree',
+ transformPageTree: {
+ root(node: Root) {
+ return {
+ ...node,
+ children: node.children.map(transformNode),
+ };
+ },
+ },
+ };
+}
diff --git a/apps/docs/package.json b/apps/docs/package.json
index 7dd6d0b..3b43ca8 100644
--- a/apps/docs/package.json
+++ b/apps/docs/package.json
@@ -3,11 +3,12 @@
"version": "0.0.0",
"private": true,
"scripts": {
- "dev": "fumadocs-mdx && next dev",
- "build": "fumadocs-mdx && next build",
+ "dev": "pnpm run docs:api && fumadocs-mdx && next dev",
+ "build": "pnpm run docs:api && fumadocs-mdx && next build",
"start": "next start",
- "typecheck": "fumadocs-mdx && next typegen && tsc --noEmit",
- "postinstall": "fumadocs-mdx",
+ "docs:api": "typedoc --options typedoc.config.mts",
+ "typecheck": "pnpm run docs:api && fumadocs-mdx && next typegen && tsc --noEmit",
+ "postinstall": "typedoc --options typedoc.config.mts && fumadocs-mdx",
"clean": "rm -rf .next .source content/docs/api"
},
"dependencies": {
diff --git a/apps/docs/scripts/typedoc-frontmatter.mts b/apps/docs/scripts/typedoc-frontmatter.mts
new file mode 100644
index 0000000..5aba6a3
--- /dev/null
+++ b/apps/docs/scripts/typedoc-frontmatter.mts
@@ -0,0 +1,68 @@
+import type { Application, CommentDisplayPart, DeclarationReflection, PageEvent } from 'typedoc';
+import { MarkdownPageEvent } from 'typedoc-plugin-markdown';
+
+type PageEventWithFrontmatter = PageEvent & {
+ frontmatter?: Record;
+};
+
+function hasPageFrontmatter(page: PageEvent): page is PageEventWithFrontmatter {
+ return 'frontmatter' in page;
+}
+
+function isIndexPage(url: string | undefined): boolean {
+ return url?.replaceAll('\\', '/').endsWith('index.md') ?? false;
+}
+
+function getFirstSentence(parts: readonly CommentDisplayPart[] | undefined): string | null {
+ if (parts == null || parts.length === 0) {
+ return null;
+ }
+
+ const text = parts
+ .map((part) => part.text)
+ .join('')
+ .trim();
+ if (text.length === 0) {
+ return null;
+ }
+
+ return text.match(/^.+?[.!?](?:\s|$)/s)?.[0]?.trim() ?? text;
+}
+
+function getDescription(model: DeclarationReflection): string | null {
+ const summary = model.comment?.summary ?? model.signatures?.[0]?.comment?.summary;
+ return getFirstSentence(summary);
+}
+
+/**
+ * Populates Fumadocs-compatible frontmatter (`title`, `description`) for every TypeDoc-generated
+ * page. The project index becomes "API Reference"; symbol pages take their reflection name and the
+ * first sentence of their summary.
+ */
+export function load(app: Application): void {
+ app.renderer.on(MarkdownPageEvent.BEGIN, (page: PageEvent) => {
+ if (!hasPageFrontmatter(page)) {
+ return;
+ }
+
+ const model = page.model;
+ const name = model != null && typeof model === 'object' && 'name' in model ? (model.name as string) : undefined;
+
+ if (isIndexPage(page.url)) {
+ page.frontmatter = {
+ ...page.frontmatter,
+ title: 'API Reference',
+ description: 'Auto-generated API reference for react-native-cloud-storage.',
+ };
+ return;
+ }
+
+ const description = getDescription(model as DeclarationReflection);
+
+ page.frontmatter = {
+ ...page.frontmatter,
+ title: name ?? 'API Reference',
+ ...(description != null ? { description } : {}),
+ };
+ });
+}
diff --git a/apps/docs/typedoc.config.mts b/apps/docs/typedoc.config.mts
new file mode 100644
index 0000000..6d7b9e6
--- /dev/null
+++ b/apps/docs/typedoc.config.mts
@@ -0,0 +1,40 @@
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
+import { OptionDefaults } from 'typedoc';
+
+const docsRoot = process.cwd();
+const repoRoot = path.resolve(docsRoot, '..', '..');
+const packageRoot = path.join(repoRoot, 'packages', 'react-native-cloud-storage');
+
+const config = {
+ entryPoints: [path.join(packageRoot, 'src', 'index.ts')],
+ tsconfig: path.join(packageRoot, 'tsconfig.json'),
+ out: path.join(docsRoot, 'content', 'docs', 'api'),
+ plugin: [
+ 'typedoc-plugin-markdown',
+ 'typedoc-plugin-frontmatter',
+ fileURLToPath(new URL('scripts/typedoc-frontmatter.mts', import.meta.url)),
+ ],
+ blockTags: [...OptionDefaults.blockTags, '@platform', '@provider'],
+ readme: 'none',
+ fileExtension: '.md',
+ entryFileName: 'index',
+ hidePageHeader: true,
+ hidePageTitle: true,
+ hideBreadcrumbs: true,
+ useCodeBlocks: true,
+ expandParameters: true,
+ disableSources: true,
+ excludePrivate: true,
+ excludeProtected: true,
+ excludeInternal: true,
+ excludeExternals: true,
+ skipErrorChecking: true,
+ validation: {
+ invalidLink: true,
+ notExported: false,
+ rewrittenLink: true,
+ },
+};
+
+export default config;
diff --git a/packages/react-native-cloud-storage/src/types/main.ts b/packages/react-native-cloud-storage/src/types/main.ts
index 62d87d3..3caae86 100644
--- a/packages/react-native-cloud-storage/src/types/main.ts
+++ b/packages/react-native-cloud-storage/src/types/main.ts
@@ -1,4 +1,7 @@
-/* Custom utility type to make properties required, but still allow null if defined */
+/**
+ * Custom utility type to make properties required, but still allow null if defined.
+ * @internal
+ */
export type DeepRequired = {
[P in keyof T]-?: T[P] extends object ? DeepRequired : T[P];
};
From 2e72e5ed6fdeac7eb86d35d3bff83a2eb3970086 Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 18:43:01 +0200
Subject: [PATCH 04/16] docs(api): tag provider/platform-specific surface with
TSDoc tags
---
packages/react-native-cloud-storage/src/cloud-storage.ts | 2 ++
packages/react-native-cloud-storage/src/types/main.ts | 8 ++++++++
2 files changed, 10 insertions(+)
diff --git a/packages/react-native-cloud-storage/src/cloud-storage.ts b/packages/react-native-cloud-storage/src/cloud-storage.ts
index fda2c5f..1fa0469 100644
--- a/packages/react-native-cloud-storage/src/cloud-storage.ts
+++ b/packages/react-native-cloud-storage/src/cloud-storage.ts
@@ -298,6 +298,7 @@ export default class RNCloudStorage {
* @param path The file to trigger synchronization for.
* @param scope The directory scope the path is in. Defaults to set default scope set for the current provider.
* @returns A promise that resolves once the synchronization has been triggered.
+ * @provider icloud
*/
triggerSync(path: string, scope?: CloudStorageScope): Promise {
return this.nativeStorage.triggerSync(path, this.resolveNativeScope(scope));
@@ -508,6 +509,7 @@ export default class RNCloudStorage {
* @param path The file to trigger synchronization for.
* @param scope The directory scope the path is in. Defaults to the default scope set for the default static instance.
* @returns A promise that resolves once the synchronization has been triggered.
+ * @provider icloud
*/
static triggerSync(path: string, scope?: CloudStorageScope): Promise {
return RNCloudStorage.getDefaultInstance().triggerSync(path, scope);
diff --git a/packages/react-native-cloud-storage/src/types/main.ts b/packages/react-native-cloud-storage/src/types/main.ts
index 3caae86..cbd9877 100644
--- a/packages/react-native-cloud-storage/src/types/main.ts
+++ b/packages/react-native-cloud-storage/src/types/main.ts
@@ -11,6 +11,10 @@ export enum CloudStorageScope {
AppData = 'app_data',
}
+/**
+ * Controls which on-device directory `CloudStorageScope.Documents` maps to on iCloud.
+ * @provider icloud
+ */
export type ICloudDocumentsMode = 'icloud' | 'legacy_sandbox';
export interface CloudStorageFileStat {
@@ -24,6 +28,10 @@ export interface CloudStorageFileStat {
}
export enum CloudStorageProvider {
+ /**
+ * Apple iCloud, backed by CloudKit.
+ * @platform ios
+ */
ICloud = 'icloud',
GoogleDrive = 'googledrive',
}
From 25ce467320479602be41b99bb4099e736095588d Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 18:43:04 +0200
Subject: [PATCH 05/16] feat(docs): render provider/platform badges from TSDoc
tags
---
apps/docs/app/docs/[[...slug]]/page.tsx | 25 ++++--
apps/docs/app/global.css | 22 ++++++
apps/docs/components/badges/pills.tsx | 21 +++++
apps/docs/config/badges.ts | 58 ++++++++++++++
apps/docs/lib/badges.ts | 89 +++++++++++++++++++++
apps/docs/lib/mdx/headings.tsx | 35 +++++++++
apps/docs/lib/source.ts | 7 +-
apps/docs/lib/source/badge-label-plugin.ts | 66 ++++++++++++++++
apps/docs/lib/source/page-tree.ts | 34 ++++++++
apps/docs/mdx-components.tsx | 19 ++++-
apps/docs/scripts/typedoc-frontmatter.mts | 91 ++++++++++++++++++++--
11 files changed, 452 insertions(+), 15 deletions(-)
create mode 100644 apps/docs/components/badges/pills.tsx
create mode 100644 apps/docs/config/badges.ts
create mode 100644 apps/docs/lib/badges.ts
create mode 100644 apps/docs/lib/mdx/headings.tsx
create mode 100644 apps/docs/lib/source/badge-label-plugin.ts
create mode 100644 apps/docs/lib/source/page-tree.ts
diff --git a/apps/docs/app/docs/[[...slug]]/page.tsx b/apps/docs/app/docs/[[...slug]]/page.tsx
index b5afced..c484096 100644
--- a/apps/docs/app/docs/[[...slug]]/page.tsx
+++ b/apps/docs/app/docs/[[...slug]]/page.tsx
@@ -5,6 +5,8 @@ import { getMDXComponents } from '@/mdx-components';
import type { Metadata } from 'next';
import { createRelativeLink } from 'fumadocs-ui/mdx';
import { LLMCopyButton, ViewOptions } from '@/components/ai/page-actions';
+import { BadgePills } from '@/components/badges/pills';
+import { readBadgesFromPageData, readTocBadgesFromPageData } from '@/lib/badges';
import { gitConfig } from '@/lib/layout.shared';
export default async function Page(props: PageProps<'/docs/[[...slug]]'>) {
@@ -13,23 +15,32 @@ export default async function Page(props: PageProps<'/docs/[[...slug]]'>) {
if (!page) notFound();
const MDX = page.data.body;
+ const badges = readBadgesFromPageData(page.data);
+ const tocBadges = readTocBadgesFromPageData(page.data);
+
+ // API pages are generated from the library source, so link "Open in GitHub" to the package source
+ // rather than the (gitignored) generated MDX file.
+ const githubUrl = page.path.startsWith('api/')
+ ? `https://github.com/${gitConfig.user}/${gitConfig.repo}/tree/${gitConfig.branch}/packages/react-native-cloud-storage/src`
+ : `https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/apps/docs/content/docs/${page.path}`;
return (
{page.data.title}
+
{page.data.description}
-
+
diff --git a/apps/docs/app/global.css b/apps/docs/app/global.css
index 11923d7..2a4c514 100644
--- a/apps/docs/app/global.css
+++ b/apps/docs/app/global.css
@@ -19,3 +19,25 @@
body {
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
}
+
+/* Provider/platform badge pills rendered beneath API member headings. */
+.api-member-badge-row {
+ @apply mt-1.5 mb-3 flex flex-wrap gap-1.5;
+}
+
+.api-member-badge {
+ @apply inline-flex items-center rounded-full border border-fd-primary/40 bg-fd-primary/10 px-2 py-0.5 text-[10px] leading-none font-medium text-fd-primary;
+}
+
+/* Provider/platform pill shown next to a single-badge page in the sidebar. */
+.api-sidebar-item-content {
+ @apply flex w-full min-w-0 items-center justify-between gap-2 overflow-hidden;
+}
+
+.api-sidebar-item-label {
+ @apply min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap;
+}
+
+.api-sidebar-badge {
+ @apply inline-flex shrink-0 items-center rounded-full border border-fd-primary/40 bg-fd-primary/10 px-1.5 py-0.5 text-[10px] font-medium text-fd-primary;
+}
diff --git a/apps/docs/components/badges/pills.tsx b/apps/docs/components/badges/pills.tsx
new file mode 100644
index 0000000..8e09859
--- /dev/null
+++ b/apps/docs/components/badges/pills.tsx
@@ -0,0 +1,21 @@
+import { cn } from '@/lib/cn';
+
+const CONTAINER_CLASS = 'mt-1 mb-1 flex flex-wrap gap-1.5';
+const PILL_CLASS =
+ 'inline-flex items-center rounded-full border border-fd-primary/40 bg-fd-primary/10 px-2.5 py-0.5 text-xs font-medium text-fd-primary';
+
+export function BadgePills({ badges, className }: { badges: string[]; className?: string }) {
+ if (badges.length === 0) {
+ return null;
+ }
+
+ return (
+
+ {badges.map((badge) => (
+
+ {badge}
+
+ ))}
+
+ );
+}
diff --git a/apps/docs/config/badges.ts b/apps/docs/config/badges.ts
new file mode 100644
index 0000000..b2d028d
--- /dev/null
+++ b/apps/docs/config/badges.ts
@@ -0,0 +1,58 @@
+/**
+ * Canonical provider/platform badge labels and ordering. Shared between the TypeDoc frontmatter
+ * script (which reads `@platform`/`@provider` tags off the library source) and the runtime renderers
+ * (sidebar pills, heading pills). Keep this dependency-free so both contexts can import it.
+ */
+
+export const CANONICAL_BADGE_LABELS: Record = {
+ ios: 'iOS only',
+ android: 'Android',
+ icloud: 'iCloud',
+ googledrive: 'Google Drive',
+};
+
+export const BADGE_ORDER: readonly string[] = ['iCloud', 'Google Drive', 'iOS only', 'Android'];
+
+const BADGE_ALIASES: Record = {
+ ios: 'ios',
+ iphone: 'ios',
+ ipados: 'ios',
+ android: 'android',
+ icloud: 'icloud',
+ googledrive: 'googledrive',
+ gdrive: 'googledrive',
+ drive: 'googledrive',
+};
+
+/** Maps a raw tag value (e.g. "icloud", "Google Drive") to its canonical label, or null. */
+export function normalizeBadgeLabel(value: string): string | null {
+ const key = value
+ .trim()
+ .toLowerCase()
+ .replaceAll(/[\s._-]+/g, '');
+ if (key.length === 0) {
+ return null;
+ }
+
+ const canonical = BADGE_ALIASES[key];
+ if (canonical == null) {
+ return null;
+ }
+
+ return CANONICAL_BADGE_LABELS[canonical] ?? null;
+}
+
+/** De-duplicates and orders badge labels per BADGE_ORDER, with unknown labels appended alphabetically. */
+export function orderBadges(labels: Iterable): string[] {
+ const unique = new Set();
+ for (const label of labels) {
+ if (label.length > 0) {
+ unique.add(label);
+ }
+ }
+
+ const prioritized = BADGE_ORDER.filter((label) => unique.has(label));
+ const extras = [...unique].filter((label) => !BADGE_ORDER.includes(label)).sort((a, b) => a.localeCompare(b));
+
+ return [...prioritized, ...extras];
+}
diff --git a/apps/docs/lib/badges.ts b/apps/docs/lib/badges.ts
new file mode 100644
index 0000000..5ee4346
--- /dev/null
+++ b/apps/docs/lib/badges.ts
@@ -0,0 +1,89 @@
+import type { ReactNode } from 'react';
+import { orderBadges } from '@/config/badges';
+
+export type BadgesByHeading = Record;
+
+export type PageDataWithBadges = {
+ badges?: readonly string[];
+};
+
+export type PageDataWithTocBadges = {
+ tocBadges?: Record;
+};
+
+function normalizeBadgeList(values: readonly string[] | undefined): string[] {
+ if (values == null || values.length === 0) {
+ return [];
+ }
+
+ const seen = new Set();
+ for (const value of values) {
+ if (typeof value === 'string' && value.length > 0) {
+ seen.add(value);
+ }
+ }
+
+ return orderBadges(seen);
+}
+
+export function readBadgesFromPageData(data: PageDataWithBadges | null | undefined): string[] {
+ return normalizeBadgeList(data?.badges);
+}
+
+export function readSingleBadgeFromPageData(data: PageDataWithBadges | null | undefined): string | null {
+ const badges = readBadgesFromPageData(data);
+ return badges.length === 1 ? (badges[0] ?? null) : null;
+}
+
+/** Strips the call suffix (`()`, `(...)`) and optional marker (`?`) so heading text matches a member name. */
+export function normalizeHeadingKey(value: string): string | null {
+ const stripped = value
+ .replaceAll(/\(\.\.\.\)|\(\)|\?/g, '')
+ .replaceAll(/\s+/g, ' ')
+ .trim();
+ return stripped.length > 0 ? stripped : null;
+}
+
+export function readTocBadgesFromPageData(data: PageDataWithTocBadges | null | undefined): BadgesByHeading {
+ const tocBadges = data?.tocBadges;
+ if (tocBadges == null) {
+ return {};
+ }
+
+ const result: BadgesByHeading = {};
+ for (const [heading, values] of Object.entries(tocBadges)) {
+ const key = normalizeHeadingKey(heading);
+ if (key == null) {
+ continue;
+ }
+
+ const badges = normalizeBadgeList(values);
+ if (badges.length === 0) {
+ continue;
+ }
+
+ result[key] = badges;
+ }
+
+ return result;
+}
+
+export function extractTextFromNode(node: ReactNode): string {
+ if (node == null || typeof node === 'boolean') {
+ return '';
+ }
+
+ if (typeof node === 'string' || typeof node === 'number') {
+ return String(node);
+ }
+
+ if (Array.isArray(node)) {
+ return node.map((child) => extractTextFromNode(child)).join('');
+ }
+
+ if (typeof node === 'object' && 'props' in node && node.props != null) {
+ return extractTextFromNode((node.props as { children?: ReactNode }).children);
+ }
+
+ return '';
+}
diff --git a/apps/docs/lib/mdx/headings.tsx b/apps/docs/lib/mdx/headings.tsx
new file mode 100644
index 0000000..c2f12ee
--- /dev/null
+++ b/apps/docs/lib/mdx/headings.tsx
@@ -0,0 +1,35 @@
+import type { ComponentProps, ElementType, ReactNode } from 'react';
+import { type BadgesByHeading, extractTextFromNode, normalizeHeadingKey } from '@/lib/badges';
+
+/**
+ * Wraps a heading component so that, when its text matches a member name in `badgesByHeading`, a row
+ * of provider/platform pills is rendered directly beneath it. Returns the heading untouched when
+ * there are no badges to attach.
+ */
+export function withHeadingBadgePills(Heading: ElementType, badgesByHeading: BadgesByHeading): ElementType {
+ if (Object.keys(badgesByHeading).length === 0) {
+ return Heading;
+ }
+
+ return function HeadingWithBadgePills(props: ComponentProps<'h3'>): ReactNode {
+ const key = normalizeHeadingKey(extractTextFromNode(props.children));
+ const badges = key == null ? [] : (badgesByHeading[key] ?? []);
+
+ if (badges.length === 0) {
+ return ;
+ }
+
+ return (
+ <>
+
+
+ {badges.map((badge) => (
+
+ {badge}
+
+ ))}
+
+ >
+ );
+ };
+}
diff --git a/apps/docs/lib/source.ts b/apps/docs/lib/source.ts
index b2ff14d..7b90df3 100644
--- a/apps/docs/lib/source.ts
+++ b/apps/docs/lib/source.ts
@@ -2,12 +2,17 @@ import { docs } from 'fumadocs-mdx:collections/server';
import { type InferPageType, loader } from 'fumadocs-core/source';
import { lucideIconsPlugin } from 'fumadocs-core/source/lucide-icons';
import { createApiReferenceTreePlugin } from '@/lib/source/api-reference-tree-plugin';
+import { createBadgeLabelPlugin } from '@/lib/source/badge-label-plugin';
// See https://fumadocs.dev/docs/headless/source-api for more info
export const source = loader({
baseUrl: '/docs',
source: docs.toFumadocsSource(),
- plugins: [lucideIconsPlugin(), createApiReferenceTreePlugin()],
+ plugins: ({ typedPlugin }) => [
+ lucideIconsPlugin(),
+ createApiReferenceTreePlugin(),
+ typedPlugin(createBadgeLabelPlugin()),
+ ],
});
export function getPageImage(page: InferPageType) {
diff --git a/apps/docs/lib/source/badge-label-plugin.ts b/apps/docs/lib/source/badge-label-plugin.ts
new file mode 100644
index 0000000..06ab38c
--- /dev/null
+++ b/apps/docs/lib/source/badge-label-plugin.ts
@@ -0,0 +1,66 @@
+import type { Item as PageTreeItem, Node as PageTreeNode, Root as PageTreeRoot } from 'fumadocs-core/page-tree';
+import type { LoaderPlugin, PageData, PageTreeBuilderContext } from 'fumadocs-core/source';
+import { createElement } from 'react';
+import { type PageDataWithBadges, readSingleBadgeFromPageData } from '@/lib/badges';
+import { type PageDataStorage, readPageData } from '@/lib/source/page-tree';
+
+type BadgePageData = PageData & PageDataWithBadges;
+type BadgeStorage = PageDataStorage;
+
+function withSidebarBadge(name: PageTreeItem['name'], badge: string): PageTreeItem['name'] {
+ return createElement(
+ 'span',
+ { className: 'api-sidebar-item-content' },
+ createElement('span', { className: 'api-sidebar-item-label' }, name),
+ createElement('span', { className: 'api-sidebar-badge' }, badge)
+ );
+}
+
+function withBadgeOnItem(
+ context: PageTreeBuilderContext,
+ item: PageTreeItem
+): PageTreeItem {
+ const badge = readSingleBadgeFromPageData(readPageData(context, item));
+ if (badge == null) {
+ return item;
+ }
+
+ return { ...item, name: withSidebarBadge(item.name, badge) };
+}
+
+function withBadgeLabels(
+ context: PageTreeBuilderContext,
+ node: PageTreeNode
+): PageTreeNode {
+ if (node.type === 'page') {
+ return withBadgeOnItem(context, node);
+ }
+
+ if (node.type === 'folder') {
+ return {
+ ...node,
+ index: node.index ? withBadgeOnItem(context, node.index) : undefined,
+ children: node.children.map((child) => withBadgeLabels(context, child)),
+ };
+ }
+
+ return node;
+}
+
+/**
+ * Renders a small provider/platform pill next to a sidebar entry whose page carries exactly one
+ * page-level badge (e.g. an iCloud-only type alias).
+ */
+export function createBadgeLabelPlugin(): LoaderPlugin {
+ return {
+ name: 'badge-sidebar-labels',
+ transformPageTree: {
+ root(this: PageTreeBuilderContext, node: PageTreeRoot) {
+ return {
+ ...node,
+ children: node.children.map((child) => withBadgeLabels(this, child)),
+ };
+ },
+ },
+ };
+}
diff --git a/apps/docs/lib/source/page-tree.ts b/apps/docs/lib/source/page-tree.ts
new file mode 100644
index 0000000..8c9a3f9
--- /dev/null
+++ b/apps/docs/lib/source/page-tree.ts
@@ -0,0 +1,34 @@
+import type { Item as PageTreeItem, Node as PageTreeNode } from 'fumadocs-core/page-tree';
+import type {
+ ContentStorage,
+ ContentStorageMetaFile,
+ ContentStoragePageFile,
+ PageData,
+ PageTreeBuilderContext,
+} from 'fumadocs-core/source';
+
+export type PageDataStorage = ContentStorage<
+ ContentStoragePageFile,
+ ContentStorageMetaFile
+>;
+
+export function getNodeNameAsString(name: PageTreeNode['name']): string {
+ return typeof name === 'string' ? name : '';
+}
+
+export function readPageData(
+ context: PageTreeBuilderContext,
+ item: PageTreeItem
+): Storage['$inferPage']['data'] | null {
+ const filePath = item.$ref;
+ if (typeof filePath !== 'string' || filePath.length === 0) {
+ return null;
+ }
+
+ const file = context.storage.read(filePath);
+ if (file == null || file.format !== 'page') {
+ return null;
+ }
+
+ return file.data;
+}
diff --git a/apps/docs/mdx-components.tsx b/apps/docs/mdx-components.tsx
index fcfba82..61706c1 100644
--- a/apps/docs/mdx-components.tsx
+++ b/apps/docs/mdx-components.tsx
@@ -2,12 +2,27 @@ import defaultMdxComponents from 'fumadocs-ui/mdx';
import * as TabsComponents from 'fumadocs-ui/components/tabs';
import { Callout } from 'fumadocs-ui/components/callout';
import type { MDXComponents } from 'mdx/types';
+import type { ElementType } from 'react';
+import type { BadgesByHeading } from '@/lib/badges';
+import { withHeadingBadgePills } from '@/lib/mdx/headings';
-export function getMDXComponents(components?: MDXComponents): MDXComponents {
- return {
+type MDXOptions = {
+ tocBadges?: BadgesByHeading;
+};
+
+export function getMDXComponents(components?: MDXComponents, options?: MDXOptions): MDXComponents {
+ const base: MDXComponents = {
...defaultMdxComponents,
...TabsComponents,
Callout,
+ };
+
+ if (options?.tocBadges != null && Object.keys(options.tocBadges).length > 0) {
+ base.h3 = withHeadingBadgePills((base.h3 as ElementType) ?? 'h3', options.tocBadges) as MDXComponents['h3'];
+ }
+
+ return {
+ ...base,
...components,
};
}
diff --git a/apps/docs/scripts/typedoc-frontmatter.mts b/apps/docs/scripts/typedoc-frontmatter.mts
index 5aba6a3..2dcca22 100644
--- a/apps/docs/scripts/typedoc-frontmatter.mts
+++ b/apps/docs/scripts/typedoc-frontmatter.mts
@@ -1,10 +1,20 @@
-import type { Application, CommentDisplayPart, DeclarationReflection, PageEvent } from 'typedoc';
+import {
+ type Application,
+ Comment,
+ type CommentDisplayPart,
+ type DeclarationReflection,
+ type PageEvent,
+ type SignatureReflection,
+} from 'typedoc';
import { MarkdownPageEvent } from 'typedoc-plugin-markdown';
+import { normalizeBadgeLabel, orderBadges } from '../config/badges.ts';
type PageEventWithFrontmatter = PageEvent & {
frontmatter?: Record;
};
+const BADGE_TAGS = ['@platform', '@provider'] as const;
+
function hasPageFrontmatter(page: PageEvent): page is PageEventWithFrontmatter {
return 'frontmatter' in page;
}
@@ -34,10 +44,76 @@ function getDescription(model: DeclarationReflection): string | null {
return getFirstSentence(summary);
}
+function collectSignatures(reflection: DeclarationReflection): SignatureReflection[] {
+ const signatures: SignatureReflection[] = [...(reflection.signatures ?? [])];
+ if (reflection.getSignature != null) {
+ signatures.push(reflection.getSignature);
+ }
+ if (reflection.setSignature != null) {
+ signatures.push(reflection.setSignature);
+ }
+ return signatures;
+}
+
+/**
+ * Reads `@platform`/`@provider` tags from a comment, maps them to canonical badge labels, and
+ * removes the tags so they do not render in the page body.
+ */
+function extractBadgesFromComment(comment: Comment | null | undefined): string[] {
+ if (comment == null) {
+ return [];
+ }
+
+ const labels: string[] = [];
+ for (const tagName of BADGE_TAGS) {
+ const tags = comment.getTags(tagName);
+ for (const tag of tags) {
+ const text = Comment.combineDisplayParts(tag.content);
+ for (const part of text.split(/[\n,/&]|\band\b|\bor\b/gi)) {
+ const label = normalizeBadgeLabel(part);
+ if (label != null) {
+ labels.push(label);
+ }
+ }
+ }
+ if (tags.length > 0) {
+ comment.removeTags(tagName);
+ }
+ }
+
+ return orderBadges(labels);
+}
+
+function collectReflectionBadges(reflection: DeclarationReflection): string[] {
+ const labels = new Set(extractBadgesFromComment(reflection.comment));
+ for (const signature of collectSignatures(reflection)) {
+ for (const label of extractBadgesFromComment(signature.comment)) {
+ labels.add(label);
+ }
+ }
+ return orderBadges(labels);
+}
+
+function collectMemberBadges(reflection: DeclarationReflection): Record {
+ const result: Record = {};
+ for (const child of reflection.children ?? []) {
+ if (typeof child.name !== 'string' || child.name.length === 0) {
+ continue;
+ }
+
+ const badges = collectReflectionBadges(child);
+ if (badges.length === 0) {
+ continue;
+ }
+
+ result[child.name] = orderBadges([...(result[child.name] ?? []), ...badges]);
+ }
+ return result;
+}
+
/**
- * Populates Fumadocs-compatible frontmatter (`title`, `description`) for every TypeDoc-generated
- * page. The project index becomes "API Reference"; symbol pages take their reflection name and the
- * first sentence of their summary.
+ * Populates Fumadocs-compatible frontmatter for every TypeDoc-generated page: `title`/`description`,
+ * plus `badges` (page-level provider/platform) and `tocBadges` (per-member, keyed by member name).
*/
export function load(app: Application): void {
app.renderer.on(MarkdownPageEvent.BEGIN, (page: PageEvent) => {
@@ -57,12 +133,17 @@ export function load(app: Application): void {
return;
}
- const description = getDescription(model as DeclarationReflection);
+ const declaration = model as DeclarationReflection;
+ const description = getDescription(declaration);
+ const badges = collectReflectionBadges(declaration);
+ const tocBadges = collectMemberBadges(declaration);
page.frontmatter = {
...page.frontmatter,
title: name ?? 'API Reference',
...(description != null ? { description } : {}),
+ ...(badges.length > 0 ? { badges } : {}),
+ ...(Object.keys(tocBadges).length > 0 ? { tocBadges } : {}),
};
});
}
From 3b7d3d050570fdd88ac66716a46461b10197745b Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 18:47:37 +0200
Subject: [PATCH 06/16] feat(docs): add rich static landing page
---
apps/docs/app/(home)/page.tsx | 133 ++++++++++++++++++++++++++++++++--
1 file changed, 125 insertions(+), 8 deletions(-)
diff --git a/apps/docs/app/(home)/page.tsx b/apps/docs/app/(home)/page.tsx
index 03ca4cf..eb40cfd 100644
--- a/apps/docs/app/(home)/page.tsx
+++ b/apps/docs/app/(home)/page.tsx
@@ -1,15 +1,132 @@
import Link from 'next/link';
+import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock';
+import { ArrowRight, Cloud, FolderTree, Github, Layers, Puzzle, Webhook } from 'lucide-react';
+import { gitConfig } from '@/lib/layout.shared';
+
+const githubUrl = `https://github.com/${gitConfig.user}/${gitConfig.repo}`;
+
+const codeSample = `import { CloudStorage, CloudStorageScope } from 'react-native-cloud-storage';
+
+// Write a file to the cloud — iCloud on iOS, Google Drive elsewhere.
+await CloudStorage.writeFile('/data.json', JSON.stringify(state), CloudStorageScope.AppData);
+
+// Read it back — the API mirrors Node's \`fs\`.
+const json = await CloudStorage.readFile('/data.json', CloudStorageScope.AppData);
+const exists = await CloudStorage.exists('/data.json', CloudStorageScope.AppData);`;
+
+const features = [
+ {
+ icon: FolderTree,
+ title: 'fs-like API',
+ description: "Read, write, stat, and list files with an API that follows Node's `fs` conventions.",
+ },
+ {
+ icon: Cloud,
+ title: 'iCloud & Google Drive',
+ description: 'One API, two providers. Default to the right backend per platform, or pick your own.',
+ },
+ {
+ icon: Webhook,
+ title: 'React hooks',
+ description: 'useCloudFile and useIsCloudAvailable keep your UI in sync with cloud state.',
+ },
+ {
+ icon: Puzzle,
+ title: 'Expo config plugin',
+ description: 'Configure the native iCloud capability automatically — no manual Xcode steps, no eject.',
+ },
+];
+
+const providers = [
+ {
+ name: 'iCloud',
+ scope: 'iOS — backed by CloudKit, available out of the box.',
+ },
+ {
+ name: 'Google Drive',
+ scope: 'iOS & Android — backed by the Drive REST API with your access token.',
+ },
+];
export default function HomePage() {
return (
-
- React Native Cloud Storage
- iCloud and Google Drive for React Native, simplified.
-
- Read docs
-
+
+
+
+
+
+ React Native Cloud Storage
+
+
+ iCloud and Google Drive,
+ simplified.
+
+
+ Use iCloud and Google Drive as file storage in your React Native app, with a single fs-like API, React
+ hooks, and an Expo config plugin.
+
+
+
+
+
+
+
+
+
+ {features.map((feature) => (
+
+
+
+ {feature.title}
+
+ {feature.description}
+
+ ))}
+
+
+
+ {providers.map((provider) => (
+
+
+
+
+
+
{provider.name}
+
{provider.scope}
+
+
+ ))}
+
+
+
+ Ready to back up your app's files?
+
+ Install the library, follow the platform setup, and start reading and writing cloud files in minutes.
+
+
+ Read the docs
+
+
+
);
}
From 4856676014e943105f9f91d796474ee75b7f7dbf Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 18:50:04 +0200
Subject: [PATCH 07/16] feat(docs): wire favicon
---
apps/docs/{public => app}/favicon.ico | Bin
1 file changed, 0 insertions(+), 0 deletions(-)
rename apps/docs/{public => app}/favicon.ico (100%)
diff --git a/apps/docs/public/favicon.ico b/apps/docs/app/favicon.ico
similarity index 100%
rename from apps/docs/public/favicon.ico
rename to apps/docs/app/favicon.ico
From 0dd86a92463ce2354bd5064a3914f5485fa1884b Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 18:50:06 +0200
Subject: [PATCH 08/16] feat(docs): add sitemap, robots, and shared site config
---
apps/docs/app/layout.tsx | 9 +++++----
apps/docs/app/og/docs/[...slug]/route.tsx | 3 ++-
apps/docs/app/robots.ts | 14 ++++++++++++++
apps/docs/app/sitemap.ts | 22 ++++++++++++++++++++++
apps/docs/lib/site.ts | 3 +++
5 files changed, 46 insertions(+), 5 deletions(-)
create mode 100644 apps/docs/app/robots.ts
create mode 100644 apps/docs/app/sitemap.ts
create mode 100644 apps/docs/lib/site.ts
diff --git a/apps/docs/app/layout.tsx b/apps/docs/app/layout.tsx
index dc908bb..47dca71 100644
--- a/apps/docs/app/layout.tsx
+++ b/apps/docs/app/layout.tsx
@@ -2,6 +2,7 @@ import { RootProvider } from 'fumadocs-ui/provider/next';
import './global.css';
import { Geist, Geist_Mono } from 'next/font/google';
import type { Metadata } from 'next';
+import { siteDescription, siteName, siteUrl } from '@/lib/site';
const geist = Geist({
subsets: ['latin'],
@@ -14,12 +15,12 @@ const geistMono = Geist_Mono({
});
export const metadata: Metadata = {
- metadataBase: new URL('https://react-native-cloud-storage.oss.kuatsu.de'),
+ metadataBase: new URL(siteUrl),
title: {
- default: 'React Native Cloud Storage',
- template: '%s | React Native Cloud Storage',
+ default: siteName,
+ template: `%s | ${siteName}`,
},
- description: 'iCloud and Google Drive for React Native, simplified.',
+ description: siteDescription,
};
export default function Layout({ children }: LayoutProps<'/'>) {
diff --git a/apps/docs/app/og/docs/[...slug]/route.tsx b/apps/docs/app/og/docs/[...slug]/route.tsx
index b29e8d6..5b1ba43 100644
--- a/apps/docs/app/og/docs/[...slug]/route.tsx
+++ b/apps/docs/app/og/docs/[...slug]/route.tsx
@@ -2,6 +2,7 @@ import { getPageImage, source } from '@/lib/source';
import { notFound } from 'next/navigation';
import { ImageResponse } from 'next/og';
import { generate as DefaultImage } from 'fumadocs-ui/og';
+import { siteName } from '@/lib/site';
export const revalidate = false;
@@ -11,7 +12,7 @@ export async function GET(_req: Request, { params }: RouteContext<'/og/docs/[...
if (!page) notFound();
return new ImageResponse(
- ,
+ ,
{
width: 1200,
height: 630,
diff --git a/apps/docs/app/robots.ts b/apps/docs/app/robots.ts
new file mode 100644
index 0000000..50185e0
--- /dev/null
+++ b/apps/docs/app/robots.ts
@@ -0,0 +1,14 @@
+import type { MetadataRoute } from 'next';
+import { siteUrl } from '@/lib/site';
+
+export default function robots(): MetadataRoute.Robots {
+ return {
+ rules: [
+ {
+ userAgent: '*',
+ allow: '/',
+ },
+ ],
+ sitemap: `${siteUrl}/sitemap.xml`,
+ };
+}
diff --git a/apps/docs/app/sitemap.ts b/apps/docs/app/sitemap.ts
new file mode 100644
index 0000000..64a6f9c
--- /dev/null
+++ b/apps/docs/app/sitemap.ts
@@ -0,0 +1,22 @@
+import type { MetadataRoute } from 'next';
+import { source } from '@/lib/source';
+import { siteUrl } from '@/lib/site';
+
+export const dynamic = 'force-static';
+
+export default function sitemap(): MetadataRoute.Sitemap {
+ const pages = source.getPages().map((page) => ({
+ url: new URL(page.url, siteUrl).toString(),
+ changeFrequency: 'weekly' as const,
+ priority: page.url === '/docs' ? 0.9 : 0.7,
+ }));
+
+ return [
+ {
+ url: siteUrl,
+ changeFrequency: 'monthly',
+ priority: 1,
+ },
+ ...pages,
+ ];
+}
diff --git a/apps/docs/lib/site.ts b/apps/docs/lib/site.ts
new file mode 100644
index 0000000..cb4ac38
--- /dev/null
+++ b/apps/docs/lib/site.ts
@@ -0,0 +1,3 @@
+export const siteUrl = 'https://react-native-cloud-storage.oss.kuatsu.de';
+export const siteName = 'React Native Cloud Storage';
+export const siteDescription = 'iCloud and Google Drive for React Native, simplified.';
From 2c0201cc93fa44d160b937dc374c2af48eca962c Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 18:52:42 +0200
Subject: [PATCH 09/16] feat(docs): add legacy redirects, Netlify config, and
README
---
apps/docs/README.md | 55 +++++++++++++++++++++------------------
apps/docs/netlify.toml | 7 +++++
apps/docs/next.config.mjs | 11 ++++++++
3 files changed, 48 insertions(+), 25 deletions(-)
create mode 100644 apps/docs/netlify.toml
diff --git a/apps/docs/README.md b/apps/docs/README.md
index d2ffc28..3080191 100644
--- a/apps/docs/README.md
+++ b/apps/docs/README.md
@@ -1,41 +1,46 @@
-# Website
+# React Native Cloud Storage — Documentation
-This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.
+The documentation site for [`react-native-cloud-storage`](https://github.com/kuatsu/react-native-cloud-storage),
+built with [Fumadocs](https://fumadocs.dev) on Next.js. Deployed to
+[react-native-cloud-storage.oss.kuatsu.de](https://react-native-cloud-storage.oss.kuatsu.de).
-### Installation
+## Structure
-```sh
-$ pnpm install
-```
+- `content/docs/**` — authored MDX (installation, guides, example).
+- `content/docs/api/**` — **generated** API reference (TypeDoc → Markdown). Git-ignored; do not edit by
+ hand. Regenerate with `pnpm docs:api`.
+- `app/(home)` — landing page. `app/docs` — docs renderer. `lib/`, `config/`, `scripts/` — the
+ TypeDoc-to-Fumadocs pipeline and provider/platform badge machinery.
+
+## Development
-### Local Development
+From the repo root (preferred, so workspace dependencies resolve):
```sh
-$ pnpm start
+pnpm --filter react-native-cloud-storage-docs dev
```
-This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
-
-### Build
+Or from this directory:
```sh
-$ pnpm build
+pnpm dev # generate API reference, then start the dev server
+pnpm docs:api # (re)generate content/docs/api from the library's TSDoc
+pnpm build # production build
+pnpm typecheck # generate API + types, then tsc --noEmit
```
-This command generates static content into the `build` directory and can be served using any static contents hosting service.
-
-### Deployment
+`dev`, `build`, and `typecheck` run `pnpm docs:api` first, so the generated API reference is always in
+sync with `packages/react-native-cloud-storage/src`.
-Using SSH:
+## API reference & badges
-```sh
-$ USE_SSH=true pnpm deploy
-```
-
-Not using SSH:
+The API reference is generated from the library's TypeScript and TSDoc by TypeDoc
+(`typedoc.config.mts` + `scripts/typedoc-frontmatter.mts`). Provider/platform badges come from
+additive `@platform` / `@provider` TSDoc tags in the library source — never edit the generated MDX.
-```sh
-$ GIT_USER= pnpm deploy
-```
+## Deployment
-If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
+Deployed on Netlify. Configuration lives in `netlify.toml` (base directory `apps/docs`, build command
+`pnpm build`, publish directory `.next`, `@netlify/plugin-nextjs`). Netlify installs workspace
+dependencies from the repo-root pnpm lockfile. If the site is instead configured through the Netlify
+UI (as for other Kuatsu OSS sites), mirror those same values there.
diff --git a/apps/docs/netlify.toml b/apps/docs/netlify.toml
new file mode 100644
index 0000000..da616ce
--- /dev/null
+++ b/apps/docs/netlify.toml
@@ -0,0 +1,7 @@
+[build]
+base = "apps/docs"
+command = "pnpm build"
+publish = ".next"
+
+[[plugins]]
+package = "@netlify/plugin-nextjs"
diff --git a/apps/docs/next.config.mjs b/apps/docs/next.config.mjs
index 91c6ac1..e5455db 100644
--- a/apps/docs/next.config.mjs
+++ b/apps/docs/next.config.mjs
@@ -13,6 +13,17 @@ const config = {
},
];
},
+ // Redirects from the legacy Docusaurus URL structure. The authored slugs (installation/guides/
+ // example) are unchanged; only the introduction and the TypeDoc-generated API slugs moved.
+ async redirects() {
+ return [
+ { source: '/docs/intro', destination: '/docs', permanent: true },
+ { source: '/docs/api/CloudStorage', destination: '/docs/api/classes/CloudStorage', permanent: true },
+ { source: '/docs/api/CloudStorageError', destination: '/docs/api/classes/CloudStorageError', permanent: true },
+ { source: '/docs/api/hooks/:slug*', destination: '/docs/api/functions/:slug*', permanent: true },
+ { source: '/docs/api/enums/:slug*', destination: '/docs/api/enumerations/:slug*', permanent: true },
+ ];
+ },
};
export default withMDX(config);
From 92fd0b1ed270c5fb133d1353d3794831805e505a Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 18:53:51 +0200
Subject: [PATCH 10/16] chore(docs): update lockfile for Fumadocs migration
---
pnpm-lock.yaml | 8848 +++++++++++++++---------------------------------
1 file changed, 2662 insertions(+), 6186 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index cf332f5..e1a5f91 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -35,37 +35,61 @@ importers:
apps/docs:
dependencies:
- '@docusaurus/core':
- specifier: 3.9.2
- version: 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/preset-classic':
- specifier: 3.9.2
- version: 3.9.2(@algolia/client-search@5.49.1)(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@5.9.3)
- '@mdx-js/react':
- specifier: ^3.0.0
- version: 3.1.1(@types/react@19.2.14)(react@19.2.0)
- clsx:
- specifier: ^2.0.0
- version: 2.1.1
- prism-react-renderer:
- specifier: ^2.3.0
- version: 2.4.1(react@19.2.0)
+ fumadocs-core:
+ specifier: 16.9.2
+ version: 16.9.2(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(algoliasearch@5.49.1)(lucide-react@0.575.0(react@19.2.3))(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.4.3)
+ fumadocs-mdx:
+ specifier: 15.0.9
+ version: 15.0.9(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@19.2.14)(fumadocs-core@16.9.2(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(algoliasearch@5.49.1)(lucide-react@0.575.0(react@19.2.3))(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.4.3))(mdast-util-directive@3.1.0)(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)
+ fumadocs-ui:
+ specifier: 16.9.2
+ version: 16.9.2(@tailwindcss/oxide@4.3.0)(@types/mdx@2.0.13)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(fumadocs-core@16.9.2(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(algoliasearch@5.49.1)(lucide-react@0.575.0(react@19.2.3))(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.4.3))(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.3.0)
+ lucide-react:
+ specifier: ^0.575.0
+ version: 0.575.0(react@19.2.3)
+ next:
+ specifier: 16.2.6
+ version: 16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
react:
- specifier: 19.2.0
- version: 19.2.0
+ specifier: 19.2.3
+ version: 19.2.3
react-dom:
- specifier: 19.2.0
- version: 19.2.0(react@19.2.0)
+ specifier: 19.2.3
+ version: 19.2.3(react@19.2.3)
+ tailwind-merge:
+ specifier: ^3.5.0
+ version: 3.6.0
devDependencies:
- '@docusaurus/module-type-aliases':
- specifier: 3.9.2
- version: 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/tsconfig':
- specifier: 3.9.2
- version: 3.9.2
- '@docusaurus/types':
- specifier: 3.9.2
- version: 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@tailwindcss/postcss':
+ specifier: 4.3.0
+ version: 4.3.0
+ '@types/mdx':
+ specifier: ^2.0.13
+ version: 2.0.13
+ '@types/node':
+ specifier: ^25.3.1
+ version: 25.3.1
+ '@types/react':
+ specifier: ^19.2.14
+ version: 19.2.14
+ '@types/react-dom':
+ specifier: ^19.2.3
+ version: 19.2.3(@types/react@19.2.14)
+ postcss:
+ specifier: 8.5.15
+ version: 8.5.15
+ tailwindcss:
+ specifier: 4.3.0
+ version: 4.3.0
+ typedoc:
+ specifier: 0.28.19
+ version: 0.28.19(typescript@5.9.3)
+ typedoc-plugin-frontmatter:
+ specifier: 1.3.1
+ version: 1.3.1(typedoc-plugin-markdown@4.11.0(typedoc@0.28.19(typescript@5.9.3)))
+ typedoc-plugin-markdown:
+ specifier: 4.11.0
+ version: 4.11.0(typedoc@0.28.19(typescript@5.9.3))
typescript:
specifier: ~5.9.3
version: 5.9.3
@@ -161,26 +185,6 @@ packages:
resolution: {integrity: sha512-2yuIC48rUuHGhU1U5qJ9kJHaxYpJ0jpDHJVI5ekOxSMYXlH4+HP+pA31G820lsAznfmu2nzDV7n5RO44zIY1zw==}
engines: {node: '>= 14.0.0'}
- '@algolia/autocomplete-core@1.17.9':
- resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==}
-
- '@algolia/autocomplete-plugin-algolia-insights@1.17.9':
- resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==}
- peerDependencies:
- search-insights: '>= 1 < 3'
-
- '@algolia/autocomplete-preset-algolia@1.17.9':
- resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==}
- peerDependencies:
- '@algolia/client-search': '>= 4.9.1 < 6'
- algoliasearch: '>= 4.9.1 < 6'
-
- '@algolia/autocomplete-shared@1.17.9':
- resolution: {integrity: sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==}
- peerDependencies:
- '@algolia/client-search': '>= 4.9.1 < 6'
- algoliasearch: '>= 4.9.1 < 6'
-
'@algolia/client-abtesting@5.49.1':
resolution: {integrity: sha512-h6M7HzPin+45/l09q0r2dYmocSSt2MMGOOk5c4O5K/bBBlEwf1BKfN6z+iX4b8WXcQQhf7rgQwC52kBZJt/ZZw==}
engines: {node: '>= 14.0.0'}
@@ -209,9 +213,6 @@ packages:
resolution: {integrity: sha512-Nt9hri7nbOo0RipAsGjIssHkpLMHHN/P7QqENywAq5TLsoYDzUyJGny8FEiD/9KJUxtGH8blGpMedilI6kK3rA==}
engines: {node: '>= 14.0.0'}
- '@algolia/events@4.0.1':
- resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==}
-
'@algolia/ingestion@1.49.1':
resolution: {integrity: sha512-b5hUXwDqje0Y4CpU6VL481DXgPgxpTD5sYMnfQTHKgUispGnaCLCm2/T9WbJo1YNUbX3iHtYDArp804eD6CmRQ==}
engines: {node: '>= 14.0.0'}
@@ -236,6 +237,10 @@ packages:
resolution: {integrity: sha512-zA5bkUOB5PPtTr182DJmajCiizHp0rCJQ0Chf96zNFvkdESKYlDeYA3tQ7r2oyHbu/8DiohAQ5PZ85edctzbXA==}
engines: {node: '>= 14.0.0'}
+ '@alloc/quick-lru@5.2.0':
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+
'@babel/code-frame@7.10.4':
resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==}
@@ -765,12 +770,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-react-constant-elements@7.27.1':
- resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-react-display-name@7.28.0':
resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==}
engines: {node: '>=6.9.0'}
@@ -926,10 +925,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/runtime-corejs3@7.29.0':
- resolution: {integrity: sha512-TgUkdp71C9pIbBcHudc+gXZnihEDOjUAmXO1VO4HHGES7QLZcShR0stfKIxLSNIYx2fqhmJChOjm/wkF8wv4gA==}
- engines: {node: '>=6.9.0'}
-
'@babel/runtime@7.28.6':
resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==}
engines: {node: '>=6.9.0'}
@@ -946,10 +941,6 @@ packages:
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
- '@colors/colors@1.5.0':
- resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
- engines: {node: '>=0.1.90'}
-
'@commitlint/cli@19.8.1':
resolution: {integrity: sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==}
engines: {node: '>=v18'}
@@ -1019,634 +1010,299 @@ packages:
resolution: {integrity: sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==}
engines: {node: '>=v18'}
- '@csstools/cascade-layer-name-parser@2.0.5':
- resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==}
- engines: {node: '>=18'}
- peerDependencies:
- '@csstools/css-parser-algorithms': ^3.0.5
- '@csstools/css-tokenizer': ^3.0.4
-
- '@csstools/color-helpers@5.1.0':
- resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==}
- engines: {node: '>=18'}
+ '@emnapi/runtime@1.11.1':
+ resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==}
- '@csstools/css-calc@2.1.4':
- resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
+ '@esbuild/aix-ppc64@0.28.1':
+ resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==}
engines: {node: '>=18'}
- peerDependencies:
- '@csstools/css-parser-algorithms': ^3.0.5
- '@csstools/css-tokenizer': ^3.0.4
+ cpu: [ppc64]
+ os: [aix]
- '@csstools/css-color-parser@3.1.0':
- resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==}
+ '@esbuild/android-arm64@0.28.1':
+ resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==}
engines: {node: '>=18'}
- peerDependencies:
- '@csstools/css-parser-algorithms': ^3.0.5
- '@csstools/css-tokenizer': ^3.0.4
+ cpu: [arm64]
+ os: [android]
- '@csstools/css-parser-algorithms@3.0.5':
- resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
+ '@esbuild/android-arm@0.28.1':
+ resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==}
engines: {node: '>=18'}
- peerDependencies:
- '@csstools/css-tokenizer': ^3.0.4
+ cpu: [arm]
+ os: [android]
- '@csstools/css-tokenizer@3.0.4':
- resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
+ '@esbuild/android-x64@0.28.1':
+ resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==}
engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
- '@csstools/media-query-list-parser@4.0.3':
- resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==}
+ '@esbuild/darwin-arm64@0.28.1':
+ resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==}
engines: {node: '>=18'}
- peerDependencies:
- '@csstools/css-parser-algorithms': ^3.0.5
- '@csstools/css-tokenizer': ^3.0.4
+ cpu: [arm64]
+ os: [darwin]
- '@csstools/postcss-alpha-function@1.0.1':
- resolution: {integrity: sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==}
+ '@esbuild/darwin-x64@0.28.1':
+ resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [x64]
+ os: [darwin]
- '@csstools/postcss-cascade-layers@5.0.2':
- resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==}
+ '@esbuild/freebsd-arm64@0.28.1':
+ resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [arm64]
+ os: [freebsd]
- '@csstools/postcss-color-function-display-p3-linear@1.0.1':
- resolution: {integrity: sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==}
+ '@esbuild/freebsd-x64@0.28.1':
+ resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [x64]
+ os: [freebsd]
- '@csstools/postcss-color-function@4.0.12':
- resolution: {integrity: sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==}
+ '@esbuild/linux-arm64@0.28.1':
+ resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [arm64]
+ os: [linux]
- '@csstools/postcss-color-mix-function@3.0.12':
- resolution: {integrity: sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==}
+ '@esbuild/linux-arm@0.28.1':
+ resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [arm]
+ os: [linux]
- '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2':
- resolution: {integrity: sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==}
+ '@esbuild/linux-ia32@0.28.1':
+ resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [ia32]
+ os: [linux]
- '@csstools/postcss-content-alt-text@2.0.8':
- resolution: {integrity: sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==}
+ '@esbuild/linux-loong64@0.28.1':
+ resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [loong64]
+ os: [linux]
- '@csstools/postcss-contrast-color-function@2.0.12':
- resolution: {integrity: sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==}
+ '@esbuild/linux-mips64el@0.28.1':
+ resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [mips64el]
+ os: [linux]
- '@csstools/postcss-exponential-functions@2.0.9':
- resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==}
+ '@esbuild/linux-ppc64@0.28.1':
+ resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [ppc64]
+ os: [linux]
- '@csstools/postcss-font-format-keywords@4.0.0':
- resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==}
+ '@esbuild/linux-riscv64@0.28.1':
+ resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [riscv64]
+ os: [linux]
- '@csstools/postcss-gamut-mapping@2.0.11':
- resolution: {integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==}
+ '@esbuild/linux-s390x@0.28.1':
+ resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [s390x]
+ os: [linux]
- '@csstools/postcss-gradients-interpolation-method@5.0.12':
- resolution: {integrity: sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==}
+ '@esbuild/linux-x64@0.28.1':
+ resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [x64]
+ os: [linux]
- '@csstools/postcss-hwb-function@4.0.12':
- resolution: {integrity: sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==}
+ '@esbuild/netbsd-arm64@0.28.1':
+ resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [arm64]
+ os: [netbsd]
- '@csstools/postcss-ic-unit@4.0.4':
- resolution: {integrity: sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==}
+ '@esbuild/netbsd-x64@0.28.1':
+ resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [x64]
+ os: [netbsd]
- '@csstools/postcss-initial@2.0.1':
- resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==}
+ '@esbuild/openbsd-arm64@0.28.1':
+ resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [arm64]
+ os: [openbsd]
- '@csstools/postcss-is-pseudo-class@5.0.3':
- resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==}
+ '@esbuild/openbsd-x64@0.28.1':
+ resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [x64]
+ os: [openbsd]
- '@csstools/postcss-light-dark-function@2.0.11':
- resolution: {integrity: sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==}
+ '@esbuild/openharmony-arm64@0.28.1':
+ resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [arm64]
+ os: [openharmony]
- '@csstools/postcss-logical-float-and-clear@3.0.0':
- resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==}
+ '@esbuild/sunos-x64@0.28.1':
+ resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [x64]
+ os: [sunos]
- '@csstools/postcss-logical-overflow@2.0.0':
- resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==}
+ '@esbuild/win32-arm64@0.28.1':
+ resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [arm64]
+ os: [win32]
- '@csstools/postcss-logical-overscroll-behavior@2.0.0':
- resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==}
+ '@esbuild/win32-ia32@0.28.1':
+ resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [ia32]
+ os: [win32]
- '@csstools/postcss-logical-resize@3.0.0':
- resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==}
+ '@esbuild/win32-x64@0.28.1':
+ resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==}
engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ cpu: [x64]
+ os: [win32]
- '@csstools/postcss-logical-viewport-units@3.0.4':
- resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/cli@0.24.24':
+ resolution: {integrity: sha512-XybHfF2QNPJNnHoUKHcG796iEkX5126UuTAs6MSpZuvZRRQRj/sGCLX+driCOVHbDOpcCOusMuHrhxHbtTApyg==}
+ hasBin: true
- '@csstools/postcss-media-minmax@2.0.9':
- resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==}
- engines: {node: '>=18'}
+ '@expo/cli@55.0.12':
+ resolution: {integrity: sha512-I2r0SPEx1svcaFXzyaC/Xd+U1y6mF7tbMRtVK3Z+ifB8pTe/H4UJ7CivTGpn8b5btsabNQjADAlnURgjP5dHYA==}
+ hasBin: true
peerDependencies:
- postcss: ^8.4
+ expo: '*'
+ expo-router: '*'
+ react-native: '*'
+ peerDependenciesMeta:
+ expo-router:
+ optional: true
+ react-native:
+ optional: true
- '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5':
- resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/code-signing-certificates@0.0.6':
+ resolution: {integrity: sha512-iNe0puxwBNEcuua9gmTGzq+SuMDa0iATai1FlFTMHJ/vUmKvN/V//drXoLJkVb5i5H3iE/n/qIJxyoBnXouD0w==}
- '@csstools/postcss-nested-calc@4.0.0':
- resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/config-plugins@10.1.2':
+ resolution: {integrity: sha512-IMYCxBOcnuFStuK0Ay+FzEIBKrwW8OVUMc65+v0+i7YFIIe8aL342l7T4F8lR4oCfhXn7d6M5QPgXvjtc/gAcw==}
- '@csstools/postcss-normalize-display-values@4.0.1':
- resolution: {integrity: sha512-TQUGBuRvxdc7TgNSTevYqrL8oItxiwPDixk20qCB5me/W8uF7BPbhRrAvFuhEoywQp/woRsUZ6SJ+sU5idZAIA==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/config-plugins@55.0.6':
+ resolution: {integrity: sha512-cIox6FjZlFaaX40rbQ3DvP9e87S5X85H9uw+BAxJE5timkMhuByy3GAlOsj1h96EyzSiol7Q6YIGgY1Jiz4M+A==}
- '@csstools/postcss-oklab-function@4.0.12':
- resolution: {integrity: sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/config-types@53.0.5':
+ resolution: {integrity: sha512-kqZ0w44E+HEGBjy+Lpyn0BVL5UANg/tmNixxaRMLS6nf37YsDrLk2VMAmeKMMk5CKG0NmOdVv3ngeUjRQMsy9g==}
- '@csstools/postcss-position-area-property@1.0.0':
- resolution: {integrity: sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/config-types@55.0.5':
+ resolution: {integrity: sha512-sCmSUZG4mZ/ySXvfyyBdhjivz8Q539X1NondwDdYG7s3SBsk+wsgPJzYsqgAG/P9+l0xWjUD2F+kQ1cAJ6NNLg==}
- '@csstools/postcss-progressive-custom-properties@4.2.1':
- resolution: {integrity: sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/config@11.0.13':
+ resolution: {integrity: sha512-TnGb4u/zUZetpav9sx/3fWK71oCPaOjZHoVED9NaEncktAd0Eonhq5NUghiJmkUGt3gGSjRAEBXiBbbY9/B1LA==}
- '@csstools/postcss-property-rule-prelude-list@1.0.0':
- resolution: {integrity: sha512-IxuQjUXq19fobgmSSvUDO7fVwijDJaZMvWQugxfEUxmjBeDCVaDuMpsZ31MsTm5xbnhA+ElDi0+rQ7sQQGisFA==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/config@55.0.8':
+ resolution: {integrity: sha512-D7RYYHfErCgEllGxNwdYdkgzLna7zkzUECBV3snbUpf7RvIpB5l1LpCgzuVoc5KVew5h7N1Tn4LnT/tBSUZsQg==}
- '@csstools/postcss-random-function@2.0.1':
- resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/devcert@1.2.1':
+ resolution: {integrity: sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA==}
- '@csstools/postcss-relative-color-syntax@3.0.12':
- resolution: {integrity: sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==}
- engines: {node: '>=18'}
+ '@expo/devtools@55.0.2':
+ resolution: {integrity: sha512-4VsFn9MUriocyuhyA+ycJP3TJhUsOFHDc270l9h3LhNpXMf6wvIdGcA0QzXkZtORXmlDybWXRP2KT1k36HcQkA==}
peerDependencies:
- postcss: ^8.4
+ react: '*'
+ react-native: '*'
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-native:
+ optional: true
- '@csstools/postcss-scope-pseudo-class@4.0.1':
- resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==}
- engines: {node: '>=18'}
+ '@expo/dom-webview@55.0.3':
+ resolution: {integrity: sha512-bY4/rfcZ0f43DvOtMn8/kmPlmo01tex5hRoc5hKbwBwQjqWQuQt0ACwu7akR9IHI4j0WNG48eL6cZB6dZUFrzg==}
peerDependencies:
- postcss: ^8.4
+ expo: '*'
+ react: '*'
+ react-native: '*'
- '@csstools/postcss-sign-functions@1.1.4':
- resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/env@1.0.7':
+ resolution: {integrity: sha512-qSTEnwvuYJ3umapO9XJtrb1fAqiPlmUUg78N0IZXXGwQRt+bkp0OBls+Y5Mxw/Owj8waAM0Z3huKKskRADR5ow==}
- '@csstools/postcss-stepped-value-functions@4.0.9':
- resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/env@2.1.1':
+ resolution: {integrity: sha512-rVvHC4I6xlPcg+mAO09ydUi2Wjv1ZytpLmHOSzvXzBAz9mMrJggqCe4s4dubjJvi/Ino/xQCLhbaLCnTtLpikg==}
+ engines: {node: '>=20.12.0'}
- '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1':
- resolution: {integrity: sha512-GneqQWefjM//f4hJ/Kbox0C6f2T7+pi4/fqTqOFGTL3EjnvOReTqO1qUQ30CaUjkwjYq9qZ41hzarrAxCc4gow==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/fingerprint@0.13.4':
+ resolution: {integrity: sha512-MYfPYBTMfrrNr07DALuLhG6EaLVNVrY/PXjEzsjWdWE4ZFn0yqI0IdHNkJG7t1gePT8iztHc7qnsx+oo/rDo6w==}
+ hasBin: true
- '@csstools/postcss-system-ui-font-family@1.0.0':
- resolution: {integrity: sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/fingerprint@0.16.5':
+ resolution: {integrity: sha512-mLrcymtgkW9IJ/G1e8MH1Xt2VIb1MOS86ePY0ePcnV3nVyJqm7gfa/AXD1Hk+eZXvf8XhioYz6QZaamBdEzR3A==}
+ hasBin: true
- '@csstools/postcss-text-decoration-shorthand@4.0.3':
- resolution: {integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/image-utils@0.7.6':
+ resolution: {integrity: sha512-GKnMqC79+mo/1AFrmAcUcGfbsXXTRqOMNS1umebuevl3aaw+ztsYEFEiuNhHZW7PQ3Xs3URNT513ZxKhznDscw==}
- '@csstools/postcss-trigonometric-functions@4.0.9':
- resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/image-utils@0.8.12':
+ resolution: {integrity: sha512-3KguH7kyKqq7pNwLb9j6BBdD/bjmNwXZG/HPWT6GWIXbwrvAJt2JNyYTP5agWJ8jbbuys1yuCzmkX+TU6rmI7A==}
- '@csstools/postcss-unset-value@4.0.0':
- resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
+ '@expo/json-file@10.0.12':
+ resolution: {integrity: sha512-inbDycp1rMAelAofg7h/mMzIe+Owx6F7pur3XdQ3EPTy00tme+4P6FWgHKUcjN8dBSrnbRNpSyh5/shzHyVCyQ==}
- '@csstools/selector-resolve-nested@3.1.0':
- resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss-selector-parser: ^7.0.0
+ '@expo/json-file@9.1.5':
+ resolution: {integrity: sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA==}
- '@csstools/selector-specificity@5.0.0':
- resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss-selector-parser: ^7.0.0
+ '@expo/local-build-cache-provider@55.0.6':
+ resolution: {integrity: sha512-4kfdv48sKzokijMqi07fINYA9/XprshmPgSLf8i69XgzIv2YdRyBbb70SzrufB7PDneFoltz8N83icW8gOOj1g==}
- '@csstools/utilities@2.0.0':
- resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==}
- engines: {node: '>=18'}
+ '@expo/log-box@55.0.7':
+ resolution: {integrity: sha512-m7V1k2vlMp4NOj3fopjOg4zl/ANXyTRF3HMTMep2GZAKsPiDzgOQ41nm8CaU50/HlDIGXlCObss07gOn20UpHQ==}
peerDependencies:
- postcss: ^8.4
-
- '@discoveryjs/json-ext@0.5.7':
- resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
- engines: {node: '>=10.0.0'}
+ '@expo/dom-webview': ^55.0.3
+ expo: '*'
+ react: '*'
+ react-native: '*'
- '@docsearch/css@3.9.0':
- resolution: {integrity: sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==}
+ '@expo/metro-config@0.20.18':
+ resolution: {integrity: sha512-qPYq3Cq61KQO1CppqtmxA1NGKpzFOmdiL7WxwLhEVnz73LPSgneW7dV/3RZwVFkjThzjA41qB4a9pxDqtpepPg==}
- '@docsearch/react@3.9.0':
- resolution: {integrity: sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==}
+ '@expo/metro-config@55.0.9':
+ resolution: {integrity: sha512-ZJFEfat/+dLUhFyFFWrzMjAqAwwUaJ3RD42QNqR7jh+RVYkAf6XYLynb5qrKJTHI1EcOx4KoO1717yXYYRFDBA==}
peerDependencies:
- '@types/react': '>= 16.8.0 < 20.0.0'
- react: '>= 16.8.0 < 20.0.0'
- react-dom: '>= 16.8.0 < 20.0.0'
- search-insights: '>= 1 < 3'
+ expo: '*'
peerDependenciesMeta:
- '@types/react':
- optional: true
- react:
- optional: true
- react-dom:
- optional: true
- search-insights:
+ expo:
optional: true
- '@docusaurus/babel@3.9.2':
- resolution: {integrity: sha512-GEANdi/SgER+L7Japs25YiGil/AUDnFFHaCGPBbundxoWtCkA2lmy7/tFmgED4y1htAy6Oi4wkJEQdGssnw9MA==}
- engines: {node: '>=20.0'}
-
- '@docusaurus/bundler@3.9.2':
- resolution: {integrity: sha512-ZOVi6GYgTcsZcUzjblpzk3wH1Fya2VNpd5jtHoCCFcJlMQ1EYXZetfAnRHLcyiFeBABaI1ltTYbOBtH/gahGVA==}
- engines: {node: '>=20.0'}
- peerDependencies:
- '@docusaurus/faster': '*'
- peerDependenciesMeta:
- '@docusaurus/faster':
- optional: true
+ '@expo/metro@54.2.0':
+ resolution: {integrity: sha512-h68TNZPGsk6swMmLm9nRSnE2UXm48rWwgcbtAHVMikXvbxdS41NDHHeqg1rcQ9AbznDRp6SQVC2MVpDnsRKU1w==}
- '@docusaurus/core@3.9.2':
- resolution: {integrity: sha512-HbjwKeC+pHUFBfLMNzuSjqFE/58+rLVKmOU3lxQrpsxLBOGosYco/Q0GduBb0/jEMRiyEqjNT/01rRdOMWq5pw==}
- engines: {node: '>=20.0'}
- hasBin: true
- peerDependencies:
- '@mdx-js/react': ^3.0.0
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
+ '@expo/osascript@2.4.2':
+ resolution: {integrity: sha512-/XP7PSYF2hzOZzqfjgkoWtllyeTN8dW3aM4P6YgKcmmPikKL5FdoyQhti4eh6RK5a5VrUXJTOlTNIpIHsfB5Iw==}
+ engines: {node: '>=12'}
- '@docusaurus/cssnano-preset@3.9.2':
- resolution: {integrity: sha512-8gBKup94aGttRduABsj7bpPFTX7kbwu+xh3K9NMCF5K4bWBqTFYW+REKHF6iBVDHRJ4grZdIPbvkiHd/XNKRMQ==}
- engines: {node: '>=20.0'}
+ '@expo/package-manager@1.10.3':
+ resolution: {integrity: sha512-ZuXiK/9fCrIuLjPSe1VYmfp0Sa85kCMwd8QQpgyi5ufppYKRtLBg14QOgUqj8ZMbJTxE0xqzd0XR7kOs3vAK9A==}
- '@docusaurus/logger@3.9.2':
- resolution: {integrity: sha512-/SVCc57ByARzGSU60c50rMyQlBuMIJCjcsJlkphxY6B0GV4UH3tcA1994N8fFfbJ9kX3jIBe/xg3XP5qBtGDbA==}
- engines: {node: '>=20.0'}
+ '@expo/plist@0.3.5':
+ resolution: {integrity: sha512-9RYVU1iGyCJ7vWfg3e7c/NVyMFs8wbl+dMWZphtFtsqyN9zppGREU3ctlD3i8KUE0sCUTVnLjCWr+VeUIDep2g==}
- '@docusaurus/mdx-loader@3.9.2':
- resolution: {integrity: sha512-wiYoGwF9gdd6rev62xDU8AAM8JuLI/hlwOtCzMmYcspEkzecKrP8J8X+KpYnTlACBUUtXNJpSoCwFWJhLRevzQ==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
+ '@expo/plist@0.5.2':
+ resolution: {integrity: sha512-o4xdVdBpe4aTl3sPMZ2u3fJH4iG1I768EIRk1xRZP+GaFI93MaR3JvoFibYqxeTmLQ1p1kNEVqylfUjezxx45g==}
- '@docusaurus/module-type-aliases@3.9.2':
- resolution: {integrity: sha512-8qVe2QA9hVLzvnxP46ysuofJUIc/yYQ82tvA/rBTrnpXtCjNSFLxEZfd5U8cYZuJIVlkPxamsIgwd5tGZXfvew==}
+ '@expo/prebuild-config@55.0.7':
+ resolution: {integrity: sha512-NNfUmUss0ykzzITeIIZQrG/mQnFE6k3usMuUY0RQPoB4omUNHuHcPqEPmojVsIHFigD7CkAH6RvEL0/syuewBA==}
peerDependencies:
- react: '*'
- react-dom: '*'
+ expo: '*'
- '@docusaurus/plugin-content-blog@3.9.2':
- resolution: {integrity: sha512-3I2HXy3L1QcjLJLGAoTvoBnpOwa6DPUa3Q0dMK19UTY9mhPkKQg/DYhAGTiBUKcTR0f08iw7kLPqOhIgdV3eVQ==}
- engines: {node: '>=20.0'}
- peerDependencies:
- '@docusaurus/plugin-content-docs': '*'
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
+ '@expo/prebuild-config@9.0.12':
+ resolution: {integrity: sha512-AKH5Scf+gEMgGxZZaimrJI2wlUJlRoqzDNn7/rkhZa5gUTnO4l6slKak2YdaH+nXlOWCNfAQWa76NnpQIfmv6Q==}
- '@docusaurus/plugin-content-docs@3.9.2':
- resolution: {integrity: sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/plugin-content-pages@3.9.2':
- resolution: {integrity: sha512-s4849w/p4noXUrGpPUF0BPqIAfdAe76BLaRGAGKZ1gTDNiGxGcpsLcwJ9OTi1/V8A+AzvsmI9pkjie2zjIQZKA==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/plugin-css-cascade-layers@3.9.2':
- resolution: {integrity: sha512-w1s3+Ss+eOQbscGM4cfIFBlVg/QKxyYgj26k5AnakuHkKxH6004ZtuLe5awMBotIYF2bbGDoDhpgQ4r/kcj4rQ==}
- engines: {node: '>=20.0'}
-
- '@docusaurus/plugin-debug@3.9.2':
- resolution: {integrity: sha512-j7a5hWuAFxyQAkilZwhsQ/b3T7FfHZ+0dub6j/GxKNFJp2h9qk/P1Bp7vrGASnvA9KNQBBL1ZXTe7jlh4VdPdA==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/plugin-google-analytics@3.9.2':
- resolution: {integrity: sha512-mAwwQJ1Us9jL/lVjXtErXto4p4/iaLlweC54yDUK1a97WfkC6Z2k5/769JsFgwOwOP+n5mUQGACXOEQ0XDuVUw==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/plugin-google-gtag@3.9.2':
- resolution: {integrity: sha512-YJ4lDCphabBtw19ooSlc1MnxtYGpjFV9rEdzjLsUnBCeis2djUyCozZaFhCg6NGEwOn7HDDyMh0yzcdRpnuIvA==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/plugin-google-tag-manager@3.9.2':
- resolution: {integrity: sha512-LJtIrkZN/tuHD8NqDAW1Tnw0ekOwRTfobWPsdO15YxcicBo2ykKF0/D6n0vVBfd3srwr9Z6rzrIWYrMzBGrvNw==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/plugin-sitemap@3.9.2':
- resolution: {integrity: sha512-WLh7ymgDXjG8oPoM/T4/zUP7KcSuFYRZAUTl8vR6VzYkfc18GBM4xLhcT+AKOwun6kBivYKUJf+vlqYJkm+RHw==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/plugin-svgr@3.9.2':
- resolution: {integrity: sha512-n+1DE+5b3Lnf27TgVU5jM1d4x5tUh2oW5LTsBxJX4PsAPV0JGcmI6p3yLYtEY0LRVEIJh+8RsdQmRE66wSV8mw==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/preset-classic@3.9.2':
- resolution: {integrity: sha512-IgyYO2Gvaigi21LuDIe+nvmN/dfGXAiMcV/murFqcpjnZc7jxFAxW+9LEjdPt61uZLxG4ByW/oUmX/DDK9t/8w==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/react-loadable@6.0.0':
- resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==}
- peerDependencies:
- react: '*'
-
- '@docusaurus/theme-classic@3.9.2':
- resolution: {integrity: sha512-IGUsArG5hhekXd7RDb11v94ycpJpFdJPkLnt10fFQWOVxAtq5/D7hT6lzc2fhyQKaaCE62qVajOMKL7OiAFAIA==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/theme-common@3.9.2':
- resolution: {integrity: sha512-6c4DAbR6n6nPbnZhY2V3tzpnKnGL+6aOsLvFL26VRqhlczli9eWG0VDUNoCQEPnGwDMhPS42UhSAnz5pThm5Ag==}
- engines: {node: '>=20.0'}
- peerDependencies:
- '@docusaurus/plugin-content-docs': '*'
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/theme-search-algolia@3.9.2':
- resolution: {integrity: sha512-GBDSFNwjnh5/LdkxCKQHkgO2pIMX1447BxYUBG2wBiajS21uj64a+gH/qlbQjDLxmGrbrllBrtJkUHxIsiwRnw==}
- engines: {node: '>=20.0'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/theme-translations@3.9.2':
- resolution: {integrity: sha512-vIryvpP18ON9T9rjgMRFLr2xJVDpw1rtagEGf8Ccce4CkTrvM/fRB8N2nyWYOW5u3DdjkwKw5fBa+3tbn9P4PA==}
- engines: {node: '>=20.0'}
-
- '@docusaurus/tsconfig@3.9.2':
- resolution: {integrity: sha512-j6/Fp4Rlpxsc632cnRnl5HpOWeb6ZKssDj6/XzzAzVGXXfm9Eptx3rxCC+fDzySn9fHTS+CWJjPineCR1bB5WQ==}
-
- '@docusaurus/types@3.9.2':
- resolution: {integrity: sha512-Ux1JUNswg+EfUEmajJjyhIohKceitY/yzjRUpu04WXgvVz+fbhVC0p+R0JhvEu4ytw8zIAys2hrdpQPBHRIa8Q==}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
-
- '@docusaurus/utils-common@3.9.2':
- resolution: {integrity: sha512-I53UC1QctruA6SWLvbjbhCpAw7+X7PePoe5pYcwTOEXD/PxeP8LnECAhTHHwWCblyUX5bMi4QLRkxvyZ+IT8Aw==}
- engines: {node: '>=20.0'}
-
- '@docusaurus/utils-validation@3.9.2':
- resolution: {integrity: sha512-l7yk3X5VnNmATbwijJkexdhulNsQaNDwoagiwujXoxFbWLcxHQqNQ+c/IAlzrfMMOfa/8xSBZ7KEKDesE/2J7A==}
- engines: {node: '>=20.0'}
-
- '@docusaurus/utils@3.9.2':
- resolution: {integrity: sha512-lBSBiRruFurFKXr5Hbsl2thmGweAPmddhF3jb99U4EMDA5L+e5Y1rAkOS07Nvrup7HUMBDrCV45meaxZnt28nQ==}
- engines: {node: '>=20.0'}
-
- '@expo/cli@0.24.24':
- resolution: {integrity: sha512-XybHfF2QNPJNnHoUKHcG796iEkX5126UuTAs6MSpZuvZRRQRj/sGCLX+driCOVHbDOpcCOusMuHrhxHbtTApyg==}
- hasBin: true
-
- '@expo/cli@55.0.12':
- resolution: {integrity: sha512-I2r0SPEx1svcaFXzyaC/Xd+U1y6mF7tbMRtVK3Z+ifB8pTe/H4UJ7CivTGpn8b5btsabNQjADAlnURgjP5dHYA==}
- hasBin: true
- peerDependencies:
- expo: '*'
- expo-router: '*'
- react-native: '*'
- peerDependenciesMeta:
- expo-router:
- optional: true
- react-native:
- optional: true
-
- '@expo/code-signing-certificates@0.0.6':
- resolution: {integrity: sha512-iNe0puxwBNEcuua9gmTGzq+SuMDa0iATai1FlFTMHJ/vUmKvN/V//drXoLJkVb5i5H3iE/n/qIJxyoBnXouD0w==}
-
- '@expo/config-plugins@10.1.2':
- resolution: {integrity: sha512-IMYCxBOcnuFStuK0Ay+FzEIBKrwW8OVUMc65+v0+i7YFIIe8aL342l7T4F8lR4oCfhXn7d6M5QPgXvjtc/gAcw==}
-
- '@expo/config-plugins@55.0.6':
- resolution: {integrity: sha512-cIox6FjZlFaaX40rbQ3DvP9e87S5X85H9uw+BAxJE5timkMhuByy3GAlOsj1h96EyzSiol7Q6YIGgY1Jiz4M+A==}
-
- '@expo/config-types@53.0.5':
- resolution: {integrity: sha512-kqZ0w44E+HEGBjy+Lpyn0BVL5UANg/tmNixxaRMLS6nf37YsDrLk2VMAmeKMMk5CKG0NmOdVv3ngeUjRQMsy9g==}
-
- '@expo/config-types@55.0.5':
- resolution: {integrity: sha512-sCmSUZG4mZ/ySXvfyyBdhjivz8Q539X1NondwDdYG7s3SBsk+wsgPJzYsqgAG/P9+l0xWjUD2F+kQ1cAJ6NNLg==}
-
- '@expo/config@11.0.13':
- resolution: {integrity: sha512-TnGb4u/zUZetpav9sx/3fWK71oCPaOjZHoVED9NaEncktAd0Eonhq5NUghiJmkUGt3gGSjRAEBXiBbbY9/B1LA==}
-
- '@expo/config@55.0.8':
- resolution: {integrity: sha512-D7RYYHfErCgEllGxNwdYdkgzLna7zkzUECBV3snbUpf7RvIpB5l1LpCgzuVoc5KVew5h7N1Tn4LnT/tBSUZsQg==}
-
- '@expo/devcert@1.2.1':
- resolution: {integrity: sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA==}
-
- '@expo/devtools@55.0.2':
- resolution: {integrity: sha512-4VsFn9MUriocyuhyA+ycJP3TJhUsOFHDc270l9h3LhNpXMf6wvIdGcA0QzXkZtORXmlDybWXRP2KT1k36HcQkA==}
- peerDependencies:
- react: '*'
- react-native: '*'
- peerDependenciesMeta:
- react:
- optional: true
- react-native:
- optional: true
-
- '@expo/dom-webview@55.0.3':
- resolution: {integrity: sha512-bY4/rfcZ0f43DvOtMn8/kmPlmo01tex5hRoc5hKbwBwQjqWQuQt0ACwu7akR9IHI4j0WNG48eL6cZB6dZUFrzg==}
- peerDependencies:
- expo: '*'
- react: '*'
- react-native: '*'
-
- '@expo/env@1.0.7':
- resolution: {integrity: sha512-qSTEnwvuYJ3umapO9XJtrb1fAqiPlmUUg78N0IZXXGwQRt+bkp0OBls+Y5Mxw/Owj8waAM0Z3huKKskRADR5ow==}
-
- '@expo/env@2.1.1':
- resolution: {integrity: sha512-rVvHC4I6xlPcg+mAO09ydUi2Wjv1ZytpLmHOSzvXzBAz9mMrJggqCe4s4dubjJvi/Ino/xQCLhbaLCnTtLpikg==}
- engines: {node: '>=20.12.0'}
-
- '@expo/fingerprint@0.13.4':
- resolution: {integrity: sha512-MYfPYBTMfrrNr07DALuLhG6EaLVNVrY/PXjEzsjWdWE4ZFn0yqI0IdHNkJG7t1gePT8iztHc7qnsx+oo/rDo6w==}
- hasBin: true
-
- '@expo/fingerprint@0.16.5':
- resolution: {integrity: sha512-mLrcymtgkW9IJ/G1e8MH1Xt2VIb1MOS86ePY0ePcnV3nVyJqm7gfa/AXD1Hk+eZXvf8XhioYz6QZaamBdEzR3A==}
- hasBin: true
-
- '@expo/image-utils@0.7.6':
- resolution: {integrity: sha512-GKnMqC79+mo/1AFrmAcUcGfbsXXTRqOMNS1umebuevl3aaw+ztsYEFEiuNhHZW7PQ3Xs3URNT513ZxKhznDscw==}
-
- '@expo/image-utils@0.8.12':
- resolution: {integrity: sha512-3KguH7kyKqq7pNwLb9j6BBdD/bjmNwXZG/HPWT6GWIXbwrvAJt2JNyYTP5agWJ8jbbuys1yuCzmkX+TU6rmI7A==}
-
- '@expo/json-file@10.0.12':
- resolution: {integrity: sha512-inbDycp1rMAelAofg7h/mMzIe+Owx6F7pur3XdQ3EPTy00tme+4P6FWgHKUcjN8dBSrnbRNpSyh5/shzHyVCyQ==}
-
- '@expo/json-file@9.1.5':
- resolution: {integrity: sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA==}
-
- '@expo/local-build-cache-provider@55.0.6':
- resolution: {integrity: sha512-4kfdv48sKzokijMqi07fINYA9/XprshmPgSLf8i69XgzIv2YdRyBbb70SzrufB7PDneFoltz8N83icW8gOOj1g==}
-
- '@expo/log-box@55.0.7':
- resolution: {integrity: sha512-m7V1k2vlMp4NOj3fopjOg4zl/ANXyTRF3HMTMep2GZAKsPiDzgOQ41nm8CaU50/HlDIGXlCObss07gOn20UpHQ==}
- peerDependencies:
- '@expo/dom-webview': ^55.0.3
- expo: '*'
- react: '*'
- react-native: '*'
-
- '@expo/metro-config@0.20.18':
- resolution: {integrity: sha512-qPYq3Cq61KQO1CppqtmxA1NGKpzFOmdiL7WxwLhEVnz73LPSgneW7dV/3RZwVFkjThzjA41qB4a9pxDqtpepPg==}
-
- '@expo/metro-config@55.0.9':
- resolution: {integrity: sha512-ZJFEfat/+dLUhFyFFWrzMjAqAwwUaJ3RD42QNqR7jh+RVYkAf6XYLynb5qrKJTHI1EcOx4KoO1717yXYYRFDBA==}
- peerDependencies:
- expo: '*'
- peerDependenciesMeta:
- expo:
- optional: true
-
- '@expo/metro@54.2.0':
- resolution: {integrity: sha512-h68TNZPGsk6swMmLm9nRSnE2UXm48rWwgcbtAHVMikXvbxdS41NDHHeqg1rcQ9AbznDRp6SQVC2MVpDnsRKU1w==}
-
- '@expo/osascript@2.4.2':
- resolution: {integrity: sha512-/XP7PSYF2hzOZzqfjgkoWtllyeTN8dW3aM4P6YgKcmmPikKL5FdoyQhti4eh6RK5a5VrUXJTOlTNIpIHsfB5Iw==}
- engines: {node: '>=12'}
-
- '@expo/package-manager@1.10.3':
- resolution: {integrity: sha512-ZuXiK/9fCrIuLjPSe1VYmfp0Sa85kCMwd8QQpgyi5ufppYKRtLBg14QOgUqj8ZMbJTxE0xqzd0XR7kOs3vAK9A==}
-
- '@expo/plist@0.3.5':
- resolution: {integrity: sha512-9RYVU1iGyCJ7vWfg3e7c/NVyMFs8wbl+dMWZphtFtsqyN9zppGREU3ctlD3i8KUE0sCUTVnLjCWr+VeUIDep2g==}
-
- '@expo/plist@0.5.2':
- resolution: {integrity: sha512-o4xdVdBpe4aTl3sPMZ2u3fJH4iG1I768EIRk1xRZP+GaFI93MaR3JvoFibYqxeTmLQ1p1kNEVqylfUjezxx45g==}
-
- '@expo/prebuild-config@55.0.7':
- resolution: {integrity: sha512-NNfUmUss0ykzzITeIIZQrG/mQnFE6k3usMuUY0RQPoB4omUNHuHcPqEPmojVsIHFigD7CkAH6RvEL0/syuewBA==}
- peerDependencies:
- expo: '*'
-
- '@expo/prebuild-config@9.0.12':
- resolution: {integrity: sha512-AKH5Scf+gEMgGxZZaimrJI2wlUJlRoqzDNn7/rkhZa5gUTnO4l6slKak2YdaH+nXlOWCNfAQWa76NnpQIfmv6Q==}
-
- '@expo/require-utils@55.0.2':
- resolution: {integrity: sha512-dV5oCShQ1umKBKagMMT4B/N+SREsQe3lU4Zgmko5AO0rxKV0tynZT6xXs+e2JxuqT4Rz997atg7pki0BnZb4uw==}
+ '@expo/require-utils@55.0.2':
+ resolution: {integrity: sha512-dV5oCShQ1umKBKagMMT4B/N+SREsQe3lU4Zgmko5AO0rxKV0tynZT6xXs+e2JxuqT4Rz997atg7pki0BnZb4uw==}
peerDependencies:
typescript: ^5.0.0 || ^5.0.0-0
peerDependenciesMeta:
@@ -1712,11 +1368,34 @@ packages:
resolution: {integrity: sha512-KZNxZvnGCtiM2aYYZ6Wz0Ix5r47dAvpNLApFtZWnSoERzAdOMzVBOPysBoM0JlF6FKWZ8GPqgn6qt3dV/8Zlpg==}
hasBin: true
- '@hapi/hoek@9.3.0':
- resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
+ '@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==}
+
+ '@fumadocs/tailwind@0.0.5':
+ resolution: {integrity: sha512-ENKPWUDRmriccsrUDE4bDBq3FNr/ms3BP2rWlsAEMV1yP23pcCaan+ceGfeBUsAQjw7sj9Q3R4Kl3g/TCStPzQ==}
+ peerDependencies:
+ '@tailwindcss/oxide': ^4.0.0
+ tailwindcss: ^4.0.0
+ peerDependenciesMeta:
+ '@tailwindcss/oxide':
+ optional: true
+ tailwindcss:
+ optional: true
- '@hapi/topo@5.1.0':
- resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+ '@gerrit0/mini-shiki@3.23.0':
+ resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==}
'@hutson/parse-repository-url@3.0.2':
resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==}
@@ -1725,204 +1404,279 @@ packages:
'@iarna/toml@2.2.5':
resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==}
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
-
- '@isaacs/fs-minipass@4.0.1':
- resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
- engines: {node: '>=18.0.0'}
+ '@img/colour@1.1.0':
+ resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==}
+ engines: {node: '>=18'}
- '@isaacs/ttlcache@1.4.1':
- resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==}
- engines: {node: '>=12'}
+ '@img/sharp-darwin-arm64@0.34.5':
+ resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [darwin]
- '@istanbuljs/load-nyc-config@1.1.0':
- resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
- engines: {node: '>=8'}
+ '@img/sharp-darwin-x64@0.34.5':
+ resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [darwin]
- '@istanbuljs/schema@0.1.3':
- resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
- engines: {node: '>=8'}
+ '@img/sharp-libvips-darwin-arm64@1.2.4':
+ resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==}
+ cpu: [arm64]
+ os: [darwin]
- '@jest/create-cache-key-function@29.7.0':
- resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@img/sharp-libvips-darwin-x64@1.2.4':
+ resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==}
+ cpu: [x64]
+ os: [darwin]
- '@jest/environment@29.7.0':
- resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@img/sharp-libvips-linux-arm64@1.2.4':
+ resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
- '@jest/fake-timers@29.7.0':
- resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@img/sharp-libvips-linux-arm@1.2.4':
+ resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
- '@jest/schemas@29.6.3':
- resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@img/sharp-libvips-linux-ppc64@1.2.4':
+ resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
- '@jest/transform@29.7.0':
- resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@img/sharp-libvips-linux-riscv64@1.2.4':
+ resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
- '@jest/types@29.6.3':
- resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@img/sharp-libvips-linux-s390x@1.2.4':
+ resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
- '@jridgewell/gen-mapping@0.3.13':
- resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+ '@img/sharp-libvips-linux-x64@1.2.4':
+ resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
- '@jridgewell/remapping@2.3.5':
- resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
+ '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
+ resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
- '@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
+ '@img/sharp-libvips-linuxmusl-x64@1.2.4':
+ resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
- '@jridgewell/source-map@0.3.11':
- resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==}
+ '@img/sharp-linux-arm64@0.34.5':
+ resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
- '@jridgewell/sourcemap-codec@1.5.5':
- resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+ '@img/sharp-linux-arm@0.34.5':
+ resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
- '@jridgewell/trace-mapping@0.3.31':
- resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+ '@img/sharp-linux-ppc64@0.34.5':
+ resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
- '@jsonjoy.com/base64@1.1.2':
- resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@img/sharp-linux-riscv64@0.34.5':
+ resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
- '@jsonjoy.com/base64@17.67.0':
- resolution: {integrity: sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@img/sharp-linux-s390x@0.34.5':
+ resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
- '@jsonjoy.com/buffers@1.2.1':
- resolution: {integrity: sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@img/sharp-linux-x64@0.34.5':
+ resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
- '@jsonjoy.com/buffers@17.67.0':
- resolution: {integrity: sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@img/sharp-linuxmusl-arm64@0.34.5':
+ resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
- '@jsonjoy.com/codegen@1.0.0':
- resolution: {integrity: sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@img/sharp-linuxmusl-x64@0.34.5':
+ resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
- '@jsonjoy.com/codegen@17.67.0':
- resolution: {integrity: sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@img/sharp-wasm32@0.34.5':
+ resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [wasm32]
- '@jsonjoy.com/fs-core@4.56.10':
- resolution: {integrity: sha512-PyAEA/3cnHhsGcdY+AmIU+ZPqTuZkDhCXQ2wkXypdLitSpd6d5Ivxhnq4wa2ETRWFVJGabYynBWxIijOswSmOw==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@img/sharp-win32-arm64@0.34.5':
+ resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [win32]
- '@jsonjoy.com/fs-fsa@4.56.10':
- resolution: {integrity: sha512-/FVK63ysNzTPOnCCcPoPHt77TOmachdMS422txM4KhxddLdbW1fIbFMYH0AM0ow/YchCyS5gqEjKLNyv71j/5Q==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@img/sharp-win32-ia32@0.34.5':
+ resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ia32]
+ os: [win32]
- '@jsonjoy.com/fs-node-builtins@4.56.10':
- resolution: {integrity: sha512-uUnKz8R0YJyKq5jXpZtkGV9U0pJDt8hmYcLRrPjROheIfjMXsz82kXMgAA/qNg0wrZ1Kv+hrg7azqEZx6XZCVw==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@img/sharp-win32-x64@0.34.5':
+ resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [win32]
- '@jsonjoy.com/fs-node-to-fsa@4.56.10':
- resolution: {integrity: sha512-oH+O6Y4lhn9NyG6aEoFwIBNKZeYy66toP5LJcDOMBgL99BKQMUf/zWJspdRhMdn/3hbzQsZ8EHHsuekbFLGUWw==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
- '@jsonjoy.com/fs-node-utils@4.56.10':
- resolution: {integrity: sha512-8EuPBgVI2aDPwFdaNQeNpHsyqPi3rr+85tMNG/lHvQLiVjzoZsvxA//Xd8aB567LUhy4QS03ptT+unkD/DIsNg==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@isaacs/fs-minipass@4.0.1':
+ resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
+ engines: {node: '>=18.0.0'}
- '@jsonjoy.com/fs-node@4.56.10':
- resolution: {integrity: sha512-7R4Gv3tkUdW3dXfXiOkqxkElxKNVdd8BDOWC0/dbERd0pXpPY+s2s1Mino+aTvkGrFPiY+mmVxA7zhskm4Ue4Q==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@isaacs/ttlcache@1.4.1':
+ resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==}
+ engines: {node: '>=12'}
- '@jsonjoy.com/fs-print@4.56.10':
- resolution: {integrity: sha512-JW4fp5mAYepzFsSGrQ48ep8FXxpg4niFWHdF78wDrFGof7F3tKDJln72QFDEn/27M1yHd4v7sKHHVPh78aWcEw==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@istanbuljs/load-nyc-config@1.1.0':
+ resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
+ engines: {node: '>=8'}
- '@jsonjoy.com/fs-snapshot@4.56.10':
- resolution: {integrity: sha512-DkR6l5fj7+qj0+fVKm/OOXMGfDFCGXLfyHkORH3DF8hxkpDgIHbhf/DwncBMs2igu/ST7OEkexn1gIqoU6Y+9g==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@istanbuljs/schema@0.1.3':
+ resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
+ engines: {node: '>=8'}
- '@jsonjoy.com/json-pack@1.21.0':
- resolution: {integrity: sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@jest/create-cache-key-function@29.7.0':
+ resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@jsonjoy.com/json-pack@17.67.0':
- resolution: {integrity: sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@jest/environment@29.7.0':
+ resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@jsonjoy.com/json-pointer@1.0.2':
- resolution: {integrity: sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@jest/fake-timers@29.7.0':
+ resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@jsonjoy.com/json-pointer@17.67.0':
- resolution: {integrity: sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@jest/schemas@29.6.3':
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@jsonjoy.com/util@1.9.0':
- resolution: {integrity: sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@jest/transform@29.7.0':
+ resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@jsonjoy.com/util@17.67.0':
- resolution: {integrity: sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
+ '@jest/types@29.6.3':
+ resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ '@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'}
- '@leichtgewicht/ip-codec@2.0.5':
- resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==}
+ '@jridgewell/source-map@0.3.11':
+ resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==}
+
+ '@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/react@3.1.1':
- resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==}
- peerDependencies:
- '@types/react': '>=16'
- react: '>=16'
+ '@next/env@16.2.6':
+ resolution: {integrity: sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==}
+
+ '@next/swc-darwin-arm64@16.2.6':
+ resolution: {integrity: sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@next/swc-darwin-x64@16.2.6':
+ resolution: {integrity: sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@next/swc-linux-arm64-gnu@16.2.6':
+ resolution: {integrity: sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@next/swc-linux-arm64-musl@16.2.6':
+ resolution: {integrity: sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@next/swc-linux-x64-gnu@16.2.6':
+ resolution: {integrity: sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@next/swc-linux-x64-musl@16.2.6':
+ resolution: {integrity: sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@next/swc-win32-arm64-msvc@16.2.6':
+ resolution: {integrity: sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
- '@noble/hashes@1.4.0':
- resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==}
- engines: {node: '>= 16'}
+ '@next/swc-win32-x64-msvc@16.2.6':
+ resolution: {integrity: sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -1993,6 +1747,10 @@ packages:
'@octokit/types@9.3.2':
resolution: {integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==}
+ '@orama/orama@3.1.18':
+ resolution: {integrity: sha512-a61ljmRVVyG5MC/698C8/FfFDw5a8LOIvyOLW5fztgUXqUpc1jOfQzOitSCbge657OgXXThmY3Tk8fpiDb4UcA==}
+ engines: {node: '>= 20.0.0'}
+
'@oxfmt/binding-android-arm-eabi@0.35.0':
resolution: {integrity: sha512-BaRKlM3DyG81y/xWTsE6gZiv89F/3pHe2BqX2H4JbiB8HNVlWWtplzgATAE5IDSdwChdeuWLDTQzJ92Lglw3ZA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2237,40 +1995,6 @@ packages:
cpu: [x64]
os: [win32]
- '@peculiar/asn1-cms@2.6.1':
- resolution: {integrity: sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==}
-
- '@peculiar/asn1-csr@2.6.1':
- resolution: {integrity: sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w==}
-
- '@peculiar/asn1-ecc@2.6.1':
- resolution: {integrity: sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g==}
-
- '@peculiar/asn1-pfx@2.6.1':
- resolution: {integrity: sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw==}
-
- '@peculiar/asn1-pkcs8@2.6.1':
- resolution: {integrity: sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw==}
-
- '@peculiar/asn1-pkcs9@2.6.1':
- resolution: {integrity: sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw==}
-
- '@peculiar/asn1-rsa@2.6.1':
- resolution: {integrity: sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA==}
-
- '@peculiar/asn1-schema@2.6.0':
- resolution: {integrity: sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==}
-
- '@peculiar/asn1-x509-attr@2.6.1':
- resolution: {integrity: sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==}
-
- '@peculiar/asn1-x509@2.6.1':
- resolution: {integrity: sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==}
-
- '@peculiar/x509@1.14.3':
- resolution: {integrity: sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==}
- engines: {node: '>=20.0.0'}
-
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -2287,70 +2011,423 @@ packages:
resolution: {integrity: sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==}
engines: {node: '>=12'}
- '@polka/url@1.0.0-next.29':
- resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
+ '@radix-ui/number@1.1.2':
+ resolution: {integrity: sha512-ceTwaxc4I5IOi97DgCotl3pqiyRGvffcc0oOsE2dQYaJOFIDsDt4VWG6xEbg1QePv9QWausCEIppud/tJ1wNig==}
- '@react-native/assets-registry@0.83.2':
- resolution: {integrity: sha512-9I5l3pGAKnlpQ15uVkeB9Mgjvt3cZEaEc8EDtdexvdtZvLSjtwBzgourrOW4yZUijbjJr8h3YO2Y0q+THwUHTA==}
- engines: {node: '>= 20.19.4'}
+ '@radix-ui/primitive@1.1.4':
+ resolution: {integrity: sha512-7AdCK9PQyiljKoBDbN8OuctCbd/esdwZPQ8RtOE3SsyQtUpiPb+ND75q0jEhC1m1ecBI0MFNeLJvwIh9iKHRcQ==}
- '@react-native/babel-plugin-codegen@0.79.6':
- resolution: {integrity: sha512-CS5OrgcMPixOyUJ/Sk/HSsKsKgyKT5P7y3CojimOQzWqRZBmoQfxdST4ugj7n1H+ebM2IKqbgovApFbqXsoX0g==}
- engines: {node: '>=18'}
+ '@radix-ui/react-accordion@1.2.14':
+ resolution: {integrity: sha512-iE8YB9nmTBH8zd73ofBISZ8JCzgMoMkATJr7qDwa6u5F1+7mTM81V6fa71jgZ65rpjVpecDf1vSnwIFP9Ly1zw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@react-native/babel-plugin-codegen@0.83.2':
- resolution: {integrity: sha512-XbcN/BEa64pVlb0Hb/E/Ph2SepjVN/FcNKrJcQvtaKZA6mBSO8pW8Eircdlr61/KBH94LihHbQoQDzkQFpeaTg==}
- engines: {node: '>= 20.19.4'}
+ '@radix-ui/react-arrow@1.1.10':
+ resolution: {integrity: sha512-j2VTDz1vgCsmuG0k5lBfOcM8n5JPFqZBcMryasFjHYMhwxYL5SRUV5lMSUpRdNtw3D/Sv8pzJtrlAgkssYSsQQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@react-native/babel-preset@0.79.6':
- resolution: {integrity: sha512-H+FRO+r2Ql6b5IwfE0E7D52JhkxjeGSBSUpCXAI5zQ60zSBJ54Hwh2bBJOohXWl4J+C7gKYSAd2JHMUETu+c/A==}
- engines: {node: '>=18'}
+ '@radix-ui/react-collapsible@1.1.14':
+ resolution: {integrity: sha512-9bT+FvifX1FK2Mj6UEsTdyu0cN3JaA3KdfhaBao+ONrYFy/pyOy3TU1TNw7iOk1o+0hOEq67RojlUUmoFGwxyA==}
peerDependencies:
- '@babel/core': '*'
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@react-native/babel-preset@0.83.2':
- resolution: {integrity: sha512-X/RAXDfe6W+om/Fw1i6htTxQXFhBJ2jgNOWx3WpI3KbjeIWbq7ib6vrpTeIAW2NUMg+K3mML1NzgD4dpZeqdjA==}
- engines: {node: '>= 20.19.4'}
+ '@radix-ui/react-collection@1.1.10':
+ resolution: {integrity: sha512-IVVz4EvBcKjrzKgof714qDnz/SzQAkLA2Emh5edlHbgcE6fNd3Un6CJLlaYcnm8N4JmAtzQgse4dOKxcD2yc9g==}
peerDependencies:
- '@babel/core': '*'
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@react-native/codegen@0.79.6':
- resolution: {integrity: sha512-iRBX8Lgbqypwnfba7s6opeUwVyaR23mowh9ILw7EcT2oLz3RqMmjJdrbVpWhGSMGq2qkPfqAH7bhO8C7O+xfjQ==}
- engines: {node: '>=18'}
+ '@radix-ui/react-compose-refs@1.1.3':
+ resolution: {integrity: sha512-rYOP8OMnuuPMQF1uhPVlGNcCDlkokKqGFE3JcxFViIkAXP7EvFWUliJAstrapypaBLJNHbZL6jGhbVDGTwmVhA==}
peerDependencies:
- '@babel/core': '*'
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- '@react-native/codegen@0.83.2':
- resolution: {integrity: sha512-9uK6X1miCXqtL4c759l74N/XbQeneWeQVjoV7SD2CGJuW7ZefxaoYenwGPs7rMoCdtS6wuIyR3hXQ+uWEBGYXA==}
- engines: {node: '>= 20.19.4'}
+ '@radix-ui/react-context@1.1.4':
+ resolution: {integrity: sha512-QwH4PO5urrbO+FaGd5Aglg+YJgWTyyuZ3g/6mKvsqraLkglDdckw9JafgL5McL5VEJ6EPNduPaT3ZE9BttDAqg==}
peerDependencies:
- '@babel/core': '*'
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- '@react-native/community-cli-plugin@0.83.2':
- resolution: {integrity: sha512-sTEF0eiUKtmImEP07Qo5c3Khvm1LIVX1Qyb6zWUqPL6W3MqFiXutZvKBjqLz6p49Szx8cplQLoXfLHT0bcDXKg==}
- engines: {node: '>= 20.19.4'}
+ '@radix-ui/react-dialog@1.1.17':
+ resolution: {integrity: sha512-TDTYmpdq8dI2+Xgvgj9AJ8Ghqq+Eph/TRVEdaFQPDItIY+6QSkU7MJMeevw1568Yw/2Ijz8BTphPSP2XejKphw==}
peerDependencies:
- '@react-native-community/cli': '*'
- '@react-native/metro-config': '*'
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- '@react-native-community/cli':
+ '@types/react':
optional: true
- '@react-native/metro-config':
+ '@types/react-dom':
optional: true
- '@react-native/debugger-frontend@0.79.6':
- resolution: {integrity: sha512-lIK/KkaH7ueM22bLO0YNaQwZbT/oeqhaghOvmZacaNVbJR1Cdh/XAqjT8FgCS+7PUnbxA8B55NYNKGZG3O2pYw==}
- engines: {node: '>=18'}
+ '@radix-ui/react-direction@1.1.2':
+ resolution: {integrity: sha512-C3vFhbyi4SW3PmbAi6Awpu4OzJtd0MxGurvSsYtr7p7nM8RNB3VAF3CUmnp2j50knpkrRcB7+ycVXzgLgF6yNA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- '@react-native/debugger-frontend@0.83.2':
- resolution: {integrity: sha512-t4fYfa7xopbUF5S4+ihNEwgaq4wLZLKLY0Ms8z72lkMteVd3bOX2Foxa8E2wTfRvdhPOkSpOsTeNDmD8ON4DoQ==}
- engines: {node: '>= 20.19.4'}
+ '@radix-ui/react-dismissable-layer@1.1.13':
+ resolution: {integrity: sha512-2v+zNAWWe0ySxgC0D0yeXMPQ23xZVgXZTerTz+JKlmdRj6gfTqmCcR29jb6d290DezXPGgruHWDX/vYUebtErg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@react-native/debugger-shell@0.83.2':
- resolution: {integrity: sha512-z9go6NJMsLSDJT5MW6VGugRsZHjYvUTwxtsVc3uLt4U9W6T3J6FWI2wHpXIzd2dUkXRfAiRQ3Zi8ZQQ8fRFg9A==}
- engines: {node: '>= 20.19.4'}
+ '@radix-ui/react-focus-guards@1.1.4':
+ resolution: {integrity: sha512-cot/aB/mOm0IYVYTTmQcEEK1M48lZWi8FlYe5nDPQQ8NYZUlXEFgncJ9p2Kzer3RKSrY7cTTpEMLZKNo9QoP5Q==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- '@react-native/dev-middleware@0.79.6':
+ '@radix-ui/react-focus-scope@1.1.10':
+ resolution: {integrity: sha512-Fas/lXQqhVvqwAb64s5RFeHiHYElZ6SUQbZaNd6EkfhP/Al7wTIQ9WIR4QVX475tlu5yFCEdDcJH6/UwsZjMWw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-id@1.1.2':
+ resolution: {integrity: sha512-orBC88futVpqCmhX1p4cvquNHsELQ+w+vBJnuj3ftETI5bJb0bZn3Tqu3SWN2IOcPycTnMGnhwoermvISt72sA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-navigation-menu@1.2.16':
+ resolution: {integrity: sha512-nJ0SkrSQgudyYhMiYeHA1ayLVuduEJCFLan1RZZN7c9kqzzCFLaU9kuy81uNtqzweM9YaQPgWzxi9MwQ9jZ04g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-popover@1.1.17':
+ resolution: {integrity: sha512-/YSAOdJ7YJvdn7bn5sdSx2egW+SKY+u7O5RyAVs94Ymrg2fg5QTSFPMRkzvhGyFuE4/qsmPBdrwYoZMZh/4f+g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-popper@1.3.1':
+ resolution: {integrity: sha512-bhnq/0DEPTi2lsOD3J5rTL65qUKHbKbhqHsmN9TMiclSXpipi651ooUKPPp6G5lF/WiHBdn1s0Wuqsn+myVAvw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-portal@1.1.12':
+ resolution: {integrity: sha512-m309havGzsjLHHaIX50G5PlvRs3xkgPCsGk/5PTvYm8D5q33yG0J7w/712PTOhid7NTaFETtnSXjngHQavvhVw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-presence@1.1.6':
+ resolution: {integrity: sha512-zdTk4PlUO0E18HnZ3wYbW0KkJJxWCdiNYp6g6X1PtONFhxVkg01vliTJAmwIszU6mHiyBOoW9P0rAugl5/hULQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-primitive@2.1.6':
+ resolution: {integrity: sha512-wetd0QI77DbvrPpTAvH1SqOxsYF2wZe5TNxqwOd5Ty4XDpV3dpV0s8K/1MGMJBeY5o7lg8ub5VIt1Ub+yVen6g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-roving-focus@1.1.13':
+ resolution: {integrity: sha512-9gkwneI0guf8JDmrFxPjJF6Ozzgioyw+/lonYNCwefS9ZHA05er0BVHiXr+LbWGHxUfczvMY6G1oiZZi1VzjRw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-scroll-area@1.2.12':
+ resolution: {integrity: sha512-xuafVzQiTCLsyEjakowTdG3OgTXsmO7IdCiO77otIa+z44xoLNs9Do5eg7POFumIOCjtG6djfm6RKUKpUa/csA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-slot@1.3.0':
+ resolution: {integrity: sha512-MojKku4U/miO8Av4Dkb+ctMAQx7JmY96LmtDQlAarCRtd7rN52QCSzBF+XAvr5S6coSVj9HEPBgHAHKEJVk/WA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-tabs@1.1.15':
+ resolution: {integrity: sha512-kxc9gI6/HfcU4nfMMVS3AmQK414kbU1IE6UCJmMmxjhO3cRPXOyYnmvyKD+ODt7q56nRq9l7Wovi6uaGwKgMlg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-use-callback-ref@1.1.2':
+ resolution: {integrity: sha512-xCso9j1/u8sEgP1RNHjFrXJLApL8LiqOkI1R4ywuN00rxWdYg4oQXuwKLS3i0j5NWLromUD27/4nlxj2UFVvIw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-controllable-state@1.2.3':
+ resolution: {integrity: sha512-PLzC90MS+ReootmjC597dvopoelpZ8Q61HJkDXZSExitIq7PL55vHNnesAHwguHK0aPfBnpdNzQtv1uliaqQrA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-effect-event@0.0.3':
+ resolution: {integrity: sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-escape-keydown@1.1.2':
+ resolution: {integrity: sha512-2uVLvLjgO7NZCWw01/FdqRwmA42J0BcjPMUCA+koFEOAb+zjqIP7SiFz/7zWPrKnVmSqr76Omq2ALyCuX4dhLw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-layout-effect@1.1.2':
+ resolution: {integrity: sha512-jrBWOxZITuGcnjRCM2t2U5ZPkCLxD+Ym6DjfssS5haTj2iiak/DOb64JeN6OdLfLgptb6/e2kKR+ZuTrGoZTPA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-previous@1.1.2':
+ resolution: {integrity: sha512-IGBQPtRFdhN6MQ8dbegVmBq1LVZluya3F1jWY+puIcQC3MHctRwTDSBWCkL/3ZcnMJLTMJ++Z+ktmvg0F89iCw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-rect@1.1.2':
+ resolution: {integrity: sha512-d8a+bBY/FxikNPlgJJoaBHZX+zKVbWHYJGTLnLvveQgFSTntkGdEKv3JDtHrMS0DNYpllz2nRsTLGLKYttbpmw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-size@1.1.2':
+ resolution: {integrity: sha512-giWQp+4mxjBPt4KZ0MmyuykFNWfbDxKt4x+fPkRYmgRFJSbCZFzUglvMb/Kjn38tm10YP4ufiQZDx3zna4LU6w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-visually-hidden@1.2.6':
+ resolution: {integrity: sha512-jCE0WljWifTI4niIMCll06kGpsJTAPiZVU9H4WR1N6qW7At9ystHbN7dDB+we2xH535roFHj7qKS+RGj0FMDWQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/rect@1.1.2':
+ resolution: {integrity: sha512-xnXE7wG13PI+cxieVssYXlQJuYVRhH9NBoxt3KNwzghDIA69GMm7d4wXRouHIYjE+KvS6U/MsMO73NdS2MH9ZA==}
+
+ '@react-native/assets-registry@0.83.2':
+ resolution: {integrity: sha512-9I5l3pGAKnlpQ15uVkeB9Mgjvt3cZEaEc8EDtdexvdtZvLSjtwBzgourrOW4yZUijbjJr8h3YO2Y0q+THwUHTA==}
+ engines: {node: '>= 20.19.4'}
+
+ '@react-native/babel-plugin-codegen@0.79.6':
+ resolution: {integrity: sha512-CS5OrgcMPixOyUJ/Sk/HSsKsKgyKT5P7y3CojimOQzWqRZBmoQfxdST4ugj7n1H+ebM2IKqbgovApFbqXsoX0g==}
+ engines: {node: '>=18'}
+
+ '@react-native/babel-plugin-codegen@0.83.2':
+ resolution: {integrity: sha512-XbcN/BEa64pVlb0Hb/E/Ph2SepjVN/FcNKrJcQvtaKZA6mBSO8pW8Eircdlr61/KBH94LihHbQoQDzkQFpeaTg==}
+ engines: {node: '>= 20.19.4'}
+
+ '@react-native/babel-preset@0.79.6':
+ resolution: {integrity: sha512-H+FRO+r2Ql6b5IwfE0E7D52JhkxjeGSBSUpCXAI5zQ60zSBJ54Hwh2bBJOohXWl4J+C7gKYSAd2JHMUETu+c/A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/core': '*'
+
+ '@react-native/babel-preset@0.83.2':
+ resolution: {integrity: sha512-X/RAXDfe6W+om/Fw1i6htTxQXFhBJ2jgNOWx3WpI3KbjeIWbq7ib6vrpTeIAW2NUMg+K3mML1NzgD4dpZeqdjA==}
+ engines: {node: '>= 20.19.4'}
+ peerDependencies:
+ '@babel/core': '*'
+
+ '@react-native/codegen@0.79.6':
+ resolution: {integrity: sha512-iRBX8Lgbqypwnfba7s6opeUwVyaR23mowh9ILw7EcT2oLz3RqMmjJdrbVpWhGSMGq2qkPfqAH7bhO8C7O+xfjQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/core': '*'
+
+ '@react-native/codegen@0.83.2':
+ resolution: {integrity: sha512-9uK6X1miCXqtL4c759l74N/XbQeneWeQVjoV7SD2CGJuW7ZefxaoYenwGPs7rMoCdtS6wuIyR3hXQ+uWEBGYXA==}
+ engines: {node: '>= 20.19.4'}
+ peerDependencies:
+ '@babel/core': '*'
+
+ '@react-native/community-cli-plugin@0.83.2':
+ resolution: {integrity: sha512-sTEF0eiUKtmImEP07Qo5c3Khvm1LIVX1Qyb6zWUqPL6W3MqFiXutZvKBjqLz6p49Szx8cplQLoXfLHT0bcDXKg==}
+ engines: {node: '>= 20.19.4'}
+ peerDependencies:
+ '@react-native-community/cli': '*'
+ '@react-native/metro-config': '*'
+ peerDependenciesMeta:
+ '@react-native-community/cli':
+ optional: true
+ '@react-native/metro-config':
+ optional: true
+
+ '@react-native/debugger-frontend@0.79.6':
+ resolution: {integrity: sha512-lIK/KkaH7ueM22bLO0YNaQwZbT/oeqhaghOvmZacaNVbJR1Cdh/XAqjT8FgCS+7PUnbxA8B55NYNKGZG3O2pYw==}
+ engines: {node: '>=18'}
+
+ '@react-native/debugger-frontend@0.83.2':
+ resolution: {integrity: sha512-t4fYfa7xopbUF5S4+ihNEwgaq4wLZLKLY0Ms8z72lkMteVd3bOX2Foxa8E2wTfRvdhPOkSpOsTeNDmD8ON4DoQ==}
+ engines: {node: '>= 20.19.4'}
+
+ '@react-native/debugger-shell@0.83.2':
+ resolution: {integrity: sha512-z9go6NJMsLSDJT5MW6VGugRsZHjYvUTwxtsVc3uLt4U9W6T3J6FWI2wHpXIzd2dUkXRfAiRQ3Zi8ZQQ8fRFg9A==}
+ engines: {node: '>= 20.19.4'}
+
+ '@react-native/dev-middleware@0.79.6':
resolution: {integrity: sha512-BK3GZBa9c7XSNR27EDRtxrgyyA3/mf1j3/y+mPk7Ac0Myu85YNrXnC9g3mL5Ytwo0g58TKrAIgs1fF2Q5Mn6mQ==}
engines: {node: '>=18'}
@@ -2389,22 +2466,52 @@ packages:
peerDependencies:
release-it: ^15.4.1
- '@sideway/address@4.1.5':
- resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
+ '@shikijs/core@4.2.0':
+ resolution: {integrity: sha512-Hc87Ab1Ld/vEbZRCbwx344I5v+4RU8CVToUTRkqXL1+TjbuOp9U5Xa0M23V4GEWHxVn+yO5otb+HkQVm3ptWQQ==}
+ engines: {node: '>=20'}
+
+ '@shikijs/engine-javascript@4.2.0':
+ resolution: {integrity: sha512-fjETeq1k5ffyXqRgS6+3hpvqseLalp1kjNfRbXpUgWR8FpZ1CmQfiNHovc5lncYjt/Vg5JK/WJEmLahjwMa0og==}
+ engines: {node: '>=20'}
+
+ '@shikijs/engine-oniguruma@3.23.0':
+ resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==}
+
+ '@shikijs/engine-oniguruma@4.2.0':
+ resolution: {integrity: sha512-hTorK1dffPkpbMUk6Z+828PgRo7d07HbnizoP0hNPFjhxMHctj0Px/qoHeGMYafc6ju+u9iMldN4JbVzNQM++g==}
+ engines: {node: '>=20'}
+
+ '@shikijs/langs@3.23.0':
+ resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==}
+
+ '@shikijs/langs@4.2.0':
+ resolution: {integrity: sha512-bwrVRlJ0wUhZxAbVdvBbv2TTC9yLsh4C/IO5Ofz0T8MQntgDvyVnkbjw9vi50r1kx7RCIJdnJnjZAwmAsXFLZQ==}
+ engines: {node: '>=20'}
+
+ '@shikijs/primitive@4.2.0':
+ resolution: {integrity: sha512-NOq+DtUkVBJtZMVXL5A0vI0Xk8nvDYaXetFHSJFlOqjDZIVhIPRYFdGkSoElDqNuegikcc3A76SNUa8dTqtAYA==}
+ engines: {node: '>=20'}
+
+ '@shikijs/themes@3.23.0':
+ resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==}
+
+ '@shikijs/themes@4.2.0':
+ resolution: {integrity: sha512-RX8IHYeLv8Cu2W6ruc3RxUqWn0IYCqSrMBzi/uRGAmfyDNOnNO5BF/Px7o97n4XTpmFTo5GbRaazuOWj+2ak2w==}
+ engines: {node: '>=20'}
+
+ '@shikijs/types@3.23.0':
+ resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==}
- '@sideway/formula@3.0.1':
- resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
+ '@shikijs/types@4.2.0':
+ resolution: {integrity: sha512-VT/MKtlpOhEPZloSH3Pb9WCZEBDoQVMa9jedp5UAwmJOar1DVc9DRODAxmYPW9M93IK4ryuqRejFfmlvlVDemw==}
+ engines: {node: '>=20'}
- '@sideway/pinpoint@2.0.0':
- resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
+ '@shikijs/vscode-textmate@10.0.2':
+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
'@sinclair/typebox@0.27.10':
resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==}
- '@sindresorhus/is@4.6.0':
- resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
- engines: {node: '>=10'}
-
'@sindresorhus/is@5.6.0':
resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==}
engines: {node: '>=14.16'}
@@ -2415,100 +2522,107 @@ packages:
'@sinonjs/fake-timers@10.3.0':
resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
- '@slorber/react-helmet-async@1.3.0':
- resolution: {integrity: sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==}
- peerDependencies:
- react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ '@standard-schema/spec@1.1.0':
+ resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
- '@slorber/remark-comment@1.0.0':
- resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==}
+ '@swc/helpers@0.5.15':
+ resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
- '@svgr/babel-plugin-add-jsx-attribute@8.0.0':
- resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@szmarczak/http-timer@5.0.1':
+ resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
+ engines: {node: '>=14.16'}
- '@svgr/babel-plugin-remove-jsx-attribute@8.0.0':
- resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@tailwindcss/node@4.3.0':
+ resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==}
- '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0':
- resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@tailwindcss/oxide-android-arm64@4.3.0':
+ resolution: {integrity: sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [android]
- '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0':
- resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@tailwindcss/oxide-darwin-arm64@4.3.0':
+ resolution: {integrity: sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [darwin]
- '@svgr/babel-plugin-svg-dynamic-title@8.0.0':
- resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@tailwindcss/oxide-darwin-x64@4.3.0':
+ resolution: {integrity: sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [darwin]
- '@svgr/babel-plugin-svg-em-dimensions@8.0.0':
- resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@tailwindcss/oxide-freebsd-x64@4.3.0':
+ resolution: {integrity: sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [freebsd]
- '@svgr/babel-plugin-transform-react-native-svg@8.1.0':
- resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0':
+ resolution: {integrity: sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==}
+ engines: {node: '>= 20'}
+ cpu: [arm]
+ os: [linux]
- '@svgr/babel-plugin-transform-svg-component@8.0.0':
- resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==}
- engines: {node: '>=12'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@tailwindcss/oxide-linux-arm64-gnu@4.3.0':
+ resolution: {integrity: sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
- '@svgr/babel-preset@8.1.0':
- resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@tailwindcss/oxide-linux-arm64-musl@4.3.0':
+ resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
- '@svgr/core@8.1.0':
- resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==}
- engines: {node: '>=14'}
+ '@tailwindcss/oxide-linux-x64-gnu@4.3.0':
+ resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
- '@svgr/hast-util-to-babel-ast@8.0.0':
- resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==}
- engines: {node: '>=14'}
+ '@tailwindcss/oxide-linux-x64-musl@4.3.0':
+ resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
- '@svgr/plugin-jsx@8.1.0':
- resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@svgr/core': '*'
+ '@tailwindcss/oxide-wasm32-wasi@4.3.0':
+ resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+ bundledDependencies:
+ - '@napi-rs/wasm-runtime'
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - '@tybys/wasm-util'
+ - '@emnapi/wasi-threads'
+ - tslib
- '@svgr/plugin-svgo@8.1.0':
- resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@svgr/core': '*'
+ '@tailwindcss/oxide-win32-arm64-msvc@4.3.0':
+ resolution: {integrity: sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [win32]
- '@svgr/webpack@8.1.0':
- resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==}
- engines: {node: '>=14'}
+ '@tailwindcss/oxide-win32-x64-msvc@4.3.0':
+ resolution: {integrity: sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [win32]
- '@szmarczak/http-timer@5.0.1':
- resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
- engines: {node: '>=14.16'}
+ '@tailwindcss/oxide@4.3.0':
+ resolution: {integrity: sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==}
+ engines: {node: '>= 20'}
- '@trysound/sax@0.2.0':
- resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
- engines: {node: '>=10.13.0'}
+ '@tailwindcss/postcss@4.3.0':
+ resolution: {integrity: sha512-Jm05Tjx+9yCLGv5qw1c+84Psds8MnyrEQYCB+FFk2lgGiUjlRqdxke4mVTuYrj2xnVZqKim2Apr5ySuQRYAw/w==}
'@types/babel__core@7.20.5':
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
@@ -2522,69 +2636,27 @@ packages:
'@types/babel__traverse@7.28.0':
resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
- '@types/body-parser@1.19.6':
- resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==}
-
- '@types/bonjour@3.5.13':
- resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
-
- '@types/connect-history-api-fallback@1.5.4':
- resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
-
- '@types/connect@3.4.38':
- resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
-
'@types/conventional-commits-parser@5.0.2':
resolution: {integrity: sha512-BgT2szDXnVypgpNxOK8aL5SGjUdaQbC++WZNjF1Qge3Og2+zhHj+RWhmehLhYyvQwqAmvezruVfOf8+3m74W+g==}
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
- '@types/eslint-scope@3.7.7':
- resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
-
- '@types/eslint@9.6.1':
- resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
-
'@types/estree-jsx@1.0.5':
resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
- '@types/express-serve-static-core@4.19.8':
- resolution: {integrity: sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==}
-
- '@types/express-serve-static-core@5.1.1':
- resolution: {integrity: sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==}
-
- '@types/express@4.17.25':
- resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==}
-
'@types/graceful-fs@4.1.9':
resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
- '@types/gtag.js@0.0.12':
- resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==}
-
'@types/hast@3.0.4':
resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
- '@types/history@4.7.11':
- resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==}
-
- '@types/html-minifier-terser@6.1.0':
- resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
-
'@types/http-cache-semantics@4.2.0':
resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==}
- '@types/http-errors@2.0.5':
- resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==}
-
- '@types/http-proxy@1.17.17':
- resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==}
-
'@types/istanbul-lib-coverage@2.0.6':
resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
@@ -2594,75 +2666,32 @@ packages:
'@types/istanbul-reports@3.0.4':
resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
- '@types/json-schema@7.0.15':
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
-
'@types/mdast@4.0.4':
resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
'@types/mdx@2.0.13':
resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
- '@types/mime@1.3.5':
- resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
-
'@types/minimist@1.2.5':
resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
'@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
- '@types/node@17.0.45':
- resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
-
'@types/node@25.3.1':
resolution: {integrity: sha512-hj9YIJimBCipHVfHKRMnvmHg+wfhKc0o4mTtXh9pKBjC8TLJzz0nzGmLi5UJsYAUgSvXFHgb0V2oY10DUFtImw==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
- '@types/prismjs@1.26.6':
- resolution: {integrity: sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==}
-
- '@types/qs@6.14.0':
- resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==}
-
- '@types/range-parser@1.2.7':
- resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
-
- '@types/react-router-config@5.0.11':
- resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==}
-
- '@types/react-router-dom@5.3.3':
- resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==}
-
- '@types/react-router@5.1.20':
- resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==}
+ '@types/react-dom@19.2.3':
+ resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
+ peerDependencies:
+ '@types/react': ^19.2.0
'@types/react@19.2.14':
resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
- '@types/retry@0.12.2':
- resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==}
-
- '@types/sax@1.2.7':
- resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
-
- '@types/send@0.17.6':
- resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==}
-
- '@types/send@1.2.1':
- resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==}
-
- '@types/serve-index@1.9.4':
- resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==}
-
- '@types/serve-static@1.15.10':
- resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==}
-
- '@types/sockjs@0.3.36':
- resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
-
'@types/stack-utils@2.0.3':
resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
@@ -2672,9 +2701,6 @@ packages:
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
- '@types/ws@8.18.1':
- resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
-
'@types/yargs-parser@21.0.3':
resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
@@ -2692,61 +2718,10 @@ packages:
peerDependencies:
'@urql/core': ^5.0.0
- '@webassemblyjs/ast@1.14.1':
- resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
-
- '@webassemblyjs/floating-point-hex-parser@1.13.2':
- resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==}
-
- '@webassemblyjs/helper-api-error@1.13.2':
- resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==}
-
- '@webassemblyjs/helper-buffer@1.14.1':
- resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==}
-
- '@webassemblyjs/helper-numbers@1.13.2':
- resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==}
-
- '@webassemblyjs/helper-wasm-bytecode@1.13.2':
- resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==}
-
- '@webassemblyjs/helper-wasm-section@1.14.1':
- resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==}
-
- '@webassemblyjs/ieee754@1.13.2':
- resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==}
-
- '@webassemblyjs/leb128@1.13.2':
- resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==}
-
- '@webassemblyjs/utf8@1.13.2':
- resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==}
-
- '@webassemblyjs/wasm-edit@1.14.1':
- resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==}
-
- '@webassemblyjs/wasm-gen@1.14.1':
- resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==}
-
- '@webassemblyjs/wasm-opt@1.14.1':
- resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==}
-
- '@webassemblyjs/wasm-parser@1.14.1':
- resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==}
-
- '@webassemblyjs/wast-printer@1.14.1':
- resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
-
'@xmldom/xmldom@0.8.11':
resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==}
engines: {node: '>=10.0.0'}
- '@xtuc/ieee754@1.2.0':
- resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
-
- '@xtuc/long@4.2.2':
- resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
-
JSONStream@1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
@@ -2759,12 +2734,6 @@ packages:
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
engines: {node: '>= 0.6'}
- acorn-import-phases@1.0.4:
- resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==}
- engines: {node: '>=10.13.0'}
- peerDependencies:
- acorn: ^8.14.0
-
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
@@ -2782,10 +2751,6 @@ packages:
add-stream@1.0.0:
resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==}
- address@1.2.2:
- resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
- engines: {node: '>= 10.0.0'}
-
agent-base@7.1.4:
resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
engines: {node: '>= 14'}
@@ -2798,35 +2763,9 @@ packages:
resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
engines: {node: '>=12'}
- ajv-formats@2.1.1:
- resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
- peerDependencies:
- ajv: ^8.0.0
- peerDependenciesMeta:
- ajv:
- optional: true
-
- ajv-keywords@3.5.2:
- resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
- peerDependencies:
- ajv: ^6.9.1
-
- ajv-keywords@5.1.0:
- resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
- peerDependencies:
- ajv: ^8.8.2
-
- ajv@6.14.0:
- resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==}
-
ajv@8.18.0:
resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==}
- algoliasearch-helper@3.28.0:
- resolution: {integrity: sha512-GBN0xsxGggaCPElZq24QzMdfphrjIiV2xA+hRXE4/UMpN3nsF2WrM8q+x80OGvGpJWtB7F+4Hq5eSfWwuejXrg==}
- peerDependencies:
- algoliasearch: '>= 3.1 < 6'
-
algoliasearch@5.49.1:
resolution: {integrity: sha512-X3Pp2aRQhg4xUC6PQtkubn5NpRKuUPQ9FPDQlx36SmpFwwH2N0/tw4c+NXV3nw3PsgeUs+BuWGP0gjz3TvENLQ==}
engines: {node: '>= 14.0.0'}
@@ -2845,11 +2784,6 @@ packages:
resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==}
engines: {node: '>=18'}
- ansi-html-community@0.0.8:
- resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
- engines: {'0': node >= 0.8.0}
- hasBin: true
-
ansi-regex@4.1.1:
resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==}
engines: {node: '>=6'}
@@ -2894,13 +2828,14 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ aria-hidden@1.2.6:
+ resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
+ engines: {node: '>=10'}
+
array-buffer-byte-length@1.0.2:
resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
engines: {node: '>= 0.4'}
- array-flatten@1.1.1:
- resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
-
array-ify@1.0.0:
resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
@@ -2923,10 +2858,6 @@ packages:
asap@2.0.6:
resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
- asn1js@3.0.7:
- resolution: {integrity: sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==}
- engines: {node: '>=12.0.0'}
-
ast-types@0.13.4:
resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
engines: {node: '>=4'}
@@ -2945,13 +2876,6 @@ packages:
async-retry@1.3.3:
resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==}
- autoprefixer@10.4.27:
- resolution: {integrity: sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
-
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@@ -2962,16 +2886,6 @@ packages:
peerDependencies:
'@babel/core': ^7.8.0
- babel-loader@9.2.1:
- resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==}
- engines: {node: '>= 14.15.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
- webpack: '>=5'
-
- babel-plugin-dynamic-import-node@2.3.3:
- resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==}
-
babel-plugin-istanbul@6.1.1:
resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
engines: {node: '>=8'}
@@ -3080,9 +2994,6 @@ packages:
resolution: {integrity: sha512-VoMINM2rqJwJgfdHq6RiUudKt2BV+FY5ZFezP/ypmwayk68+NzzAQy4XXLlqsGD4MCzq3DrmNFD/uUmBJuGoXw==}
engines: {node: '>=10.0.0'}
- batch@0.6.1:
- resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
-
before-after-hook@2.2.3:
resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
@@ -3094,33 +3005,12 @@ packages:
resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==}
engines: {node: '>=0.6'}
- big.js@5.2.2:
- resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
-
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
-
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
bl@5.1.0:
resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==}
- body-parser@1.20.4:
- resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
- bonjour-service@1.3.0:
- resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==}
-
- boolbase@1.0.0:
- resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
-
- boxen@6.2.1:
- resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
boxen@7.1.1:
resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==}
engines: {node: '>=14.16'}
@@ -3150,6 +3040,10 @@ packages:
resolution: {integrity: sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==}
engines: {node: 18 || 20 || >=22}
+ brace-expansion@5.0.6:
+ resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==}
+ engines: {node: 18 || 20 || >=22}
+
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
@@ -3175,22 +3069,10 @@ packages:
resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==}
engines: {node: '>=12'}
- bundle-name@4.1.0:
- resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
- engines: {node: '>=18'}
-
- bytes@3.0.0:
- resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
- engines: {node: '>= 0.8'}
-
bytes@3.1.2:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'}
- bytestreamjs@2.0.1:
- resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==}
- engines: {node: '>=6.0.0'}
-
cacheable-lookup@7.0.0:
resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
engines: {node: '>=14.16'}
@@ -3227,9 +3109,6 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
- camel-case@4.1.2:
- resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
-
camelcase-keys@6.2.2:
resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
engines: {node: '>=8'}
@@ -3250,9 +3129,6 @@ packages:
resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
engines: {node: '>=14.16'}
- caniuse-api@3.0.0:
- resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
-
caniuse-lite@1.0.30001774:
resolution: {integrity: sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==}
@@ -3275,10 +3151,6 @@ packages:
resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
- char-regex@1.0.2:
- resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
- engines: {node: '>=10'}
-
character-entities-html4@2.1.0:
resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
@@ -3294,16 +3166,9 @@ packages:
chardet@0.7.0:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
- cheerio-select@2.1.0:
- resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
-
- cheerio@1.0.0-rc.12:
- resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
- engines: {node: '>= 6'}
-
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
+ chokidar@5.0.0:
+ resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==}
+ engines: {node: '>= 20.19.0'}
chownr@3.0.0:
resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
@@ -3314,10 +3179,6 @@ packages:
engines: {node: '>=12.13.0'}
hasBin: true
- chrome-trace-event@1.0.4:
- resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
- engines: {node: '>=6.0'}
-
chromium-edge-launcher@0.2.0:
resolution: {integrity: sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==}
@@ -3328,9 +3189,8 @@ packages:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
- clean-css@5.3.3:
- resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
- engines: {node: '>= 10.0'}
+ class-variance-authority@0.7.1:
+ resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
clean-stack@2.2.0:
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
@@ -3364,10 +3224,6 @@ packages:
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
engines: {node: '>=6'}
- cli-table3@0.6.5:
- resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==}
- engines: {node: 10.* || >= 12.*}
-
cli-truncate@4.0.0:
resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
engines: {node: '>=18'}
@@ -3376,6 +3232,9 @@ packages:
resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
engines: {node: '>= 12'}
+ client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+
cliui@7.0.4:
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
@@ -3383,10 +3242,6 @@ packages:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
engines: {node: '>=12'}
- clone-deep@4.0.1:
- resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
- engines: {node: '>=6'}
-
clone@1.0.4:
resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
engines: {node: '>=0.8'}
@@ -3411,23 +3266,12 @@ packages:
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- colord@2.9.3:
- resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
-
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
- combine-promises@1.2.0:
- resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==}
- engines: {node: '>=10'}
-
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
- commander@10.0.1:
- resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
- engines: {node: '>=14'}
-
commander@12.1.0:
resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
engines: {node: '>=18'}
@@ -3443,21 +3287,10 @@ packages:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'}
- commander@5.1.0:
- resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
- engines: {node: '>= 6'}
-
commander@7.2.0:
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
engines: {node: '>= 10'}
- commander@8.3.0:
- resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
- engines: {node: '>= 12'}
-
- common-path-prefix@3.0.0:
- resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
-
compare-func@2.0.0:
resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
@@ -3469,6 +3302,9 @@ packages:
resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==}
engines: {node: '>= 0.8.0'}
+ compute-scroll-into-view@3.1.1:
+ resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==}
+
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
@@ -3483,30 +3319,10 @@ packages:
resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
engines: {node: '>=12'}
- connect-history-api-fallback@2.0.0:
- resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
- engines: {node: '>=0.8'}
-
connect@3.7.0:
resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
engines: {node: '>= 0.10.0'}
- consola@3.4.2:
- resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
- engines: {node: ^14.18.0 || >=16.10.0}
-
- content-disposition@0.5.2:
- resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==}
- engines: {node: '>= 0.6'}
-
- content-disposition@0.5.4:
- resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
- engines: {node: '>= 0.6'}
-
- content-type@1.0.5:
- resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
- engines: {node: '>= 0.6'}
-
conventional-changelog-angular@5.0.13:
resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==}
engines: {node: '>=10'}
@@ -3590,28 +3406,9 @@ packages:
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- cookie-signature@1.0.7:
- resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==}
-
- cookie@0.7.2:
- resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
- engines: {node: '>= 0.6'}
-
- copy-webpack-plugin@11.0.0:
- resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==}
- engines: {node: '>= 14.15.0'}
- peerDependencies:
- webpack: ^5.1.0
-
core-js-compat@3.48.0:
resolution: {integrity: sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==}
- core-js-pure@3.48.0:
- resolution: {integrity: sha512-1slJgk89tWC51HQ1AEqG+s2VuwpTRr8ocu4n20QUcH1v9lAN0RXen0Q0AABa/DK1I7RrNWLucplOHMx8hfTGTw==}
-
- core-js@3.48.0:
- resolution: {integrity: sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==}
-
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
@@ -3631,15 +3428,6 @@ packages:
resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==}
engines: {node: '>=14'}
- cosmiconfig@8.3.6:
- resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
- engines: {node: '>=14'}
- peerDependencies:
- typescript: '>=4.9.5'
- peerDependenciesMeta:
- typescript:
- optional: true
-
cosmiconfig@9.0.0:
resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
engines: {node: '>=14'}
@@ -3661,121 +3449,6 @@ packages:
resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
engines: {node: '>=12'}
- css-blank-pseudo@7.0.1:
- resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- css-declaration-sorter@7.3.1:
- resolution: {integrity: sha512-gz6x+KkgNCjxq3Var03pRYLhyNfwhkKF1g/yoLgDNtFvVu0/fOLV9C8fFEZRjACp/XQLumjAYo7JVjzH3wLbxA==}
- engines: {node: ^14 || ^16 || >=18}
- peerDependencies:
- postcss: ^8.0.9
-
- css-has-pseudo@7.0.3:
- resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- css-loader@6.11.0:
- resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==}
- engines: {node: '>= 12.13.0'}
- peerDependencies:
- '@rspack/core': 0.x || 1.x
- webpack: ^5.0.0
- peerDependenciesMeta:
- '@rspack/core':
- optional: true
- webpack:
- optional: true
-
- css-minimizer-webpack-plugin@5.0.1:
- resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==}
- engines: {node: '>= 14.15.0'}
- peerDependencies:
- '@parcel/css': '*'
- '@swc/css': '*'
- clean-css: '*'
- csso: '*'
- esbuild: '*'
- lightningcss: '*'
- webpack: ^5.0.0
- peerDependenciesMeta:
- '@parcel/css':
- optional: true
- '@swc/css':
- optional: true
- clean-css:
- optional: true
- csso:
- optional: true
- esbuild:
- optional: true
- lightningcss:
- optional: true
-
- css-prefers-color-scheme@10.0.0:
- resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- css-select@4.3.0:
- resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
-
- 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-what@6.2.2:
- resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
- engines: {node: '>= 6'}
-
- cssdb@8.8.0:
- resolution: {integrity: sha512-QbLeyz2Bgso1iRlh7IpWk6OKa3lLNGXsujVjDMPl9rOZpxKeiG69icLpbLCFxeURwmcdIfZqQyhlooKJYM4f8Q==}
-
- cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
-
- cssnano-preset-advanced@6.1.2:
- resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- cssnano-preset-default@6.1.2:
- resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- cssnano-utils@4.0.2:
- resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- cssnano@6.1.2:
- resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- 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==}
@@ -3810,9 +3483,6 @@ packages:
dateformat@3.0.3:
resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==}
- debounce@1.2.1:
- resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
-
debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
@@ -3875,18 +3545,10 @@ packages:
resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==}
engines: {node: '>=12'}
- default-browser-id@5.0.1:
- resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==}
- engines: {node: '>=18'}
-
default-browser@4.0.0:
resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==}
engines: {node: '>=14.16'}
- 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==}
@@ -3930,10 +3592,6 @@ packages:
denodeify@1.2.1:
resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==}
- depd@1.1.2:
- resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
- engines: {node: '>= 0.6'}
-
depd@2.0.0:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'}
@@ -3958,13 +3616,8 @@ packages:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
- detect-node@2.1.0:
- resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
-
- detect-port@1.6.1:
- resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==}
- engines: {node: '>= 4.0.0'}
- hasBin: true
+ detect-node-es@1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
@@ -3973,42 +3626,9 @@ packages:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
- dns-packet@5.6.1:
- resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
- engines: {node: '>=6'}
-
dnssd-advertise@1.1.3:
resolution: {integrity: sha512-XENsHi3MBzWOCAXif3yZvU1Ah0l+nhJj1sjWL6TnOAYKvGiFhbTx32xHN7+wLMLUOCj7Nr0evADWG4R8JtqCDA==}
- dom-converter@0.2.0:
- resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
-
- dom-serializer@1.4.1:
- resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
-
- dom-serializer@2.0.0:
- resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
-
- domelementtype@2.3.0:
- resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
-
- domhandler@4.3.1:
- resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
- engines: {node: '>= 4'}
-
- domhandler@5.0.3:
- resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
- engines: {node: '>= 4'}
-
- domutils@2.8.0:
- resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
-
- domutils@3.2.2:
- resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
-
- dot-case@3.0.4:
- resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
-
dot-prop@5.3.0:
resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
engines: {node: '>=8'}
@@ -4029,9 +3649,6 @@ packages:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
- duplexer@0.1.2:
- resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
-
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
@@ -4050,16 +3667,6 @@ packages:
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
- emojilib@2.4.0:
- resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==}
-
- emojis-list@3.0.0:
- resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
- engines: {node: '>= 4'}
-
- emoticon@4.1.0:
- resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==}
-
encodeurl@1.0.2:
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
engines: {node: '>= 0.8'}
@@ -4071,13 +3678,10 @@ packages:
end-of-stream@1.4.5:
resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
- enhanced-resolve@5.19.0:
- resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==}
+ enhanced-resolve@5.24.0:
+ resolution: {integrity: sha512-SkE2t82KlkkxQRVMVLAGKxLfORGQfrkx5dkj+vlgXRVNEdPc4eZcR+J/Fvj8C+yKSFH5L0q3NFlyufOVQnCcYQ==}
engines: {node: '>=10.13.0'}
- entities@2.2.0:
- resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
-
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
@@ -4122,9 +3726,6 @@ packages:
es-get-iterator@1.1.3:
resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
- es-module-lexer@2.0.0:
- resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==}
-
es-object-atoms@1.1.1:
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
@@ -4143,6 +3744,11 @@ packages:
esast-util-from-js@2.0.1:
resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
+ esbuild@0.28.1:
+ resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==}
+ engines: {node: '>=18'}
+ hasBin: true
+
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
@@ -4175,27 +3781,15 @@ packages:
engines: {node: '>=4.0'}
hasBin: true
- eslint-scope@5.1.1:
- resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
- engines: {node: '>=8.0.0'}
-
esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
hasBin: true
- esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
-
estraverse@4.3.0:
resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
engines: {node: '>=4.0'}
- estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
-
estree-util-attach-comments@3.0.0:
resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
@@ -4224,32 +3818,17 @@ packages:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
- eta@2.2.0:
- resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==}
- engines: {node: '>=6.0.0'}
-
etag@1.8.1:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
- eval@0.1.8:
- resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==}
- engines: {node: '>= 0.8'}
-
event-target-shim@5.0.1:
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
engines: {node: '>=6'}
- eventemitter3@4.0.7:
- resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
-
eventemitter3@5.0.4:
resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
- events@3.3.0:
- resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
- engines: {node: '>=0.8.x'}
-
execa@4.1.0:
resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
engines: {node: '>=10'}
@@ -4403,14 +3982,6 @@ packages:
exponential-backoff@3.1.3:
resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==}
- express@4.22.1:
- resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==}
- engines: {node: '>= 0.10.0'}
-
- extend-shallow@2.0.1:
- resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
- engines: {node: '>=0.10.0'}
-
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -4437,13 +4008,6 @@ packages:
fastq@1.20.1:
resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
- fault@2.0.1:
- resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
-
- faye-websocket@0.11.4:
- resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
- engines: {node: '>=0.8.0'}
-
fb-dotslash@0.5.8:
resolution: {integrity: sha512-XHYLKk9J4BupDxi9bSEhkfss0m+Vr9ChTrjhf9l2iw3jB5C7BnY4GVPoMcqbrTutsKJso6yj2nAB6BI/F2oZaA==}
engines: {node: '>=20'}
@@ -4452,9 +4016,14 @@ packages:
fb-watchman@2.0.2:
resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
- feed@4.2.2:
- resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==}
- engines: {node: '>=0.4.0'}
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
fetch-blob@3.2.0:
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
@@ -4463,20 +4032,10 @@ packages:
fetch-nodeshim@0.4.8:
resolution: {integrity: sha512-YW5vG33rabBq6JpYosLNoXoaMN69/WH26MeeX2hkDVjN6UlvRGq3Wkazl9H0kisH95aMu/HtHL64JUvv/+Nv/g==}
- figures@3.2.0:
- resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
- engines: {node: '>=8'}
-
figures@5.0.0:
resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==}
engines: {node: '>=14'}
- file-loader@6.2.0:
- resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- webpack: ^4.0.0 || ^5.0.0
-
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
@@ -4485,17 +4044,9 @@ packages:
resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
engines: {node: '>= 0.8'}
- finalhandler@1.3.2:
- resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==}
- engines: {node: '>= 0.8'}
-
find-babel-config@2.1.2:
resolution: {integrity: sha512-ZfZp1rQyp4gyuxqt1ZqjFGVeVBvmpURMqdIWXbPRfB97Bf6BzdK/xSIbylEINzQ0kB5tlDQfn9HkNXXWsqTqLg==}
- find-cache-dir@4.0.0:
- resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==}
- engines: {node: '>=14.16'}
-
find-up@2.1.0:
resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==}
engines: {node: '>=4'}
@@ -4512,30 +4063,13 @@ packages:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
- find-up@6.3.0:
- resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
find-up@7.0.0:
resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
engines: {node: '>=18'}
- flat@5.0.2:
- resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
- hasBin: true
-
flow-enums-runtime@0.0.6:
resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==}
- follow-redirects@1.15.11:
- resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
- engines: {node: '>=4.0'}
- peerDependencies:
- debug: '*'
- peerDependenciesMeta:
- debug:
- optional: true
-
fontfaceobserver@2.3.0:
resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==}
@@ -4551,20 +4085,23 @@ packages:
resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
engines: {node: '>= 14.17'}
- format@0.2.2:
- resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
- engines: {node: '>=0.4.x'}
-
formdata-polyfill@4.0.10:
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
engines: {node: '>=12.20.0'}
- forwarded@0.2.0:
- resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
- engines: {node: '>= 0.6'}
-
- fraction.js@5.3.4:
- resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==}
+ framer-motion@12.40.0:
+ resolution: {integrity: sha512-uaBd3qC1v3KQqBEjwTUd183K6PbS+j0yR9w9VmEOLWA/tnUcSn8Xa3uck7t4dgpDoUss8xQTcj8W2L07lrnLFg==}
+ peerDependencies:
+ '@emotion/is-prop-valid': '*'
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@emotion/is-prop-valid':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
freeport-async@2.0.0:
resolution: {integrity: sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==}
@@ -4578,10 +4115,6 @@ packages:
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
engines: {node: '>=12'}
- fs-extra@11.3.3:
- resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==}
- engines: {node: '>=14.14'}
-
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
@@ -4590,6 +4123,116 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
+ fumadocs-core@16.9.2:
+ resolution: {integrity: sha512-jyzdPmi5WbW9LucJoZEEM7TvnOnUlkm00Rab8UZyooZ+y5Ez75fqkziqmtZ4NED5eOStFBRjyIE3NUdZQRSTwQ==}
+ peerDependencies:
+ '@mdx-js/mdx': '*'
+ '@mixedbread/sdk': 0.x.x
+ '@orama/core': 1.x.x
+ '@oramacloud/client': 2.x.x
+ '@tanstack/react-router': 1.x.x
+ '@types/estree-jsx': '*'
+ '@types/hast': '*'
+ '@types/mdast': '*'
+ '@types/react': '*'
+ algoliasearch: 5.x.x
+ flexsearch: '*'
+ lucide-react: '*'
+ next: 16.x.x
+ react: ^19.2.0
+ react-dom: ^19.2.0
+ react-router: 7.x.x
+ waku: '*'
+ zod: 4.x.x
+ peerDependenciesMeta:
+ '@mdx-js/mdx':
+ optional: true
+ '@mixedbread/sdk':
+ optional: true
+ '@orama/core':
+ optional: true
+ '@oramacloud/client':
+ optional: true
+ '@tanstack/react-router':
+ optional: true
+ '@types/estree-jsx':
+ optional: true
+ '@types/hast':
+ optional: true
+ '@types/mdast':
+ optional: true
+ '@types/react':
+ optional: true
+ algoliasearch:
+ optional: true
+ flexsearch:
+ optional: true
+ lucide-react:
+ optional: true
+ next:
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ react-router:
+ optional: true
+ waku:
+ optional: true
+ zod:
+ optional: true
+
+ fumadocs-mdx@15.0.9:
+ resolution: {integrity: sha512-ulKFGcx1r5Irk3Cu7h8M/DH66xba9evdOftURBbnASXWwJIIIahAp7s8oQdDuXtvkzjfv4/M/LpkTxrhkiS2JQ==}
+ hasBin: true
+ peerDependencies:
+ '@types/mdast': '*'
+ '@types/mdx': '*'
+ '@types/react': '*'
+ fumadocs-core: ^16.7.0
+ mdast-util-directive: '*'
+ next: ^15.3.0 || ^16.0.0
+ react: ^19.2.0
+ rolldown: '*'
+ vite: 7.x.x || 8.x.x
+ peerDependenciesMeta:
+ '@types/mdast':
+ optional: true
+ '@types/mdx':
+ optional: true
+ '@types/react':
+ optional: true
+ mdast-util-directive:
+ optional: true
+ next:
+ optional: true
+ react:
+ optional: true
+ rolldown:
+ optional: true
+ vite:
+ optional: true
+
+ fumadocs-ui@16.9.2:
+ resolution: {integrity: sha512-0lfm+KOXmmj88RWeuFXbTCbJPzqkYkN/V34j0Z9cW02mzChtrruYz0c8F5i9AA0A2jWZ79Rvn/PV+9hV07/FZA==}
+ peerDependencies:
+ '@takumi-rs/image-response': '*'
+ '@types/mdx': '*'
+ '@types/react': '*'
+ fumadocs-core: 16.9.2
+ next: 16.x.x
+ react: ^19.2.0
+ react-dom: ^19.2.0
+ peerDependenciesMeta:
+ '@takumi-rs/image-response':
+ optional: true
+ '@types/mdx':
+ optional: true
+ '@types/react':
+ optional: true
+ next:
+ optional: true
+
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
@@ -4620,8 +4263,9 @@ packages:
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
- get-own-enumerable-property-symbols@3.0.2:
- resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
+ get-nonce@1.0.1:
+ resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
+ engines: {node: '>=6'}
get-package-type@0.1.0:
resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
@@ -4677,6 +4321,7 @@ packages:
git-semver-tags@4.1.1:
resolution: {integrity: sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==}
engines: {node: '>=10'}
+ deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead.
hasBin: true
git-up@7.0.0:
@@ -4688,26 +4333,13 @@ packages:
gitconfiglocal@1.0.0:
resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==}
- github-slugger@1.5.0:
- resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==}
+ github-slugger@2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
- glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
-
- glob-to-regex.js@1.2.0:
- resolution: {integrity: sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
-
- glob-to-regexp@0.4.1:
- resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
-
glob@10.5.0:
resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==}
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
@@ -4769,17 +4401,6 @@ packages:
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- gray-matter@4.0.3:
- resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
- engines: {node: '>=6.0'}
-
- gzip-size@6.0.0:
- resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
- engines: {node: '>=10'}
-
- handle-thing@2.0.1:
- resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
-
handlebars@4.7.8:
resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
engines: {node: '>=0.4.7'}
@@ -4836,6 +4457,9 @@ packages:
hast-util-to-estree@3.1.3:
resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
+ hast-util-to-html@9.0.5:
+ resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
+
hast-util-to-jsx-runtime@2.3.6:
resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
@@ -4848,10 +4472,6 @@ packages:
hastscript@9.0.1:
resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
- he@1.2.0:
- resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
- hasBin: true
-
hermes-compiler@0.14.1:
resolution: {integrity: sha512-+RPPQlayoZ9n6/KXKt5SFILWXCGJ/LV5d24L5smXrvTDrPS4L6dSctPczXauuvzFP3QEJbD1YO7Z3Ra4a+4IhA==}
@@ -4879,12 +4499,6 @@ packages:
hermes-parser@0.32.1:
resolution: {integrity: sha512-175dz634X/W5AiwrpLdoMl/MOb17poLHyIqgyExlE8D9zQ1OPnoORnGMB5ltRKnpvQzBjMYvT2rN/sHeIfZW5Q==}
- history@4.10.1:
- resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==}
-
- hoist-non-react-statics@3.3.2:
- resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
-
hosted-git-info@2.8.9:
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
@@ -4896,81 +4510,20 @@ packages:
resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==}
engines: {node: ^16.14.0 || >=18.0.0}
- hpack.js@2.1.6:
- resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
-
- html-escaper@2.0.2:
- resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
-
- html-minifier-terser@6.1.0:
- resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
- engines: {node: '>=12'}
- hasBin: true
-
- html-minifier-terser@7.2.0:
- resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==}
- engines: {node: ^14.13.1 || >=16.0.0}
- hasBin: true
-
- html-tags@3.3.1:
- resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
- engines: {node: '>=8'}
-
html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
- html-webpack-plugin@5.6.6:
- resolution: {integrity: sha512-bLjW01UTrvoWTJQL5LsMRo1SypHW80FTm12OJRSnr3v6YHNhfe+1r0MYUZJMACxnCHURVnBWRwAsWs2yPU9Ezw==}
- engines: {node: '>=10.13.0'}
- peerDependencies:
- '@rspack/core': 0.x || 1.x
- webpack: ^5.20.0
- peerDependenciesMeta:
- '@rspack/core':
- optional: true
- webpack:
- optional: true
-
- htmlparser2@6.1.0:
- resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
-
- htmlparser2@8.0.2:
- resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
-
http-cache-semantics@4.2.0:
resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
- http-deceiver@1.2.7:
- resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
-
- http-errors@1.8.1:
- resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==}
- engines: {node: '>= 0.6'}
-
http-errors@2.0.1:
resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
engines: {node: '>= 0.8'}
- http-parser-js@0.5.10:
- resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==}
-
http-proxy-agent@7.0.2:
resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
engines: {node: '>= 14'}
- http-proxy-middleware@2.0.9:
- resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- '@types/express': ^4.17.13
- peerDependenciesMeta:
- '@types/express':
- optional: true
-
- http-proxy@1.18.1:
- resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
- engines: {node: '>=8.0.0'}
-
http2-wrapper@2.2.1:
resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==}
engines: {node: '>=10.19.0'}
@@ -5000,20 +4553,10 @@ packages:
engines: {node: '>=18'}
hasBin: true
- hyperdyperid@1.2.0:
- resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==}
- engines: {node: '>=10.18'}
-
iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
- icss-utils@5.1.0:
- resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
@@ -5026,11 +4569,6 @@ packages:
engines: {node: '>=16.x'}
hasBin: true
- image-size@2.0.2:
- resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==}
- engines: {node: '>=16.x'}
- hasBin: true
-
import-fresh@2.0.0:
resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==}
engines: {node: '>=4'}
@@ -5058,10 +4596,6 @@ packages:
resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
engines: {node: '>=12'}
- infima@0.2.0-alpha.45:
- resolution: {integrity: sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==}
- engines: {node: '>=12'}
-
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.
@@ -5105,14 +4639,6 @@ packages:
ip@1.1.9:
resolution: {integrity: sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==}
- ipaddr.js@1.9.1:
- resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
- engines: {node: '>= 0.10'}
-
- ipaddr.js@2.3.0:
- resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==}
- engines: {node: '>= 10'}
-
is-absolute@1.0.0:
resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==}
engines: {node: '>=0.10.0'}
@@ -5142,10 +4668,6 @@ packages:
resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
engines: {node: '>= 0.4'}
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
is-boolean-object@1.2.2:
resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
engines: {node: '>= 0.4'}
@@ -5187,10 +4709,6 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
hasBin: true
- is-extendable@0.1.1:
- resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
- engines: {node: '>=0.10.0'}
-
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -5254,10 +4772,6 @@ packages:
resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
engines: {node: '>= 0.4'}
- is-network-error@1.3.1:
- resolution: {integrity: sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==}
- engines: {node: '>=16'}
-
is-npm@6.1.0:
resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -5270,10 +4784,6 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
- is-obj@1.0.1:
- resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
- engines: {node: '>=0.10.0'}
-
is-obj@2.0.0:
resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
engines: {node: '>=8'}
@@ -5298,18 +4808,10 @@ packages:
resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
engines: {node: '>=0.10.0'}
- is-plain-obj@3.0.0:
- resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
- engines: {node: '>=10'}
-
is-plain-obj@4.1.0:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
engines: {node: '>=12'}
- is-plain-object@2.0.4:
- resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
- engines: {node: '>=0.10.0'}
-
is-plain-object@5.0.0:
resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
engines: {node: '>=0.10.0'}
@@ -5318,10 +4820,6 @@ packages:
resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
engines: {node: '>= 0.4'}
- is-regexp@1.0.0:
- resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==}
- engines: {node: '>=0.10.0'}
-
is-relative@1.0.0:
resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==}
engines: {node: '>=0.10.0'}
@@ -5400,17 +4898,10 @@ packages:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
engines: {node: '>=8'}
- is-wsl@3.1.1:
- resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==}
- engines: {node: '>=16'}
-
is-yarn-global@0.4.1:
resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==}
engines: {node: '>=12'}
- isarray@0.0.1:
- resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
-
isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
@@ -5420,10 +4911,6 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- isobject@3.0.1:
- resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
- engines: {node: '>=0.10.0'}
-
issue-parser@6.0.0:
resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==}
engines: {node: '>=10.13'}
@@ -5477,10 +4964,6 @@ packages:
resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-worker@27.5.1:
- resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
- engines: {node: '>= 10.13.0'}
-
jest-worker@29.7.0:
resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -5488,17 +4971,10 @@ packages:
jimp-compact@0.16.1:
resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==}
- jiti@1.21.7:
- resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
- hasBin: true
-
jiti@2.6.1:
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
- joi@17.13.3:
- resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==}
-
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -5527,9 +5003,6 @@ packages:
json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
- json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
-
json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
@@ -5575,9 +5048,6 @@ packages:
resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==}
engines: {node: '>=14.16'}
- launch-editor@2.13.1:
- resolution: {integrity: sha512-lPSddlAAluRKJ7/cjRFoXUFzaX7q/YKI7yPHuEvSJVqoXvFnJov1/Ud87Aa4zULIbA9Nja4mSPK8l0z/7eV2wA==}
-
leven@3.1.0:
resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
engines: {node: '>=6'}
@@ -5595,6 +5065,12 @@ packages:
cpu: [arm64]
os: [android]
+ 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.27.0:
resolution: {integrity: sha512-Gl/lqIXY+d+ySmMbgDf0pgaWSqrWYxVHoc88q+Vhf2YNzZ8DwoRzGt5NZDVqqIW5ScpSnmmjcgXP87Dn2ylSSQ==}
engines: {node: '>= 12.0.0'}
@@ -5607,6 +5083,12 @@ packages:
cpu: [arm64]
os: [darwin]
+ 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.27.0:
resolution: {integrity: sha512-0+mZa54IlcNAoQS9E0+niovhyjjQWEMrwW0p2sSdLRhLDc8LMQ/b67z7+B5q4VmjYCMSfnFi3djAAQFIDuj/Tg==}
engines: {node: '>= 12.0.0'}
@@ -5619,6 +5101,12 @@ packages:
cpu: [x64]
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.27.0:
resolution: {integrity: sha512-n1sEf85fePoU2aDN2PzYjoI8gbBqnmLGEhKq7q0DKLj0UTVmOTwDC7PtLcy/zFxzASTSBlVQYJUhwIStQMIpRA==}
engines: {node: '>= 12.0.0'}
@@ -5631,6 +5119,12 @@ packages:
cpu: [x64]
os: [freebsd]
+ 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.27.0:
resolution: {integrity: sha512-MUMRmtdRkOkd5z3h986HOuNBD1c2lq2BSQA1Jg88d9I7bmPGx08bwGcnB75dvr17CwxjxD6XPi3Qh8ArmKFqCA==}
engines: {node: '>= 12.0.0'}
@@ -5643,6 +5137,12 @@ packages:
cpu: [arm]
os: [linux]
+ 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.27.0:
resolution: {integrity: sha512-cPsxo1QEWq2sfKkSq2Bq5feQDHdUEwgtA9KaB27J5AX22+l4l0ptgjMZZtYtUnteBofjee+0oW1wQ1guv04a7A==}
engines: {node: '>= 12.0.0'}
@@ -5657,6 +5157,13 @@ packages:
os: [linux]
libc: [glibc]
+ 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.27.0:
resolution: {integrity: sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==}
engines: {node: '>= 12.0.0'}
@@ -5671,6 +5178,13 @@ packages:
os: [linux]
libc: [musl]
+ 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.27.0:
resolution: {integrity: sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==}
engines: {node: '>= 12.0.0'}
@@ -5685,6 +5199,13 @@ packages:
os: [linux]
libc: [glibc]
+ 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.27.0:
resolution: {integrity: sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==}
engines: {node: '>= 12.0.0'}
@@ -5699,6 +5220,13 @@ packages:
os: [linux]
libc: [musl]
+ 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.27.0:
resolution: {integrity: sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==}
engines: {node: '>= 12.0.0'}
@@ -5711,6 +5239,12 @@ packages:
cpu: [arm64]
os: [win32]
+ 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.27.0:
resolution: {integrity: sha512-/OJLj94Zm/waZShL8nB5jsNj3CfNATLCTyFxZyouilfTmSoLDX7VlVAmhPHoZWVFp4vdmoiEbPEYC8HID3m6yw==}
engines: {node: '>= 12.0.0'}
@@ -5723,6 +5257,12 @@ packages:
cpu: [x64]
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.27.0:
resolution: {integrity: sha512-8f7aNmS1+etYSLHht0fQApPc2kNO8qGRutifN5rVIc6Xo6ABsEbqOr758UwI7ALVbTt4x1fllKt0PYgzD9S3yQ==}
engines: {node: '>= 12.0.0'}
@@ -5731,6 +5271,10 @@ packages:
resolution: {integrity: sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==}
engines: {node: '>= 12.0.0'}
+ 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'}
@@ -5738,6 +5282,9 @@ packages:
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ linkify-it@5.0.1:
+ resolution: {integrity: sha512-wVoTjP4Q6R0NW5hiZkVJaFZPWgtXfoGF+6LucL3/FtiNjmcHhYjEr5f1Kqjirc1nBW07J/ZuRFumqr2oqccEWg==}
+
lint-staged@15.5.2:
resolution: {integrity: sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==}
engines: {node: '>=18.12.0'}
@@ -5751,14 +5298,6 @@ packages:
resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==}
engines: {node: '>=4'}
- loader-runner@4.3.1:
- resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==}
- engines: {node: '>=6.11.5'}
-
- loader-utils@2.0.4:
- resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
- engines: {node: '>=8.9.0'}
-
locate-path@2.0.0:
resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==}
engines: {node: '>=4'}
@@ -5803,9 +5342,6 @@ packages:
lodash.kebabcase@4.1.1:
resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==}
- lodash.memoize@4.1.2:
- resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
-
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
@@ -5859,9 +5395,6 @@ packages:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
- lower-case@2.0.2:
- resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
-
lowercase-keys@3.0.0:
resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -5884,10 +5417,26 @@ packages:
resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
engines: {node: '>=12'}
+ lucide-react@0.575.0:
+ resolution: {integrity: sha512-VuXgKZrk0uiDlWjGGXmKV6MSk9Yy4l10qgVvzGn2AWBx1Ylt0iBexKOAoA6I7JO3m+M9oeovJd3yYENfkUbOeg==}
+ peerDependencies:
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ lucide-react@1.21.0:
+ resolution: {integrity: sha512-reEZMXq8Qdd5jg5XYkQ5TR1fB/GiQ7ih4vcrthYDtgjSDwh0i6/YLiGjsWsIwgN49gpAnd4J2elSNzncMEEUUQ==}
+ peerDependencies:
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ lunr@2.3.9:
+ resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==}
+
macos-release@3.4.0:
resolution: {integrity: sha512-wpGPwyg/xrSp4H4Db4xYSeAr6+cFQGHfspHzDUdYxswDnUW0L5Ov63UuJiSr8NMSpyaChO4u1n0MXUvVPtrN6A==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+
makeerror@1.0.12:
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
@@ -5903,8 +5452,9 @@ packages:
resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
engines: {node: '>=16'}
- markdown-table@2.0.0:
- resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==}
+ markdown-it@14.2.0:
+ resolution: {integrity: sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==}
+ hasBin: true
markdown-table@3.0.4:
resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
@@ -5925,9 +5475,6 @@ packages:
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-gfm-autolink-literal@2.0.1:
resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
@@ -5970,20 +5517,8 @@ packages:
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==}
-
- media-typer@0.3.0:
- resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
- engines: {node: '>= 0.6'}
-
- memfs@4.56.10:
- resolution: {integrity: sha512-eLvzyrwqLHnLYalJP7YZ3wBe79MXktMdfQbvMrVD80K+NhrIukCVBvgP30zTJYEEDh9hZ/ep9z0KOdD7FSHo7w==}
- peerDependencies:
- tslib: '2'
+ mdurl@2.0.0:
+ resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
memoize-one@5.2.1:
resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==}
@@ -6000,9 +5535,6 @@ packages:
resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
engines: {node: '>=10'}
- merge-descriptors@1.0.3:
- resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
-
merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
@@ -6010,10 +5542,6 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
- methods@1.1.2:
- resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
- engines: {node: '>= 0.6'}
-
metro-babel-transformer@0.80.12:
resolution: {integrity: sha512-YZziRs0MgA3pzCkkvOoQRXjIoVjvrpi/yRlJnObyIvMP6lFdtyG4nUGIwGY9VXnBvxmXD6mPY2e+NSw6JAyiRg==}
engines: {node: '>=18'}
@@ -6133,12 +5661,6 @@ packages:
micromark-core-commonmark@2.0.3:
resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
- micromark-extension-directive@3.0.2:
- resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==}
-
- micromark-extension-frontmatter@2.0.0:
- resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
-
micromark-extension-gfm-autolink-literal@2.1.0:
resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
@@ -6184,9 +5706,6 @@ packages:
micromark-factory-mdx-expression@2.0.3:
resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==}
- micromark-factory-space@1.1.0:
- resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==}
-
micromark-factory-space@2.0.1:
resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
@@ -6196,9 +5715,6 @@ packages:
micromark-factory-whitespace@2.0.1:
resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
- micromark-util-character@1.2.0:
- resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==}
-
micromark-util-character@2.1.1:
resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
@@ -6238,15 +5754,9 @@ packages:
micromark-util-subtokenize@2.1.0:
resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
- micromark-util-symbol@1.1.0:
- resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==}
-
micromark-util-symbol@2.0.1:
resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
- micromark-util-types@1.1.0:
- resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==}
-
micromark-util-types@2.0.2:
resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
@@ -6257,10 +5767,6 @@ packages:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
- mime-db@1.33.0:
- resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==}
- engines: {node: '>= 0.6'}
-
mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
@@ -6269,18 +5775,10 @@ packages:
resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
engines: {node: '>= 0.6'}
- mime-types@2.1.18:
- resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==}
- engines: {node: '>= 0.6'}
-
mime-types@2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
- mime-types@3.0.2:
- resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==}
- engines: {node: '>=18'}
-
mime@1.6.0:
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
engines: {node: '>=4'}
@@ -6314,21 +5812,13 @@ packages:
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
engines: {node: '>=4'}
- mini-css-extract-plugin@2.10.0:
- resolution: {integrity: sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==}
- engines: {node: '>= 12.13.0'}
- peerDependencies:
- webpack: ^5.0.0
-
- minimalistic-assert@1.0.1:
- resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
-
minimatch@10.2.4:
resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==}
engines: {node: 18 || 20 || >=22}
- minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ minimatch@10.2.5:
+ resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
+ engines: {node: 18 || 20 || >=22}
minimatch@3.1.5:
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
@@ -6373,22 +5863,34 @@ packages:
resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==}
engines: {node: '>=0.10.0'}
- mrmime@2.0.1:
- resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
- engines: {node: '>=10'}
-
- ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
-
- ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ motion-dom@12.40.0:
+ resolution: {integrity: sha512-HxU3ZaBwNPVQUBQf1xxgq+7JrPNZvjLVxgbpEZL7RrWJnsxOf0/OM+yrHG9ogLQ31Do/r57Oz2gQWPK+6q62mg==}
- multicast-dns@7.2.5:
- resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
- hasBin: true
+ motion-utils@12.39.0:
+ resolution: {integrity: sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ==}
- multitars@0.2.4:
- resolution: {integrity: sha512-XgLbg1HHchFauMCQPRwMj6MSyDd5koPlTA1hM3rUFkeXzGpjU/I9fP3to7yrObE9jcN8ChIOQGrM0tV0kUZaKg==}
+ motion@12.40.0:
+ resolution: {integrity: sha512-yjrHUrBFW6kQvjJwRsoiPSAhC5tRwRqNGJWmiJ4CrGnbKp0V88AdzkhBmDoqIsIPfarOe0Uddd37Xq43/gIocA==}
+ peerDependencies:
+ '@emotion/is-prop-valid': '*'
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@emotion/is-prop-valid':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ multitars@0.2.4:
+ resolution: {integrity: sha512-XgLbg1HHchFauMCQPRwMj6MSyDd5koPlTA1hM3rUFkeXzGpjU/I9fP3to7yrObE9jcN8ChIOQGrM0tV0kUZaKg==}
mute-stream@1.0.0:
resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==}
@@ -6402,6 +5904,11 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ nanoid@3.3.14:
+ resolution: {integrity: sha512-U9kYi5bpVMEI31yC8iw4bJJp0avcHXA0W8/wNfLfnvJYzihQo2ZRPYPvpAAd570HAcCBjCTN7vnr+v4StKl1IQ==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
negotiator@0.6.3:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
engines: {node: '>= 0.6'}
@@ -6424,8 +5931,32 @@ packages:
resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- no-case@3.0.4:
- resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+ next-themes@0.4.6:
+ resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==}
+ peerDependencies:
+ react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
+
+ next@16.2.6:
+ resolution: {integrity: sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==}
+ engines: {node: '>=20.9.0'}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ '@playwright/test': ^1.51.1
+ babel-plugin-react-compiler: '*'
+ react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ '@playwright/test':
+ optional: true
+ babel-plugin-react-compiler:
+ optional: true
+ sass:
+ optional: true
node-abort-controller@3.1.1:
resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==}
@@ -6435,10 +5966,6 @@ packages:
engines: {node: '>=10.5.0'}
deprecated: Use your platform's native DOMException instead
- node-emoji@2.2.0:
- resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==}
- engines: {node: '>=18'}
-
node-fetch@2.7.0:
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
engines: {node: 4.x || >=6.0.0}
@@ -6489,18 +6016,6 @@ packages:
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- nprogress@0.2.0:
- resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==}
-
- nth-check@2.1.1:
- resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
-
- null-loader@4.0.1:
- resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- webpack: ^4.0.0 || ^5.0.0
-
nullthrows@1.1.1:
resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==}
@@ -6528,9 +6043,6 @@ packages:
resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
engines: {node: '>= 0.4'}
- obuf@1.1.2:
- resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
-
on-finished@2.3.0:
resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
engines: {node: '>= 0.8'}
@@ -6562,9 +6074,11 @@ packages:
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
engines: {node: '>=18'}
- open@10.2.0:
- resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==}
- engines: {node: '>=18'}
+ oniguruma-parser@0.12.2:
+ resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==}
+
+ oniguruma-to-es@4.3.6:
+ resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==}
open@7.4.2:
resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==}
@@ -6578,10 +6092,6 @@ packages:
resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==}
engines: {node: '>=14.16'}
- opener@1.5.2:
- resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
- hasBin: true
-
optionator@0.8.3:
resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
engines: {node: '>= 0.8.0'}
@@ -6629,10 +6139,6 @@ packages:
resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
engines: {node: '>=12.20'}
- p-finally@1.0.0:
- resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
- engines: {node: '>=4'}
-
p-limit@1.3.0:
resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==}
engines: {node: '>=4'}
@@ -6677,18 +6183,6 @@ packages:
resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==}
engines: {node: '>=12'}
- p-queue@6.6.2:
- resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==}
- engines: {node: '>=8'}
-
- p-retry@6.2.1:
- resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==}
- engines: {node: '>=16.17'}
-
- p-timeout@3.2.0:
- resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==}
- engines: {node: '>=8'}
-
p-try@1.0.0:
resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==}
engines: {node: '>=4'}
@@ -6712,9 +6206,6 @@ packages:
resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==}
engines: {node: '>=14.16'}
- param-case@3.0.4:
- resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
-
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -6730,9 +6221,6 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
- parse-numeric-range@1.3.0:
- resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==}
-
parse-path@7.1.0:
resolution: {integrity: sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==}
@@ -6743,9 +6231,6 @@ packages:
parse-url@8.1.0:
resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==}
- parse5-htmlparser2-tree-adapter@7.1.0:
- resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==}
-
parse5@7.3.0:
resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
@@ -6753,9 +6238,6 @@ packages:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
engines: {node: '>= 0.8'}
- pascal-case@3.1.2:
- resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
-
path-exists@3.0.0:
resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
engines: {node: '>=4'}
@@ -6772,9 +6254,6 @@ packages:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
- path-is-inside@1.0.2:
- resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==}
-
path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
@@ -6794,15 +6273,6 @@ packages:
resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
engines: {node: 18 || 20 || >=22}
- path-to-regexp@0.1.12:
- resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
-
- path-to-regexp@1.9.0:
- resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==}
-
- path-to-regexp@3.3.0:
- resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==}
-
path-type@3.0.0:
resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==}
engines: {node: '>=4'}
@@ -6826,6 +6296,10 @@ packages:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
+ picomatch@4.0.4:
+ resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
+ engines: {node: '>=12'}
+
pidtree@0.6.0:
resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
engines: {node: '>=0.10'}
@@ -6843,18 +6317,10 @@ packages:
resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
engines: {node: '>= 6'}
- pkg-dir@7.0.0:
- resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==}
- engines: {node: '>=14.16'}
-
pkg-up@3.1.0:
resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
engines: {node: '>=8'}
- pkijs@3.3.3:
- resolution: {integrity: sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==}
- engines: {node: '>=16.0.0'}
-
plist@3.1.0:
resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==}
engines: {node: '>=10.4.0'}
@@ -6871,399 +6337,16 @@ packages:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
- postcss-attribute-case-insensitive@7.0.1:
- resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-calc@9.0.1:
- resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.2.2
-
- postcss-clamp@4.1.0:
- resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==}
- engines: {node: '>=7.6.0'}
- peerDependencies:
- postcss: ^8.4.6
-
- postcss-color-functional-notation@7.0.12:
- resolution: {integrity: sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-color-hex-alpha@10.0.0:
- resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-color-rebeccapurple@10.0.0:
- resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-colormin@6.1.0:
- resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-convert-values@6.1.0:
- resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-custom-media@11.0.6:
- resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-custom-properties@14.0.6:
- resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-custom-selectors@8.0.5:
- resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-dir-pseudo-class@9.0.1:
- resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-discard-comments@6.0.2:
- resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-discard-duplicates@6.0.3:
- resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-discard-empty@6.0.3:
- resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-discard-overridden@6.0.2:
- resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-discard-unused@6.0.5:
- resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-double-position-gradients@6.0.4:
- resolution: {integrity: sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-focus-visible@10.0.1:
- resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-focus-within@9.0.1:
- resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-font-variant@5.0.0:
- resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-gap-properties@6.0.0:
- resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-image-set-function@7.0.0:
- resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-lab-function@7.0.12:
- resolution: {integrity: sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-loader@7.3.4:
- resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==}
- engines: {node: '>= 14.15.0'}
- peerDependencies:
- postcss: ^7.0.0 || ^8.0.1
- webpack: ^5.0.0
-
- postcss-logical@8.1.0:
- resolution: {integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-merge-idents@6.0.3:
- resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-merge-longhand@6.0.5:
- resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-merge-rules@6.1.1:
- resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-minify-font-values@6.1.0:
- resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-minify-gradients@6.0.3:
- resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-minify-params@6.1.0:
- resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-minify-selectors@6.0.4:
- resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-modules-extract-imports@3.1.0:
- resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-modules-local-by-default@4.2.0:
- resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-modules-scope@3.2.1:
- resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-modules-values@4.0.0:
- resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-nesting@13.0.2:
- resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-normalize-charset@6.0.2:
- resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-normalize-display-values@6.0.2:
- resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-normalize-positions@6.0.2:
- resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-normalize-repeat-style@6.0.2:
- resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-normalize-string@6.0.2:
- resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-normalize-timing-functions@6.0.2:
- resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-normalize-unicode@6.1.0:
- resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-normalize-url@6.0.2:
- resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-normalize-whitespace@6.0.2:
- resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-opacity-percentage@3.0.0:
- resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-ordered-values@6.0.2:
- resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-overflow-shorthand@6.0.0:
- resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-page-break@3.0.4:
- resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==}
- peerDependencies:
- postcss: ^8
-
- postcss-place@10.0.0:
- resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-preset-env@10.6.1:
- resolution: {integrity: sha512-yrk74d9EvY+W7+lO9Aj1QmjWY9q5NsKjK2V9drkOPZB/X6KZ0B3igKsHUYakb7oYVhnioWypQX3xGuePf89f3g==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-pseudo-class-any-link@10.0.1:
- resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-reduce-idents@6.0.3:
- resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-reduce-initial@6.1.0:
- resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-reduce-transforms@6.0.2:
- resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-replace-overflow-wrap@4.0.0:
- resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==}
- peerDependencies:
- postcss: ^8.0.3
-
- postcss-selector-not@8.0.1:
- resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==}
- engines: {node: '>=18'}
- peerDependencies:
- postcss: ^8.4
-
- postcss-selector-parser@6.1.2:
- resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
- engines: {node: '>=4'}
-
- postcss-selector-parser@7.1.1:
- resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==}
- engines: {node: '>=4'}
-
- postcss-sort-media-queries@5.2.0:
- resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.4.23
-
- postcss-svgo@6.0.3:
- resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==}
- engines: {node: ^14 || ^16 || >= 18}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-unique-selectors@6.0.4:
- resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
- postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- postcss-zindex@6.0.2:
- resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ engines: {node: ^10 || ^12 || >=14}
postcss@8.4.49:
resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
engines: {node: ^10 || ^12 || >=14}
- postcss@8.5.6:
- resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+ postcss@8.5.15:
+ resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==}
engines: {node: ^10 || ^12 || >=14}
prelude-ls@1.1.2:
@@ -7274,26 +6357,10 @@ packages:
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
engines: {node: '>=6'}
- pretty-error@4.0.0:
- resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
-
pretty-format@29.7.0:
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- pretty-time@1.1.0:
- resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==}
- engines: {node: '>=4'}
-
- prism-react-renderer@2.4.1:
- resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==}
- peerDependencies:
- react: '>=16.0.0'
-
- prismjs@1.30.0:
- resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
- engines: {node: '>=6'}
-
proc-log@4.2.0:
resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -7316,9 +6383,6 @@ packages:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
- prop-types@15.8.1:
- resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
-
property-information@7.1.0:
resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
@@ -7328,10 +6392,6 @@ packages:
protocols@2.0.2:
resolution: {integrity: sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==}
- proxy-addr@2.0.7:
- resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
- engines: {node: '>= 0.10'}
-
proxy-agent@6.2.1:
resolution: {integrity: sha512-OIbBKlRAT+ycCm6wAYIzMwPejzRtjy8F3QiDX0eKOA3e4pe3U9F/IvzcHP42bmgQxVv97juG+J8/gx+JIeCX/Q==}
engines: {node: '>= 14'}
@@ -7342,6 +6402,10 @@ packages:
pump@3.0.3:
resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==}
+ punycode.js@2.3.1:
+ resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
+ engines: {node: '>=6'}
+
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
@@ -7350,13 +6414,6 @@ packages:
resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==}
engines: {node: '>=12.20'}
- pvtsutils@1.3.6:
- resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==}
-
- pvutils@1.1.5:
- resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==}
- engines: {node: '>=16.0.0'}
-
q@1.5.1:
resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==}
engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
@@ -7369,10 +6426,6 @@ packages:
resolution: {integrity: sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==}
hasBin: true
- qs@6.14.2:
- resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==}
- engines: {node: '>=0.6'}
-
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -7387,21 +6440,10 @@ packages:
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
engines: {node: '>=10'}
- randombytes@2.1.0:
- resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
-
- range-parser@1.2.0:
- resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==}
- engines: {node: '>= 0.6'}
-
range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
- raw-body@2.5.3:
- resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==}
- engines: {node: '>= 0.8'}
-
rc@1.2.8:
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
hasBin: true
@@ -7414,28 +6456,14 @@ packages:
peerDependencies:
react: ^19.2.0
- react-fast-compare@3.2.2:
- resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
-
- react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ react-dom@19.2.3:
+ resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==}
+ peerDependencies:
+ react: ^19.2.3
react-is@18.3.1:
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
- react-json-view-lite@2.5.0:
- resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==}
- engines: {node: '>=18'}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0
-
- react-loadable-ssr-addon-v5-slorber@1.0.1:
- resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==}
- engines: {node: '>=10.13.0'}
- peerDependencies:
- react-loadable: '*'
- webpack: '>=4.41.1 || 5.x'
-
react-native-builder-bob@0.30.3:
resolution: {integrity: sha512-7w+oNNNkY+cR7Z3GgKaDWg7CeSxpv1ZUox42Ji/rViAxygMmtSPBe5I3K723OjGJXhvJCyUK5RRvzefNPw7Amg==}
engines: {node: '>= 18.0.0'}
@@ -7474,26 +6502,44 @@ packages:
resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
engines: {node: '>=0.10.0'}
- react-router-config@5.1.1:
- resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==}
+ react-remove-scroll-bar@2.3.8:
+ resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
+ engines: {node: '>=10'}
peerDependencies:
- react: '>=15'
- react-router: '>=5'
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- react-router-dom@5.3.4:
- resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==}
+ react-remove-scroll@2.7.2:
+ resolution: {integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==}
+ engines: {node: '>=10'}
peerDependencies:
- react: '>=15'
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- react-router@5.3.4:
- resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==}
+ react-style-singleton@2.2.3:
+ resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
+ engines: {node: '>=10'}
peerDependencies:
- react: '>=15'
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
react@19.2.0:
resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==}
engines: {node: '>=0.10.0'}
+ react@19.2.3:
+ resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==}
+ engines: {node: '>=0.10.0'}
+
read-pkg-up@3.0.0:
resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==}
engines: {node: '>=4'}
@@ -7525,9 +6571,9 @@ packages:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
+ readdirp@5.0.0:
+ resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==}
+ engines: {node: '>= 20.19.0'}
rechoir@0.6.2:
resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
@@ -7555,9 +6601,6 @@ packages:
resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==}
engines: {node: '>=12'}
- reflect-metadata@0.2.2:
- resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==}
-
reflect.getprototypeof@1.0.10:
resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
engines: {node: '>= 0.4'}
@@ -7572,6 +6615,15 @@ packages:
regenerator-runtime@0.13.11:
resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+ regex-recursion@6.0.2:
+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
+
+ regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+
+ regex@6.1.0:
+ resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==}
+
regexp.prototype.flags@1.5.4:
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
engines: {node: '>= 0.4'}
@@ -7601,25 +6653,11 @@ packages:
rehype-recma@1.0.0:
resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
- relateurl@0.2.7:
- resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
- engines: {node: '>= 0.10'}
-
release-it@15.11.0:
resolution: {integrity: sha512-lZwoGEnKYKwGnfxxlA7vtR7vvozPrOSsIgQaHO4bgQ5ARbG3IA6Dmo0IVusv6nR1KmnjH70QIeNAgsWs6Ji/tw==}
engines: {node: '>=14.9'}
hasBin: true
- remark-directive@3.0.1:
- resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==}
-
- remark-emoji@4.0.1:
- resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- remark-frontmatter@5.0.0:
- resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
-
remark-gfm@4.0.1:
resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
@@ -7635,12 +6673,8 @@ packages:
remark-stringify@11.0.0:
resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
- renderkid@3.0.0:
- resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
-
- repeat-string@1.6.1:
- resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
- engines: {node: '>=0.10'}
+ remark@15.0.1:
+ resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
@@ -7650,16 +6684,10 @@ packages:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
- require-like@0.1.2:
- resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==}
-
requireg@0.2.2:
resolution: {integrity: sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==}
engines: {node: '>= 4.0.0'}
- requires-port@1.0.0:
- resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
-
reselect@4.1.8:
resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==}
@@ -7678,9 +6706,6 @@ packages:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
- resolve-pathname@3.0.0:
- resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==}
-
resolve-workspace-root@2.0.1:
resolution: {integrity: sha512-nR23LHAvaI6aHtMg6RWoaHpdR4D881Nydkzi2CixINyg9T00KgaJdJI6Vwty+Ps8WLxZHuxsS0BseWjxSA4C+w==}
@@ -7732,19 +6757,10 @@ packages:
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
- rtlcss@4.3.0:
- resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==}
- engines: {node: '>=12.0.0'}
- hasBin: true
-
run-applescript@5.0.0:
resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==}
engines: {node: '>=12'}
- run-applescript@7.1.0:
- resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
- engines: {node: '>=18'}
-
run-async@3.0.0:
resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==}
engines: {node: '>=0.12.0'}
@@ -7783,30 +6799,8 @@ packages:
scheduler@0.27.0:
resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
- schema-dts@1.1.5:
- resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==}
-
- schema-utils@3.3.0:
- resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
- engines: {node: '>= 10.13.0'}
-
- schema-utils@4.3.3:
- resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==}
- engines: {node: '>= 10.13.0'}
-
- search-insights@2.17.3:
- resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==}
-
- section-matter@1.0.0:
- resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
- engines: {node: '>=4'}
-
- select-hose@2.0.0:
- resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
-
- selfsigned@5.5.0:
- resolution: {integrity: sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==}
- engines: {node: '>=18'}
+ scroll-into-view-if-needed@3.1.0:
+ resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==}
semver-diff@4.0.0:
resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==}
@@ -7843,16 +6837,6 @@ packages:
resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==}
engines: {node: '>=0.10.0'}
- serialize-javascript@6.0.2:
- resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
-
- serve-handler@6.1.6:
- resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==}
-
- serve-index@1.9.2:
- resolution: {integrity: sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==}
- engines: {node: '>= 0.8.0'}
-
serve-static@1.16.3:
resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==}
engines: {node: '>= 0.8.0'}
@@ -7872,12 +6856,9 @@ packages:
setprototypeof@1.2.0:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
- shallow-clone@3.0.1:
- resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
- engines: {node: '>=8'}
-
- shallowequal@1.1.0:
- resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
+ sharp@0.34.5:
+ resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
@@ -7896,6 +6877,10 @@ packages:
engines: {node: '>=4'}
hasBin: true
+ shiki@4.2.0:
+ resolution: {integrity: sha512-hjNax6o/ylDy9lefQEaSDtzaT3iVNtZ3WmpQnbuQNoG4xvnSKf2kSKbihZVO4JRG1TTMejs7CmNRYlWgAL66pQ==}
+ engines: {node: '>=20'}
+
side-channel-list@1.0.0:
resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
engines: {node: '>= 0.4'}
@@ -7922,22 +6907,9 @@ packages:
simple-plist@1.3.1:
resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==}
- sirv@2.0.4:
- resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
- engines: {node: '>= 10'}
-
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
- sitemap@7.1.2:
- resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==}
- engines: {node: '>=12.0.0', npm: '>=5.6.0'}
- hasBin: true
-
- skin-tone@2.0.0:
- resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==}
- engines: {node: '>=8'}
-
slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
@@ -7962,12 +6934,6 @@ packages:
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
- snake-case@3.0.4:
- resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
-
- sockjs@0.3.24:
- resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
-
socks-proxy-agent@8.0.5:
resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==}
engines: {node: '>= 14'}
@@ -7976,10 +6942,6 @@ packages:
resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==}
engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
- sort-css-media-queries@2.2.0:
- resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==}
- engines: {node: '>= 6.3.0'}
-
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
@@ -8014,13 +6976,6 @@ packages:
spdx-license-ids@3.0.23:
resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==}
- spdy-transport@3.0.0:
- resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
-
- spdy@4.0.2:
- resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
- engines: {node: '>=6.0.0'}
-
split2@3.2.2:
resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
@@ -8034,10 +6989,6 @@ packages:
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
- srcset@4.0.0:
- resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==}
- engines: {node: '>=12'}
-
stack-utils@2.0.6:
resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
engines: {node: '>=10'}
@@ -8057,9 +7008,6 @@ packages:
resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
engines: {node: '>= 0.8'}
- std-env@3.10.0:
- resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==}
-
stdin-discarder@0.1.0:
resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -8109,10 +7057,6 @@ packages:
stringify-entities@4.0.4:
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
- stringify-object@3.3.0:
- resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
- engines: {node: '>=4'}
-
strip-ansi@5.2.0:
resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==}
engines: {node: '>=6'}
@@ -8125,10 +7069,6 @@ packages:
resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
engines: {node: '>=12'}
- strip-bom-string@1.0.0:
- resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==}
- engines: {node: '>=0.10.0'}
-
strip-bom@3.0.0:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
@@ -8153,10 +7093,6 @@ packages:
resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
engines: {node: '>=0.10.0'}
- strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
-
structured-headers@0.4.1:
resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==}
@@ -8166,11 +7102,18 @@ packages:
style-to-object@1.0.14:
resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
- stylehacks@6.1.1:
- resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==}
- engines: {node: ^14 || ^16 || >=18.0}
+ styled-jsx@5.1.6:
+ resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
+ engines: {node: '>= 12.0.0'}
peerDependencies:
- postcss: ^8.4.31
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
sucrase@3.35.0:
resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
@@ -8197,16 +7140,14 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- svg-parser@2.0.4:
- resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==}
+ tailwind-merge@3.6.0:
+ resolution: {integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==}
- svgo@3.3.2:
- resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==}
- engines: {node: '>=14.0.0'}
- hasBin: true
+ tailwindcss@4.3.0:
+ resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==}
- tapable@2.3.0:
- resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
+ tapable@2.3.3:
+ resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
engines: {node: '>=6'}
tar@7.5.9:
@@ -8221,22 +7162,6 @@ packages:
resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==}
engines: {node: '>=8'}
- terser-webpack-plugin@5.3.16:
- resolution: {integrity: sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- '@swc/core': '*'
- esbuild: '*'
- uglify-js: '*'
- webpack: ^5.1.0
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- esbuild:
- optional: true
- uglify-js:
- optional: true
-
terser@5.46.0:
resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==}
engines: {node: '>=10'}
@@ -8261,12 +7186,6 @@ packages:
thenify@3.3.1:
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
- thingies@2.5.0:
- resolution: {integrity: sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==}
- engines: {node: '>=10.18'}
- peerDependencies:
- tslib: ^2
-
throat@5.0.0:
resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==}
@@ -8279,22 +7198,17 @@ packages:
through@2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
- thunky@1.1.0:
- resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
-
- tiny-invariant@1.3.3:
- resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
-
- tiny-warning@1.0.3:
- resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
-
tinyexec@1.0.2:
resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==}
engines: {node: '>=18'}
- tinypool@1.1.1:
- resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ tinyexec@1.2.4:
+ resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==}
+ engines: {node: '>=18'}
+
+ 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==}
@@ -8322,19 +7236,9 @@ packages:
toqr@0.1.1:
resolution: {integrity: sha512-FWAPzCIHZHnrE/5/w9MPk0kK25hSQSH2IKhYh9PyjS3SG/+IEMvlwIHbhz+oF7xl54I+ueZlVnMjyzdSwLmAwA==}
- totalist@3.0.1:
- resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
- engines: {node: '>=6'}
-
tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
- tree-dump@1.1.0:
- resolution: {integrity: sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==}
- engines: {node: '>=10.0'}
- peerDependencies:
- tslib: '2'
-
trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
@@ -8352,16 +7256,9 @@ packages:
ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- tslib@1.14.1:
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
-
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
- tsyringe@4.10.0:
- resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==}
- engines: {node: '>= 6.0.0'}
-
type-check@0.3.2:
resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
engines: {node: '>= 0.8.0'}
@@ -8398,10 +7295,6 @@ packages:
resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
engines: {node: '>=12.20'}
- type-is@1.6.18:
- resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
- engines: {node: '>= 0.6'}
-
typed-array-buffer@1.0.3:
resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
engines: {node: '>= 0.4'}
@@ -8424,11 +7317,32 @@ packages:
typedarray@0.0.6:
resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
+ typedoc-plugin-frontmatter@1.3.1:
+ resolution: {integrity: sha512-wXKnhpiOuG3lY9GGKiKcXNrhKbPYm/jA5wbzGE/kKdwlSu8++ZbEuKA0K2dvIna3F+5EQrv+3AeObHkS1QP7JA==}
+ peerDependencies:
+ typedoc-plugin-markdown: '>=4.9.0'
+
+ typedoc-plugin-markdown@4.11.0:
+ resolution: {integrity: sha512-2iunh2ALyfyh204OF7h2u0kuQ84xB3jFZtFyUr01nThJkLvR8oGGSSDlyt2gyO4kXhvUxDcVbO0y43+qX+wFbw==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ typedoc: 0.28.x
+
+ typedoc@0.28.19:
+ resolution: {integrity: sha512-wKh+lhdmMFivMlc6vRRcMGXeGEHGU2g8a2CkPTJjJlwRf1iXbimWIPcFolCqe4E0d/FRtGszpIrsp3WLpDB8Pw==}
+ engines: {node: '>= 18', pnpm: '>= 10'}
+ hasBin: true
+ peerDependencies:
+ typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x
+
typescript@5.9.3:
resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
engines: {node: '>=14.17'}
hasBin: true
+ uc.micro@2.1.0:
+ resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
+
uglify-js@3.19.3:
resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==}
engines: {node: '>=0.8.0'}
@@ -8453,10 +7367,6 @@ packages:
resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
engines: {node: '>=4'}
- unicode-emoji-modifier-base@1.0.0:
- resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==}
- engines: {node: '>=4'}
-
unicode-match-property-ecmascript@2.0.0:
resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
engines: {node: '>=4'}
@@ -8493,6 +7403,9 @@ packages:
unist-util-position@5.0.0:
resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+ unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+
unist-util-stringify-position@4.0.0:
resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
@@ -8527,33 +7440,33 @@ packages:
resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==}
engines: {node: '>=14.16'}
- uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
-
url-join@5.0.0:
resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- url-loader@4.1.1:
- resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==}
- engines: {node: '>= 10.13.0'}
+ use-callback-ref@1.3.3:
+ resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-sidecar@1.1.3:
+ resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
+ engines: {node: '>=10'}
peerDependencies:
- file-loader: '*'
- webpack: ^4.0.0 || ^5.0.0
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
peerDependenciesMeta:
- file-loader:
+ '@types/react':
optional: true
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- utila@0.4.0:
- resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
-
- utility-types@3.11.0:
- resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==}
- engines: {node: '>= 4'}
-
utils-merge@1.0.1:
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
engines: {node: '>= 0.4.0'}
@@ -8562,10 +7475,6 @@ packages:
resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==}
hasBin: true
- uuid@8.3.2:
- resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
- hasBin: true
-
validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
@@ -8573,9 +7482,6 @@ packages:
resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- value-equal@1.0.1:
- resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==}
-
vary@1.1.2:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
@@ -8600,13 +7506,6 @@ packages:
walker@1.0.8:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
- watchpack@2.5.1:
- resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==}
- engines: {node: '>=10.13.0'}
-
- wbuf@1.7.3:
- resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
-
wcwidth@1.0.1:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
@@ -8624,69 +7523,6 @@ packages:
resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==}
engines: {node: '>=8'}
- webpack-bundle-analyzer@4.10.2:
- resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==}
- engines: {node: '>= 10.13.0'}
- hasBin: true
-
- webpack-dev-middleware@7.4.5:
- resolution: {integrity: sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==}
- engines: {node: '>= 18.12.0'}
- peerDependencies:
- webpack: ^5.0.0
- peerDependenciesMeta:
- webpack:
- optional: true
-
- webpack-dev-server@5.2.3:
- resolution: {integrity: sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==}
- engines: {node: '>= 18.12.0'}
- hasBin: true
- peerDependencies:
- webpack: ^5.0.0
- webpack-cli: '*'
- peerDependenciesMeta:
- webpack:
- optional: true
- webpack-cli:
- optional: true
-
- webpack-merge@5.10.0:
- resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==}
- engines: {node: '>=10.0.0'}
-
- webpack-merge@6.0.1:
- resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==}
- engines: {node: '>=18.0.0'}
-
- webpack-sources@3.3.4:
- resolution: {integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==}
- engines: {node: '>=10.13.0'}
-
- webpack@5.105.3:
- resolution: {integrity: sha512-LLBBA4oLmT7sZdHiYE/PeVuifOxYyE2uL/V+9VQP7YSYdJU7bSf7H8bZRRxW8kEPMkmVjnrXmoR3oejIdX0xbg==}
- engines: {node: '>=10.13.0'}
- hasBin: true
- peerDependencies:
- webpack-cli: '*'
- peerDependenciesMeta:
- webpack-cli:
- optional: true
-
- webpackbar@6.0.1:
- resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==}
- engines: {node: '>=14.21.3'}
- peerDependencies:
- webpack: 3 || 4 || 5
-
- websocket-driver@0.7.4:
- resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
- engines: {node: '>=0.8.0'}
-
- websocket-extensions@0.1.4:
- resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
- engines: {node: '>=0.8.0'}
-
whatwg-fetch@3.6.20:
resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==}
@@ -8728,9 +7564,6 @@ packages:
wildcard-match@5.1.2:
resolution: {integrity: sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==}
- wildcard@2.0.1:
- resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
-
windows-release@5.1.1:
resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -8806,10 +7639,6 @@ packages:
utf-8-validate:
optional: true
- wsl-utils@0.1.0:
- resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==}
- engines: {node: '>=18'}
-
xcode@3.0.1:
resolution: {integrity: sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==}
engines: {node: '>=10.0.0'}
@@ -8818,10 +7647,6 @@ packages:
resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
engines: {node: '>=12'}
- xml-js@1.6.11:
- resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==}
- hasBin: true
-
xml2js@0.6.0:
resolution: {integrity: sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==}
engines: {node: '>=4.0.0'}
@@ -8857,6 +7682,11 @@ packages:
engines: {node: '>= 14.6'}
hasBin: true
+ yaml@2.9.0:
+ resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
+
yargs-parser@20.2.9:
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
engines: {node: '>=10'}
@@ -8884,6 +7714,9 @@ packages:
zod@3.25.76:
resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
+ zod@4.4.3:
+ resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==}
+
zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
@@ -8897,34 +7730,7 @@ snapshots:
'@algolia/requester-browser-xhr': 5.49.1
'@algolia/requester-fetch': 5.49.1
'@algolia/requester-node-http': 5.49.1
-
- '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3)':
- dependencies:
- '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3)
- '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)
- transitivePeerDependencies:
- - '@algolia/client-search'
- - algoliasearch
- - search-insights
-
- '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3)':
- dependencies:
- '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)
- search-insights: 2.17.3
- transitivePeerDependencies:
- - '@algolia/client-search'
- - algoliasearch
-
- '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)':
- dependencies:
- '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)
- '@algolia/client-search': 5.49.1
- algoliasearch: 5.49.1
-
- '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)':
- dependencies:
- '@algolia/client-search': 5.49.1
- algoliasearch: 5.49.1
+ optional: true
'@algolia/client-abtesting@5.49.1':
dependencies:
@@ -8932,6 +7738,7 @@ snapshots:
'@algolia/requester-browser-xhr': 5.49.1
'@algolia/requester-fetch': 5.49.1
'@algolia/requester-node-http': 5.49.1
+ optional: true
'@algolia/client-analytics@5.49.1':
dependencies:
@@ -8939,8 +7746,10 @@ snapshots:
'@algolia/requester-browser-xhr': 5.49.1
'@algolia/requester-fetch': 5.49.1
'@algolia/requester-node-http': 5.49.1
+ optional: true
- '@algolia/client-common@5.49.1': {}
+ '@algolia/client-common@5.49.1':
+ optional: true
'@algolia/client-insights@5.49.1':
dependencies:
@@ -8948,6 +7757,7 @@ snapshots:
'@algolia/requester-browser-xhr': 5.49.1
'@algolia/requester-fetch': 5.49.1
'@algolia/requester-node-http': 5.49.1
+ optional: true
'@algolia/client-personalization@5.49.1':
dependencies:
@@ -8955,6 +7765,7 @@ snapshots:
'@algolia/requester-browser-xhr': 5.49.1
'@algolia/requester-fetch': 5.49.1
'@algolia/requester-node-http': 5.49.1
+ optional: true
'@algolia/client-query-suggestions@5.49.1':
dependencies:
@@ -8962,6 +7773,7 @@ snapshots:
'@algolia/requester-browser-xhr': 5.49.1
'@algolia/requester-fetch': 5.49.1
'@algolia/requester-node-http': 5.49.1
+ optional: true
'@algolia/client-search@5.49.1':
dependencies:
@@ -8969,8 +7781,7 @@ snapshots:
'@algolia/requester-browser-xhr': 5.49.1
'@algolia/requester-fetch': 5.49.1
'@algolia/requester-node-http': 5.49.1
-
- '@algolia/events@4.0.1': {}
+ optional: true
'@algolia/ingestion@1.49.1':
dependencies:
@@ -8978,6 +7789,7 @@ snapshots:
'@algolia/requester-browser-xhr': 5.49.1
'@algolia/requester-fetch': 5.49.1
'@algolia/requester-node-http': 5.49.1
+ optional: true
'@algolia/monitoring@1.49.1':
dependencies:
@@ -8985,6 +7797,7 @@ snapshots:
'@algolia/requester-browser-xhr': 5.49.1
'@algolia/requester-fetch': 5.49.1
'@algolia/requester-node-http': 5.49.1
+ optional: true
'@algolia/recommend@5.49.1':
dependencies:
@@ -8992,18 +7805,24 @@ snapshots:
'@algolia/requester-browser-xhr': 5.49.1
'@algolia/requester-fetch': 5.49.1
'@algolia/requester-node-http': 5.49.1
+ optional: true
'@algolia/requester-browser-xhr@5.49.1':
dependencies:
'@algolia/client-common': 5.49.1
+ optional: true
'@algolia/requester-fetch@5.49.1':
dependencies:
'@algolia/client-common': 5.49.1
+ optional: true
'@algolia/requester-node-http@5.49.1':
dependencies:
'@algolia/client-common': 5.49.1
+ optional: true
+
+ '@alloc/quick-lru@5.2.0': {}
'@babel/code-frame@7.10.4':
dependencies:
@@ -9615,11 +8434,6 @@ snapshots:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
-
'@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -9867,10 +8681,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/runtime-corejs3@7.29.0':
- dependencies:
- core-js-pure: 3.48.0
-
'@babel/runtime@7.28.6': {}
'@babel/template@7.28.6':
@@ -9896,9 +8706,6 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
- '@colors/colors@1.5.0':
- optional: true
-
'@commitlint/cli@19.8.1(@types/node@25.3.1)(typescript@5.9.3)':
dependencies:
'@commitlint/format': 19.8.1
@@ -10008,1083 +8815,88 @@ snapshots:
'@types/conventional-commits-parser': 5.0.2
chalk: 5.6.2
- '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
- dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
-
- '@csstools/color-helpers@5.1.0': {}
-
- '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
- dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
-
- '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
- dependencies:
- '@csstools/color-helpers': 5.1.0
- '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
-
- '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
- dependencies:
- '@csstools/css-tokenizer': 3.0.4
-
- '@csstools/css-tokenizer@3.0.4': {}
-
- '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
- dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
-
- '@csstools/postcss-alpha-function@1.0.1(postcss@8.5.6)':
+ '@emnapi/runtime@1.11.1':
dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
-
- '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.6)':
- dependencies:
- '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1)
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
+ tslib: 2.8.1
+ optional: true
- '@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.6)':
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
+ '@esbuild/aix-ppc64@0.28.1':
+ optional: true
- '@csstools/postcss-color-function@4.0.12(postcss@8.5.6)':
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
+ '@esbuild/android-arm64@0.28.1':
+ optional: true
- '@csstools/postcss-color-mix-function@3.0.12(postcss@8.5.6)':
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
+ '@esbuild/android-arm@0.28.1':
+ optional: true
- '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2(postcss@8.5.6)':
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
+ '@esbuild/android-x64@0.28.1':
+ optional: true
- '@csstools/postcss-content-alt-text@2.0.8(postcss@8.5.6)':
- dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
+ '@esbuild/darwin-arm64@0.28.1':
+ optional: true
- '@csstools/postcss-contrast-color-function@2.0.12(postcss@8.5.6)':
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
+ '@esbuild/darwin-x64@0.28.1':
+ optional: true
- '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.6)':
- dependencies:
- '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- postcss: 8.5.6
+ '@esbuild/freebsd-arm64@0.28.1':
+ optional: true
- '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.6)':
- dependencies:
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
+ '@esbuild/freebsd-x64@0.28.1':
+ optional: true
- '@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.6)':
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- postcss: 8.5.6
+ '@esbuild/linux-arm64@0.28.1':
+ optional: true
- '@csstools/postcss-gradients-interpolation-method@5.0.12(postcss@8.5.6)':
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
+ '@esbuild/linux-arm@0.28.1':
+ optional: true
- '@csstools/postcss-hwb-function@4.0.12(postcss@8.5.6)':
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
+ '@esbuild/linux-ia32@0.28.1':
+ optional: true
- '@csstools/postcss-ic-unit@4.0.4(postcss@8.5.6)':
- dependencies:
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
+ '@esbuild/linux-loong64@0.28.1':
+ optional: true
- '@csstools/postcss-initial@2.0.1(postcss@8.5.6)':
- dependencies:
- postcss: 8.5.6
+ '@esbuild/linux-mips64el@0.28.1':
+ optional: true
- '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.6)':
- dependencies:
- '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1)
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
+ '@esbuild/linux-ppc64@0.28.1':
+ optional: true
- '@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.6)':
- dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
+ '@esbuild/linux-riscv64@0.28.1':
+ optional: true
- '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.6)':
- dependencies:
- postcss: 8.5.6
+ '@esbuild/linux-s390x@0.28.1':
+ optional: true
- '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.6)':
- dependencies:
- postcss: 8.5.6
+ '@esbuild/linux-x64@0.28.1':
+ optional: true
- '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.6)':
- dependencies:
- postcss: 8.5.6
+ '@esbuild/netbsd-arm64@0.28.1':
+ optional: true
- '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.6)':
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
+ '@esbuild/netbsd-x64@0.28.1':
+ optional: true
- '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.6)':
- dependencies:
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
+ '@esbuild/openbsd-arm64@0.28.1':
+ optional: true
- '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.6)':
- dependencies:
- '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- postcss: 8.5.6
-
- '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.6)':
- dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- postcss: 8.5.6
-
- '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.6)':
- dependencies:
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- '@csstools/postcss-normalize-display-values@4.0.1(postcss@8.5.6)':
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- '@csstools/postcss-oklab-function@4.0.12(postcss@8.5.6)':
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
-
- '@csstools/postcss-position-area-property@1.0.0(postcss@8.5.6)':
- dependencies:
- postcss: 8.5.6
-
- '@csstools/postcss-progressive-custom-properties@4.2.1(postcss@8.5.6)':
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- '@csstools/postcss-property-rule-prelude-list@1.0.0(postcss@8.5.6)':
- dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- postcss: 8.5.6
-
- '@csstools/postcss-random-function@2.0.1(postcss@8.5.6)':
- dependencies:
- '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- postcss: 8.5.6
-
- '@csstools/postcss-relative-color-syntax@3.0.12(postcss@8.5.6)':
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
-
- '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.6)':
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
-
- '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.6)':
- dependencies:
- '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- postcss: 8.5.6
-
- '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.6)':
- dependencies:
- '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- postcss: 8.5.6
-
- '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1(postcss@8.5.6)':
- dependencies:
- '@csstools/css-tokenizer': 3.0.4
- postcss: 8.5.6
-
- '@csstools/postcss-system-ui-font-family@1.0.0(postcss@8.5.6)':
- dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- postcss: 8.5.6
-
- '@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.6)':
- dependencies:
- '@csstools/color-helpers': 5.1.0
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.6)':
- dependencies:
- '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- postcss: 8.5.6
-
- '@csstools/postcss-unset-value@4.0.0(postcss@8.5.6)':
- dependencies:
- postcss: 8.5.6
-
- '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.1)':
- dependencies:
- postcss-selector-parser: 7.1.1
-
- '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.1)':
- dependencies:
- postcss-selector-parser: 7.1.1
-
- '@csstools/utilities@2.0.0(postcss@8.5.6)':
- dependencies:
- postcss: 8.5.6
-
- '@discoveryjs/json-ext@0.5.7': {}
-
- '@docsearch/css@3.9.0': {}
-
- '@docsearch/react@3.9.0(@algolia/client-search@5.49.1)(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)':
- dependencies:
- '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3)
- '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)
- '@docsearch/css': 3.9.0
- algoliasearch: 5.49.1
- optionalDependencies:
- '@types/react': 19.2.14
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- search-insights: 2.17.3
- transitivePeerDependencies:
- - '@algolia/client-search'
-
- '@docusaurus/babel@3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/generator': 7.29.1
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.0)
- '@babel/plugin-transform-runtime': 7.29.0(@babel/core@7.29.0)
- '@babel/preset-env': 7.29.0(@babel/core@7.29.0)
- '@babel/preset-react': 7.28.5(@babel/core@7.29.0)
- '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0)
- '@babel/runtime': 7.28.6
- '@babel/runtime-corejs3': 7.29.0
- '@babel/traverse': 7.29.0
- '@docusaurus/logger': 3.9.2
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- babel-plugin-dynamic-import-node: 2.3.3
- fs-extra: 11.3.3
- tslib: 2.8.1
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - react
- - react-dom
- - supports-color
- - uglify-js
- - webpack-cli
-
- '@docusaurus/bundler@3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@babel/core': 7.29.0
- '@docusaurus/babel': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/cssnano-preset': 3.9.2
- '@docusaurus/logger': 3.9.2
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- babel-loader: 9.2.1(@babel/core@7.29.0)(webpack@5.105.3)
- clean-css: 5.3.3
- copy-webpack-plugin: 11.0.0(webpack@5.105.3)
- css-loader: 6.11.0(webpack@5.105.3)
- css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.105.3)
- cssnano: 6.1.2(postcss@8.5.6)
- file-loader: 6.2.0(webpack@5.105.3)
- html-minifier-terser: 7.2.0
- mini-css-extract-plugin: 2.10.0(webpack@5.105.3)
- null-loader: 4.0.1(webpack@5.105.3)
- postcss: 8.5.6
- postcss-loader: 7.3.4(postcss@8.5.6)(typescript@5.9.3)(webpack@5.105.3)
- postcss-preset-env: 10.6.1(postcss@8.5.6)
- terser-webpack-plugin: 5.3.16(webpack@5.105.3)
- tslib: 2.8.1
- url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.3))(webpack@5.105.3)
- webpack: 5.105.3
- webpackbar: 6.0.1(webpack@5.105.3)
- transitivePeerDependencies:
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - csso
- - esbuild
- - lightningcss
- - react
- - react-dom
- - supports-color
- - typescript
- - uglify-js
- - webpack-cli
-
- '@docusaurus/core@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/babel': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/bundler': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/logger': 3.9.2
- '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-common': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.2.0)
- boxen: 6.2.1
- chalk: 4.1.2
- chokidar: 3.6.0
- cli-table3: 0.6.5
- combine-promises: 1.2.0
- commander: 5.1.0
- core-js: 3.48.0
- detect-port: 1.6.1
- escape-html: 1.0.3
- eta: 2.2.0
- eval: 0.1.8
- execa: 5.1.1
- fs-extra: 11.3.3
- html-tags: 3.3.1
- html-webpack-plugin: 5.6.6(webpack@5.105.3)
- leven: 3.1.0
- lodash: 4.17.23
- open: 8.4.2
- p-map: 4.0.0
- prompts: 2.4.2
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)'
- react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.0)'
- react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@19.2.0))(webpack@5.105.3)
- react-router: 5.3.4(react@19.2.0)
- react-router-config: 5.1.1(react-router@5.3.4(react@19.2.0))(react@19.2.0)
- react-router-dom: 5.3.4(react@19.2.0)
- semver: 7.7.4
- serve-handler: 6.1.6
- tinypool: 1.1.1
- tslib: 2.8.1
- update-notifier: 6.0.2
- webpack: 5.105.3
- webpack-bundle-analyzer: 4.10.2
- webpack-dev-server: 5.2.3(tslib@2.8.1)(webpack@5.105.3)
- webpack-merge: 6.0.1
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/cssnano-preset@3.9.2':
- dependencies:
- cssnano-preset-advanced: 6.1.2(postcss@8.5.6)
- postcss: 8.5.6
- postcss-sort-media-queries: 5.2.0(postcss@8.5.6)
- tslib: 2.8.1
-
- '@docusaurus/logger@3.9.2':
- dependencies:
- chalk: 4.1.2
- tslib: 2.8.1
-
- '@docusaurus/mdx-loader@3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
- dependencies:
- '@docusaurus/logger': 3.9.2
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@mdx-js/mdx': 3.1.1
- '@slorber/remark-comment': 1.0.0
- escape-html: 1.0.3
- estree-util-value-to-estree: 3.5.0
- file-loader: 6.2.0(webpack@5.105.3)
- fs-extra: 11.3.3
- image-size: 2.0.2
- mdast-util-mdx: 3.0.0
- mdast-util-to-string: 4.0.0
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- rehype-raw: 7.0.0
- remark-directive: 3.0.1
- remark-emoji: 4.0.1
- remark-frontmatter: 5.0.0
- remark-gfm: 4.0.1
- stringify-object: 3.3.0
- tslib: 2.8.1
- unified: 11.0.5
- unist-util-visit: 5.1.0
- url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.3))(webpack@5.105.3)
- vfile: 6.0.3
- webpack: 5.105.3
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - supports-color
- - uglify-js
- - webpack-cli
-
- '@docusaurus/module-type-aliases@3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
- dependencies:
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@types/history': 4.7.11
- '@types/react': 19.2.14
- '@types/react-router-config': 5.0.11
- '@types/react-router-dom': 5.3.3
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)'
- react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.0)'
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - supports-color
- - uglify-js
- - webpack-cli
-
- '@docusaurus/plugin-content-blog@3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/logger': 3.9.2
- '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-common': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- cheerio: 1.0.0-rc.12
- feed: 4.2.2
- fs-extra: 11.3.3
- lodash: 4.17.23
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- schema-dts: 1.1.5
- srcset: 4.0.0
- tslib: 2.8.1
- unist-util-visit: 5.1.0
- utility-types: 3.11.0
- webpack: 5.105.3
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/logger': 3.9.2
- '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/module-type-aliases': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-common': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@types/react-router-config': 5.0.11
- combine-promises: 1.2.0
- fs-extra: 11.3.3
- js-yaml: 4.1.1
- lodash: 4.17.23
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- schema-dts: 1.1.5
- tslib: 2.8.1
- utility-types: 3.11.0
- webpack: 5.105.3
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/plugin-content-pages@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- fs-extra: 11.3.3
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- tslib: 2.8.1
- webpack: 5.105.3
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/plugin-css-cascade-layers@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- tslib: 2.8.1
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - react
- - react-dom
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/plugin-debug@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- fs-extra: 11.3.3
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- react-json-view-lite: 2.5.0(react@19.2.0)
- tslib: 2.8.1
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/plugin-google-analytics@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- tslib: 2.8.1
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/plugin-google-gtag@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@types/gtag.js': 0.0.12
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- tslib: 2.8.1
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/plugin-google-tag-manager@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- tslib: 2.8.1
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/plugin-sitemap@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/logger': 3.9.2
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-common': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- fs-extra: 11.3.3
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- sitemap: 7.1.2
- tslib: 2.8.1
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/plugin-svgr@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@svgr/core': 8.1.0(typescript@5.9.3)
- '@svgr/webpack': 8.1.0(typescript@5.9.3)
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- tslib: 2.8.1
- webpack: 5.105.3
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/preset-classic@3.9.2(@algolia/client-search@5.49.1)(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-content-blog': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-content-pages': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-css-cascade-layers': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-debug': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-google-analytics': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-google-gtag': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-google-tag-manager': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-sitemap': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-svgr': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/theme-classic': 3.9.2(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/theme-search-algolia': 3.9.2(@algolia/client-search@5.49.1)(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@5.9.3)
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- transitivePeerDependencies:
- - '@algolia/client-search'
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - '@types/react'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - search-insights
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/react-loadable@6.0.0(react@19.2.0)':
- dependencies:
- '@types/react': 19.2.14
- react: 19.2.0
-
- '@docusaurus/theme-classic@3.9.2(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)':
- dependencies:
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/logger': 3.9.2
- '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/module-type-aliases': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/plugin-content-blog': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/plugin-content-pages': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/theme-translations': 3.9.2
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-common': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.2.0)
- clsx: 2.1.1
- infima: 0.2.0-alpha.45
- lodash: 4.17.23
- nprogress: 0.2.0
- postcss: 8.5.6
- prism-react-renderer: 2.4.1(react@19.2.0)
- prismjs: 1.30.0
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- react-router-dom: 5.3.4(react@19.2.0)
- rtlcss: 4.3.0
- tslib: 2.8.1
- utility-types: 3.11.0
- transitivePeerDependencies:
- - '@docusaurus/faster'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - '@types/react'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/theme-common@3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
- dependencies:
- '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/module-type-aliases': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-common': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@types/history': 4.7.11
- '@types/react': 19.2.14
- '@types/react-router-config': 5.0.11
- clsx: 2.1.1
- parse-numeric-range: 1.3.0
- prism-react-renderer: 2.4.1(react@19.2.0)
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- tslib: 2.8.1
- utility-types: 3.11.0
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - supports-color
- - uglify-js
- - webpack-cli
-
- '@docusaurus/theme-search-algolia@3.9.2(@algolia/client-search@5.49.1)(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@5.9.3)':
- dependencies:
- '@docsearch/react': 3.9.0(@algolia/client-search@5.49.1)(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)
- '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/logger': 3.9.2
- '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
- '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/theme-translations': 3.9.2
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- algoliasearch: 5.49.1
- algoliasearch-helper: 3.28.0(algoliasearch@5.49.1)
- clsx: 2.1.1
- eta: 2.2.0
- fs-extra: 11.3.3
- lodash: 4.17.23
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- tslib: 2.8.1
- utility-types: 3.11.0
- transitivePeerDependencies:
- - '@algolia/client-search'
- - '@docusaurus/faster'
- - '@mdx-js/react'
- - '@parcel/css'
- - '@rspack/core'
- - '@swc/core'
- - '@swc/css'
- - '@types/react'
- - bufferutil
- - csso
- - debug
- - esbuild
- - lightningcss
- - search-insights
- - supports-color
- - typescript
- - uglify-js
- - utf-8-validate
- - webpack-cli
-
- '@docusaurus/theme-translations@3.9.2':
- dependencies:
- fs-extra: 11.3.3
- tslib: 2.8.1
-
- '@docusaurus/tsconfig@3.9.2': {}
-
- '@docusaurus/types@3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
- dependencies:
- '@mdx-js/mdx': 3.1.1
- '@types/history': 4.7.11
- '@types/mdast': 4.0.4
- '@types/react': 19.2.14
- commander: 5.1.0
- joi: 17.13.3
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)'
- utility-types: 3.11.0
- webpack: 5.105.3
- webpack-merge: 5.10.0
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - supports-color
- - uglify-js
- - webpack-cli
-
- '@docusaurus/utils-common@3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
- dependencies:
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- tslib: 2.8.1
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - react
- - react-dom
- - supports-color
- - uglify-js
- - webpack-cli
+ '@esbuild/openbsd-x64@0.28.1':
+ optional: true
- '@docusaurus/utils-validation@3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
- dependencies:
- '@docusaurus/logger': 3.9.2
- '@docusaurus/utils': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-common': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- fs-extra: 11.3.3
- joi: 17.13.3
- js-yaml: 4.1.1
- lodash: 4.17.23
- tslib: 2.8.1
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - react
- - react-dom
- - supports-color
- - uglify-js
- - webpack-cli
+ '@esbuild/openharmony-arm64@0.28.1':
+ optional: true
- '@docusaurus/utils@3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
- dependencies:
- '@docusaurus/logger': 3.9.2
- '@docusaurus/types': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@docusaurus/utils-common': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- escape-string-regexp: 4.0.0
- execa: 5.1.1
- file-loader: 6.2.0(webpack@5.105.3)
- fs-extra: 11.3.3
- github-slugger: 1.5.0
- globby: 11.1.0
- gray-matter: 4.0.3
- jiti: 1.21.7
- js-yaml: 4.1.1
- lodash: 4.17.23
- micromatch: 4.0.8
- p-queue: 6.6.2
- prompts: 2.4.2
- resolve-pathname: 3.0.0
- tslib: 2.8.1
- url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.3))(webpack@5.105.3)
- utility-types: 3.11.0
- webpack: 5.105.3
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - react
- - react-dom
- - supports-color
- - uglify-js
- - webpack-cli
+ '@esbuild/sunos-x64@0.28.1':
+ optional: true
+
+ '@esbuild/win32-arm64@0.28.1':
+ optional: true
+
+ '@esbuild/win32-ia32@0.28.1':
+ optional: true
+
+ '@esbuild/win32-x64@0.28.1':
+ optional: true
'@expo/cli@0.24.24':
dependencies:
@@ -11624,16 +9436,137 @@ snapshots:
chalk: 4.1.2
js-yaml: 4.1.1
- '@hapi/hoek@9.3.0': {}
+ '@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.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@floating-ui/dom': 1.7.6
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+
+ '@floating-ui/utils@0.2.11': {}
+
+ '@fumadocs/tailwind@0.0.5(@tailwindcss/oxide@4.3.0)(tailwindcss@4.3.0)':
+ optionalDependencies:
+ '@tailwindcss/oxide': 4.3.0
+ tailwindcss: 4.3.0
- '@hapi/topo@5.1.0':
+ '@gerrit0/mini-shiki@3.23.0':
dependencies:
- '@hapi/hoek': 9.3.0
+ '@shikijs/engine-oniguruma': 3.23.0
+ '@shikijs/langs': 3.23.0
+ '@shikijs/themes': 3.23.0
+ '@shikijs/types': 3.23.0
+ '@shikijs/vscode-textmate': 10.0.2
'@hutson/parse-repository-url@3.0.2': {}
'@iarna/toml@2.2.5': {}
+ '@img/colour@1.1.0':
+ optional: true
+
+ '@img/sharp-darwin-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.2.4
+ optional: true
+
+ '@img/sharp-darwin-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.2.4
+ optional: true
+
+ '@img/sharp-libvips-darwin-arm64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-darwin-x64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-ppc64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-riscv64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-s390x@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-x64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-x64@1.2.4':
+ optional: true
+
+ '@img/sharp-linux-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-arm@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-ppc64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-ppc64': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-riscv64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-riscv64': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-s390x@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.2.4
+ optional: true
+
+ '@img/sharp-linuxmusl-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
+ optional: true
+
+ '@img/sharp-linuxmusl-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.2.4
+ optional: true
+
+ '@img/sharp-wasm32@0.34.5':
+ dependencies:
+ '@emnapi/runtime': 1.11.1
+ optional: true
+
+ '@img/sharp-win32-arm64@0.34.5':
+ optional: true
+
+ '@img/sharp-win32-ia32@0.34.5':
+ optional: true
+
+ '@img/sharp-win32-x64@0.34.5':
+ optional: true
+
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@@ -11736,135 +9669,6 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
- '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)':
- dependencies:
- tslib: 2.8.1
-
- '@jsonjoy.com/base64@17.67.0(tslib@2.8.1)':
- dependencies:
- tslib: 2.8.1
-
- '@jsonjoy.com/buffers@1.2.1(tslib@2.8.1)':
- dependencies:
- tslib: 2.8.1
-
- '@jsonjoy.com/buffers@17.67.0(tslib@2.8.1)':
- dependencies:
- tslib: 2.8.1
-
- '@jsonjoy.com/codegen@1.0.0(tslib@2.8.1)':
- dependencies:
- tslib: 2.8.1
-
- '@jsonjoy.com/codegen@17.67.0(tslib@2.8.1)':
- dependencies:
- tslib: 2.8.1
-
- '@jsonjoy.com/fs-core@4.56.10(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/fs-node-builtins': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-node-utils': 4.56.10(tslib@2.8.1)
- thingies: 2.5.0(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/fs-fsa@4.56.10(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/fs-core': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-node-builtins': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-node-utils': 4.56.10(tslib@2.8.1)
- thingies: 2.5.0(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/fs-node-builtins@4.56.10(tslib@2.8.1)':
- dependencies:
- tslib: 2.8.1
-
- '@jsonjoy.com/fs-node-to-fsa@4.56.10(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/fs-fsa': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-node-builtins': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-node-utils': 4.56.10(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/fs-node-utils@4.56.10(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/fs-node-builtins': 4.56.10(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/fs-node@4.56.10(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/fs-core': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-node-builtins': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-node-utils': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-print': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-snapshot': 4.56.10(tslib@2.8.1)
- glob-to-regex.js: 1.2.0(tslib@2.8.1)
- thingies: 2.5.0(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/fs-print@4.56.10(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/fs-node-utils': 4.56.10(tslib@2.8.1)
- tree-dump: 1.1.0(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/fs-snapshot@4.56.10(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1)
- '@jsonjoy.com/fs-node-utils': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/json-pack': 17.67.0(tslib@2.8.1)
- '@jsonjoy.com/util': 17.67.0(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/json-pack@1.21.0(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1)
- '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1)
- '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1)
- '@jsonjoy.com/json-pointer': 1.0.2(tslib@2.8.1)
- '@jsonjoy.com/util': 1.9.0(tslib@2.8.1)
- hyperdyperid: 1.2.0
- thingies: 2.5.0(tslib@2.8.1)
- tree-dump: 1.1.0(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/json-pack@17.67.0(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/base64': 17.67.0(tslib@2.8.1)
- '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1)
- '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1)
- '@jsonjoy.com/json-pointer': 17.67.0(tslib@2.8.1)
- '@jsonjoy.com/util': 17.67.0(tslib@2.8.1)
- hyperdyperid: 1.2.0
- thingies: 2.5.0(tslib@2.8.1)
- tree-dump: 1.1.0(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/json-pointer@1.0.2(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1)
- '@jsonjoy.com/util': 1.9.0(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/json-pointer@17.67.0(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/util': 17.67.0(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/util@1.9.0(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1)
- '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1)
- tslib: 2.8.1
-
- '@jsonjoy.com/util@17.67.0(tslib@2.8.1)':
- dependencies:
- '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1)
- '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1)
- tslib: 2.8.1
-
- '@leichtgewicht/ip-codec@2.0.5': {}
-
'@mdx-js/mdx@3.1.1':
dependencies:
'@types/estree': 1.0.8
@@ -11895,13 +9699,31 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.0)':
- dependencies:
- '@types/mdx': 2.0.13
- '@types/react': 19.2.14
- react: 19.2.0
+ '@next/env@16.2.6': {}
+
+ '@next/swc-darwin-arm64@16.2.6':
+ optional: true
+
+ '@next/swc-darwin-x64@16.2.6':
+ optional: true
+
+ '@next/swc-linux-arm64-gnu@16.2.6':
+ optional: true
+
+ '@next/swc-linux-arm64-musl@16.2.6':
+ optional: true
+
+ '@next/swc-linux-x64-gnu@16.2.6':
+ optional: true
+
+ '@next/swc-linux-x64-musl@16.2.6':
+ optional: true
+
+ '@next/swc-win32-arm64-msvc@16.2.6':
+ optional: true
- '@noble/hashes@1.4.0': {}
+ '@next/swc-win32-x64-msvc@16.2.6':
+ optional: true
'@nodelib/fs.scandir@2.1.5':
dependencies:
@@ -11996,6 +9818,8 @@ snapshots:
dependencies:
'@octokit/openapi-types': 18.1.1
+ '@orama/orama@3.1.18': {}
+
'@oxfmt/binding-android-arm-eabi@0.35.0':
optional: true
@@ -12110,112 +9934,368 @@ snapshots:
'@oxlint/binding-win32-x64-msvc@1.50.0':
optional: true
- '@peculiar/asn1-cms@2.6.1':
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
+ '@pnpm/config.env-replace@1.1.0': {}
+
+ '@pnpm/network.ca-file@1.0.2':
+ dependencies:
+ graceful-fs: 4.2.10
+
+ '@pnpm/npm-conf@3.0.2':
+ dependencies:
+ '@pnpm/config.env-replace': 1.1.0
+ '@pnpm/network.ca-file': 1.0.2
+ config-chain: 1.1.13
+
+ '@radix-ui/number@1.1.2': {}
+
+ '@radix-ui/primitive@1.1.4': {}
+
+ '@radix-ui/react-accordion@1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collapsible': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-arrow@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-collapsible@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-collection@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-compose-refs@1.1.3(@types/react@19.2.14)(react@19.2.3)':
+ dependencies:
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
+
+ '@radix-ui/react-context@1.1.4(@types/react@19.2.14)(react@19.2.3)':
+ dependencies:
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
+
+ '@radix-ui/react-dialog@1.1.17(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-focus-scope': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-portal': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.3)
+ aria-hidden: 1.2.6
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-direction@1.1.2(@types/react@19.2.14)(react@19.2.3)':
+ dependencies:
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
+
+ '@radix-ui/react-dismissable-layer@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-escape-keydown': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-focus-guards@1.1.4(@types/react@19.2.14)(react@19.2.3)':
+ dependencies:
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
+
+ '@radix-ui/react-focus-scope@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-id@1.1.2(@types/react@19.2.14)(react@19.2.3)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
+
+ '@radix-ui/react-navigation-menu@1.2.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-visually-hidden': 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-popover@1.1.17(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-focus-scope': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-popper': 1.3.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-portal': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.3)
+ aria-hidden: 1.2.6
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-popper@1.3.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.8(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-arrow': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-rect': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-size': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/rect': 1.1.2
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-portal@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-presence@1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-primitive@2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
- '@peculiar/asn1-x509-attr': 2.6.1
- asn1js: 3.0.7
- tslib: 2.8.1
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-roving-focus@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-scroll-area@1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/number': 1.1.2
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@peculiar/asn1-csr@2.6.1':
+ '@radix-ui/react-slot@1.3.0(@types/react@19.2.14)(react@19.2.3)':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
- asn1js: 3.0.7
- tslib: 2.8.1
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
- '@peculiar/asn1-ecc@2.6.1':
- dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
- asn1js: 3.0.7
- tslib: 2.8.1
+ '@radix-ui/react-tabs@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-roving-focus': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@peculiar/asn1-pfx@2.6.1':
+ '@radix-ui/react-use-callback-ref@1.1.2(@types/react@19.2.14)(react@19.2.3)':
dependencies:
- '@peculiar/asn1-cms': 2.6.1
- '@peculiar/asn1-pkcs8': 2.6.1
- '@peculiar/asn1-rsa': 2.6.1
- '@peculiar/asn1-schema': 2.6.0
- asn1js: 3.0.7
- tslib: 2.8.1
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
- '@peculiar/asn1-pkcs8@2.6.1':
+ '@radix-ui/react-use-controllable-state@1.2.3(@types/react@19.2.14)(react@19.2.3)':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
- asn1js: 3.0.7
- tslib: 2.8.1
+ '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
- '@peculiar/asn1-pkcs9@2.6.1':
+ '@radix-ui/react-use-effect-event@0.0.3(@types/react@19.2.14)(react@19.2.3)':
dependencies:
- '@peculiar/asn1-cms': 2.6.1
- '@peculiar/asn1-pfx': 2.6.1
- '@peculiar/asn1-pkcs8': 2.6.1
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
- '@peculiar/asn1-x509-attr': 2.6.1
- asn1js: 3.0.7
- tslib: 2.8.1
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
- '@peculiar/asn1-rsa@2.6.1':
+ '@radix-ui/react-use-escape-keydown@1.1.2(@types/react@19.2.14)(react@19.2.3)':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
- asn1js: 3.0.7
- tslib: 2.8.1
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
- '@peculiar/asn1-schema@2.6.0':
+ '@radix-ui/react-use-layout-effect@1.1.2(@types/react@19.2.14)(react@19.2.3)':
dependencies:
- asn1js: 3.0.7
- pvtsutils: 1.3.6
- tslib: 2.8.1
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
- '@peculiar/asn1-x509-attr@2.6.1':
+ '@radix-ui/react-use-previous@1.1.2(@types/react@19.2.14)(react@19.2.3)':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
- asn1js: 3.0.7
- tslib: 2.8.1
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
- '@peculiar/asn1-x509@2.6.1':
+ '@radix-ui/react-use-rect@1.1.2(@types/react@19.2.14)(react@19.2.3)':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- asn1js: 3.0.7
- pvtsutils: 1.3.6
- tslib: 2.8.1
-
- '@peculiar/x509@1.14.3':
- dependencies:
- '@peculiar/asn1-cms': 2.6.1
- '@peculiar/asn1-csr': 2.6.1
- '@peculiar/asn1-ecc': 2.6.1
- '@peculiar/asn1-pkcs9': 2.6.1
- '@peculiar/asn1-rsa': 2.6.1
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
- pvtsutils: 1.3.6
- reflect-metadata: 0.2.2
- tslib: 2.8.1
- tsyringe: 4.10.0
-
- '@pkgjs/parseargs@0.11.0':
- optional: true
-
- '@pnpm/config.env-replace@1.1.0': {}
+ '@radix-ui/rect': 1.1.2
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
- '@pnpm/network.ca-file@1.0.2':
+ '@radix-ui/react-use-size@1.1.2(@types/react@19.2.14)(react@19.2.3)':
dependencies:
- graceful-fs: 4.2.10
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+ optionalDependencies:
+ '@types/react': 19.2.14
- '@pnpm/npm-conf@3.0.2':
+ '@radix-ui/react-visually-hidden@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
dependencies:
- '@pnpm/config.env-replace': 1.1.0
- '@pnpm/network.ca-file': 1.0.2
- config-chain: 1.1.13
+ '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@polka/url@1.0.0-next.29': {}
+ '@radix-ui/rect@1.1.2': {}
'@react-native/assets-registry@0.83.2': {}
@@ -12440,142 +10520,154 @@ snapshots:
release-it: 15.11.0
semver: 7.3.8
- '@sideway/address@4.1.5':
- dependencies:
- '@hapi/hoek': 9.3.0
-
- '@sideway/formula@3.0.1': {}
-
- '@sideway/pinpoint@2.0.0': {}
-
- '@sinclair/typebox@0.27.10': {}
-
- '@sindresorhus/is@4.6.0': {}
-
- '@sindresorhus/is@5.6.0': {}
-
- '@sinonjs/commons@3.0.1':
+ '@shikijs/core@4.2.0':
dependencies:
- type-detect: 4.0.8
+ '@shikijs/primitive': 4.2.0
+ '@shikijs/types': 4.2.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
- '@sinonjs/fake-timers@10.3.0':
+ '@shikijs/engine-javascript@4.2.0':
dependencies:
- '@sinonjs/commons': 3.0.1
+ '@shikijs/types': 4.2.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.3.6
- '@slorber/react-helmet-async@1.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@shikijs/engine-oniguruma@3.23.0':
dependencies:
- '@babel/runtime': 7.28.6
- invariant: 2.2.4
- prop-types: 15.8.1
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- react-fast-compare: 3.2.2
- shallowequal: 1.1.0
+ '@shikijs/types': 3.23.0
+ '@shikijs/vscode-textmate': 10.0.2
- '@slorber/remark-comment@1.0.0':
+ '@shikijs/engine-oniguruma@4.2.0':
dependencies:
- micromark-factory-space: 1.1.0
- micromark-util-character: 1.2.0
- micromark-util-symbol: 1.1.0
+ '@shikijs/types': 4.2.0
+ '@shikijs/vscode-textmate': 10.0.2
- '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.29.0)':
+ '@shikijs/langs@3.23.0':
dependencies:
- '@babel/core': 7.29.0
+ '@shikijs/types': 3.23.0
- '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.29.0)':
+ '@shikijs/langs@4.2.0':
dependencies:
- '@babel/core': 7.29.0
+ '@shikijs/types': 4.2.0
- '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.29.0)':
+ '@shikijs/primitive@4.2.0':
dependencies:
- '@babel/core': 7.29.0
+ '@shikijs/types': 4.2.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
- '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.29.0)':
+ '@shikijs/themes@3.23.0':
dependencies:
- '@babel/core': 7.29.0
+ '@shikijs/types': 3.23.0
- '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.29.0)':
+ '@shikijs/themes@4.2.0':
dependencies:
- '@babel/core': 7.29.0
+ '@shikijs/types': 4.2.0
- '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.29.0)':
+ '@shikijs/types@3.23.0':
dependencies:
- '@babel/core': 7.29.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
- '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.29.0)':
+ '@shikijs/types@4.2.0':
dependencies:
- '@babel/core': 7.29.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
- '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
+ '@shikijs/vscode-textmate@10.0.2': {}
- '@svgr/babel-preset@8.1.0(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.29.0)
- '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.29.0)
- '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.29.0)
- '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.29.0)
- '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.29.0)
- '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.29.0)
- '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.29.0)
- '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.29.0)
+ '@sinclair/typebox@0.27.10': {}
- '@svgr/core@8.1.0(typescript@5.9.3)':
- dependencies:
- '@babel/core': 7.29.0
- '@svgr/babel-preset': 8.1.0(@babel/core@7.29.0)
- camelcase: 6.3.0
- cosmiconfig: 8.3.6(typescript@5.9.3)
- snake-case: 3.0.4
- transitivePeerDependencies:
- - supports-color
- - typescript
+ '@sindresorhus/is@5.6.0': {}
- '@svgr/hast-util-to-babel-ast@8.0.0':
+ '@sinonjs/commons@3.0.1':
dependencies:
- '@babel/types': 7.29.0
- entities: 4.5.0
+ type-detect: 4.0.8
- '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.9.3))':
+ '@sinonjs/fake-timers@10.3.0':
dependencies:
- '@babel/core': 7.29.0
- '@svgr/babel-preset': 8.1.0(@babel/core@7.29.0)
- '@svgr/core': 8.1.0(typescript@5.9.3)
- '@svgr/hast-util-to-babel-ast': 8.0.0
- svg-parser: 2.0.4
- transitivePeerDependencies:
- - supports-color
+ '@sinonjs/commons': 3.0.1
- '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.9.3))(typescript@5.9.3)':
- dependencies:
- '@svgr/core': 8.1.0(typescript@5.9.3)
- cosmiconfig: 8.3.6(typescript@5.9.3)
- deepmerge: 4.3.1
- svgo: 3.3.2
- transitivePeerDependencies:
- - typescript
+ '@standard-schema/spec@1.1.0': {}
- '@svgr/webpack@8.1.0(typescript@5.9.3)':
+ '@swc/helpers@0.5.15':
dependencies:
- '@babel/core': 7.29.0
- '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.29.0)
- '@babel/preset-env': 7.29.0(@babel/core@7.29.0)
- '@babel/preset-react': 7.28.5(@babel/core@7.29.0)
- '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0)
- '@svgr/core': 8.1.0(typescript@5.9.3)
- '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.9.3))
- '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.9.3))(typescript@5.9.3)
- transitivePeerDependencies:
- - supports-color
- - typescript
+ tslib: 2.8.1
'@szmarczak/http-timer@5.0.1':
dependencies:
defer-to-connect: 2.0.1
- '@trysound/sax@0.2.0': {}
+ '@tailwindcss/node@4.3.0':
+ dependencies:
+ '@jridgewell/remapping': 2.3.5
+ enhanced-resolve: 5.24.0
+ jiti: 2.6.1
+ lightningcss: 1.32.0
+ magic-string: 0.30.21
+ source-map-js: 1.2.1
+ tailwindcss: 4.3.0
+
+ '@tailwindcss/oxide-android-arm64@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-arm64@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-x64@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide-freebsd-x64@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-musl@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide-wasm32-wasi@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.3.0':
+ optional: true
+
+ '@tailwindcss/oxide@4.3.0':
+ optionalDependencies:
+ '@tailwindcss/oxide-android-arm64': 4.3.0
+ '@tailwindcss/oxide-darwin-arm64': 4.3.0
+ '@tailwindcss/oxide-darwin-x64': 4.3.0
+ '@tailwindcss/oxide-freebsd-x64': 4.3.0
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.0
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.3.0
+ '@tailwindcss/oxide-linux-arm64-musl': 4.3.0
+ '@tailwindcss/oxide-linux-x64-gnu': 4.3.0
+ '@tailwindcss/oxide-linux-x64-musl': 4.3.0
+ '@tailwindcss/oxide-wasm32-wasi': 4.3.0
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0
+ '@tailwindcss/oxide-win32-x64-msvc': 4.3.0
+
+ '@tailwindcss/postcss@4.3.0':
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ '@tailwindcss/node': 4.3.0
+ '@tailwindcss/oxide': 4.3.0
+ postcss: 8.5.15
+ tailwindcss: 4.3.0
'@types/babel__core@7.20.5':
dependencies:
@@ -12598,24 +10690,6 @@ snapshots:
dependencies:
'@babel/types': 7.29.0
- '@types/body-parser@1.19.6':
- dependencies:
- '@types/connect': 3.4.38
- '@types/node': 25.3.1
-
- '@types/bonjour@3.5.13':
- dependencies:
- '@types/node': 25.3.1
-
- '@types/connect-history-api-fallback@1.5.4':
- dependencies:
- '@types/express-serve-static-core': 5.1.1
- '@types/node': 25.3.1
-
- '@types/connect@3.4.38':
- dependencies:
- '@types/node': 25.3.1
-
'@types/conventional-commits-parser@5.0.2':
dependencies:
'@types/node': 25.3.1
@@ -12624,65 +10698,22 @@ snapshots:
dependencies:
'@types/ms': 2.1.0
- '@types/eslint-scope@3.7.7':
- dependencies:
- '@types/eslint': 9.6.1
- '@types/estree': 1.0.8
-
- '@types/eslint@9.6.1':
- dependencies:
- '@types/estree': 1.0.8
- '@types/json-schema': 7.0.15
-
'@types/estree-jsx@1.0.5':
dependencies:
'@types/estree': 1.0.8
'@types/estree@1.0.8': {}
- '@types/express-serve-static-core@4.19.8':
- dependencies:
- '@types/node': 25.3.1
- '@types/qs': 6.14.0
- '@types/range-parser': 1.2.7
- '@types/send': 1.2.1
-
- '@types/express-serve-static-core@5.1.1':
- dependencies:
- '@types/node': 25.3.1
- '@types/qs': 6.14.0
- '@types/range-parser': 1.2.7
- '@types/send': 1.2.1
-
- '@types/express@4.17.25':
- dependencies:
- '@types/body-parser': 1.19.6
- '@types/express-serve-static-core': 4.19.8
- '@types/qs': 6.14.0
- '@types/serve-static': 1.15.10
-
'@types/graceful-fs@4.1.9':
dependencies:
'@types/node': 25.3.1
- '@types/gtag.js@0.0.12': {}
-
'@types/hast@3.0.4':
dependencies:
'@types/unist': 3.0.3
- '@types/history@4.7.11': {}
-
- '@types/html-minifier-terser@6.1.0': {}
-
'@types/http-cache-semantics@4.2.0': {}
- '@types/http-errors@2.0.5': {}
-
- '@types/http-proxy@1.17.17':
- dependencies:
- '@types/node': 25.3.1
-
'@types/istanbul-lib-coverage@2.0.6': {}
'@types/istanbul-lib-report@3.0.3':
@@ -12693,94 +10724,36 @@ snapshots:
dependencies:
'@types/istanbul-lib-report': 3.0.3
- '@types/json-schema@7.0.15': {}
-
'@types/mdast@4.0.4':
dependencies:
'@types/unist': 3.0.3
'@types/mdx@2.0.13': {}
- '@types/mime@1.3.5': {}
-
'@types/minimist@1.2.5': {}
'@types/ms@2.1.0': {}
- '@types/node@17.0.45': {}
-
'@types/node@25.3.1':
dependencies:
undici-types: 7.18.2
'@types/normalize-package-data@2.4.4': {}
- '@types/prismjs@1.26.6': {}
-
- '@types/qs@6.14.0': {}
-
- '@types/range-parser@1.2.7': {}
-
- '@types/react-router-config@5.0.11':
- dependencies:
- '@types/history': 4.7.11
- '@types/react': 19.2.14
- '@types/react-router': 5.1.20
-
- '@types/react-router-dom@5.3.3':
- dependencies:
- '@types/history': 4.7.11
- '@types/react': 19.2.14
- '@types/react-router': 5.1.20
-
- '@types/react-router@5.1.20':
+ '@types/react-dom@19.2.3(@types/react@19.2.14)':
dependencies:
- '@types/history': 4.7.11
'@types/react': 19.2.14
'@types/react@19.2.14':
dependencies:
csstype: 3.2.3
- '@types/retry@0.12.2': {}
-
- '@types/sax@1.2.7':
- dependencies:
- '@types/node': 25.3.1
-
- '@types/send@0.17.6':
- dependencies:
- '@types/mime': 1.3.5
- '@types/node': 25.3.1
-
- '@types/send@1.2.1':
- dependencies:
- '@types/node': 25.3.1
-
- '@types/serve-index@1.9.4':
- dependencies:
- '@types/express': 4.17.25
-
- '@types/serve-static@1.15.10':
- dependencies:
- '@types/http-errors': 2.0.5
- '@types/node': 25.3.1
- '@types/send': 0.17.6
-
- '@types/sockjs@0.3.36':
- dependencies:
- '@types/node': 25.3.1
-
'@types/stack-utils@2.0.3': {}
'@types/unist@2.0.11': {}
'@types/unist@3.0.3': {}
- '@types/ws@8.18.1':
- dependencies:
- '@types/node': 25.3.1
-
'@types/yargs-parser@21.0.3': {}
'@types/yargs@17.0.35':
@@ -12801,88 +10774,8 @@ snapshots:
'@urql/core': 5.2.0
wonka: 6.3.5
- '@webassemblyjs/ast@1.14.1':
- dependencies:
- '@webassemblyjs/helper-numbers': 1.13.2
- '@webassemblyjs/helper-wasm-bytecode': 1.13.2
-
- '@webassemblyjs/floating-point-hex-parser@1.13.2': {}
-
- '@webassemblyjs/helper-api-error@1.13.2': {}
-
- '@webassemblyjs/helper-buffer@1.14.1': {}
-
- '@webassemblyjs/helper-numbers@1.13.2':
- dependencies:
- '@webassemblyjs/floating-point-hex-parser': 1.13.2
- '@webassemblyjs/helper-api-error': 1.13.2
- '@xtuc/long': 4.2.2
-
- '@webassemblyjs/helper-wasm-bytecode@1.13.2': {}
-
- '@webassemblyjs/helper-wasm-section@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/helper-buffer': 1.14.1
- '@webassemblyjs/helper-wasm-bytecode': 1.13.2
- '@webassemblyjs/wasm-gen': 1.14.1
-
- '@webassemblyjs/ieee754@1.13.2':
- dependencies:
- '@xtuc/ieee754': 1.2.0
-
- '@webassemblyjs/leb128@1.13.2':
- dependencies:
- '@xtuc/long': 4.2.2
-
- '@webassemblyjs/utf8@1.13.2': {}
-
- '@webassemblyjs/wasm-edit@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/helper-buffer': 1.14.1
- '@webassemblyjs/helper-wasm-bytecode': 1.13.2
- '@webassemblyjs/helper-wasm-section': 1.14.1
- '@webassemblyjs/wasm-gen': 1.14.1
- '@webassemblyjs/wasm-opt': 1.14.1
- '@webassemblyjs/wasm-parser': 1.14.1
- '@webassemblyjs/wast-printer': 1.14.1
-
- '@webassemblyjs/wasm-gen@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/helper-wasm-bytecode': 1.13.2
- '@webassemblyjs/ieee754': 1.13.2
- '@webassemblyjs/leb128': 1.13.2
- '@webassemblyjs/utf8': 1.13.2
-
- '@webassemblyjs/wasm-opt@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/helper-buffer': 1.14.1
- '@webassemblyjs/wasm-gen': 1.14.1
- '@webassemblyjs/wasm-parser': 1.14.1
-
- '@webassemblyjs/wasm-parser@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/helper-api-error': 1.13.2
- '@webassemblyjs/helper-wasm-bytecode': 1.13.2
- '@webassemblyjs/ieee754': 1.13.2
- '@webassemblyjs/leb128': 1.13.2
- '@webassemblyjs/utf8': 1.13.2
-
- '@webassemblyjs/wast-printer@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@xtuc/long': 4.2.2
-
'@xmldom/xmldom@0.8.11': {}
- '@xtuc/ieee754@1.2.0': {}
-
- '@xtuc/long@4.2.2': {}
-
JSONStream@1.3.5:
dependencies:
jsonparse: 1.3.1
@@ -12897,10 +10790,6 @@ snapshots:
mime-types: 2.1.35
negotiator: 0.6.3
- acorn-import-phases@1.0.4(acorn@8.16.0):
- dependencies:
- acorn: 8.16.0
-
acorn-jsx@5.3.2(acorn@8.16.0):
dependencies:
acorn: 8.16.0
@@ -12913,8 +10802,6 @@ snapshots:
add-stream@1.0.0: {}
- address@1.2.2: {}
-
agent-base@7.1.4: {}
aggregate-error@3.1.0:
@@ -12927,26 +10814,6 @@ snapshots:
clean-stack: 4.2.0
indent-string: 5.0.0
- ajv-formats@2.1.1(ajv@8.18.0):
- optionalDependencies:
- ajv: 8.18.0
-
- ajv-keywords@3.5.2(ajv@6.14.0):
- dependencies:
- ajv: 6.14.0
-
- ajv-keywords@5.1.0(ajv@8.18.0):
- dependencies:
- ajv: 8.18.0
- fast-deep-equal: 3.1.3
-
- ajv@6.14.0:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
-
ajv@8.18.0:
dependencies:
fast-deep-equal: 3.1.3
@@ -12954,11 +10821,6 @@ snapshots:
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- algoliasearch-helper@3.28.0(algoliasearch@5.49.1):
- dependencies:
- '@algolia/events': 4.0.1
- algoliasearch: 5.49.1
-
algoliasearch@5.49.1:
dependencies:
'@algolia/abtesting': 1.15.1
@@ -12975,6 +10837,7 @@ snapshots:
'@algolia/requester-browser-xhr': 5.49.1
'@algolia/requester-fetch': 5.49.1
'@algolia/requester-node-http': 5.49.1
+ optional: true
anser@1.4.10: {}
@@ -12990,8 +10853,6 @@ snapshots:
dependencies:
environment: 1.1.0
- ansi-html-community@0.0.8: {}
-
ansi-regex@4.1.1: {}
ansi-regex@5.0.1: {}
@@ -13025,13 +10886,15 @@ snapshots:
argparse@2.0.1: {}
+ aria-hidden@1.2.6:
+ dependencies:
+ tslib: 2.8.1
+
array-buffer-byte-length@1.0.2:
dependencies:
call-bound: 1.0.4
is-array-buffer: 3.0.5
- array-flatten@1.1.1: {}
-
array-ify@1.0.0: {}
array-union@2.1.0: {}
@@ -13060,12 +10923,6 @@ snapshots:
asap@2.0.6: {}
- asn1js@3.0.7:
- dependencies:
- pvtsutils: 1.3.6
- pvutils: 1.1.5
- tslib: 2.8.1
-
ast-types@0.13.4:
dependencies:
tslib: 2.8.1
@@ -13080,15 +10937,6 @@ snapshots:
dependencies:
retry: 0.13.1
- autoprefixer@10.4.27(postcss@8.5.6):
- dependencies:
- browserslist: 4.28.1
- caniuse-lite: 1.0.30001774
- fraction.js: 5.3.4
- picocolors: 1.1.1
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.1.0
@@ -13106,17 +10954,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- babel-loader@9.2.1(@babel/core@7.29.0)(webpack@5.105.3):
- dependencies:
- '@babel/core': 7.29.0
- find-cache-dir: 4.0.0
- schema-utils: 4.3.3
- webpack: 5.105.3
-
- babel-plugin-dynamic-import-node@2.3.3:
- dependencies:
- object.assign: 4.1.7
-
babel-plugin-istanbul@6.1.1:
dependencies:
'@babel/helper-plugin-utils': 7.28.6
@@ -13297,8 +11134,6 @@ snapshots:
basic-ftp@5.2.0: {}
- batch@0.6.1: {}
-
before-after-hook@2.2.3: {}
better-opn@3.0.2:
@@ -13307,10 +11142,6 @@ snapshots:
big-integer@1.6.52: {}
- big.js@5.2.2: {}
-
- binary-extensions@2.3.0: {}
-
bl@4.1.0:
dependencies:
buffer: 5.7.1
@@ -13323,41 +11154,6 @@ snapshots:
inherits: 2.0.4
readable-stream: 3.6.2
- body-parser@1.20.4:
- dependencies:
- bytes: 3.1.2
- content-type: 1.0.5
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- http-errors: 2.0.1
- iconv-lite: 0.4.24
- on-finished: 2.4.1
- qs: 6.14.2
- raw-body: 2.5.3
- type-is: 1.6.18
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
-
- bonjour-service@1.3.0:
- dependencies:
- fast-deep-equal: 3.1.3
- multicast-dns: 7.2.5
-
- boolbase@1.0.0: {}
-
- boxen@6.2.1:
- dependencies:
- ansi-align: 3.0.1
- camelcase: 6.3.0
- chalk: 4.1.2
- cli-boxes: 3.0.0
- string-width: 5.1.2
- type-fest: 2.19.0
- widest-line: 4.0.1
- wrap-ansi: 8.1.0
-
boxen@7.1.1:
dependencies:
ansi-align: 3.0.1
@@ -13398,6 +11194,10 @@ snapshots:
dependencies:
balanced-match: 4.0.4
+ brace-expansion@5.0.6:
+ dependencies:
+ balanced-match: 4.0.4
+
braces@3.0.3:
dependencies:
fill-range: 7.1.1
@@ -13430,16 +11230,8 @@ snapshots:
dependencies:
run-applescript: 5.0.0
- bundle-name@4.1.0:
- dependencies:
- run-applescript: 7.1.0
-
- bytes@3.0.0: {}
-
bytes@3.1.2: {}
- bytestreamjs@2.0.1: {}
-
cacheable-lookup@7.0.0: {}
cacheable-request@10.2.14:
@@ -13481,11 +11273,6 @@ snapshots:
callsites@3.1.0: {}
- camel-case@4.1.2:
- dependencies:
- pascal-case: 3.1.2
- tslib: 2.8.1
-
camelcase-keys@6.2.2:
dependencies:
camelcase: 5.3.1
@@ -13505,13 +11292,6 @@ snapshots:
camelcase@7.0.1: {}
- caniuse-api@3.0.0:
- dependencies:
- browserslist: 4.28.1
- caniuse-lite: 1.0.30001774
- lodash.memoize: 4.1.2
- lodash.uniq: 4.5.0
-
caniuse-lite@1.0.30001774: {}
ccount@2.0.1: {}
@@ -13531,8 +11311,6 @@ snapshots:
chalk@5.6.2: {}
- char-regex@1.0.2: {}
-
character-entities-html4@2.1.0: {}
character-entities-legacy@3.0.0: {}
@@ -13543,36 +11321,9 @@ snapshots:
chardet@0.7.0: {}
- cheerio-select@2.1.0:
- dependencies:
- boolbase: 1.0.0
- css-select: 5.2.2
- css-what: 6.2.2
- domelementtype: 2.3.0
- domhandler: 5.0.3
- domutils: 3.2.2
-
- cheerio@1.0.0-rc.12:
- dependencies:
- cheerio-select: 2.1.0
- dom-serializer: 2.0.0
- domhandler: 5.0.3
- domutils: 3.2.2
- htmlparser2: 8.0.2
- parse5: 7.3.0
- parse5-htmlparser2-tree-adapter: 7.1.0
-
- chokidar@3.6.0:
+ chokidar@5.0.0:
dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
+ readdirp: 5.0.0
chownr@3.0.0: {}
@@ -13585,8 +11336,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- chrome-trace-event@1.0.4: {}
-
chromium-edge-launcher@0.2.0:
dependencies:
'@types/node': 25.3.1
@@ -13602,9 +11351,9 @@ snapshots:
ci-info@3.9.0: {}
- clean-css@5.3.3:
+ class-variance-authority@0.7.1:
dependencies:
- source-map: 0.6.1
+ clsx: 2.1.1
clean-stack@2.2.0: {}
@@ -13632,12 +11381,6 @@ snapshots:
cli-spinners@2.9.2: {}
- cli-table3@0.6.5:
- dependencies:
- string-width: 4.2.3
- optionalDependencies:
- '@colors/colors': 1.5.0
-
cli-truncate@4.0.0:
dependencies:
slice-ansi: 5.0.0
@@ -13645,6 +11388,8 @@ snapshots:
cli-width@4.1.0: {}
+ client-only@0.0.1: {}
+
cliui@7.0.4:
dependencies:
string-width: 4.2.3
@@ -13657,12 +11402,6 @@ snapshots:
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
- clone-deep@4.0.1:
- dependencies:
- is-plain-object: 2.0.4
- kind-of: 6.0.3
- shallow-clone: 3.0.1
-
clone@1.0.4: {}
clsx@2.1.1: {}
@@ -13681,16 +11420,10 @@ snapshots:
color-name@1.1.4: {}
- colord@2.9.3: {}
-
colorette@2.0.20: {}
- combine-promises@1.2.0: {}
-
comma-separated-tokens@2.0.3: {}
- commander@10.0.1: {}
-
commander@12.1.0: {}
commander@13.1.0: {}
@@ -13699,14 +11432,8 @@ snapshots:
commander@4.1.1: {}
- commander@5.1.0: {}
-
commander@7.2.0: {}
- commander@8.3.0: {}
-
- common-path-prefix@3.0.0: {}
-
compare-func@2.0.0:
dependencies:
array-ify: 1.0.0
@@ -13728,6 +11455,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ compute-scroll-into-view@3.1.1: {}
+
concat-map@0.0.1: {}
concat-stream@2.0.0:
@@ -13750,8 +11479,6 @@ snapshots:
write-file-atomic: 3.0.3
xdg-basedir: 5.1.0
- connect-history-api-fallback@2.0.0: {}
-
connect@3.7.0:
dependencies:
debug: 2.6.9
@@ -13761,16 +11488,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- consola@3.4.2: {}
-
- content-disposition@0.5.2: {}
-
- content-disposition@0.5.4:
- dependencies:
- safe-buffer: 5.2.1
-
- content-type@1.0.5: {}
-
conventional-changelog-angular@5.0.13:
dependencies:
compare-func: 2.0.0
@@ -13898,28 +11615,10 @@ snapshots:
convert-source-map@2.0.0: {}
- cookie-signature@1.0.7: {}
-
- cookie@0.7.2: {}
-
- copy-webpack-plugin@11.0.0(webpack@5.105.3):
- dependencies:
- fast-glob: 3.3.3
- glob-parent: 6.0.2
- globby: 13.2.2
- normalize-path: 3.0.0
- schema-utils: 4.3.3
- serialize-javascript: 6.0.2
- webpack: 5.105.3
-
core-js-compat@3.48.0:
dependencies:
browserslist: 4.28.1
- core-js-pure@3.48.0: {}
-
- core-js@3.48.0: {}
-
core-util-is@1.0.3: {}
cosmiconfig-typescript-loader@6.2.0(@types/node@25.3.1)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3):
@@ -13943,15 +11642,6 @@ snapshots:
parse-json: 5.2.0
path-type: 4.0.0
- cosmiconfig@8.3.6(typescript@5.9.3):
- dependencies:
- import-fresh: 3.3.1
- js-yaml: 4.1.1
- parse-json: 5.2.0
- path-type: 4.0.0
- optionalDependencies:
- typescript: 5.9.3
-
cosmiconfig@9.0.0(typescript@5.9.3):
dependencies:
env-paths: 2.2.1
@@ -13973,142 +11663,6 @@ snapshots:
dependencies:
type-fest: 1.4.0
- css-blank-pseudo@7.0.1(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
-
- css-declaration-sorter@7.3.1(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- css-has-pseudo@7.0.3(postcss@8.5.6):
- dependencies:
- '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1)
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
- postcss-value-parser: 4.2.0
-
- css-loader@6.11.0(webpack@5.105.3):
- dependencies:
- icss-utils: 5.1.0(postcss@8.5.6)
- postcss: 8.5.6
- postcss-modules-extract-imports: 3.1.0(postcss@8.5.6)
- postcss-modules-local-by-default: 4.2.0(postcss@8.5.6)
- postcss-modules-scope: 3.2.1(postcss@8.5.6)
- postcss-modules-values: 4.0.0(postcss@8.5.6)
- postcss-value-parser: 4.2.0
- semver: 7.7.4
- optionalDependencies:
- webpack: 5.105.3
-
- css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.105.3):
- dependencies:
- '@jridgewell/trace-mapping': 0.3.31
- cssnano: 6.1.2(postcss@8.5.6)
- jest-worker: 29.7.0
- postcss: 8.5.6
- schema-utils: 4.3.3
- serialize-javascript: 6.0.2
- webpack: 5.105.3
- optionalDependencies:
- clean-css: 5.3.3
-
- css-prefers-color-scheme@10.0.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- css-select@4.3.0:
- dependencies:
- boolbase: 1.0.0
- css-what: 6.2.2
- domhandler: 4.3.1
- domutils: 2.8.0
- nth-check: 2.1.1
-
- 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-what@6.2.2: {}
-
- cssdb@8.8.0: {}
-
- cssesc@3.0.0: {}
-
- cssnano-preset-advanced@6.1.2(postcss@8.5.6):
- dependencies:
- autoprefixer: 10.4.27(postcss@8.5.6)
- browserslist: 4.28.1
- cssnano-preset-default: 6.1.2(postcss@8.5.6)
- postcss: 8.5.6
- postcss-discard-unused: 6.0.5(postcss@8.5.6)
- postcss-merge-idents: 6.0.3(postcss@8.5.6)
- postcss-reduce-idents: 6.0.3(postcss@8.5.6)
- postcss-zindex: 6.0.2(postcss@8.5.6)
-
- cssnano-preset-default@6.1.2(postcss@8.5.6):
- dependencies:
- browserslist: 4.28.1
- css-declaration-sorter: 7.3.1(postcss@8.5.6)
- cssnano-utils: 4.0.2(postcss@8.5.6)
- postcss: 8.5.6
- postcss-calc: 9.0.1(postcss@8.5.6)
- postcss-colormin: 6.1.0(postcss@8.5.6)
- postcss-convert-values: 6.1.0(postcss@8.5.6)
- postcss-discard-comments: 6.0.2(postcss@8.5.6)
- postcss-discard-duplicates: 6.0.3(postcss@8.5.6)
- postcss-discard-empty: 6.0.3(postcss@8.5.6)
- postcss-discard-overridden: 6.0.2(postcss@8.5.6)
- postcss-merge-longhand: 6.0.5(postcss@8.5.6)
- postcss-merge-rules: 6.1.1(postcss@8.5.6)
- postcss-minify-font-values: 6.1.0(postcss@8.5.6)
- postcss-minify-gradients: 6.0.3(postcss@8.5.6)
- postcss-minify-params: 6.1.0(postcss@8.5.6)
- postcss-minify-selectors: 6.0.4(postcss@8.5.6)
- postcss-normalize-charset: 6.0.2(postcss@8.5.6)
- postcss-normalize-display-values: 6.0.2(postcss@8.5.6)
- postcss-normalize-positions: 6.0.2(postcss@8.5.6)
- postcss-normalize-repeat-style: 6.0.2(postcss@8.5.6)
- postcss-normalize-string: 6.0.2(postcss@8.5.6)
- postcss-normalize-timing-functions: 6.0.2(postcss@8.5.6)
- postcss-normalize-unicode: 6.1.0(postcss@8.5.6)
- postcss-normalize-url: 6.0.2(postcss@8.5.6)
- postcss-normalize-whitespace: 6.0.2(postcss@8.5.6)
- postcss-ordered-values: 6.0.2(postcss@8.5.6)
- postcss-reduce-initial: 6.1.0(postcss@8.5.6)
- postcss-reduce-transforms: 6.0.2(postcss@8.5.6)
- postcss-svgo: 6.0.3(postcss@8.5.6)
- postcss-unique-selectors: 6.0.4(postcss@8.5.6)
-
- cssnano-utils@4.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- cssnano@6.1.2(postcss@8.5.6):
- dependencies:
- cssnano-preset-default: 6.1.2(postcss@8.5.6)
- lilconfig: 3.1.3
- postcss: 8.5.6
-
- csso@5.0.5:
- dependencies:
- css-tree: 2.2.1
-
csstype@3.2.3: {}
dargs@7.0.0: {}
@@ -14139,8 +11693,6 @@ snapshots:
dateformat@3.0.3: {}
- debounce@1.2.1: {}
-
debug@2.6.9:
dependencies:
ms: 2.0.0
@@ -14183,8 +11735,6 @@ snapshots:
bplist-parser: 0.2.0
untildify: 4.0.0
- default-browser-id@5.0.1: {}
-
default-browser@4.0.0:
dependencies:
bundle-name: 3.0.0
@@ -14192,11 +11742,6 @@ snapshots:
execa: 7.1.1
titleize: 3.0.0
- 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
@@ -14255,8 +11800,6 @@ snapshots:
denodeify@1.2.1: {}
- depd@1.1.2: {}
-
depd@2.0.0: {}
deprecation@2.3.1: {}
@@ -14269,14 +11812,7 @@ snapshots:
detect-libc@2.1.2: {}
- detect-node@2.1.0: {}
-
- detect-port@1.6.1:
- dependencies:
- address: 1.2.2
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
+ detect-node-es@1.1.0: {}
devlop@1.1.0:
dependencies:
@@ -14286,55 +11822,8 @@ snapshots:
dependencies:
path-type: 4.0.0
- dns-packet@5.6.1:
- dependencies:
- '@leichtgewicht/ip-codec': 2.0.5
-
dnssd-advertise@1.1.3: {}
- dom-converter@0.2.0:
- dependencies:
- utila: 0.4.0
-
- dom-serializer@1.4.1:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 4.3.1
- entities: 2.2.0
-
- dom-serializer@2.0.0:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- entities: 4.5.0
-
- domelementtype@2.3.0: {}
-
- domhandler@4.3.1:
- dependencies:
- domelementtype: 2.3.0
-
- domhandler@5.0.3:
- dependencies:
- domelementtype: 2.3.0
-
- domutils@2.8.0:
- dependencies:
- dom-serializer: 1.4.1
- domelementtype: 2.3.0
- domhandler: 4.3.1
-
- domutils@3.2.2:
- dependencies:
- dom-serializer: 2.0.0
- domelementtype: 2.3.0
- domhandler: 5.0.3
-
- dot-case@3.0.4:
- dependencies:
- no-case: 3.0.4
- tslib: 2.8.1
-
dot-prop@5.3.0:
dependencies:
is-obj: 2.0.0
@@ -14355,8 +11844,6 @@ snapshots:
es-errors: 1.3.0
gopd: 1.2.0
- duplexer@0.1.2: {}
-
eastasianwidth@0.2.0: {}
ee-first@1.1.1: {}
@@ -14369,12 +11856,6 @@ snapshots:
emoji-regex@9.2.2: {}
- emojilib@2.4.0: {}
-
- emojis-list@3.0.0: {}
-
- emoticon@4.1.0: {}
-
encodeurl@1.0.2: {}
encodeurl@2.0.0: {}
@@ -14383,12 +11864,10 @@ snapshots:
dependencies:
once: 1.4.0
- enhanced-resolve@5.19.0:
+ enhanced-resolve@5.24.0:
dependencies:
graceful-fs: 4.2.11
- tapable: 2.3.0
-
- entities@2.2.0: {}
+ tapable: 2.3.3
entities@4.5.0: {}
@@ -14483,8 +11962,6 @@ snapshots:
isarray: 2.0.5
stop-iteration-iterator: 1.1.0
- es-module-lexer@2.0.0: {}
-
es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
@@ -14516,6 +11993,35 @@ snapshots:
esast-util-from-estree: 2.0.0
vfile-message: 4.0.3
+ esbuild@0.28.1:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.28.1
+ '@esbuild/android-arm': 0.28.1
+ '@esbuild/android-arm64': 0.28.1
+ '@esbuild/android-x64': 0.28.1
+ '@esbuild/darwin-arm64': 0.28.1
+ '@esbuild/darwin-x64': 0.28.1
+ '@esbuild/freebsd-arm64': 0.28.1
+ '@esbuild/freebsd-x64': 0.28.1
+ '@esbuild/linux-arm': 0.28.1
+ '@esbuild/linux-arm64': 0.28.1
+ '@esbuild/linux-ia32': 0.28.1
+ '@esbuild/linux-loong64': 0.28.1
+ '@esbuild/linux-mips64el': 0.28.1
+ '@esbuild/linux-ppc64': 0.28.1
+ '@esbuild/linux-riscv64': 0.28.1
+ '@esbuild/linux-s390x': 0.28.1
+ '@esbuild/linux-x64': 0.28.1
+ '@esbuild/netbsd-arm64': 0.28.1
+ '@esbuild/netbsd-x64': 0.28.1
+ '@esbuild/openbsd-arm64': 0.28.1
+ '@esbuild/openbsd-x64': 0.28.1
+ '@esbuild/openharmony-arm64': 0.28.1
+ '@esbuild/sunos-x64': 0.28.1
+ '@esbuild/win32-arm64': 0.28.1
+ '@esbuild/win32-ia32': 0.28.1
+ '@esbuild/win32-x64': 0.28.1
+
escalade@3.2.0: {}
escape-goat@4.0.0: {}
@@ -14539,21 +12045,10 @@ snapshots:
optionalDependencies:
source-map: 0.6.1
- eslint-scope@5.1.1:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 4.3.0
-
esprima@4.0.1: {}
- esrecurse@4.3.0:
- dependencies:
- estraverse: 5.3.0
-
estraverse@4.3.0: {}
- estraverse@5.3.0: {}
-
estree-util-attach-comments@3.0.0:
dependencies:
'@types/estree': 1.0.8
@@ -14593,23 +12088,12 @@ snapshots:
esutils@2.0.3: {}
- eta@2.2.0: {}
-
etag@1.8.1: {}
- eval@0.1.8:
- dependencies:
- '@types/node': 25.3.1
- require-like: 0.1.2
-
event-target-shim@5.0.1: {}
- eventemitter3@4.0.7: {}
-
eventemitter3@5.0.4: {}
- events@3.3.0: {}
-
execa@4.1.0:
dependencies:
cross-spawn: 7.0.6
@@ -14850,46 +12334,6 @@ snapshots:
exponential-backoff@3.1.3: {}
- express@4.22.1:
- dependencies:
- accepts: 1.3.8
- array-flatten: 1.1.1
- body-parser: 1.20.4
- content-disposition: 0.5.4
- content-type: 1.0.5
- cookie: 0.7.2
- cookie-signature: 1.0.7
- debug: 2.6.9
- depd: 2.0.0
- encodeurl: 2.0.0
- escape-html: 1.0.3
- etag: 1.8.1
- finalhandler: 1.3.2
- fresh: 0.5.2
- http-errors: 2.0.1
- merge-descriptors: 1.0.3
- methods: 1.1.2
- on-finished: 2.4.1
- parseurl: 1.3.3
- path-to-regexp: 0.1.12
- proxy-addr: 2.0.7
- qs: 6.14.2
- range-parser: 1.2.1
- safe-buffer: 5.2.1
- send: 0.19.2
- serve-static: 1.16.3
- setprototypeof: 1.2.0
- statuses: 2.0.2
- type-is: 1.6.18
- utils-merge: 1.0.1
- vary: 1.1.2
- transitivePeerDependencies:
- - supports-color
-
- extend-shallow@2.0.1:
- dependencies:
- is-extendable: 0.1.1
-
extend@3.0.2: {}
external-editor@3.1.0:
@@ -14918,23 +12362,15 @@ snapshots:
dependencies:
reusify: 1.1.0
- fault@2.0.1:
- dependencies:
- format: 0.2.2
-
- faye-websocket@0.11.4:
- dependencies:
- websocket-driver: 0.7.4
-
fb-dotslash@0.5.8: {}
fb-watchman@2.0.2:
dependencies:
bser: 2.1.1
- feed@4.2.2:
- dependencies:
- xml-js: 1.6.11
+ fdir@6.5.0(picomatch@4.0.4):
+ optionalDependencies:
+ picomatch: 4.0.4
fetch-blob@3.2.0:
dependencies:
@@ -14943,45 +12379,23 @@ snapshots:
fetch-nodeshim@0.4.8: {}
- figures@3.2.0:
- dependencies:
- escape-string-regexp: 1.0.5
-
figures@5.0.0:
dependencies:
escape-string-regexp: 5.0.0
is-unicode-supported: 1.3.0
- file-loader@6.2.0(webpack@5.105.3):
- dependencies:
- loader-utils: 2.0.4
- schema-utils: 3.3.0
- webpack: 5.105.3
-
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
- finalhandler@1.1.2:
- dependencies:
- debug: 2.6.9
- encodeurl: 1.0.2
- escape-html: 1.0.3
- on-finished: 2.3.0
- parseurl: 1.3.3
- statuses: 1.5.0
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
-
- finalhandler@1.3.2:
+ finalhandler@1.1.2:
dependencies:
debug: 2.6.9
- encodeurl: 2.0.0
+ encodeurl: 1.0.2
escape-html: 1.0.3
- on-finished: 2.4.1
+ on-finished: 2.3.0
parseurl: 1.3.3
- statuses: 2.0.2
+ statuses: 1.5.0
unpipe: 1.0.0
transitivePeerDependencies:
- supports-color
@@ -14990,11 +12404,6 @@ snapshots:
dependencies:
json5: 2.2.3
- find-cache-dir@4.0.0:
- dependencies:
- common-path-prefix: 3.0.0
- pkg-dir: 7.0.0
-
find-up@2.1.0:
dependencies:
locate-path: 2.0.0
@@ -15013,23 +12422,14 @@ snapshots:
locate-path: 6.0.0
path-exists: 4.0.0
- find-up@6.3.0:
- dependencies:
- locate-path: 7.2.0
- path-exists: 5.0.0
-
find-up@7.0.0:
dependencies:
locate-path: 7.2.0
path-exists: 5.0.0
unicorn-magic: 0.1.0
- flat@5.0.2: {}
-
flow-enums-runtime@0.0.6: {}
- follow-redirects@1.15.11: {}
-
fontfaceobserver@2.3.0: {}
for-each@0.3.5:
@@ -15043,15 +12443,18 @@ snapshots:
form-data-encoder@2.1.4: {}
- format@0.2.2: {}
-
formdata-polyfill@4.0.10:
dependencies:
fetch-blob: 3.2.0
- forwarded@0.2.0: {}
-
- fraction.js@5.3.4: {}
+ framer-motion@12.40.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
+ dependencies:
+ motion-dom: 12.40.0
+ motion-utils: 12.39.0
+ tslib: 2.8.1
+ optionalDependencies:
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
freeport-async@2.0.0: {}
@@ -15063,17 +12466,110 @@ snapshots:
jsonfile: 6.2.0
universalify: 2.0.1
- fs-extra@11.3.3:
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.2.0
- universalify: 2.0.1
-
fs.realpath@1.0.0: {}
fsevents@2.3.3:
optional: true
+ fumadocs-core@16.9.2(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(algoliasearch@5.49.1)(lucide-react@0.575.0(react@19.2.3))(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.4.3):
+ dependencies:
+ '@orama/orama': 3.1.18
+ estree-util-value-to-estree: 3.5.0
+ github-slugger: 2.0.0
+ hast-util-to-estree: 3.1.3
+ hast-util-to-jsx-runtime: 2.3.6
+ js-yaml: 4.1.1
+ mdast-util-mdx: 3.0.0
+ mdast-util-to-markdown: 2.1.2
+ remark: 15.0.1
+ remark-gfm: 4.0.1
+ remark-rehype: 11.1.2
+ scroll-into-view-if-needed: 3.1.0
+ shiki: 4.2.0
+ tinyglobby: 0.2.17
+ unified: 11.0.5
+ unist-util-visit: 5.1.0
+ vfile: 6.0.3
+ optionalDependencies:
+ '@mdx-js/mdx': 3.1.1
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/react': 19.2.14
+ algoliasearch: 5.49.1
+ lucide-react: 0.575.0(react@19.2.3)
+ next: 16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ zod: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ fumadocs-mdx@15.0.9(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@19.2.14)(fumadocs-core@16.9.2(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(algoliasearch@5.49.1)(lucide-react@0.575.0(react@19.2.3))(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.4.3))(mdast-util-directive@3.1.0)(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3):
+ dependencies:
+ '@mdx-js/mdx': 3.1.1
+ '@standard-schema/spec': 1.1.0
+ chokidar: 5.0.0
+ esbuild: 0.28.1
+ estree-util-value-to-estree: 3.5.0
+ fumadocs-core: 16.9.2(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(algoliasearch@5.49.1)(lucide-react@0.575.0(react@19.2.3))(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.4.3)
+ js-yaml: 4.1.1
+ mdast-util-mdx: 3.0.0
+ picocolors: 1.1.1
+ picomatch: 4.0.4
+ tinyexec: 1.2.4
+ tinyglobby: 0.2.17
+ unified: 11.0.5
+ unist-util-remove-position: 5.0.0
+ unist-util-visit: 5.1.0
+ vfile: 6.0.3
+ zod: 4.4.3
+ optionalDependencies:
+ '@types/mdast': 4.0.4
+ '@types/mdx': 2.0.13
+ '@types/react': 19.2.14
+ mdast-util-directive: 3.1.0
+ next: 16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ react: 19.2.3
+ transitivePeerDependencies:
+ - supports-color
+
+ fumadocs-ui@16.9.2(@tailwindcss/oxide@4.3.0)(@types/mdx@2.0.13)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(fumadocs-core@16.9.2(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(algoliasearch@5.49.1)(lucide-react@0.575.0(react@19.2.3))(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.4.3))(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.3.0):
+ dependencies:
+ '@fumadocs/tailwind': 0.0.5(@tailwindcss/oxide@4.3.0)(tailwindcss@4.3.0)
+ '@radix-ui/react-accordion': 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-collapsible': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-dialog': 1.1.17(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-navigation-menu': 1.2.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-popover': 1.1.17(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-scroll-area': 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.3)
+ '@radix-ui/react-tabs': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ class-variance-authority: 0.7.1
+ fumadocs-core: 16.9.2(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(algoliasearch@5.49.1)(lucide-react@0.575.0(react@19.2.3))(next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.4.3)
+ lucide-react: 1.21.0(react@19.2.3)
+ motion: 12.40.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ next-themes: 0.4.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.3)
+ rehype-raw: 7.0.0
+ scroll-into-view-if-needed: 3.1.0
+ shiki: 4.2.0
+ tailwind-merge: 3.6.0
+ unist-util-visit: 5.1.0
+ optionalDependencies:
+ '@types/mdx': 2.0.13
+ '@types/react': 19.2.14
+ next: 16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ transitivePeerDependencies:
+ - '@emotion/is-prop-valid'
+ - '@tailwindcss/oxide'
+ - '@types/react-dom'
+ - tailwindcss
+
function-bind@1.1.2: {}
function.prototype.name@1.1.8:
@@ -15108,7 +12604,7 @@ snapshots:
hasown: 2.0.2
math-intrinsics: 1.1.0
- get-own-enumerable-property-symbols@3.0.2: {}
+ get-nonce@1.0.1: {}
get-package-type@0.1.0: {}
@@ -15185,22 +12681,12 @@ snapshots:
dependencies:
ini: 1.3.8
- github-slugger@1.5.0: {}
+ github-slugger@2.0.0: {}
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
- glob-parent@6.0.2:
- dependencies:
- is-glob: 4.0.3
-
- glob-to-regex.js@1.2.0(tslib@2.8.1):
- dependencies:
- tslib: 2.8.1
-
- glob-to-regexp@0.4.1: {}
-
glob@10.5.0:
dependencies:
foreground-child: 3.3.1
@@ -15298,19 +12784,6 @@ snapshots:
graceful-fs@4.2.11: {}
- gray-matter@4.0.3:
- dependencies:
- js-yaml: 3.14.2
- kind-of: 6.0.3
- section-matter: 1.0.0
- strip-bom-string: 1.0.0
-
- gzip-size@6.0.0:
- dependencies:
- duplexer: 0.1.2
-
- handle-thing@2.0.1: {}
-
handlebars@4.7.8:
dependencies:
minimist: 1.2.8
@@ -15400,6 +12873,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ hast-util-to-html@9.0.5:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ comma-separated-tokens: 2.0.3
+ hast-util-whitespace: 3.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.4
+ zwitch: 2.0.4
+
hast-util-to-jsx-runtime@2.3.6:
dependencies:
'@types/estree': 1.0.8
@@ -15442,8 +12929,6 @@ snapshots:
property-information: 7.1.0
space-separated-tokens: 2.0.2
- he@1.2.0: {}
-
hermes-compiler@0.14.1: {}
hermes-estree@0.23.1: {}
@@ -15470,19 +12955,6 @@ snapshots:
dependencies:
hermes-estree: 0.32.1
- history@4.10.1:
- dependencies:
- '@babel/runtime': 7.28.6
- loose-envify: 1.4.0
- resolve-pathname: 3.0.0
- tiny-invariant: 1.3.3
- tiny-warning: 1.0.3
- value-equal: 1.0.1
-
- hoist-non-react-statics@3.3.2:
- dependencies:
- react-is: 16.13.1
-
hosted-git-info@2.8.9: {}
hosted-git-info@4.1.0:
@@ -15493,75 +12965,10 @@ snapshots:
dependencies:
lru-cache: 10.4.3
- hpack.js@2.1.6:
- dependencies:
- inherits: 2.0.4
- obuf: 1.1.2
- readable-stream: 2.3.8
- wbuf: 1.7.3
-
- html-escaper@2.0.2: {}
-
- html-minifier-terser@6.1.0:
- dependencies:
- camel-case: 4.1.2
- clean-css: 5.3.3
- commander: 8.3.0
- he: 1.2.0
- param-case: 3.0.4
- relateurl: 0.2.7
- terser: 5.46.0
-
- html-minifier-terser@7.2.0:
- dependencies:
- camel-case: 4.1.2
- clean-css: 5.3.3
- commander: 10.0.1
- entities: 4.5.0
- param-case: 3.0.4
- relateurl: 0.2.7
- terser: 5.46.0
-
- html-tags@3.3.1: {}
-
html-void-elements@3.0.0: {}
- html-webpack-plugin@5.6.6(webpack@5.105.3):
- dependencies:
- '@types/html-minifier-terser': 6.1.0
- html-minifier-terser: 6.1.0
- lodash: 4.17.23
- pretty-error: 4.0.0
- tapable: 2.3.0
- optionalDependencies:
- webpack: 5.105.3
-
- htmlparser2@6.1.0:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 4.3.1
- domutils: 2.8.0
- entities: 2.2.0
-
- htmlparser2@8.0.2:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- domutils: 3.2.2
- entities: 4.5.0
-
http-cache-semantics@4.2.0: {}
- http-deceiver@1.2.7: {}
-
- http-errors@1.8.1:
- dependencies:
- depd: 1.1.2
- inherits: 2.0.4
- setprototypeof: 1.2.0
- statuses: 1.5.0
- toidentifier: 1.0.1
-
http-errors@2.0.1:
dependencies:
depd: 2.0.0
@@ -15570,8 +12977,6 @@ snapshots:
statuses: 2.0.2
toidentifier: 1.0.1
- http-parser-js@0.5.10: {}
-
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.4
@@ -15579,26 +12984,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- http-proxy-middleware@2.0.9(@types/express@4.17.25):
- dependencies:
- '@types/http-proxy': 1.17.17
- http-proxy: 1.18.1
- is-glob: 4.0.3
- is-plain-obj: 3.0.0
- micromatch: 4.0.8
- optionalDependencies:
- '@types/express': 4.17.25
- transitivePeerDependencies:
- - debug
-
- http-proxy@1.18.1:
- dependencies:
- eventemitter3: 4.0.7
- follow-redirects: 1.15.11
- requires-port: 1.0.0
- transitivePeerDependencies:
- - debug
-
http2-wrapper@2.2.1:
dependencies:
quick-lru: 5.1.1
@@ -15621,16 +13006,10 @@ snapshots:
husky@9.1.7: {}
- hyperdyperid@1.2.0: {}
-
iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
- icss-utils@5.1.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
ieee754@1.2.1: {}
ignore@5.3.2: {}
@@ -15639,8 +13018,6 @@ snapshots:
dependencies:
queue: 6.0.2
- image-size@2.0.2: {}
-
import-fresh@2.0.0:
dependencies:
caller-path: 2.0.0
@@ -15661,8 +13038,6 @@ snapshots:
indent-string@5.0.0: {}
- infima@0.2.0-alpha.45: {}
-
inflight@1.0.6:
dependencies:
once: 1.4.0
@@ -15712,10 +13087,6 @@ snapshots:
ip@1.1.9: {}
- ipaddr.js@1.9.1: {}
-
- ipaddr.js@2.3.0: {}
-
is-absolute@1.0.0:
dependencies:
is-relative: 1.0.0
@@ -15753,10 +13124,6 @@ snapshots:
dependencies:
has-bigints: 1.1.0
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
is-boolean-object@1.2.2:
dependencies:
call-bound: 1.0.4
@@ -15791,8 +13158,6 @@ snapshots:
is-docker@3.0.0: {}
- is-extendable@0.1.1: {}
-
is-extglob@2.1.1: {}
is-finalizationregistry@1.1.1:
@@ -15848,8 +13213,6 @@ snapshots:
is-negative-zero@2.0.3: {}
- is-network-error@1.3.1: {}
-
is-npm@6.1.0: {}
is-number-object@1.1.1:
@@ -15859,8 +13222,6 @@ snapshots:
is-number@7.0.0: {}
- is-obj@1.0.1: {}
-
is-obj@2.0.0: {}
is-path-cwd@2.2.0: {}
@@ -15873,14 +13234,8 @@ snapshots:
is-plain-obj@1.1.0: {}
- is-plain-obj@3.0.0: {}
-
is-plain-obj@4.1.0: {}
- is-plain-object@2.0.4:
- dependencies:
- isobject: 3.0.1
-
is-plain-object@5.0.0: {}
is-regex@1.2.1:
@@ -15890,8 +13245,6 @@ snapshots:
has-tostringtag: 1.0.2
hasown: 2.0.2
- is-regexp@1.0.0: {}
-
is-relative@1.0.0:
dependencies:
is-unc-path: 1.0.0
@@ -15960,22 +13313,14 @@ snapshots:
dependencies:
is-docker: 2.2.1
- is-wsl@3.1.1:
- dependencies:
- is-inside-container: 1.0.0
-
is-yarn-global@0.4.1: {}
- isarray@0.0.1: {}
-
isarray@1.0.0: {}
isarray@2.0.5: {}
isexe@2.0.0: {}
- isobject@3.0.1: {}
-
issue-parser@6.0.0:
dependencies:
lodash.capitalize: 4.2.1
@@ -16074,12 +13419,6 @@ snapshots:
leven: 3.1.0
pretty-format: 29.7.0
- jest-worker@27.5.1:
- dependencies:
- '@types/node': 25.3.1
- merge-stream: 2.0.0
- supports-color: 8.1.1
-
jest-worker@29.7.0:
dependencies:
'@types/node': 25.3.1
@@ -16089,18 +13428,8 @@ snapshots:
jimp-compact@0.16.1: {}
- jiti@1.21.7: {}
-
jiti@2.6.1: {}
- joi@17.13.3:
- dependencies:
- '@hapi/hoek': 9.3.0
- '@hapi/topo': 5.1.0
- '@sideway/address': 4.1.5
- '@sideway/formula': 3.0.1
- '@sideway/pinpoint': 2.0.0
-
js-tokens@4.0.0: {}
js-yaml@3.14.2:
@@ -16122,8 +13451,6 @@ snapshots:
json-parse-even-better-errors@2.3.1: {}
- json-schema-traverse@0.4.1: {}
-
json-schema-traverse@1.0.0: {}
json-stringify-safe@5.0.1: {}
@@ -16156,11 +13483,6 @@ snapshots:
dependencies:
package-json: 8.1.1
- launch-editor@2.13.1:
- dependencies:
- picocolors: 1.1.1
- shell-quote: 1.8.3
-
leven@3.1.0: {}
levn@0.3.0:
@@ -16178,66 +13500,99 @@ snapshots:
lightningcss-android-arm64@1.31.1:
optional: true
+ lightningcss-android-arm64@1.32.0:
+ optional: true
+
lightningcss-darwin-arm64@1.27.0:
optional: true
lightningcss-darwin-arm64@1.31.1:
optional: true
+ lightningcss-darwin-arm64@1.32.0:
+ optional: true
+
lightningcss-darwin-x64@1.27.0:
optional: true
lightningcss-darwin-x64@1.31.1:
optional: true
+ lightningcss-darwin-x64@1.32.0:
+ optional: true
+
lightningcss-freebsd-x64@1.27.0:
optional: true
lightningcss-freebsd-x64@1.31.1:
optional: true
+ lightningcss-freebsd-x64@1.32.0:
+ optional: true
+
lightningcss-linux-arm-gnueabihf@1.27.0:
optional: true
lightningcss-linux-arm-gnueabihf@1.31.1:
optional: true
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ optional: true
+
lightningcss-linux-arm64-gnu@1.27.0:
optional: true
lightningcss-linux-arm64-gnu@1.31.1:
optional: true
+ lightningcss-linux-arm64-gnu@1.32.0:
+ optional: true
+
lightningcss-linux-arm64-musl@1.27.0:
optional: true
lightningcss-linux-arm64-musl@1.31.1:
optional: true
+ lightningcss-linux-arm64-musl@1.32.0:
+ optional: true
+
lightningcss-linux-x64-gnu@1.27.0:
optional: true
lightningcss-linux-x64-gnu@1.31.1:
optional: true
+ lightningcss-linux-x64-gnu@1.32.0:
+ optional: true
+
lightningcss-linux-x64-musl@1.27.0:
optional: true
lightningcss-linux-x64-musl@1.31.1:
optional: true
+ lightningcss-linux-x64-musl@1.32.0:
+ optional: true
+
lightningcss-win32-arm64-msvc@1.27.0:
optional: true
lightningcss-win32-arm64-msvc@1.31.1:
optional: true
+ lightningcss-win32-arm64-msvc@1.32.0:
+ optional: true
+
lightningcss-win32-x64-msvc@1.27.0:
optional: true
lightningcss-win32-x64-msvc@1.31.1:
optional: true
+ lightningcss-win32-x64-msvc@1.32.0:
+ optional: true
+
lightningcss@1.27.0:
dependencies:
detect-libc: 1.0.3
@@ -16269,10 +13624,30 @@ snapshots:
lightningcss-win32-arm64-msvc: 1.31.1
lightningcss-win32-x64-msvc: 1.31.1
+ 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: {}
+ linkify-it@5.0.1:
+ dependencies:
+ uc.micro: 2.1.0
+
lint-staged@15.5.2:
dependencies:
chalk: 5.6.2
@@ -16304,14 +13679,6 @@ snapshots:
pify: 3.0.0
strip-bom: 3.0.0
- loader-runner@4.3.1: {}
-
- loader-utils@2.0.4:
- dependencies:
- big.js: 5.2.2
- emojis-list: 3.0.0
- json5: 2.2.3
-
locate-path@2.0.0:
dependencies:
p-locate: 2.0.0
@@ -16350,8 +13717,6 @@ snapshots:
lodash.kebabcase@4.1.1: {}
- lodash.memoize@4.1.2: {}
-
lodash.merge@4.6.2: {}
lodash.mergewith@4.6.2: {}
@@ -16400,10 +13765,6 @@ snapshots:
dependencies:
js-tokens: 4.0.0
- lower-case@2.0.2:
- dependencies:
- tslib: 2.8.1
-
lowercase-keys@3.0.0: {}
lru-cache@10.4.3: {}
@@ -16420,8 +13781,22 @@ snapshots:
lru-cache@7.18.3: {}
+ lucide-react@0.575.0(react@19.2.3):
+ dependencies:
+ react: 19.2.3
+
+ lucide-react@1.21.0(react@19.2.3):
+ dependencies:
+ react: 19.2.3
+
+ lunr@2.3.9: {}
+
macos-release@3.4.0: {}
+ magic-string@0.30.21:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
makeerror@1.0.12:
dependencies:
tmpl: 1.0.5
@@ -16432,9 +13807,14 @@ snapshots:
markdown-extensions@2.0.0: {}
- markdown-table@2.0.0:
+ markdown-it@14.2.0:
dependencies:
- repeat-string: 1.6.1
+ argparse: 2.0.1
+ entities: 4.5.0
+ linkify-it: 5.0.1
+ mdurl: 2.0.0
+ punycode.js: 2.3.1
+ uc.micro: 2.1.0
markdown-table@3.0.4: {}
@@ -16455,6 +13835,7 @@ snapshots:
unist-util-visit-parents: 6.0.2
transitivePeerDependencies:
- supports-color
+ optional: true
mdast-util-find-and-replace@3.0.2:
dependencies:
@@ -16480,17 +13861,6 @@ snapshots:
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-gfm-autolink-literal@2.0.1:
dependencies:
'@types/mdast': 4.0.4
@@ -16630,28 +14000,7 @@ snapshots:
dependencies:
'@types/mdast': 4.0.4
- mdn-data@2.0.28: {}
-
- mdn-data@2.0.30: {}
-
- media-typer@0.3.0: {}
-
- memfs@4.56.10(tslib@2.8.1):
- dependencies:
- '@jsonjoy.com/fs-core': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-fsa': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-node': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-node-builtins': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-node-to-fsa': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-node-utils': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-print': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/fs-snapshot': 4.56.10(tslib@2.8.1)
- '@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1)
- '@jsonjoy.com/util': 1.9.0(tslib@2.8.1)
- glob-to-regex.js: 1.2.0(tslib@2.8.1)
- thingies: 2.5.0(tslib@2.8.1)
- tree-dump: 1.1.0(tslib@2.8.1)
- tslib: 2.8.1
+ mdurl@2.0.0: {}
memoize-one@5.2.1: {}
@@ -16686,14 +14035,10 @@ snapshots:
type-fest: 0.18.1
yargs-parser: 20.2.9
- merge-descriptors@1.0.3: {}
-
merge-stream@2.0.0: {}
merge2@1.4.1: {}
- methods@1.1.2: {}
-
metro-babel-transformer@0.80.12:
dependencies:
'@babel/core': 7.29.0
@@ -17054,32 +14399,15 @@ snapshots:
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-directive@3.0.2:
- dependencies:
- devlop: 1.1.0
- 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-symbol: 2.0.1
- micromark-util-types: 2.0.2
- parse-entities: 4.0.2
-
- micromark-extension-frontmatter@2.0.0:
- dependencies:
- fault: 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
@@ -17217,11 +14545,6 @@ snapshots:
unist-util-position-from-estree: 2.0.0
vfile-message: 4.0.3
- micromark-factory-space@1.1.0:
- dependencies:
- micromark-util-character: 1.2.0
- micromark-util-types: 1.1.0
-
micromark-factory-space@2.0.1:
dependencies:
micromark-util-character: 2.1.1
@@ -17241,11 +14564,6 @@ snapshots:
micromark-util-symbol: 2.0.1
micromark-util-types: 2.0.2
- micromark-util-character@1.2.0:
- dependencies:
- micromark-util-symbol: 1.1.0
- micromark-util-types: 1.1.0
-
micromark-util-character@2.1.1:
dependencies:
micromark-util-symbol: 2.0.1
@@ -17312,12 +14630,8 @@ snapshots:
micromark-util-symbol: 2.0.1
micromark-util-types: 2.0.2
- micromark-util-symbol@1.1.0: {}
-
micromark-util-symbol@2.0.1: {}
- micromark-util-types@1.1.0: {}
-
micromark-util-types@2.0.2: {}
micromark@4.0.2:
@@ -17347,24 +14661,14 @@ snapshots:
braces: 3.0.3
picomatch: 2.3.1
- mime-db@1.33.0: {}
-
mime-db@1.52.0: {}
mime-db@1.54.0: {}
- mime-types@2.1.18:
- dependencies:
- mime-db: 1.33.0
-
mime-types@2.1.35:
dependencies:
mime-db: 1.52.0
- mime-types@3.0.2:
- dependencies:
- mime-db: 1.54.0
-
mime@1.6.0: {}
mimic-fn@1.2.0: {}
@@ -17381,21 +14685,13 @@ snapshots:
min-indent@1.0.1: {}
- mini-css-extract-plugin@2.10.0(webpack@5.105.3):
- dependencies:
- schema-utils: 4.3.3
- tapable: 2.3.0
- webpack: 5.105.3
-
- minimalistic-assert@1.0.1: {}
-
minimatch@10.2.4:
dependencies:
brace-expansion: 5.0.3
- minimatch@3.1.2:
+ minimatch@10.2.5:
dependencies:
- brace-expansion: 1.1.12
+ brace-expansion: 5.0.6
minimatch@3.1.5:
dependencies:
@@ -17433,17 +14729,24 @@ snapshots:
modify-values@1.0.1: {}
- mrmime@2.0.1: {}
+ motion-dom@12.40.0:
+ dependencies:
+ motion-utils: 12.39.0
+
+ motion-utils@12.39.0: {}
+
+ motion@12.40.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
+ dependencies:
+ framer-motion: 12.40.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ tslib: 2.8.1
+ optionalDependencies:
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
ms@2.0.0: {}
ms@2.1.3: {}
- multicast-dns@7.2.5:
- dependencies:
- dns-packet: 5.6.1
- thunky: 1.1.0
-
multitars@0.2.4: {}
mute-stream@1.0.0: {}
@@ -17456,6 +14759,8 @@ snapshots:
nanoid@3.3.11: {}
+ nanoid@3.3.14: {}
+
negotiator@0.6.3: {}
negotiator@0.6.4: {}
@@ -17470,22 +14775,40 @@ snapshots:
dependencies:
type-fest: 2.19.0
- no-case@3.0.4:
+ next-themes@0.4.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
dependencies:
- lower-case: 2.0.2
- tslib: 2.8.1
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+
+ next@16.2.6(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
+ dependencies:
+ '@next/env': 16.2.6
+ '@swc/helpers': 0.5.15
+ baseline-browser-mapping: 2.10.0
+ caniuse-lite: 1.0.30001774
+ postcss: 8.4.31
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ styled-jsx: 5.1.6(react@19.2.3)
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 16.2.6
+ '@next/swc-darwin-x64': 16.2.6
+ '@next/swc-linux-arm64-gnu': 16.2.6
+ '@next/swc-linux-arm64-musl': 16.2.6
+ '@next/swc-linux-x64-gnu': 16.2.6
+ '@next/swc-linux-x64-musl': 16.2.6
+ '@next/swc-win32-arm64-msvc': 16.2.6
+ '@next/swc-win32-x64-msvc': 16.2.6
+ babel-plugin-react-compiler: 1.0.0
+ sharp: 0.34.5
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
node-abort-controller@3.1.1: {}
node-domexception@1.0.0: {}
- node-emoji@2.2.0:
- dependencies:
- '@sindresorhus/is': 4.6.0
- char-regex: 1.0.2
- emojilib: 2.4.0
- skin-tone: 2.0.0
-
node-fetch@2.7.0:
dependencies:
whatwg-url: 5.0.0
@@ -17535,18 +14858,6 @@ snapshots:
dependencies:
path-key: 4.0.0
- nprogress@0.2.0: {}
-
- nth-check@2.1.1:
- dependencies:
- boolbase: 1.0.0
-
- null-loader@4.0.1(webpack@5.105.3):
- dependencies:
- loader-utils: 2.0.4
- schema-utils: 3.3.0
- webpack: 5.105.3
-
nullthrows@1.1.1: {}
ob1@0.80.12:
@@ -17572,8 +14883,6 @@ snapshots:
has-symbols: 1.1.0
object-keys: 1.1.1
- obuf@1.1.2: {}
-
on-finished@2.3.0:
dependencies:
ee-first: 1.1.1
@@ -17604,12 +14913,13 @@ snapshots:
dependencies:
mimic-function: 5.0.1
- open@10.2.0:
+ oniguruma-parser@0.12.2: {}
+
+ oniguruma-to-es@4.3.6:
dependencies:
- default-browser: 5.5.0
- define-lazy-prop: 3.0.0
- is-inside-container: 1.0.0
- wsl-utils: 0.1.0
+ oniguruma-parser: 0.12.2
+ regex: 6.1.0
+ regex-recursion: 6.0.2
open@7.4.2:
dependencies:
@@ -17629,8 +14939,6 @@ snapshots:
is-inside-container: 1.0.0
is-wsl: 2.2.0
- opener@1.5.2: {}
-
optionator@0.8.3:
dependencies:
deep-is: 0.1.4
@@ -17734,8 +15042,6 @@ snapshots:
p-cancelable@3.0.0: {}
- p-finally@1.0.0: {}
-
p-limit@1.3.0:
dependencies:
p-try: 1.0.0
@@ -17780,21 +15086,6 @@ snapshots:
dependencies:
aggregate-error: 4.0.1
- p-queue@6.6.2:
- dependencies:
- eventemitter3: 4.0.7
- p-timeout: 3.2.0
-
- p-retry@6.2.1:
- dependencies:
- '@types/retry': 0.12.2
- is-network-error: 1.3.1
- retry: 0.13.1
-
- p-timeout@3.2.0:
- dependencies:
- p-finally: 1.0.0
-
p-try@1.0.0: {}
p-try@2.2.0: {}
@@ -17826,11 +15117,6 @@ snapshots:
registry-url: 6.0.1
semver: 7.7.4
- param-case@3.0.4:
- dependencies:
- dot-case: 3.0.4
- tslib: 2.8.1
-
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
@@ -17857,8 +15143,6 @@ snapshots:
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
- parse-numeric-range@1.3.0: {}
-
parse-path@7.1.0:
dependencies:
protocols: 2.0.2
@@ -17871,22 +15155,12 @@ snapshots:
dependencies:
parse-path: 7.1.0
- parse5-htmlparser2-tree-adapter@7.1.0:
- dependencies:
- domhandler: 5.0.3
- parse5: 7.3.0
-
parse5@7.3.0:
dependencies:
entities: 6.0.1
parseurl@1.3.3: {}
- pascal-case@3.1.2:
- dependencies:
- no-case: 3.0.4
- tslib: 2.8.1
-
path-exists@3.0.0: {}
path-exists@4.0.0: {}
@@ -17895,8 +15169,6 @@ snapshots:
path-is-absolute@1.0.1: {}
- path-is-inside@1.0.2: {}
-
path-key@3.1.1: {}
path-key@4.0.0: {}
@@ -17913,14 +15185,6 @@ snapshots:
lru-cache: 11.2.6
minipass: 7.1.3
- path-to-regexp@0.1.12: {}
-
- path-to-regexp@1.9.0:
- dependencies:
- isarray: 0.0.1
-
- path-to-regexp@3.3.0: {}
-
path-type@3.0.0:
dependencies:
pify: 3.0.0
@@ -17935,6 +15199,8 @@ snapshots:
picomatch@4.0.3: {}
+ picomatch@4.0.4: {}
+
pidtree@0.6.0: {}
pify@2.3.0: {}
@@ -17943,23 +15209,10 @@ snapshots:
pirates@4.0.7: {}
- pkg-dir@7.0.0:
- dependencies:
- find-up: 6.3.0
-
pkg-up@3.1.0:
dependencies:
find-up: 3.0.0
- pkijs@3.3.3:
- dependencies:
- '@noble/hashes': 1.4.0
- asn1js: 3.0.7
- bytestreamjs: 2.0.1
- pvtsutils: 1.3.6
- pvutils: 1.1.5
- tslib: 2.8.1
-
plist@3.1.0:
dependencies:
'@xmldom/xmldom': 0.8.11
@@ -17972,440 +15225,11 @@ snapshots:
possible-typed-array-names@1.1.0: {}
- postcss-attribute-case-insensitive@7.0.1(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
-
- postcss-calc@9.0.1(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 6.1.2
- postcss-value-parser: 4.2.0
-
- postcss-clamp@4.1.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-color-functional-notation@7.0.12(postcss@8.5.6):
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
-
- postcss-color-hex-alpha@10.0.0(postcss@8.5.6):
- dependencies:
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-color-rebeccapurple@10.0.0(postcss@8.5.6):
- dependencies:
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-colormin@6.1.0(postcss@8.5.6):
- dependencies:
- browserslist: 4.28.1
- caniuse-api: 3.0.0
- colord: 2.9.3
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-convert-values@6.1.0(postcss@8.5.6):
- dependencies:
- browserslist: 4.28.1
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-custom-media@11.0.6(postcss@8.5.6):
- dependencies:
- '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- postcss: 8.5.6
-
- postcss-custom-properties@14.0.6(postcss@8.5.6):
- dependencies:
- '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-custom-selectors@8.0.5(postcss@8.5.6):
- dependencies:
- '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
-
- postcss-dir-pseudo-class@9.0.1(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
-
- postcss-discard-comments@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- postcss-discard-duplicates@6.0.3(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- postcss-discard-empty@6.0.3(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- postcss-discard-overridden@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- postcss-discard-unused@6.0.5(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 6.1.2
-
- postcss-double-position-gradients@6.0.4(postcss@8.5.6):
- dependencies:
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-focus-visible@10.0.1(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
-
- postcss-focus-within@9.0.1(postcss@8.5.6):
+ postcss@8.4.31:
dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
-
- postcss-font-variant@5.0.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- postcss-gap-properties@6.0.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- postcss-image-set-function@7.0.0(postcss@8.5.6):
- dependencies:
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-lab-function@7.0.12(postcss@8.5.6):
- dependencies:
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/utilities': 2.0.0(postcss@8.5.6)
- postcss: 8.5.6
-
- postcss-loader@7.3.4(postcss@8.5.6)(typescript@5.9.3)(webpack@5.105.3):
- dependencies:
- cosmiconfig: 8.3.6(typescript@5.9.3)
- jiti: 1.21.7
- postcss: 8.5.6
- semver: 7.7.4
- webpack: 5.105.3
- transitivePeerDependencies:
- - typescript
-
- postcss-logical@8.1.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-merge-idents@6.0.3(postcss@8.5.6):
- dependencies:
- cssnano-utils: 4.0.2(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-merge-longhand@6.0.5(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
- stylehacks: 6.1.1(postcss@8.5.6)
-
- postcss-merge-rules@6.1.1(postcss@8.5.6):
- dependencies:
- browserslist: 4.28.1
- caniuse-api: 3.0.0
- cssnano-utils: 4.0.2(postcss@8.5.6)
- postcss: 8.5.6
- postcss-selector-parser: 6.1.2
-
- postcss-minify-font-values@6.1.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-minify-gradients@6.0.3(postcss@8.5.6):
- dependencies:
- colord: 2.9.3
- cssnano-utils: 4.0.2(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-minify-params@6.1.0(postcss@8.5.6):
- dependencies:
- browserslist: 4.28.1
- cssnano-utils: 4.0.2(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-minify-selectors@6.0.4(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 6.1.2
-
- postcss-modules-extract-imports@3.1.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- postcss-modules-local-by-default@4.2.0(postcss@8.5.6):
- dependencies:
- icss-utils: 5.1.0(postcss@8.5.6)
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
- postcss-value-parser: 4.2.0
-
- postcss-modules-scope@3.2.1(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
-
- postcss-modules-values@4.0.0(postcss@8.5.6):
- dependencies:
- icss-utils: 5.1.0(postcss@8.5.6)
- postcss: 8.5.6
-
- postcss-nesting@13.0.2(postcss@8.5.6):
- dependencies:
- '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.1)
- '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1)
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
-
- postcss-normalize-charset@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- postcss-normalize-display-values@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-normalize-positions@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-normalize-repeat-style@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-normalize-string@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-normalize-timing-functions@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-normalize-unicode@6.1.0(postcss@8.5.6):
- dependencies:
- browserslist: 4.28.1
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-normalize-url@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-normalize-whitespace@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-opacity-percentage@3.0.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- postcss-ordered-values@6.0.2(postcss@8.5.6):
- dependencies:
- cssnano-utils: 4.0.2(postcss@8.5.6)
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-overflow-shorthand@6.0.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-page-break@3.0.4(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- postcss-place@10.0.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-preset-env@10.6.1(postcss@8.5.6):
- dependencies:
- '@csstools/postcss-alpha-function': 1.0.1(postcss@8.5.6)
- '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.6)
- '@csstools/postcss-color-function': 4.0.12(postcss@8.5.6)
- '@csstools/postcss-color-function-display-p3-linear': 1.0.1(postcss@8.5.6)
- '@csstools/postcss-color-mix-function': 3.0.12(postcss@8.5.6)
- '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.2(postcss@8.5.6)
- '@csstools/postcss-content-alt-text': 2.0.8(postcss@8.5.6)
- '@csstools/postcss-contrast-color-function': 2.0.12(postcss@8.5.6)
- '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.6)
- '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.6)
- '@csstools/postcss-gamut-mapping': 2.0.11(postcss@8.5.6)
- '@csstools/postcss-gradients-interpolation-method': 5.0.12(postcss@8.5.6)
- '@csstools/postcss-hwb-function': 4.0.12(postcss@8.5.6)
- '@csstools/postcss-ic-unit': 4.0.4(postcss@8.5.6)
- '@csstools/postcss-initial': 2.0.1(postcss@8.5.6)
- '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.6)
- '@csstools/postcss-light-dark-function': 2.0.11(postcss@8.5.6)
- '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.6)
- '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.6)
- '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.6)
- '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.6)
- '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.6)
- '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.6)
- '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.6)
- '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.6)
- '@csstools/postcss-normalize-display-values': 4.0.1(postcss@8.5.6)
- '@csstools/postcss-oklab-function': 4.0.12(postcss@8.5.6)
- '@csstools/postcss-position-area-property': 1.0.0(postcss@8.5.6)
- '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6)
- '@csstools/postcss-property-rule-prelude-list': 1.0.0(postcss@8.5.6)
- '@csstools/postcss-random-function': 2.0.1(postcss@8.5.6)
- '@csstools/postcss-relative-color-syntax': 3.0.12(postcss@8.5.6)
- '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.6)
- '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.6)
- '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.6)
- '@csstools/postcss-syntax-descriptor-syntax-production': 1.0.1(postcss@8.5.6)
- '@csstools/postcss-system-ui-font-family': 1.0.0(postcss@8.5.6)
- '@csstools/postcss-text-decoration-shorthand': 4.0.3(postcss@8.5.6)
- '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.6)
- '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.6)
- autoprefixer: 10.4.27(postcss@8.5.6)
- browserslist: 4.28.1
- css-blank-pseudo: 7.0.1(postcss@8.5.6)
- css-has-pseudo: 7.0.3(postcss@8.5.6)
- css-prefers-color-scheme: 10.0.0(postcss@8.5.6)
- cssdb: 8.8.0
- postcss: 8.5.6
- postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.6)
- postcss-clamp: 4.1.0(postcss@8.5.6)
- postcss-color-functional-notation: 7.0.12(postcss@8.5.6)
- postcss-color-hex-alpha: 10.0.0(postcss@8.5.6)
- postcss-color-rebeccapurple: 10.0.0(postcss@8.5.6)
- postcss-custom-media: 11.0.6(postcss@8.5.6)
- postcss-custom-properties: 14.0.6(postcss@8.5.6)
- postcss-custom-selectors: 8.0.5(postcss@8.5.6)
- postcss-dir-pseudo-class: 9.0.1(postcss@8.5.6)
- postcss-double-position-gradients: 6.0.4(postcss@8.5.6)
- postcss-focus-visible: 10.0.1(postcss@8.5.6)
- postcss-focus-within: 9.0.1(postcss@8.5.6)
- postcss-font-variant: 5.0.0(postcss@8.5.6)
- postcss-gap-properties: 6.0.0(postcss@8.5.6)
- postcss-image-set-function: 7.0.0(postcss@8.5.6)
- postcss-lab-function: 7.0.12(postcss@8.5.6)
- postcss-logical: 8.1.0(postcss@8.5.6)
- postcss-nesting: 13.0.2(postcss@8.5.6)
- postcss-opacity-percentage: 3.0.0(postcss@8.5.6)
- postcss-overflow-shorthand: 6.0.0(postcss@8.5.6)
- postcss-page-break: 3.0.4(postcss@8.5.6)
- postcss-place: 10.0.0(postcss@8.5.6)
- postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.6)
- postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6)
- postcss-selector-not: 8.0.1(postcss@8.5.6)
-
- postcss-pseudo-class-any-link@10.0.1(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
-
- postcss-reduce-idents@6.0.3(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-reduce-initial@6.1.0(postcss@8.5.6):
- dependencies:
- browserslist: 4.28.1
- caniuse-api: 3.0.0
- postcss: 8.5.6
-
- postcss-reduce-transforms@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
-
- postcss-replace-overflow-wrap@4.0.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
-
- postcss-selector-not@8.0.1(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 7.1.1
-
- postcss-selector-parser@6.1.2:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- postcss-selector-parser@7.1.1:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- postcss-sort-media-queries@5.2.0(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- sort-css-media-queries: 2.2.0
-
- postcss-svgo@6.0.3(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-value-parser: 4.2.0
- svgo: 3.3.2
-
- postcss-unique-selectors@6.0.4(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
- postcss-selector-parser: 6.1.2
-
- postcss-value-parser@4.2.0: {}
-
- postcss-zindex@6.0.2(postcss@8.5.6):
- dependencies:
- postcss: 8.5.6
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
postcss@8.4.49:
dependencies:
@@ -18413,9 +15237,9 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
- postcss@8.5.6:
+ postcss@8.5.15:
dependencies:
- nanoid: 3.3.11
+ nanoid: 3.3.14
picocolors: 1.1.1
source-map-js: 1.2.1
@@ -18423,27 +15247,12 @@ snapshots:
pretty-bytes@5.6.0: {}
- pretty-error@4.0.0:
- dependencies:
- lodash: 4.17.23
- renderkid: 3.0.0
-
pretty-format@29.7.0:
dependencies:
'@jest/schemas': 29.6.3
ansi-styles: 5.2.0
react-is: 18.3.1
- pretty-time@1.1.0: {}
-
- prism-react-renderer@2.4.1(react@19.2.0):
- dependencies:
- '@types/prismjs': 1.26.6
- clsx: 2.1.1
- react: 19.2.0
-
- prismjs@1.30.0: {}
-
proc-log@4.2.0: {}
process-nextick-args@2.0.1: {}
@@ -18468,23 +15277,12 @@ snapshots:
kleur: 3.0.3
sisteransi: 1.0.5
- prop-types@15.8.1:
- dependencies:
- loose-envify: 1.4.0
- object-assign: 4.1.1
- react-is: 16.13.1
-
property-information@7.1.0: {}
proto-list@1.2.4: {}
protocols@2.0.2: {}
- proxy-addr@2.0.7:
- dependencies:
- forwarded: 0.2.0
- ipaddr.js: 1.9.1
-
proxy-agent@6.2.1:
dependencies:
agent-base: 7.1.4
@@ -18505,26 +15303,18 @@ snapshots:
end-of-stream: 1.4.5
once: 1.4.0
+ punycode.js@2.3.1: {}
+
punycode@2.3.1: {}
pupa@3.3.0:
dependencies:
escape-goat: 4.0.0
- pvtsutils@1.3.6:
- dependencies:
- tslib: 2.8.1
-
- pvutils@1.1.5: {}
-
q@1.5.1: {}
qrcode-terminal@0.11.0: {}
- qs@6.14.2:
- dependencies:
- side-channel: 1.1.0
-
queue-microtask@1.2.3: {}
queue@6.0.2:
@@ -18535,21 +15325,8 @@ snapshots:
quick-lru@5.1.1: {}
- randombytes@2.1.0:
- dependencies:
- safe-buffer: 5.2.1
-
- range-parser@1.2.0: {}
-
range-parser@1.2.1: {}
- raw-body@2.5.3:
- dependencies:
- bytes: 3.1.2
- http-errors: 2.0.1
- iconv-lite: 0.4.24
- unpipe: 1.0.0
-
rc@1.2.8:
dependencies:
deep-extend: 0.6.0
@@ -18562,29 +15339,20 @@ snapshots:
shell-quote: 1.8.3
ws: 7.5.10
transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
-
- react-dom@19.2.0(react@19.2.0):
- dependencies:
- react: 19.2.0
- scheduler: 0.27.0
-
- react-fast-compare@3.2.2: {}
-
- react-is@16.13.1: {}
-
- react-is@18.3.1: {}
+ - bufferutil
+ - utf-8-validate
- react-json-view-lite@2.5.0(react@19.2.0):
+ react-dom@19.2.0(react@19.2.0):
dependencies:
react: 19.2.0
+ scheduler: 0.27.0
- react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@19.2.0))(webpack@5.105.3):
+ react-dom@19.2.3(react@19.2.3):
dependencies:
- '@babel/runtime': 7.28.6
- react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.0)'
- webpack: 5.105.3
+ react: 19.2.3
+ scheduler: 0.27.0
+
+ react-is@18.3.1: {}
react-native-builder-bob@0.30.3(typescript@5.9.3):
dependencies:
@@ -18681,38 +15449,37 @@ snapshots:
react-refresh@0.14.2: {}
- react-router-config@5.1.1(react-router@5.3.4(react@19.2.0))(react@19.2.0):
+ react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.3):
dependencies:
- '@babel/runtime': 7.28.6
- react: 19.2.0
- react-router: 5.3.4(react@19.2.0)
+ react: 19.2.3
+ react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.3)
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 19.2.14
- react-router-dom@5.3.4(react@19.2.0):
+ react-remove-scroll@2.7.2(@types/react@19.2.14)(react@19.2.3):
dependencies:
- '@babel/runtime': 7.28.6
- history: 4.10.1
- loose-envify: 1.4.0
- prop-types: 15.8.1
- react: 19.2.0
- react-router: 5.3.4(react@19.2.0)
- tiny-invariant: 1.3.3
- tiny-warning: 1.0.3
+ react: 19.2.3
+ react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.3)
+ react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.3)
+ tslib: 2.8.1
+ use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.3)
+ use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
- react-router@5.3.4(react@19.2.0):
+ react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.3):
dependencies:
- '@babel/runtime': 7.28.6
- history: 4.10.1
- hoist-non-react-statics: 3.3.2
- loose-envify: 1.4.0
- path-to-regexp: 1.9.0
- prop-types: 15.8.1
- react: 19.2.0
- react-is: 16.13.1
- tiny-invariant: 1.3.3
- tiny-warning: 1.0.3
+ get-nonce: 1.0.1
+ react: 19.2.3
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 19.2.14
react@19.2.0: {}
+ react@19.2.3: {}
+
read-pkg-up@3.0.0:
dependencies:
find-up: 2.1.0
@@ -18766,9 +15533,7 @@ snapshots:
string_decoder: 1.3.0
util-deprecate: 1.0.2
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
+ readdirp@5.0.0: {}
rechoir@0.6.2:
dependencies:
@@ -18813,8 +15578,6 @@ snapshots:
indent-string: 5.0.0
strip-indent: 4.1.1
- reflect-metadata@0.2.2: {}
-
reflect.getprototypeof@1.0.10:
dependencies:
call-bind: 1.0.8
@@ -18834,6 +15597,16 @@ snapshots:
regenerator-runtime@0.13.11: {}
+ regex-recursion@6.0.2:
+ dependencies:
+ regex-utilities: 2.3.0
+
+ regex-utilities@2.3.0: {}
+
+ regex@6.1.0:
+ dependencies:
+ regex-utilities: 2.3.0
+
regexp.prototype.flags@1.5.4:
dependencies:
call-bind: 1.0.8
@@ -18880,8 +15653,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- relateurl@0.2.7: {}
-
release-it@15.11.0:
dependencies:
'@iarna/toml': 2.2.5
@@ -18915,32 +15686,6 @@ snapshots:
- encoding
- supports-color
- remark-directive@3.0.1:
- dependencies:
- '@types/mdast': 4.0.4
- mdast-util-directive: 3.1.0
- micromark-extension-directive: 3.0.2
- unified: 11.0.5
- transitivePeerDependencies:
- - supports-color
-
- remark-emoji@4.0.1:
- dependencies:
- '@types/mdast': 4.0.4
- emoticon: 4.1.0
- mdast-util-find-and-replace: 3.0.2
- node-emoji: 2.2.0
- unified: 11.0.5
-
- 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-gfm@4.0.1:
dependencies:
'@types/mdast': 4.0.4
@@ -18982,30 +15727,25 @@ snapshots:
mdast-util-to-markdown: 2.1.2
unified: 11.0.5
- renderkid@3.0.0:
+ remark@15.0.1:
dependencies:
- css-select: 4.3.0
- dom-converter: 0.2.0
- htmlparser2: 6.1.0
- lodash: 4.17.23
- strip-ansi: 6.0.1
-
- repeat-string@1.6.1: {}
+ '@types/mdast': 4.0.4
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
require-directory@2.1.1: {}
require-from-string@2.0.2: {}
- require-like@0.1.2: {}
-
requireg@0.2.2:
dependencies:
nested-error-stacks: 2.0.1
rc: 1.2.8
resolve: 1.7.1
- requires-port@1.0.0: {}
-
reselect@4.1.8: {}
resolve-alpn@1.2.1: {}
@@ -19016,8 +15756,6 @@ snapshots:
resolve-from@5.0.0: {}
- resolve-pathname@3.0.0: {}
-
resolve-workspace-root@2.0.1: {}
resolve.exports@2.0.3: {}
@@ -19066,19 +15804,10 @@ snapshots:
dependencies:
glob: 7.2.3
- rtlcss@4.3.0:
- dependencies:
- escalade: 3.2.0
- picocolors: 1.1.1
- postcss: 8.5.6
- strip-json-comments: 3.1.1
-
run-applescript@5.0.0:
dependencies:
execa: 5.1.1
- run-applescript@7.1.0: {}
-
run-async@3.0.0: {}
run-parallel@1.2.0:
@@ -19118,34 +15847,9 @@ snapshots:
scheduler@0.27.0: {}
- schema-dts@1.1.5: {}
-
- schema-utils@3.3.0:
- dependencies:
- '@types/json-schema': 7.0.15
- ajv: 6.14.0
- ajv-keywords: 3.5.2(ajv@6.14.0)
-
- schema-utils@4.3.3:
- dependencies:
- '@types/json-schema': 7.0.15
- ajv: 8.18.0
- ajv-formats: 2.1.1(ajv@8.18.0)
- ajv-keywords: 5.1.0(ajv@8.18.0)
-
- search-insights@2.17.3: {}
-
- section-matter@1.0.0:
- dependencies:
- extend-shallow: 2.0.1
- kind-of: 6.0.3
-
- select-hose@2.0.0: {}
-
- selfsigned@5.5.0:
+ scroll-into-view-if-needed@3.1.0:
dependencies:
- '@peculiar/x509': 1.14.3
- pkijs: 3.3.3
+ compute-scroll-into-view: 3.1.1
semver-diff@4.0.0:
dependencies:
@@ -19185,32 +15889,6 @@ snapshots:
serialize-error@2.1.0: {}
- serialize-javascript@6.0.2:
- dependencies:
- randombytes: 2.1.0
-
- serve-handler@6.1.6:
- dependencies:
- bytes: 3.0.0
- content-disposition: 0.5.2
- mime-types: 2.1.18
- minimatch: 3.1.2
- path-is-inside: 1.0.2
- path-to-regexp: 3.3.0
- range-parser: 1.2.0
-
- serve-index@1.9.2:
- dependencies:
- accepts: 1.3.8
- batch: 0.6.1
- debug: 2.6.9
- escape-html: 1.0.3
- http-errors: 1.8.1
- mime-types: 2.1.35
- parseurl: 1.3.3
- transitivePeerDependencies:
- - supports-color
-
serve-static@1.16.3:
dependencies:
encodeurl: 2.0.0
@@ -19244,11 +15922,37 @@ snapshots:
setprototypeof@1.2.0: {}
- shallow-clone@3.0.1:
+ sharp@0.34.5:
dependencies:
- kind-of: 6.0.3
-
- shallowequal@1.1.0: {}
+ '@img/colour': 1.1.0
+ detect-libc: 2.1.2
+ semver: 7.7.4
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.34.5
+ '@img/sharp-darwin-x64': 0.34.5
+ '@img/sharp-libvips-darwin-arm64': 1.2.4
+ '@img/sharp-libvips-darwin-x64': 1.2.4
+ '@img/sharp-libvips-linux-arm': 1.2.4
+ '@img/sharp-libvips-linux-arm64': 1.2.4
+ '@img/sharp-libvips-linux-ppc64': 1.2.4
+ '@img/sharp-libvips-linux-riscv64': 1.2.4
+ '@img/sharp-libvips-linux-s390x': 1.2.4
+ '@img/sharp-libvips-linux-x64': 1.2.4
+ '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
+ '@img/sharp-libvips-linuxmusl-x64': 1.2.4
+ '@img/sharp-linux-arm': 0.34.5
+ '@img/sharp-linux-arm64': 0.34.5
+ '@img/sharp-linux-ppc64': 0.34.5
+ '@img/sharp-linux-riscv64': 0.34.5
+ '@img/sharp-linux-s390x': 0.34.5
+ '@img/sharp-linux-x64': 0.34.5
+ '@img/sharp-linuxmusl-arm64': 0.34.5
+ '@img/sharp-linuxmusl-x64': 0.34.5
+ '@img/sharp-wasm32': 0.34.5
+ '@img/sharp-win32-arm64': 0.34.5
+ '@img/sharp-win32-ia32': 0.34.5
+ '@img/sharp-win32-x64': 0.34.5
+ optional: true
shebang-command@2.0.0:
dependencies:
@@ -19264,6 +15968,17 @@ snapshots:
interpret: 1.4.0
rechoir: 0.6.2
+ shiki@4.2.0:
+ dependencies:
+ '@shikijs/core': 4.2.0
+ '@shikijs/engine-javascript': 4.2.0
+ '@shikijs/engine-oniguruma': 4.2.0
+ '@shikijs/langs': 4.2.0
+ '@shikijs/themes': 4.2.0
+ '@shikijs/types': 4.2.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
side-channel-list@1.0.0:
dependencies:
es-errors: 1.3.0
@@ -19302,25 +16017,8 @@ snapshots:
bplist-parser: 0.3.1
plist: 3.1.0
- sirv@2.0.4:
- dependencies:
- '@polka/url': 1.0.0-next.29
- mrmime: 2.0.1
- totalist: 3.0.1
-
sisteransi@1.0.5: {}
- sitemap@7.1.2:
- dependencies:
- '@types/node': 17.0.45
- '@types/sax': 1.2.7
- arg: 5.0.2
- sax: 1.4.4
-
- skin-tone@2.0.0:
- dependencies:
- unicode-emoji-modifier-base: 1.0.0
-
slash@3.0.0: {}
slash@4.0.0: {}
@@ -19339,17 +16037,6 @@ snapshots:
smart-buffer@4.2.0: {}
- snake-case@3.0.4:
- dependencies:
- dot-case: 3.0.4
- tslib: 2.8.1
-
- sockjs@0.3.24:
- dependencies:
- faye-websocket: 0.11.4
- uuid: 8.3.2
- websocket-driver: 0.7.4
-
socks-proxy-agent@8.0.5:
dependencies:
agent-base: 7.1.4
@@ -19363,8 +16050,6 @@ snapshots:
ip-address: 10.1.0
smart-buffer: 4.2.0
- sort-css-media-queries@2.2.0: {}
-
source-map-js@1.2.1: {}
source-map-support@0.5.21:
@@ -19394,27 +16079,6 @@ snapshots:
spdx-license-ids@3.0.23: {}
- spdy-transport@3.0.0:
- dependencies:
- debug: 4.4.3
- detect-node: 2.1.0
- hpack.js: 2.1.6
- obuf: 1.1.2
- readable-stream: 3.6.2
- wbuf: 1.7.3
- transitivePeerDependencies:
- - supports-color
-
- spdy@4.0.2:
- dependencies:
- debug: 4.4.3
- handle-thing: 2.0.1
- http-deceiver: 1.2.7
- select-hose: 2.0.0
- spdy-transport: 3.0.0
- transitivePeerDependencies:
- - supports-color
-
split2@3.2.2:
dependencies:
readable-stream: 3.6.2
@@ -19427,8 +16091,6 @@ snapshots:
sprintf-js@1.0.3: {}
- srcset@4.0.0: {}
-
stack-utils@2.0.6:
dependencies:
escape-string-regexp: 2.0.0
@@ -19443,8 +16105,6 @@ snapshots:
statuses@2.0.2: {}
- std-env@3.10.0: {}
-
stdin-discarder@0.1.0:
dependencies:
bl: 5.1.0
@@ -19512,12 +16172,6 @@ snapshots:
character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0
- stringify-object@3.3.0:
- dependencies:
- get-own-enumerable-property-symbols: 3.0.2
- is-obj: 1.0.1
- is-regexp: 1.0.0
-
strip-ansi@5.2.0:
dependencies:
ansi-regex: 4.1.1
@@ -19530,8 +16184,6 @@ snapshots:
dependencies:
ansi-regex: 6.2.2
- strip-bom-string@1.0.0: {}
-
strip-bom@3.0.0: {}
strip-final-newline@2.0.0: {}
@@ -19546,8 +16198,6 @@ snapshots:
strip-json-comments@2.0.1: {}
- strip-json-comments@3.1.1: {}
-
structured-headers@0.4.1: {}
style-to-js@1.1.21:
@@ -19558,11 +16208,10 @@ snapshots:
dependencies:
inline-style-parser: 0.2.7
- stylehacks@6.1.1(postcss@8.5.6):
+ styled-jsx@5.1.6(react@19.2.3):
dependencies:
- browserslist: 4.28.1
- postcss: 8.5.6
- postcss-selector-parser: 6.1.2
+ client-only: 0.0.1
+ react: 19.2.3
sucrase@3.35.0:
dependencies:
@@ -19593,19 +16242,11 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
- svg-parser@2.0.4: {}
+ tailwind-merge@3.6.0: {}
- svgo@3.3.2:
- dependencies:
- '@trysound/sax': 0.2.0
- 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
+ tailwindcss@4.3.0: {}
- tapable@2.3.0: {}
+ tapable@2.3.3: {}
tar@7.5.9:
dependencies:
@@ -19622,15 +16263,6 @@ snapshots:
ansi-escapes: 4.3.2
supports-hyperlinks: 2.3.0
- terser-webpack-plugin@5.3.16(webpack@5.105.3):
- dependencies:
- '@jridgewell/trace-mapping': 0.3.31
- jest-worker: 27.5.1
- schema-utils: 4.3.3
- serialize-javascript: 6.0.2
- terser: 5.46.0
- webpack: 5.105.3
-
terser@5.46.0:
dependencies:
'@jridgewell/source-map': 0.3.11
@@ -19656,10 +16288,6 @@ snapshots:
dependencies:
any-promise: 1.3.0
- thingies@2.5.0(tslib@2.8.1):
- dependencies:
- tslib: 2.8.1
-
throat@5.0.0: {}
through2@2.0.5:
@@ -19673,15 +16301,14 @@ snapshots:
through@2.3.8: {}
- thunky@1.1.0: {}
-
- tiny-invariant@1.3.3: {}
-
- tiny-warning@1.0.3: {}
-
tinyexec@1.0.2: {}
- tinypool@1.1.1: {}
+ tinyexec@1.2.4: {}
+
+ tinyglobby@0.2.17:
+ dependencies:
+ fdir: 6.5.0(picomatch@4.0.4)
+ picomatch: 4.0.4
tinypool@2.1.0: {}
@@ -19701,14 +16328,8 @@ snapshots:
toqr@0.1.1: {}
- totalist@3.0.1: {}
-
tr46@0.0.3: {}
- tree-dump@1.1.0(tslib@2.8.1):
- dependencies:
- tslib: 2.8.1
-
trim-lines@3.0.1: {}
trim-newlines@3.0.1: {}
@@ -19719,14 +16340,8 @@ snapshots:
ts-interface-checker@0.1.13: {}
- tslib@1.14.1: {}
-
tslib@2.8.1: {}
- tsyringe@4.10.0:
- dependencies:
- tslib: 1.14.1
-
type-check@0.3.2:
dependencies:
prelude-ls: 1.1.2
@@ -19747,11 +16362,6 @@ snapshots:
type-fest@2.19.0: {}
- type-is@1.6.18:
- dependencies:
- media-typer: 0.3.0
- mime-types: 2.1.35
-
typed-array-buffer@1.0.3:
dependencies:
call-bound: 1.0.4
@@ -19791,8 +16401,28 @@ snapshots:
typedarray@0.0.6: {}
+ typedoc-plugin-frontmatter@1.3.1(typedoc-plugin-markdown@4.11.0(typedoc@0.28.19(typescript@5.9.3))):
+ dependencies:
+ typedoc-plugin-markdown: 4.11.0(typedoc@0.28.19(typescript@5.9.3))
+ yaml: 2.8.2
+
+ typedoc-plugin-markdown@4.11.0(typedoc@0.28.19(typescript@5.9.3)):
+ dependencies:
+ typedoc: 0.28.19(typescript@5.9.3)
+
+ typedoc@0.28.19(typescript@5.9.3):
+ dependencies:
+ '@gerrit0/mini-shiki': 3.23.0
+ lunr: 2.3.9
+ markdown-it: 14.2.0
+ minimatch: 10.2.5
+ typescript: 5.9.3
+ yaml: 2.9.0
+
typescript@5.9.3: {}
+ uc.micro@2.1.0: {}
+
uglify-js@3.19.3:
optional: true
@@ -19811,8 +16441,6 @@ snapshots:
unicode-canonical-property-names-ecmascript@2.0.1: {}
- unicode-emoji-modifier-base@1.0.0: {}
-
unicode-match-property-ecmascript@2.0.0:
dependencies:
unicode-canonical-property-names-ecmascript: 2.0.1
@@ -19854,6 +16482,11 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
+ unist-util-remove-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.1.0
+
unist-util-stringify-position@4.0.0:
dependencies:
'@types/unist': 3.0.3
@@ -19900,33 +16533,29 @@ snapshots:
semver-diff: 4.0.0
xdg-basedir: 5.1.0
- uri-js@4.4.1:
- dependencies:
- punycode: 2.3.1
-
url-join@5.0.0: {}
- url-loader@4.1.1(file-loader@6.2.0(webpack@5.105.3))(webpack@5.105.3):
+ use-callback-ref@1.3.3(@types/react@19.2.14)(react@19.2.3):
dependencies:
- loader-utils: 2.0.4
- mime-types: 2.1.35
- schema-utils: 3.3.0
- webpack: 5.105.3
+ react: 19.2.3
+ tslib: 2.8.1
optionalDependencies:
- file-loader: 6.2.0(webpack@5.105.3)
-
- util-deprecate@1.0.2: {}
+ '@types/react': 19.2.14
- utila@0.4.0: {}
+ use-sidecar@1.1.3(@types/react@19.2.14)(react@19.2.3):
+ dependencies:
+ detect-node-es: 1.1.0
+ react: 19.2.3
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 19.2.14
- utility-types@3.11.0: {}
+ util-deprecate@1.0.2: {}
utils-merge@1.0.1: {}
uuid@7.0.3: {}
- uuid@8.3.2: {}
-
validate-npm-package-license@3.0.4:
dependencies:
spdx-correct: 3.2.0
@@ -19934,8 +16563,6 @@ snapshots:
validate-npm-package-name@5.0.1: {}
- value-equal@1.0.1: {}
-
vary@1.1.2: {}
vfile-location@5.0.3:
@@ -19964,15 +16591,6 @@ snapshots:
dependencies:
makeerror: 1.0.12
- watchpack@2.5.1:
- dependencies:
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
-
- wbuf@1.7.3:
- dependencies:
- minimalistic-assert: 1.0.1
-
wcwidth@1.0.1:
dependencies:
defaults: 1.0.4
@@ -19985,142 +16603,6 @@ snapshots:
webidl-conversions@5.0.0: {}
- webpack-bundle-analyzer@4.10.2:
- dependencies:
- '@discoveryjs/json-ext': 0.5.7
- acorn: 8.16.0
- acorn-walk: 8.3.5
- commander: 7.2.0
- debounce: 1.2.1
- escape-string-regexp: 4.0.0
- gzip-size: 6.0.0
- html-escaper: 2.0.2
- opener: 1.5.2
- picocolors: 1.1.1
- sirv: 2.0.4
- ws: 7.5.10
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
-
- webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.105.3):
- dependencies:
- colorette: 2.0.20
- memfs: 4.56.10(tslib@2.8.1)
- mime-types: 3.0.2
- on-finished: 2.4.1
- range-parser: 1.2.1
- schema-utils: 4.3.3
- optionalDependencies:
- webpack: 5.105.3
- transitivePeerDependencies:
- - tslib
-
- webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.105.3):
- dependencies:
- '@types/bonjour': 3.5.13
- '@types/connect-history-api-fallback': 1.5.4
- '@types/express': 4.17.25
- '@types/express-serve-static-core': 4.19.8
- '@types/serve-index': 1.9.4
- '@types/serve-static': 1.15.10
- '@types/sockjs': 0.3.36
- '@types/ws': 8.18.1
- ansi-html-community: 0.0.8
- bonjour-service: 1.3.0
- chokidar: 3.6.0
- colorette: 2.0.20
- compression: 1.8.1
- connect-history-api-fallback: 2.0.0
- express: 4.22.1
- graceful-fs: 4.2.11
- http-proxy-middleware: 2.0.9(@types/express@4.17.25)
- ipaddr.js: 2.3.0
- launch-editor: 2.13.1
- open: 10.2.0
- p-retry: 6.2.1
- schema-utils: 4.3.3
- selfsigned: 5.5.0
- serve-index: 1.9.2
- sockjs: 0.3.24
- spdy: 4.0.2
- webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.105.3)
- ws: 8.19.0
- optionalDependencies:
- webpack: 5.105.3
- transitivePeerDependencies:
- - bufferutil
- - debug
- - supports-color
- - tslib
- - utf-8-validate
-
- webpack-merge@5.10.0:
- dependencies:
- clone-deep: 4.0.1
- flat: 5.0.2
- wildcard: 2.0.1
-
- webpack-merge@6.0.1:
- dependencies:
- clone-deep: 4.0.1
- flat: 5.0.2
- wildcard: 2.0.1
-
- webpack-sources@3.3.4: {}
-
- webpack@5.105.3:
- dependencies:
- '@types/eslint-scope': 3.7.7
- '@types/estree': 1.0.8
- '@types/json-schema': 7.0.15
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/wasm-edit': 1.14.1
- '@webassemblyjs/wasm-parser': 1.14.1
- acorn: 8.16.0
- acorn-import-phases: 1.0.4(acorn@8.16.0)
- browserslist: 4.28.1
- chrome-trace-event: 1.0.4
- enhanced-resolve: 5.19.0
- es-module-lexer: 2.0.0
- eslint-scope: 5.1.1
- events: 3.3.0
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
- json-parse-even-better-errors: 2.3.1
- loader-runner: 4.3.1
- mime-types: 2.1.35
- neo-async: 2.6.2
- schema-utils: 4.3.3
- tapable: 2.3.0
- terser-webpack-plugin: 5.3.16(webpack@5.105.3)
- watchpack: 2.5.1
- webpack-sources: 3.3.4
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - uglify-js
-
- webpackbar@6.0.1(webpack@5.105.3):
- dependencies:
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- consola: 3.4.2
- figures: 3.2.0
- markdown-table: 2.0.0
- pretty-time: 1.1.0
- std-env: 3.10.0
- webpack: 5.105.3
- wrap-ansi: 7.0.0
-
- websocket-driver@0.7.4:
- dependencies:
- http-parser-js: 0.5.10
- safe-buffer: 5.2.1
- websocket-extensions: 0.1.4
-
- websocket-extensions@0.1.4: {}
-
whatwg-fetch@3.6.20: {}
whatwg-url-minimum@0.1.1: {}
@@ -20187,8 +16669,6 @@ snapshots:
wildcard-match@5.1.2: {}
- wildcard@2.0.1: {}
-
windows-release@5.1.1:
dependencies:
execa: 5.1.1
@@ -20245,10 +16725,6 @@ snapshots:
ws@8.19.0: {}
- wsl-utils@0.1.0:
- dependencies:
- is-wsl: 3.1.1
-
xcode@3.0.1:
dependencies:
simple-plist: 1.3.1
@@ -20256,10 +16732,6 @@ snapshots:
xdg-basedir@5.1.0: {}
- xml-js@1.6.11:
- dependencies:
- sax: 1.4.4
-
xml2js@0.6.0:
dependencies:
sax: 1.4.4
@@ -20281,6 +16753,8 @@ snapshots:
yaml@2.8.2: {}
+ yaml@2.9.0: {}
+
yargs-parser@20.2.9: {}
yargs-parser@21.1.1: {}
@@ -20311,4 +16785,6 @@ snapshots:
zod@3.25.76: {}
+ zod@4.4.3: {}
+
zwitch@2.0.4: {}
From 6a3f223ce8f50215fe239121c033bd753369edd0 Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 19:16:58 +0200
Subject: [PATCH 11/16] fix(docs): add header docs link, flatten API sidebar
for mobile expandability
---
apps/docs/lib/layout.shared.tsx | 5 ++++
.../lib/source/api-reference-tree-plugin.ts | 26 ++++++++++++++++---
2 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/apps/docs/lib/layout.shared.tsx b/apps/docs/lib/layout.shared.tsx
index 0a57865..1c4670b 100644
--- a/apps/docs/lib/layout.shared.tsx
+++ b/apps/docs/lib/layout.shared.tsx
@@ -13,6 +13,11 @@ export function baseOptions(): BaseLayoutProps {
},
githubUrl: `https://github.com/${gitConfig.user}/${gitConfig.repo}`,
links: [
+ {
+ text: 'Documentation',
+ url: '/docs',
+ active: 'nested-url',
+ },
{
text: 'Latest Release',
url: `https://github.com/${gitConfig.user}/${gitConfig.repo}/releases/latest`,
diff --git a/apps/docs/lib/source/api-reference-tree-plugin.ts b/apps/docs/lib/source/api-reference-tree-plugin.ts
index f3efdda..fbd60e3 100644
--- a/apps/docs/lib/source/api-reference-tree-plugin.ts
+++ b/apps/docs/lib/source/api-reference-tree-plugin.ts
@@ -65,6 +65,19 @@ function transformNode(node: Node): Node {
return isApiReferenceFolder(folder) ? transformApiReferenceFolder(folder) : folder;
}
+/**
+ * Lifts the TypeDoc `api/` folder's contents up to the sidebar root (under the `---API Reference---`
+ * separator) instead of nesting them in a collapsible index-folder. An index-folder renders its
+ * chevron inside its link, so on mobile it navigates instead of expanding — flattening avoids that
+ * and matches the layout of the other sections. The folder's own index page becomes an "Overview"
+ * entry.
+ */
+function liftApiReferenceFolder(folder: Folder): Node[] {
+ const transformed = transformApiReferenceFolder(folder);
+ const overview = transformed.index == null ? [] : [{ ...transformed.index, name: 'Overview' }];
+ return [...overview, ...transformed.children];
+}
+
/**
* Reshapes the TypeDoc-generated `api/` subtree: lifts the two classes (`CloudStorage`,
* `CloudStorageError`) to the section root, renames the remaining kind folders to friendly labels
@@ -75,10 +88,15 @@ export function createApiReferenceTreePlugin(): LoaderPlugin {
name: 'api-reference-tree',
transformPageTree: {
root(node: Root) {
- return {
- ...node,
- children: node.children.map(transformNode),
- };
+ const children: Node[] = [];
+ for (const child of node.children) {
+ if (child.type === 'folder' && isApiReferenceFolder(child)) {
+ children.push(...liftApiReferenceFolder(child));
+ } else {
+ children.push(transformNode(child));
+ }
+ }
+ return { ...node, children };
},
},
};
From 140a4c1044bd70472d7479a537c1e4dfe0fb7b72 Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 19:23:07 +0200
Subject: [PATCH 12/16] feat(docs): use package-manager install tabs
(npm/pnpm/yarn/bun)
---
apps/docs/content/docs/installation/expo.mdx | 6 ++----
apps/docs/content/docs/installation/react-native.mdx | 6 ++----
apps/docs/source.config.ts | 7 ++++++-
3 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/apps/docs/content/docs/installation/expo.mdx b/apps/docs/content/docs/installation/expo.mdx
index 8589275..0004837 100644
--- a/apps/docs/content/docs/installation/expo.mdx
+++ b/apps/docs/content/docs/installation/expo.mdx
@@ -13,10 +13,8 @@ Newer versions of this library are only compatible with the New Architecture. If
First, install the library using your favorite package manager:
-```sh
-npm install react-native-cloud-storage
-# or
-yarn add react-native-cloud-storage
+```package-install
+react-native-cloud-storage
```
Because this library includes native code, you will need to use an [Expo development client](https://docs.expo.dev/development/create-development-builds/). In order to make necessary changes to the iOS files, this library provides an Expo config plugin which makes those changes for you upon build. To use it, simply add the library to the `plugins` section of your `app.json`:
diff --git a/apps/docs/content/docs/installation/react-native.mdx b/apps/docs/content/docs/installation/react-native.mdx
index ed785dd..69df19b 100644
--- a/apps/docs/content/docs/installation/react-native.mdx
+++ b/apps/docs/content/docs/installation/react-native.mdx
@@ -9,10 +9,8 @@ Newer versions of this library are only compatible with the New Architecture. If
First, install the library using your favorite package manager:
-```sh
-npm install react-native-cloud-storage
-# or
-yarn add react-native-cloud-storage
+```package-install
+react-native-cloud-storage
```
After installing the library itself, you will need to install the native iOS module (linking is done by React Native's autolinking) and configure iCloud within the native iOS files. First, install the pods:
diff --git a/apps/docs/source.config.ts b/apps/docs/source.config.ts
index a5dfce3..16d3710 100644
--- a/apps/docs/source.config.ts
+++ b/apps/docs/source.config.ts
@@ -22,5 +22,10 @@ export const docs = defineDocs({
});
export default defineConfig({
- mdxOptions: {},
+ mdxOptions: {
+ // `package-install` code blocks become npm/pnpm/yarn/bun tabs; persist syncs the choice site-wide.
+ remarkNpmOptions: {
+ persist: { id: 'package-manager' },
+ },
+ },
});
From 4ec8d680b458486439b2c8fe852e11d64dc9b85e Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 19:40:46 +0200
Subject: [PATCH 13/16] docs: expand intro, deslop
---
apps/docs/README.md | 4 +-
apps/docs/app/(home)/page.tsx | 49 +++++++++++++------
apps/docs/content/docs/index.mdx | 46 ++++++++++++++++-
apps/docs/content/docs/installation/expo.mdx | 4 +-
.../docs/installation/react-native.mdx | 2 +-
apps/docs/lib/layout.shared.tsx | 7 +--
apps/docs/lib/site.ts | 2 +-
7 files changed, 86 insertions(+), 28 deletions(-)
diff --git a/apps/docs/README.md b/apps/docs/README.md
index 3080191..edaebc6 100644
--- a/apps/docs/README.md
+++ b/apps/docs/README.md
@@ -1,4 +1,4 @@
-# React Native Cloud Storage — Documentation
+# React Native Cloud Storage Documentation
The documentation site for [`react-native-cloud-storage`](https://github.com/kuatsu/react-native-cloud-storage),
built with [Fumadocs](https://fumadocs.dev) on Next.js. Deployed to
@@ -36,7 +36,7 @@ sync with `packages/react-native-cloud-storage/src`.
The API reference is generated from the library's TypeScript and TSDoc by TypeDoc
(`typedoc.config.mts` + `scripts/typedoc-frontmatter.mts`). Provider/platform badges come from
-additive `@platform` / `@provider` TSDoc tags in the library source — never edit the generated MDX.
+additive `@platform` / `@provider` TSDoc tags in the library source; never edit the generated MDX.
## Deployment
diff --git a/apps/docs/app/(home)/page.tsx b/apps/docs/app/(home)/page.tsx
index eb40cfd..c35c15d 100644
--- a/apps/docs/app/(home)/page.tsx
+++ b/apps/docs/app/(home)/page.tsx
@@ -1,3 +1,4 @@
+import type { ReactNode } from 'react';
import Link from 'next/link';
import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock';
import { ArrowRight, Cloud, FolderTree, Github, Layers, Puzzle, Webhook } from 'lucide-react';
@@ -5,46 +6,62 @@ import { gitConfig } from '@/lib/layout.shared';
const githubUrl = `https://github.com/${gitConfig.user}/${gitConfig.repo}`;
-const codeSample = `import { CloudStorage, CloudStorageScope } from 'react-native-cloud-storage';
+function InlineCode({ children }: { children: ReactNode }) {
+ return (
+
+ {children}
+
+ );
+}
+
+const codeSample = `import { CloudStorage } from 'react-native-cloud-storage';
-// Write a file to the cloud — iCloud on iOS, Google Drive elsewhere.
-await CloudStorage.writeFile('/data.json', JSON.stringify(state), CloudStorageScope.AppData);
+// Write a file to the cloud...
+await CloudStorage.writeFile('/data.json', data.toString());
-// Read it back — the API mirrors Node's \`fs\`.
-const json = await CloudStorage.readFile('/data.json', CloudStorageScope.AppData);
-const exists = await CloudStorage.exists('/data.json', CloudStorageScope.AppData);`;
+// ... and read it back!
+const data = await CloudStorage.readFile('/data.json');`;
-const features = [
+const features: { icon: typeof FolderTree; title: string; description: ReactNode }[] = [
{
icon: FolderTree,
title: 'fs-like API',
- description: "Read, write, stat, and list files with an API that follows Node's `fs` conventions.",
+ description: (
+ <>
+ Read, write, stat, and list files with an API that follows Node's fs conventions.
+ >
+ ),
},
{
icon: Cloud,
title: 'iCloud & Google Drive',
- description: 'One API, two providers. Default to the right backend per platform, or pick your own.',
+ description: 'One API, two providers. Use the default platform backend, or pick your own.',
},
{
icon: Webhook,
title: 'React hooks',
- description: 'useCloudFile and useIsCloudAvailable keep your UI in sync with cloud state.',
+ description: (
+ <>
+ useCloudFile and useIsCloudAvailable keep your UI in sync with
+ cloud state.
+ >
+ ),
},
{
icon: Puzzle,
title: 'Expo config plugin',
- description: 'Configure the native iCloud capability automatically — no manual Xcode steps, no eject.',
+ description: 'Configure native capabilities automatically in Expo projects.',
},
];
const providers = [
{
- name: 'iCloud',
- scope: 'iOS — backed by CloudKit, available out of the box.',
+ name: 'iCloud (iOS only)',
+ scope: 'Backed by a native CloudKit module.',
},
{
name: 'Google Drive',
- scope: 'iOS & Android — backed by the Drive REST API with your access token.',
+ scope: 'Backed by the Drive REST API using an access token.',
},
];
@@ -58,8 +75,8 @@ export default function HomePage() {
React Native Cloud Storage
- iCloud and Google Drive,
- simplified.
+ iCloud and Google Drive for
+ React Native.
Use iCloud and Google Drive as file storage in your React Native app, with a single fs-like API, React
diff --git a/apps/docs/content/docs/index.mdx b/apps/docs/content/docs/index.mdx
index 6f53fc8..d71368c 100644
--- a/apps/docs/content/docs/index.mdx
+++ b/apps/docs/content/docs/index.mdx
@@ -1,6 +1,50 @@
---
title: Introduction
-description: iCloud and Google Drive for React Native, simplified.
+description: iCloud and Google Drive for React Native.
---
React Native Cloud Storage allows you to use iCloud (iOS only) and Google Drive as file storage in your React Native app. The API of its core functionality follows the conventions of the Node.js module `fs`. React hooks and other utilities make working with cloud files even easier.
+
+## Features
+
+- **`fs`-like API** — `readFile`, `writeFile`, `appendFile`, `readdir`, `mkdir`, `stat`, `unlink`, and more, modeled on Node's `fs` so there's almost nothing new to learn.
+- **Two providers, one API** — [iCloud](/docs/api/enumerations/CloudStorageProvider) (via a native CloudKit module) and [Google Drive](/docs/installation/configure-google-drive) (via the REST API). Use the platform default or [switch between them at runtime](/docs/guides/using-multiple-providers).
+- **React hooks** — [`useCloudFile`](/docs/api/functions/useCloudFile) and [`useIsCloudAvailable`](/docs/api/functions/useIsCloudAvailable) keep your components in sync with cloud state.
+- **Scopes** — read and write in a hidden, app-private container ([`AppData`](/docs/api/enumerations/CloudStorageScope)) or the user-visible iCloud Drive / Google Drive [`Documents`](/docs/api/enumerations/CloudStorageScope) folder.
+- **Expo config plugin** — configures the native iCloud capability automatically, with no manual Xcode steps.
+- **Built for the New Architecture** — ships as a Turbo Module and is fully typed with TypeScript.
+
+## Quick example
+
+```ts
+import { CloudStorage, CloudStorageScope } from 'react-native-cloud-storage';
+
+// Write a JSON file to the app-private scope (iCloud on iOS, Google Drive elsewhere).
+await CloudStorage.writeFile('/state.json', JSON.stringify({ level: 7 }), CloudStorageScope.AppData);
+
+// Read it back later.
+if (await CloudStorage.exists('/state.json', CloudStorageScope.AppData)) {
+ const json = await CloudStorage.readFile('/state.json', CloudStorageScope.AppData);
+ const { level } = JSON.parse(json);
+}
+```
+
+Prefer hooks? [`useCloudFile`](/docs/api/functions/useCloudFile) wraps this read/write cycle into a single reactive value.
+
+## Provider & platform support
+
+| Provider | iOS | Android | Notes |
+| ------------ | :-: | :-----: | ------------------------------------------------------------- |
+| iCloud | ✅ | — | Backed by a native CloudKit module; available out of the box. |
+| Google Drive | ✅ | ✅ | Backed by the Drive REST API; you provide an access token. |
+
+By default, the library picks the right provider for each platform: iCloud on iOS, Google Drive everywhere else. You can override this or even use both providers at once.
+
+## Get started
+
+
+
+
+
+
+
diff --git a/apps/docs/content/docs/installation/expo.mdx b/apps/docs/content/docs/installation/expo.mdx
index 0004837..d26d060 100644
--- a/apps/docs/content/docs/installation/expo.mdx
+++ b/apps/docs/content/docs/installation/expo.mdx
@@ -8,7 +8,7 @@ This library is not compatible with Expo Go. You need to use a [development clie
-Newer versions of this library are only compatible with the New Architecture. If you're still using the Legacy Architecture, [consider migrating to the New Architecture](https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here). If you can't migrate yet, you can continue using version 2 of this library, which is compatible with both the New and Legacy Architectures. You can install it using `npm install react-native-cloud-storage@^2` or `yarn add react-native-cloud-storage@^2`.
+Newer versions of this library are only compatible with the New Architecture. If you're still using the Legacy Architecture, [consider migrating to the New Architecture](https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here). If you can't migrate yet, you can continue using version 2 of this library, which is compatible with both the New and Legacy Architectures. You can install it using `npm install react-native-cloud-storage@^2`.
First, install the library using your favorite package manager:
@@ -17,7 +17,7 @@ First, install the library using your favorite package manager:
react-native-cloud-storage
```
-Because this library includes native code, you will need to use an [Expo development client](https://docs.expo.dev/development/create-development-builds/). In order to make necessary changes to the iOS files, this library provides an Expo config plugin which makes those changes for you upon build. To use it, simply add the library to the `plugins` section of your `app.json`:
+Because this library includes native code, you will need to use an [Expo development client](https://docs.expo.dev/development/create-development-builds/). In order to make necessary changes to the native project files, this library provides an Expo config plugin which makes those changes for you upon build. To use it, simply add the library to the `plugins` section of your `app.json`:
```json
{
diff --git a/apps/docs/content/docs/installation/react-native.mdx b/apps/docs/content/docs/installation/react-native.mdx
index 69df19b..c293caa 100644
--- a/apps/docs/content/docs/installation/react-native.mdx
+++ b/apps/docs/content/docs/installation/react-native.mdx
@@ -4,7 +4,7 @@ description: Install react-native-cloud-storage in a bare React Native project a
---
-Newer versions of this library are only compatible with the New Architecture. If you're still using the Legacy Architecture, [consider migrating to the New Architecture](https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here). If you can't migrate yet, you can continue using version 2 of this library, which is compatible with both the New and Legacy Architectures. You can install it using `npm install react-native-cloud-storage@^2` or `yarn add react-native-cloud-storage@^2`.
+Newer versions of this library are only compatible with the New Architecture. If you're still using the Legacy Architecture, [consider migrating to the New Architecture](https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here). If you can't migrate yet, you can continue using version 2 of this library, which is compatible with both the New and Legacy Architectures. You can install it using `npm install react-native-cloud-storage@^2`.
First, install the library using your favorite package manager:
diff --git a/apps/docs/lib/layout.shared.tsx b/apps/docs/lib/layout.shared.tsx
index 1c4670b..f2e4ef2 100644
--- a/apps/docs/lib/layout.shared.tsx
+++ b/apps/docs/lib/layout.shared.tsx
@@ -17,11 +17,8 @@ export function baseOptions(): BaseLayoutProps {
text: 'Documentation',
url: '/docs',
active: 'nested-url',
- },
- {
- text: 'Latest Release',
- url: `https://github.com/${gitConfig.user}/${gitConfig.repo}/releases/latest`,
- external: true,
+ // Show only in the top navbar, not in the docs sidebar.
+ on: 'nav',
},
],
};
diff --git a/apps/docs/lib/site.ts b/apps/docs/lib/site.ts
index cb4ac38..a534e85 100644
--- a/apps/docs/lib/site.ts
+++ b/apps/docs/lib/site.ts
@@ -1,3 +1,3 @@
export const siteUrl = 'https://react-native-cloud-storage.oss.kuatsu.de';
export const siteName = 'React Native Cloud Storage';
-export const siteDescription = 'iCloud and Google Drive for React Native, simplified.';
+export const siteDescription = 'iCloud and Google Drive for React Native.';
From 9ac934e65410420be7178b72813230c0d769e4db Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 20:17:48 +0200
Subject: [PATCH 14/16] style(docs): formatting improvements
---
apps/docs/app/docs/[[...slug]]/page.tsx | 5 +-
apps/docs/app/global.css | 13 ++
apps/docs/package.json | 5 +-
apps/docs/scripts/format-api-code.mjs | 111 ++++++++++++++++++
apps/docs/typedoc.config.mts | 16 +++
.../src/cloud-storage.ts | 14 +--
.../src/types/main.ts | 8 ++
pnpm-lock.yaml | 10 ++
8 files changed, 170 insertions(+), 12 deletions(-)
create mode 100644 apps/docs/scripts/format-api-code.mjs
diff --git a/apps/docs/app/docs/[[...slug]]/page.tsx b/apps/docs/app/docs/[[...slug]]/page.tsx
index c484096..e45f16d 100644
--- a/apps/docs/app/docs/[[...slug]]/page.tsx
+++ b/apps/docs/app/docs/[[...slug]]/page.tsx
@@ -17,10 +17,11 @@ export default async function Page(props: PageProps<'/docs/[[...slug]]'>) {
const MDX = page.data.body;
const badges = readBadgesFromPageData(page.data);
const tocBadges = readTocBadgesFromPageData(page.data);
+ const isApiPage = page.path.startsWith('api/');
// API pages are generated from the library source, so link "Open in GitHub" to the package source
// rather than the (gitignored) generated MDX file.
- const githubUrl = page.path.startsWith('api/')
+ const githubUrl = isApiPage
? `https://github.com/${gitConfig.user}/${gitConfig.repo}/tree/${gitConfig.branch}/packages/react-native-cloud-storage/src`
: `https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/apps/docs/content/docs/${page.path}`;
@@ -33,7 +34,7 @@ export default async function Page(props: PageProps<'/docs/[[...slug]]'>) {
-
+
code {
+ @apply border-0 bg-transparent p-0 font-normal text-fd-foreground;
+}
diff --git a/apps/docs/package.json b/apps/docs/package.json
index 3b43ca8..b7ffcf5 100644
--- a/apps/docs/package.json
+++ b/apps/docs/package.json
@@ -6,9 +6,9 @@
"dev": "pnpm run docs:api && fumadocs-mdx && next dev",
"build": "pnpm run docs:api && fumadocs-mdx && next build",
"start": "next start",
- "docs:api": "typedoc --options typedoc.config.mts",
+ "docs:api": "typedoc --options typedoc.config.mts && node scripts/format-api-code.mjs",
"typecheck": "pnpm run docs:api && fumadocs-mdx && next typegen && tsc --noEmit",
- "postinstall": "typedoc --options typedoc.config.mts && fumadocs-mdx",
+ "postinstall": "typedoc --options typedoc.config.mts && node scripts/format-api-code.mjs && fumadocs-mdx",
"clean": "rm -rf .next .source content/docs/api"
},
"dependencies": {
@@ -28,6 +28,7 @@
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"postcss": "8.5.15",
+ "prettier": "^3.8.4",
"tailwindcss": "4.3.0",
"typedoc": "0.28.19",
"typedoc-plugin-frontmatter": "1.3.1",
diff --git a/apps/docs/scripts/format-api-code.mjs b/apps/docs/scripts/format-api-code.mjs
new file mode 100644
index 0000000..8d5d737
--- /dev/null
+++ b/apps/docs/scripts/format-api-code.mjs
@@ -0,0 +1,111 @@
+// Reformats the TypeScript code blocks in the TypeDoc-generated API Markdown.
+//
+// typedoc-plugin-markdown emits method/constructor signatures as bare fragments (e.g.
+// `appendFile(...): Promise;`) with inconsistent line wrapping. Those fragments aren't valid
+// standalone TypeScript, so we wrap each into a `declare function` Prettier can parse, format it, and
+// unwrap — leaving anything unrecognizable untouched.
+
+import { readdir, readFile, writeFile } from 'node:fs/promises';
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
+import { format } from 'prettier';
+
+const apiDir = fileURLToPath(new URL('../content/docs/api', import.meta.url));
+const TS_FENCE = /(```(?:ts|tsx|typescript)\n)([\s\S]*?)(\n```)/g;
+
+function scaffoldSignature(code) {
+ const body = code.trim();
+
+ const constructorMatch = body.match(/^new\s+([A-Za-z_$][\w$]*)\s*\(/);
+ if (constructorMatch != null) {
+ return {
+ kind: 'ctor',
+ constructorName: constructorMatch[1],
+ wrapped: body.replace(/^new\s+[A-Za-z_$][\w$]*/, 'declare function __signature__'),
+ };
+ }
+
+ if (/^static\s+[A-Za-z_$][\w$]*\s*(<[^>]*>)?\s*\(/.test(body)) {
+ return {
+ kind: 'static',
+ wrapped: `declare function ${body.replace(/^static\s+/, '')}`,
+ };
+ }
+
+ if (/^[A-Za-z_$][\w$]*\s*(<[^>]*>)?\s*\([\s\S]*\)\s*:/.test(body)) {
+ return { kind: 'method', wrapped: `declare function ${body}` };
+ }
+
+ return { kind: 'skip', wrapped: body };
+}
+
+function unwrapSignature(formatted, scaffold) {
+ const trimmed = formatted.trim();
+ switch (scaffold.kind) {
+ case 'ctor':
+ return trimmed.replace(/^declare function __signature__/, `new ${scaffold.constructorName}`);
+ case 'static':
+ return `static ${trimmed.replace(/^declare function /, '')}`;
+ case 'method':
+ return trimmed.replace(/^declare function /, '');
+ default:
+ return trimmed;
+ }
+}
+
+async function formatCodeBlock(code) {
+ const scaffold = scaffoldSignature(code);
+ if (scaffold.kind === 'skip') {
+ return code;
+ }
+
+ try {
+ const formatted = await format(scaffold.wrapped, {
+ parser: 'typescript',
+ printWidth: 80,
+ semi: true,
+ });
+ return unwrapSignature(formatted, scaffold);
+ } catch {
+ return code;
+ }
+}
+
+async function processFile(filePath) {
+ const source = await readFile(filePath, 'utf8');
+ const matches = [...source.matchAll(TS_FENCE)];
+ if (matches.length === 0) {
+ return;
+ }
+
+ let result = '';
+ let cursor = 0;
+ for (const match of matches) {
+ const [full, open, code, close] = match;
+ result += source.slice(cursor, match.index) + open + (await formatCodeBlock(code)) + close;
+ cursor = match.index + full.length;
+ }
+ result += source.slice(cursor);
+
+ if (result !== source) {
+ await writeFile(filePath, result);
+ }
+}
+
+async function collectMarkdownFiles(dir) {
+ const entries = await readdir(dir, { withFileTypes: true });
+ const files = [];
+ for (const entry of entries) {
+ const entryPath = path.join(dir, entry.name);
+ if (entry.isDirectory()) {
+ files.push(...(await collectMarkdownFiles(entryPath)));
+ } else if (entry.name.endsWith('.md')) {
+ files.push(entryPath);
+ }
+ }
+ return files;
+}
+
+const files = await collectMarkdownFiles(apiDir);
+await Promise.all(files.map(processFile));
+console.log(`Formatted code blocks in ${files.length} API reference files.`);
diff --git a/apps/docs/typedoc.config.mts b/apps/docs/typedoc.config.mts
index 6d7b9e6..347dee0 100644
--- a/apps/docs/typedoc.config.mts
+++ b/apps/docs/typedoc.config.mts
@@ -16,6 +16,12 @@ const config = {
fileURLToPath(new URL('scripts/typedoc-frontmatter.mts', import.meta.url)),
],
blockTags: [...OptionDefaults.blockTags, '@platform', '@provider'],
+ // "Type Literal" is opaque jargon for an anonymous object shape; relabel it.
+ locales: {
+ en: {
+ kind_type_literal: 'Object',
+ },
+ },
readme: 'none',
fileExtension: '.md',
entryFileName: 'index',
@@ -23,6 +29,16 @@ const config = {
hidePageTitle: true,
hideBreadcrumbs: true,
useCodeBlocks: true,
+ // Render members as tables and keep complex object types compact instead of exploding them into
+ // nested "Type Literal" heading soup (the readable full signature already lives in the code block).
+ parametersFormat: 'table',
+ typeDeclarationFormat: 'table',
+ interfacePropertiesFormat: 'table',
+ propertyMembersFormat: 'table',
+ classPropertiesFormat: 'table',
+ enumMembersFormat: 'table',
+ typeDeclarationVisibility: 'compact',
+ expandObjects: false,
expandParameters: true,
disableSources: true,
excludePrivate: true,
diff --git a/packages/react-native-cloud-storage/src/cloud-storage.ts b/packages/react-native-cloud-storage/src/cloud-storage.ts
index 1fa0469..79ed636 100644
--- a/packages/react-native-cloud-storage/src/cloud-storage.ts
+++ b/packages/react-native-cloud-storage/src/cloud-storage.ts
@@ -3,6 +3,7 @@ import {
CloudStorageScope,
type CloudStorageFileStat,
type CloudStorageProviderOptions,
+ type CloudStorageProviderOptionsValue,
type DeepRequired,
} from './types/main';
import { NativeCloudStorageErrorCode, type NativeStorage, type NativeStorageScope } from './types/native';
@@ -27,10 +28,7 @@ export default class RNCloudStorage {
* Creates a new RNCloudStorage instance for the given provider.
* @param provider The provider to create the instance for. Defaults to the default provider for the current platform.
*/
- constructor(
- provider?: CloudStorageProvider,
- options?: CloudStorageProviderOptions[keyof CloudStorageProviderOptions]
- ) {
+ constructor(provider?: CloudStorageProvider, options?: CloudStorageProviderOptionsValue) {
if (provider && !isProviderSupported(provider)) {
throw new Error(`Provider ${provider} is not supported on the current platform.`);
}
@@ -163,7 +161,7 @@ export default class RNCloudStorage {
* Gets the current options for the current provider.
* @returns The current options for the current provider.
*/
- getProviderOptions(): CloudStorageProviderOptions[keyof CloudStorageProviderOptions] {
+ getProviderOptions(): CloudStorageProviderOptionsValue {
return this.provider.options;
}
@@ -171,7 +169,7 @@ export default class RNCloudStorage {
* Sets the options for the current provider.
* @param options The options to set for the provider.
*/
- setProviderOptions(options: CloudStorageProviderOptions[keyof CloudStorageProviderOptions]): void {
+ setProviderOptions(options: CloudStorageProviderOptionsValue): void {
const newOptions = Object.fromEntries(Object.entries(options).filter(([_, v]) => v !== undefined));
this.provider.options = {
...this.provider.options,
@@ -421,7 +419,7 @@ export default class RNCloudStorage {
* Gets the current options for the provider of the default static instance.
* @returns The current options for the provider of the default static instance.
*/
- static getProviderOptions(): CloudStorageProviderOptions[keyof CloudStorageProviderOptions] {
+ static getProviderOptions(): CloudStorageProviderOptionsValue {
return RNCloudStorage.getDefaultInstance().getProviderOptions();
}
@@ -429,7 +427,7 @@ export default class RNCloudStorage {
* Sets the options for the provider of the default static instance.
* @param options The options to set for the provider of the default static instance.
*/
- static setProviderOptions(options: CloudStorageProviderOptions[keyof CloudStorageProviderOptions]): void {
+ static setProviderOptions(options: CloudStorageProviderOptionsValue): void {
RNCloudStorage.getDefaultInstance().setProviderOptions(options);
}
diff --git a/packages/react-native-cloud-storage/src/types/main.ts b/packages/react-native-cloud-storage/src/types/main.ts
index cbd9877..d6af7c5 100644
--- a/packages/react-native-cloud-storage/src/types/main.ts
+++ b/packages/react-native-cloud-storage/src/types/main.ts
@@ -70,3 +70,11 @@ export interface CloudStorageProviderOptions {
timeout?: number;
};
}
+
+/**
+ * Options for a single cloud storage provider: the iCloud options when the iCloud provider is used,
+ * or the Google Drive options when the Google Drive provider is used. This is the value type of
+ * {@link CloudStorageProviderOptions} and the shape accepted by `setProviderOptions` and the
+ * `CloudStorage` constructor.
+ */
+export type CloudStorageProviderOptionsValue = CloudStorageProviderOptions[keyof CloudStorageProviderOptions];
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e1a5f91..d34d2be 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -78,6 +78,9 @@ importers:
postcss:
specifier: 8.5.15
version: 8.5.15
+ prettier:
+ specifier: ^3.8.4
+ version: 3.8.4
tailwindcss:
specifier: 4.3.0
version: 4.3.0
@@ -6353,6 +6356,11 @@ packages:
resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==}
engines: {node: '>= 0.8.0'}
+ prettier@3.8.4:
+ resolution: {integrity: sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==}
+ engines: {node: '>=14'}
+ hasBin: true
+
pretty-bytes@5.6.0:
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
engines: {node: '>=6'}
@@ -15245,6 +15253,8 @@ snapshots:
prelude-ls@1.1.2: {}
+ prettier@3.8.4: {}
+
pretty-bytes@5.6.0: {}
pretty-format@29.7.0:
From 9ed4f6336a59d031862fda0a559f9715b084c4b2 Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 20:24:53 +0200
Subject: [PATCH 15/16] docs: add quick start
---
apps/docs/content/docs/guides/quick-start.mdx | 96 +++++++++++++++++++
apps/docs/content/docs/meta.json | 7 +-
2 files changed, 100 insertions(+), 3 deletions(-)
create mode 100644 apps/docs/content/docs/guides/quick-start.mdx
diff --git a/apps/docs/content/docs/guides/quick-start.mdx b/apps/docs/content/docs/guides/quick-start.mdx
new file mode 100644
index 0000000..d0d524d
--- /dev/null
+++ b/apps/docs/content/docs/guides/quick-start.mdx
@@ -0,0 +1,96 @@
+---
+title: Quick Start
+description: Install react-native-cloud-storage and read and write your first cloud file in a few minutes.
+---
+
+This guide takes you from install to reading and writing your first cloud file. The default `CloudStorage` instance automatically uses iCloud on iOS and Google Drive everywhere else, so most of your code stays the same across platforms.
+
+## 1. Install
+
+```package-install
+react-native-cloud-storage
+```
+
+Then complete the native setup for your platform:
+
+- [Expo managed project](/docs/installation/expo)
+- [Bare React Native project](/docs/installation/react-native)
+- [Configure the Google Drive API](/docs/installation/configure-google-drive) — required whenever Google Drive is used (e.g. on Android)
+
+## 2. Provide a Google Drive access token
+
+iCloud works out of the box on iOS. Google Drive requires an access token that you obtain from the user with a library such as [`@react-native-google-signin/google-signin`](https://github.com/react-native-google-signin/google-signin), then hand to the library:
+
+```ts
+import { CloudStorage, CloudStorageProvider } from 'react-native-cloud-storage';
+
+if (CloudStorage.getProvider() === CloudStorageProvider.GoogleDrive) {
+ CloudStorage.setProviderOptions({ accessToken: 'your_access_token' });
+}
+```
+
+
+ On iOS the default provider is iCloud, which needs no token. You can skip this step if you only target iOS and don't need to use Google Drive. See
+ [Configure Google Drive API](/docs/installation/configure-google-drive) for details on how to acquire a token.
+
+
+## 3. Write and read a file
+
+The core API mirrors Node's `fs`, so reading and writing is just `writeFile` / `readFile`:
+
+```ts
+import { CloudStorage, CloudStorageScope } from 'react-native-cloud-storage';
+
+// Write a file to the app-private scope.
+await CloudStorage.writeFile('/user.json', JSON.stringify({ name: 'Ada' }), CloudStorageScope.AppData);
+
+// Read it back.
+if (await CloudStorage.exists('/user.json', CloudStorageScope.AppData)) {
+ const json = await CloudStorage.readFile('/user.json', CloudStorageScope.AppData);
+ const user = JSON.parse(json);
+}
+```
+
+
+ `CloudStorageScope.AppData` is a hidden, app-private container — ideal for app state and backups. Use
+ `CloudStorageScope.Documents` for files the user should see in iCloud Drive or Google Drive.
+
+
+## 4. Use the React hook
+
+Inside components, [`useCloudFile`](/docs/api/functions/useCloudFile) keeps a single file's content in sync and gives you helpers to write and remove it:
+
+```tsx
+import { Button, Text, View } from 'react-native';
+import { CloudStorageScope, useCloudFile } from 'react-native-cloud-storage';
+
+function Profile() {
+ const { content, write, remove } = useCloudFile('/user.json', CloudStorageScope.AppData);
+
+ return (
+
+ {content ?? 'No profile saved yet'}
+ write(JSON.stringify({ name: 'Ada' }))} />
+
+
+ );
+}
+```
+
+To react to whether the cloud is reachable at all (for example, iCloud right after launch or before the user signs in), use [`useIsCloudAvailable`](/docs/api/functions/useIsCloudAvailable).
+
+## Next steps
+
+
+
+
+
+
diff --git a/apps/docs/content/docs/meta.json b/apps/docs/content/docs/meta.json
index 275ce65..bfa9f01 100644
--- a/apps/docs/content/docs/meta.json
+++ b/apps/docs/content/docs/meta.json
@@ -7,12 +7,13 @@
"installation/expo",
"installation/react-native",
"installation/configure-google-drive",
- "---API Reference---",
- "api",
"---Guides & Tips---",
+ "guides/quick-start",
"guides/using-multiple-providers",
"guides/google-drive-files-same-name",
"guides/migrating-icloud-documents",
- "example"
+ "example",
+ "---API Reference---",
+ "api"
]
}
From 3782095bbae5f10d2a00cf1f6571c2a55f3b52ba Mon Sep 17 00:00:00 2001
From: Maximilian Krause
Date: Sun, 21 Jun 2026 20:48:12 +0200
Subject: [PATCH 16/16] fix(docs): minor fixes
---
.nvmrc | 2 +-
apps/docs/content/docs/example.mdx | 2 +-
apps/docs/lib/layout.shared.tsx | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/.nvmrc b/.nvmrc
index 9a2a0e2..54c6511 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-v20
+v24
diff --git a/apps/docs/content/docs/example.mdx b/apps/docs/content/docs/example.mdx
index f964081..fffdded 100644
--- a/apps/docs/content/docs/example.mdx
+++ b/apps/docs/content/docs/example.mdx
@@ -3,7 +3,7 @@ title: Example Project
description: Run the example app to see every feature of react-native-cloud-storage in action.
---
-An example project is available within the [`apps/example` directory](https://github.com/kuatsu/react-native-cloud-storage/tree/main/apps/example) of the GitHub repository. It demonstrates all functionality the library provides.
+An example project is available within the [`apps/example` directory](https://github.com/kuatsu/react-native-cloud-storage/tree/master/apps/example) of the GitHub repository. It demonstrates all functionality the library provides.
## iOS Setup
diff --git a/apps/docs/lib/layout.shared.tsx b/apps/docs/lib/layout.shared.tsx
index f2e4ef2..069ac1f 100644
--- a/apps/docs/lib/layout.shared.tsx
+++ b/apps/docs/lib/layout.shared.tsx
@@ -3,7 +3,7 @@ import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared';
export const gitConfig = {
user: 'kuatsu',
repo: 'react-native-cloud-storage',
- branch: 'main',
+ branch: 'master',
};
export function baseOptions(): BaseLayoutProps {