diff --git a/.github/renovate.json b/.github/renovate.json
new file mode 100644
index 0000000..b45d638
--- /dev/null
+++ b/.github/renovate.json
@@ -0,0 +1,40 @@
+{
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
+ "configMigration": true,
+ "extends": [
+ "config:recommended",
+ "group:allNonMajor",
+ "schedule:weekly",
+ ":disablePeerDependencies",
+ ":maintainLockFilesMonthly",
+ ":semanticCommits",
+ ":semanticCommitTypeAll(chore)"
+ ],
+ "labels": ["dependencies"],
+ "rangeStrategy": "bump",
+ "postUpdateOptions": ["pnpmDedupe"],
+ "packageRules": [
+ {
+ "matchUpdateTypes": ["patch"],
+ "automerge": true
+ },
+ {
+ "matchUpdateTypes": ["minor"],
+ "automerge": false
+ },
+ {
+ "matchUpdateTypes": ["major"],
+ "automerge": false
+ }
+ ],
+ "ignoreDeps": [
+ "@types/node",
+ "@types/react",
+ "@types/react-dom",
+ "react",
+ "react-dom",
+ "typescript",
+ "tsdown"
+ ]
+}
+
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2e3c2a0..0cae136 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -9,6 +9,10 @@ jobs:
ci:
name: CI
runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ command: ["ci:lint", "ci:test", "build"]
+
steps:
- name: Checkout Repo
uses: actions/checkout@v4
@@ -26,8 +30,5 @@ jobs:
- name: Install Dependencies
run: pnpm install
- - name: Test
- run: pnpm test
-
- - name: Prepack
- run: pnpm prepack
+ - name: Run Command
+ run: pnpm ${{ matrix.command }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index abdb652..a568446 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -33,6 +33,7 @@ jobs:
run: pnpm install --frozen-lockfile
- name: Update Version
+ working-directory: packages/event-tracker
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
@@ -41,8 +42,13 @@ jobs:
git push --set-upstream origin release/${{ github.event.inputs.version }}
git push --tags
+ - name: Run Tests
+ working-directory: packages/event-tracker
+ run: pnpm run ci:test
+
- name: Build Package
- run: pnpm build
+ working-directory: packages/event-tracker
+ run: pnpm run build
- name: Create GitHub Release
env:
@@ -53,6 +59,7 @@ jobs:
--generate-notes
- name: Publish to npm
+ working-directory: packages/event-tracker
run: pnpm publish --no-git-checks
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/.gitignore b/.gitignore
index e95c677..ab5cd6e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,7 +15,7 @@ node_modules
out/
build
dist
-
+.turbo
# Misc
.DS_Store
diff --git a/.husky/pre-push b/.husky/pre-push
index 677022b..08c8d4e 100644
--- a/.husky/pre-push
+++ b/.husky/pre-push
@@ -1 +1 @@
-pnpm lint-staged && pnpm test
\ No newline at end of file
+pnpm lint-staged && pnpm ci:test
\ No newline at end of file
diff --git a/.lintstagedrc b/.lintstagedrc
index 648c311..580725c 100644
--- a/.lintstagedrc
+++ b/.lintstagedrc
@@ -1,3 +1,3 @@
{
"*.{ts,tsx}": ["pnpm lint --fix", "prettier --write --ignore-unknown"]
-}
\ No newline at end of file
+}
diff --git a/README.md b/README.md
index 3d4b7e7..a503f3a 100644
--- a/README.md
+++ b/README.md
@@ -2,44 +2,108 @@
-# event-tracker · [](https://github.com/offlegacy/event-tracker/blob/main/LICENSE) [](https://www.npmjs.com/package/@offlegacy/event-tracker)
+# event-tracker · [](https://github.com/offlegacy/event-tracker/blob/main/LICENSE) [](https://www.npmjs.com/package/@offlegacy/event-tracker)
-Comprehensive solution for event tracking in React applications
+> Focus on _what_ to track, not _how_ to track it!
+A comprehensive solution for event tracking in React applications. Separate tracking logic from business logic with declarative, type-safe APIs.
-## Key Features
-- 🎯 Declarative event tracking with type-safe APIs
-- 🛡️ Data type validation with schemas
-- ⚡️ Optimized performance with event batching
-- 🔄 Guaranteed execution order for async operations
-- 🔌 Analytics tool agnostic - works with any provider
-- 🧩 Clean separation of tracking logic from business logic
-- 📦 Lightweight - minimal bundle size impact on your application
+## Installation
-## Why event-tracker?
+To install the `event-tracker` library, you can use npm or yarn. Run one of the following commands in your project directory:
-Event tracking is essential for modern web applications, but implementing it cleanly can be challenging. Common pain points include:
+Using npm:
+```bash
+npm install @offlegacy/event-tracker
+```
-- Mixing tracking logic with business logic
-- Managing complex tracking state
-- Ensuring reliable event delivery with data type validation
-- Maintaining type safety
-- Performance overhead
+Using yarn:
+```bash
+yarn add @offlegacy/event-tracker
+```
-`event-tracker` solves these problems with a declarative API that keeps your code clean and performant.
+Using pnpm:
+```bash
+pnpm install @offlegacy/event-tracker
+```
-## Official Documentation
+## What is Event Tracker?
-Visit the [official documentation](https://event-tracker.offlegacy.org/) for detailed information on installation, usage, and more.
+Event Tracker is a declarative React library that simplifies the process of implementing complex event tracking, allowing developers to focus more on business logic. It is designed to make event tracking easy and efficient for applications of any scale.
-## Contributing
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+// Create a tracker instance
+const [Track, useTracker] = createTracker({
+ DOMEvents: {
+ onClick: (params, context) => {
+ log("Click event:", params, context);
+ },
+ },
+});
+
+// Usage in the app
+function App() {
+ return (
+
+
+ Event Click!
+
+
+ );
+}
+```
+
+### Key Features
+
+Event Tracker provides a wide range of features focused on both developer experience and application performance.
+
+| Feature | Description |
+| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Declarative API | Easily declare tracking as components without additional setup or complex code. |
+| Analytics Tool Agnostic | Integrate with any tool such as [Google Analytics](https://analytics.google.com/) or [Amplitude](https://amplitude.com/) without modifying existing infrastructure. |
+| Clear Separation of Concerns | Keep tracking logic completely separate from business code, improving readability, testability, and maintainability. |
+| Optimized Performance | Built-in strategies like batching, debouncing, and throttling minimize network requests, enabling stable tracking without performance degradation. |
+| Guaranteed Execution Order | Ensures events are processed in the intended order even in asynchronous scenarios, enabling accurate tracking in complex user flows. |
+| Data Validation | Schema validation with [standard-schema](https://github.com/standard-schema/standard-schema) prevents build-time errors and ensures the reliability of collected event data. |
+
+## Core Concepts
+
+To use Event Tracker effectively, there are several key concepts to understand.
+
+### Instance (`createTracker`)
+
+This is the fundamental starting point of the library. Using the `createTracker` function, you create a tracker instance (a collection of `Track` components and the `useTracker` hook). Here, you define event tracking by configuring DOM event handlers, impression handlers, and schemas.
+
+You can create multiple tracker instances for different purposes (for example, one for Google Analytics and another for Amplitude).
-We welcome contribution from everyone in the community. Read below for detailed contribution guide.
+### Provider (`Track.Provider`)
-[CONTRIBUTING.md](https://github.com/offlegacy/event-tracker/blob/main/CONTRIBUTING.md)
+Implemented based on React’s Context API. Wrap the top level of your application or a specific component tree with `Track.Provider` to supply common data (context) needed for tracking to child components. For example, passing `userId` or `pageName` as context allows these values to be used during event tracking.
+
+### Event Components (`Track.Click`, `Track.PageView`, etc.)
+
+These are special components that enable declarative event tracking. They are provided as the first element in the array returned by `createTracker`.
+
+- `Track.Click`: Tracks when a click event occurs on child elements.
+- `Track.Impression`: Tracks when child elements are displayed on screen.
+- `Track.PageView`: Tracks a page view event when the component mounts.
+
+You can use the provided components or create custom ones to handle various user interactions and lifecycle events. Each component accepts `context` and `params` props to pass specific data relevant to the event.
+
+### Custom Hook
+
+Use when you need more complex or conditional event tracking that is not directly tied to component lifecycle or DOM events. The hook allows you to access context from `Track.Provider` and execute defined tracking logic imperatively.
+
+## Visit [official documentation](https://event-tracker.offlegacy.org/)
+
+Visit the [official documentation](https://event-tracker.offlegacy.org/) for detailed information on installation, usage, and more.
+
+## Contributing
-### Contributors
+We welcome contribution from everyone in the community. Read for detailed [contribution guide](https://github.com/offlegacy/event-tracker/blob/main/CONTRIBUTING.md).
[](https://github.com/offlegacy/event-tracker/contributors)
diff --git a/docs/README.md b/docs/README.md
deleted file mode 100644
index e215bc4..0000000
--- a/docs/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
-This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
-
-## Getting Started
-
-First, run the development server:
-
-```bash
-npm run dev
-# or
-yarn dev
-# or
-pnpm dev
-# or
-bun dev
-```
-
-Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
-
-You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
-
-This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
-
-## Learn More
-
-To learn more about Next.js, take a look at the following resources:
-
-- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
-- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
-
-You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
-
-## Deploy on Vercel
-
-The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
-
-Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
diff --git a/docs/.gitignore b/docs/offlegacy.org/.gitignore
similarity index 100%
rename from docs/.gitignore
rename to docs/offlegacy.org/.gitignore
diff --git a/docs/eslint.config.mjs b/docs/offlegacy.org/eslint.config.mjs
similarity index 100%
rename from docs/eslint.config.mjs
rename to docs/offlegacy.org/eslint.config.mjs
diff --git a/docs/next.config.ts b/docs/offlegacy.org/next.config.ts
similarity index 64%
rename from docs/next.config.ts
rename to docs/offlegacy.org/next.config.ts
index 6a5d444..c453c5e 100644
--- a/docs/next.config.ts
+++ b/docs/offlegacy.org/next.config.ts
@@ -6,14 +6,23 @@ const withNextra = nextra({
search: {
codeblocks: false,
},
- contentDirBasePath: "/docs",
+ readingTime: true,
});
const nextConfig: NextConfig = {
+ reactStrictMode: true,
i18n: {
locales: ["en", "ko"],
defaultLocale: "en",
},
+ images: {
+ remotePatterns: [
+ {
+ protocol: "https",
+ hostname: "contrib.rocks",
+ },
+ ],
+ },
};
export default withNextra(nextConfig);
diff --git a/docs/offlegacy.org/package.json b/docs/offlegacy.org/package.json
new file mode 100644
index 0000000..92c1d7f
--- /dev/null
+++ b/docs/offlegacy.org/package.json
@@ -0,0 +1,41 @@
+{
+ "name": "@offlegacy/offlegacy.org",
+ "version": "0.1.0",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start",
+ "lint": "next lint",
+ "postbuild": "pagefind --site .next/server/app --output-path public/_pagefind",
+ "clean": "rimraf ./next ./node_modules"
+ },
+ "dependencies": {
+ "@amplitude/analytics-browser": "^2.33.0",
+ "@offlegacy/event-tracker": "workspace:*",
+ "@uidotdev/usehooks": "^2.4.1",
+ "codehike": "^1.0.7",
+ "lucide-react": "^0.525.0",
+ "motion": "^12.23.26",
+ "next": "16.2.6",
+ "nextra": "^4.6.1",
+ "nextra-theme-docs": "^4.6.1",
+ "react": "^19.2.6",
+ "react-dom": "^19.2.6",
+ "sonner": "^2.0.7"
+ },
+ "devDependencies": {
+ "@eslint/eslintrc": "^3.3.3",
+ "@types/node": "^20.19.27",
+ "@types/react": "^19.2.7",
+ "@types/react-dom": "^19.2.3",
+ "eslint-config-next": "15.3.5",
+ "pagefind": "^1.4.0",
+ "postcss": "^8.5.6",
+ "@tailwindcss/postcss": "^4.3.0",
+ "prettier-plugin-tailwindcss": "^0.6.13",
+ "tailwindcss": "^4.3.0",
+ "typescript": "^5.9.3"
+ }
+}
diff --git a/docs/pnpm-lock.yaml b/docs/offlegacy.org/pnpm-lock.yaml
similarity index 89%
rename from docs/pnpm-lock.yaml
rename to docs/offlegacy.org/pnpm-lock.yaml
index cf56380..6324f42 100644
--- a/docs/pnpm-lock.yaml
+++ b/docs/offlegacy.org/pnpm-lock.yaml
@@ -12,42 +12,57 @@ importers:
specifier: ^2.11.11
version: 2.11.11
'@offlegacy/event-tracker':
- specifier: ^1.0.3
- version: 1.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ specifier: latest
+ version: 1.3.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(zod@3.24.1)
+ '@uidotdev/usehooks':
+ specifier: ^2.4.1
+ version: 2.4.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ codehike:
+ specifier: ^1.0.7
+ version: 1.0.7
+ lucide-react:
+ specifier: ^0.525.0
+ version: 0.525.0(react@19.1.1)
+ motion:
+ specifier: ^12.23.0
+ version: 12.23.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
- specifier: 15.1.6
- version: 15.1.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ specifier: 15.3.5
+ version: 15.3.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
nextra:
- specifier: ^4.0.7
- version: 4.0.7(acorn@8.14.0)(next@15.1.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)
+ specifier: ^4.2.17
+ version: 4.2.17(acorn@8.14.0)(next@15.3.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.7.3)
nextra-theme-docs:
- specifier: ^4.0.7
- version: 4.0.7(@types/react@19.0.8)(next@15.1.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nextra@4.0.7(acorn@8.14.0)(next@15.1.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ specifier: ^4.2.17
+ version: 4.2.17(@types/react@19.1.9)(next@15.3.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(nextra@4.2.17(acorn@8.14.0)(next@15.3.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.7.3))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
react:
- specifier: ^19.0.0
- version: 19.0.0
+ specifier: ^19.1.1
+ version: 19.1.1
react-dom:
- specifier: ^19.0.0
- version: 19.0.0(react@19.0.0)
+ specifier: ^19.1.1
+ version: 19.1.1(react@19.1.1)
+ sonner:
+ specifier: ^2.0.6
+ version: 2.0.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
devDependencies:
'@eslint/eslintrc':
- specifier: ^3.2.0
- version: 3.2.0
+ specifier: ^3.3.1
+ version: 3.3.1
'@types/node':
specifier: ^20
- version: 20.17.16
+ version: 20.19.9
'@types/react':
- specifier: ^19.0.0
- version: 19.0.8
+ specifier: ^19.1.9
+ version: 19.1.9
'@types/react-dom':
- specifier: ^19.0.0
- version: 19.0.3(@types/react@19.0.8)
+ specifier: ^19.1.7
+ version: 19.1.7(@types/react@19.1.9)
eslint:
specifier: ^9
version: 9.18.0(jiti@1.21.7)
eslint-config-next:
- specifier: 15.1.6
- version: 15.1.6(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
+ specifier: 15.3.5
+ version: 15.3.5(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
pagefind:
specifier: ^1.3.0
version: 1.3.0
@@ -55,8 +70,8 @@ importers:
specifier: ^8
version: 8.5.1
prettier-plugin-tailwindcss:
- specifier: ^0.6.11
- version: 0.6.11(prettier@3.4.2)
+ specifier: ^0.6.13
+ version: 0.6.13(prettier@3.4.2)
tailwindcss:
specifier: ^3.4.1
version: 3.4.17
@@ -121,8 +136,11 @@ packages:
'@chevrotain/utils@11.0.3':
resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==}
- '@emnapi/runtime@1.3.1':
- resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
+ '@code-hike/lighter@1.0.1':
+ resolution: {integrity: sha512-mccvcsk5UTScRrE02oBz1/qzckyhD8YE3VQlQv++2bSVVZgNuCUX8MpokSCi5OmfRAAxbj6kmNiqq1Um8eXPrw==}
+
+ '@emnapi/runtime@1.4.4':
+ resolution: {integrity: sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg==}
'@eslint-community/eslint-utils@4.4.1':
resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
@@ -142,8 +160,8 @@ packages:
resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/eslintrc@3.2.0':
- resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
+ '@eslint/eslintrc@3.3.1':
+ resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.18.0':
@@ -179,8 +197,8 @@ packages:
'@floating-ui/utils@0.2.9':
resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
- '@formatjs/intl-localematcher@0.5.10':
- resolution: {integrity: sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==}
+ '@formatjs/intl-localematcher@0.6.1':
+ resolution: {integrity: sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg==}
'@headlessui/react@2.2.0':
resolution: {integrity: sha512-RzCEg+LXsuI7mHiSomsu/gBJSjpupm6A1qIZ5sWjd7JhARNlMiSA4kKfJpCKwU9tE+zMRterhhrP74PvfJrpXQ==}
@@ -215,107 +233,118 @@ packages:
'@iconify/utils@2.2.1':
resolution: {integrity: sha512-0/7J7hk4PqXmxo5PDBDxmnecw5PxklZJfNjIVG9FM0mEfVrvfudS22rYWsqVk6gR3UJ/mSYS90X4R3znXnqfNA==}
- '@img/sharp-darwin-arm64@0.33.5':
- resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
+ '@img/sharp-darwin-arm64@0.34.2':
+ resolution: {integrity: sha512-OfXHZPppddivUJnqyKoi5YVeHRkkNE2zUFT2gbpKxp/JZCFYEYubnMg+gOp6lWfasPrTS+KPosKqdI+ELYVDtg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [darwin]
- '@img/sharp-darwin-x64@0.33.5':
- resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
+ '@img/sharp-darwin-x64@0.34.2':
+ resolution: {integrity: sha512-dYvWqmjU9VxqXmjEtjmvHnGqF8GrVjM2Epj9rJ6BUIXvk8slvNDJbhGFvIoXzkDhrJC2jUxNLz/GUjjvSzfw+g==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [darwin]
- '@img/sharp-libvips-darwin-arm64@1.0.4':
- resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
+ '@img/sharp-libvips-darwin-arm64@1.1.0':
+ resolution: {integrity: sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==}
cpu: [arm64]
os: [darwin]
- '@img/sharp-libvips-darwin-x64@1.0.4':
- resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
+ '@img/sharp-libvips-darwin-x64@1.1.0':
+ resolution: {integrity: sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==}
cpu: [x64]
os: [darwin]
- '@img/sharp-libvips-linux-arm64@1.0.4':
- resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
+ '@img/sharp-libvips-linux-arm64@1.1.0':
+ resolution: {integrity: sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==}
cpu: [arm64]
os: [linux]
- '@img/sharp-libvips-linux-arm@1.0.5':
- resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
+ '@img/sharp-libvips-linux-arm@1.1.0':
+ resolution: {integrity: sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==}
cpu: [arm]
os: [linux]
- '@img/sharp-libvips-linux-s390x@1.0.4':
- resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
+ '@img/sharp-libvips-linux-ppc64@1.1.0':
+ resolution: {integrity: sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-s390x@1.1.0':
+ resolution: {integrity: sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==}
cpu: [s390x]
os: [linux]
- '@img/sharp-libvips-linux-x64@1.0.4':
- resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
+ '@img/sharp-libvips-linux-x64@1.1.0':
+ resolution: {integrity: sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==}
cpu: [x64]
os: [linux]
- '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
- resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
+ '@img/sharp-libvips-linuxmusl-arm64@1.1.0':
+ resolution: {integrity: sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==}
cpu: [arm64]
os: [linux]
- '@img/sharp-libvips-linuxmusl-x64@1.0.4':
- resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
+ '@img/sharp-libvips-linuxmusl-x64@1.1.0':
+ resolution: {integrity: sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==}
cpu: [x64]
os: [linux]
- '@img/sharp-linux-arm64@0.33.5':
- resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
+ '@img/sharp-linux-arm64@0.34.2':
+ resolution: {integrity: sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
- '@img/sharp-linux-arm@0.33.5':
- resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
+ '@img/sharp-linux-arm@0.34.2':
+ resolution: {integrity: sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm]
os: [linux]
- '@img/sharp-linux-s390x@0.33.5':
- resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
+ '@img/sharp-linux-s390x@0.34.2':
+ resolution: {integrity: sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [s390x]
os: [linux]
- '@img/sharp-linux-x64@0.33.5':
- resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
+ '@img/sharp-linux-x64@0.34.2':
+ resolution: {integrity: sha512-sD7J+h5nFLMMmOXYH4DD9UtSNBD05tWSSdWAcEyzqW8Cn5UxXvsHAxmxSesYUsTOBmUnjtxghKDl15EvfqLFbQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
- '@img/sharp-linuxmusl-arm64@0.33.5':
- resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
+ '@img/sharp-linuxmusl-arm64@0.34.2':
+ resolution: {integrity: sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
- '@img/sharp-linuxmusl-x64@0.33.5':
- resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
+ '@img/sharp-linuxmusl-x64@0.34.2':
+ resolution: {integrity: sha512-DOYMrDm5E6/8bm/yQLCWyuDJwUnlevR8xtF8bs+gjZ7cyUNYXiSf/E8Kp0Ss5xasIaXSHzb888V1BE4i1hFhAA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
- '@img/sharp-wasm32@0.33.5':
- resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
+ '@img/sharp-wasm32@0.34.2':
+ resolution: {integrity: sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [wasm32]
- '@img/sharp-win32-ia32@0.33.5':
- resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
+ '@img/sharp-win32-arm64@0.34.2':
+ resolution: {integrity: sha512-cfP/r9FdS63VA5k0xiqaNaEoGxBg9k7uE+RQGzuK9fHt7jib4zAVVseR9LsE4gJcNWgT6APKMNnCcnyOtmSEUQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@img/sharp-win32-ia32@0.34.2':
+ resolution: {integrity: sha512-QLjGGvAbj0X/FXl8n1WbtQ6iVBpWU7JO94u/P2M4a8CFYsvQi4GW2mRy/JqkRx0qpBzaOdKJKw8uc930EX2AHw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [ia32]
os: [win32]
- '@img/sharp-win32-x64@0.33.5':
- resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
+ '@img/sharp-win32-x64@0.34.2':
+ resolution: {integrity: sha512-aUdT6zEYtDKCaxkofmmJDJYGCf0+pJg3eU9/oBuqvEeoB9dKI6ZLc/1iLJCTuJQDO4ptntAlkUmHgGjyuobZbw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [win32]
@@ -436,56 +465,56 @@ packages:
resolution: {integrity: sha512-jMxvwzkKzd3cXo2EB9GM2ic0eYo2rP/BS6gJt6HnWbsDO1O8GSD4k7o2Cpr2YERtMpGF/MGcDfsfj2EbQPtrXw==}
engines: {node: '>= 10'}
- '@next/env@15.1.6':
- resolution: {integrity: sha512-d9AFQVPEYNr+aqokIiPLNK/MTyt3DWa/dpKveiAaVccUadFbhFEvY6FXYX2LJO2Hv7PHnLBu2oWwB4uBuHjr/w==}
+ '@next/env@15.3.5':
+ resolution: {integrity: sha512-7g06v8BUVtN2njAX/r8gheoVffhiKFVt4nx74Tt6G4Hqw9HCLYQVx/GkH2qHvPtAHZaUNZ0VXAa0pQP6v1wk7g==}
- '@next/eslint-plugin-next@15.1.6':
- resolution: {integrity: sha512-+slMxhTgILUntZDGNgsKEYHUvpn72WP1YTlkmEhS51vnVd7S9jEEy0n9YAMcI21vUG4akTw9voWH02lrClt/yw==}
+ '@next/eslint-plugin-next@15.3.5':
+ resolution: {integrity: sha512-BZwWPGfp9po/rAnJcwUBaM+yT/+yTWIkWdyDwc74G9jcfTrNrmsHe+hXHljV066YNdVs8cxROxX5IgMQGX190w==}
- '@next/swc-darwin-arm64@15.1.6':
- resolution: {integrity: sha512-u7lg4Mpl9qWpKgy6NzEkz/w0/keEHtOybmIl0ykgItBxEM5mYotS5PmqTpo+Rhg8FiOiWgwr8USxmKQkqLBCrw==}
+ '@next/swc-darwin-arm64@15.3.5':
+ resolution: {integrity: sha512-lM/8tilIsqBq+2nq9kbTW19vfwFve0NR7MxfkuSUbRSgXlMQoJYg+31+++XwKVSXk4uT23G2eF/7BRIKdn8t8w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-x64@15.1.6':
- resolution: {integrity: sha512-x1jGpbHbZoZ69nRuogGL2MYPLqohlhnT9OCU6E6QFewwup+z+M6r8oU47BTeJcWsF2sdBahp5cKiAcDbwwK/lg==}
+ '@next/swc-darwin-x64@15.3.5':
+ resolution: {integrity: sha512-WhwegPQJ5IfoUNZUVsI9TRAlKpjGVK0tpJTL6KeiC4cux9774NYE9Wu/iCfIkL/5J8rPAkqZpG7n+EfiAfidXA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@next/swc-linux-arm64-gnu@15.1.6':
- resolution: {integrity: sha512-jar9sFw0XewXsBzPf9runGzoivajeWJUc/JkfbLTC4it9EhU8v7tCRLH7l5Y1ReTMN6zKJO0kKAGqDk8YSO2bg==}
+ '@next/swc-linux-arm64-gnu@15.3.5':
+ resolution: {integrity: sha512-LVD6uMOZ7XePg3KWYdGuzuvVboxujGjbcuP2jsPAN3MnLdLoZUXKRc6ixxfs03RH7qBdEHCZjyLP/jBdCJVRJQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-arm64-musl@15.1.6':
- resolution: {integrity: sha512-+n3u//bfsrIaZch4cgOJ3tXCTbSxz0s6brJtU3SzLOvkJlPQMJ+eHVRi6qM2kKKKLuMY+tcau8XD9CJ1OjeSQQ==}
+ '@next/swc-linux-arm64-musl@15.3.5':
+ resolution: {integrity: sha512-k8aVScYZ++BnS2P69ClK7v4nOu702jcF9AIHKu6llhHEtBSmM2zkPGl9yoqbSU/657IIIb0QHpdxEr0iW9z53A==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-x64-gnu@15.1.6':
- resolution: {integrity: sha512-SpuDEXixM3PycniL4iVCLyUyvcl6Lt0mtv3am08sucskpG0tYkW1KlRhTgj4LI5ehyxriVVcfdoxuuP8csi3kQ==}
+ '@next/swc-linux-x64-gnu@15.3.5':
+ resolution: {integrity: sha512-2xYU0DI9DGN/bAHzVwADid22ba5d/xrbrQlr2U+/Q5WkFUzeL0TDR963BdrtLS/4bMmKZGptLeg6282H/S2i8A==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-linux-x64-musl@15.1.6':
- resolution: {integrity: sha512-L4druWmdFSZIIRhF+G60API5sFB7suTbDRhYWSjiw0RbE+15igQvE2g2+S973pMGvwN3guw7cJUjA/TmbPWTHQ==}
+ '@next/swc-linux-x64-musl@15.3.5':
+ resolution: {integrity: sha512-TRYIqAGf1KCbuAB0gjhdn5Ytd8fV+wJSM2Nh2is/xEqR8PZHxfQuaiNhoF50XfY90sNpaRMaGhF6E+qjV1b9Tg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-win32-arm64-msvc@15.1.6':
- resolution: {integrity: sha512-s8w6EeqNmi6gdvM19tqKKWbCyOBvXFbndkGHl+c9YrzsLARRdCHsD9S1fMj8gsXm9v8vhC8s3N8rjuC/XrtkEg==}
+ '@next/swc-win32-arm64-msvc@15.3.5':
+ resolution: {integrity: sha512-h04/7iMEUSMY6fDGCvdanKqlO1qYvzNxntZlCzfE8i5P0uqzVQWQquU1TIhlz0VqGQGXLrFDuTJVONpqGqjGKQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@next/swc-win32-x64-msvc@15.1.6':
- resolution: {integrity: sha512-6xomMuu54FAFxttYr5PJbEfu96godcxBTRk1OhAvJq0/EnmFU/Ybiax30Snis4vdWZ9LGpf7Roy5fSs7v/5ROQ==}
+ '@next/swc-win32-x64-msvc@15.3.5':
+ resolution: {integrity: sha512-5fhH6fccXxnX2KhllnGhkYMndhOiLOLEiVGYjP2nizqeGWkN10sA9taATlXwake2E2XMvYZjjz0Uj7T0y+z1yw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -506,11 +535,12 @@ packages:
resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==}
engines: {node: '>=12.4.0'}
- '@offlegacy/event-tracker@1.0.3':
- resolution: {integrity: sha512-RAbZgPRSk3NDe6hUa3GrezmBCf4pFe7H6XoAqE0u0Y1tnZugk+9Lx1ImC0yT6sERCtG9kPHlWPNpTv4WzsOiWQ==}
+ '@offlegacy/event-tracker@1.3.0':
+ resolution: {integrity: sha512-js1f8wBkNH7LAorneda0BAW3pElfE9EmhJTmUJgB8j7Q5ccWrTUdP9pjPK28bOPA7r4FNaoQojunN6m49Cd7Dg==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ zod: ^3.20.0
'@pagefind/darwin-arm64@1.3.0':
resolution: {integrity: sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A==}
@@ -581,29 +611,29 @@ packages:
'@rushstack/eslint-patch@1.10.5':
resolution: {integrity: sha512-kkKUDVlII2DQiKy7UstOR1ErJP8kUKAQ4oa+SQtM0K+lPdmmjj0YnnxBgtTVYH7mUKtbsxeFC9y0AmK7Yb78/A==}
- '@shikijs/core@1.29.1':
- resolution: {integrity: sha512-Mo1gGGkuOYjDu5H8YwzmOuly9vNr8KDVkqj9xiKhhhFS8jisAtDSEWB9hzqRHLVQgFdA310e8XRJcW4tYhRB2A==}
+ '@shikijs/core@2.5.0':
+ resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==}
- '@shikijs/engine-javascript@1.29.1':
- resolution: {integrity: sha512-Hpi8k9x77rCQ7F/7zxIOUruNkNidMyBnP5qAGbLFqg4kRrg1HZhkB8btib5EXbQWTtLb5gBHOdBwshk20njD7Q==}
+ '@shikijs/engine-javascript@2.5.0':
+ resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==}
- '@shikijs/engine-oniguruma@1.29.1':
- resolution: {integrity: sha512-gSt2WhLNgEeLstcweQOSp+C+MhOpTsgdNXRqr3zP6M+BUBZ8Md9OU2BYwUYsALBxHza7hwaIWtFHjQ/aOOychw==}
+ '@shikijs/engine-oniguruma@2.5.0':
+ resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==}
- '@shikijs/langs@1.29.1':
- resolution: {integrity: sha512-iERn4HlyuT044/FgrvLOaZgKVKf3PozjKjyV/RZ5GnlyYEAZFcgwHGkYboeBv2IybQG1KVS/e7VGgiAU4JY2Gw==}
+ '@shikijs/langs@2.5.0':
+ resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==}
- '@shikijs/themes@1.29.1':
- resolution: {integrity: sha512-lb11zf72Vc9uxkl+aec2oW1HVTHJ2LtgZgumb4Rr6By3y/96VmlU44bkxEb8WBWH3RUtbqAJEN0jljD9cF7H7g==}
+ '@shikijs/themes@2.5.0':
+ resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==}
- '@shikijs/twoslash@1.29.1':
- resolution: {integrity: sha512-SN2aam87NjkpjS0O2Zq9SeXSDX1CztLBAROXrJpEe5Qe19dkMUUXY8uhw32Qu/FKjqsK8ycEP2S6FZrd9A2pzw==}
+ '@shikijs/twoslash@2.5.0':
+ resolution: {integrity: sha512-OdyoZRbzTB80qHFHdaXT070OG9hiljxbsJMZmrMAPWXG2e4FV8wbC63VBM5BJXa1DH645nw20VX1MzASkO5V9g==}
- '@shikijs/types@1.29.1':
- resolution: {integrity: sha512-aBqAuhYRp5vSir3Pc9+QPu9WESBOjUo03ao0IHLC4TyTioSsp/SkbAZSrIH4ghYYC1T1KTEpRSBa83bas4RnPA==}
+ '@shikijs/types@2.5.0':
+ resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==}
- '@shikijs/vscode-textmate@10.0.1':
- resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==}
+ '@shikijs/vscode-textmate@10.0.2':
+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
'@swc/counter@0.1.3':
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
@@ -760,16 +790,16 @@ packages:
'@types/nlcst@2.0.3':
resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
- '@types/node@20.17.16':
- resolution: {integrity: sha512-vOTpLduLkZXePLxHiHsBLp98mHGnl8RptV4YAO3HfKO5UHjDvySGbxKtpYfy8Sx5+WKcgc45qNreJJRVM3L6mw==}
+ '@types/node@20.19.9':
+ resolution: {integrity: sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==}
- '@types/react-dom@19.0.3':
- resolution: {integrity: sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA==}
+ '@types/react-dom@19.1.7':
+ resolution: {integrity: sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==}
peerDependencies:
'@types/react': ^19.0.0
- '@types/react@19.0.8':
- resolution: {integrity: sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==}
+ '@types/react@19.1.9':
+ resolution: {integrity: sha512-WmdoynAX8Stew/36uTSVMcLJJ1KRh6L3IZRx1PZ7qJtBqT3dYTgyDTx8H1qoRghErydW7xw9mSJ3wS//tCRpFA==}
'@types/trusted-types@2.0.7':
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
@@ -832,6 +862,13 @@ packages:
peerDependencies:
typescript: '*'
+ '@uidotdev/usehooks@2.4.1':
+ resolution: {integrity: sha512-1I+RwWyS+kdv3Mv0Vmc+p0dPYH0DTRAo04HLyXReYBL9AeseDWUJyi4THuksBJcu9F0Pih69Ak150VDnqbVnXg==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ react: '>=18.0.0'
+ react-dom: '>=18.0.0'
+
'@ungap/structured-clone@1.3.0':
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
@@ -856,6 +893,9 @@ packages:
resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
engines: {node: '>=12'}
+ ansi-sequence-parser@1.1.1:
+ resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==}
+
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
@@ -1037,6 +1077,9 @@ packages:
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
engines: {node: '>=6'}
+ codehike@1.0.7:
+ resolution: {integrity: sha512-m4YOQv1l06qoGBLCgXRNT45MKAudXjir9v+WTs7Xb0gfze6LN3ZiUp08+WRA1N/QGT1SHbzvck8txvPq+C2EPg==}
+
collapse-white-space@2.1.0:
resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
@@ -1312,8 +1355,8 @@ packages:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
- detect-libc@2.0.3:
- resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
+ detect-libc@2.0.4:
+ resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
engines: {node: '>=8'}
devlop@1.1.0:
@@ -1322,6 +1365,10 @@ packages:
didyoumean@1.2.2:
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+ diff@5.2.0:
+ resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==}
+ engines: {node: '>=0.3.1'}
+
dlv@1.1.3:
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
@@ -1401,8 +1448,8 @@ packages:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
engines: {node: '>=12'}
- eslint-config-next@15.1.6:
- resolution: {integrity: sha512-Wd1uy6y7nBbXUSg9QAuQ+xYEKli5CgUhLjz1QHW11jLDis5vK5XB3PemL6jEmy7HrdhaRFDz+GTZ/3FoH+EUjg==}
+ eslint-config-next@15.3.5:
+ resolution: {integrity: sha512-oQdvnIgP68wh2RlR3MdQpvaJ94R6qEFl+lnu8ZKxPj5fsAHrSF/HlAOZcsimLw3DT6bnEQIUdbZC2Ab6sWyptg==}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0 || ^9.0.0
typescript: '>=3.3.1'
@@ -1612,6 +1659,20 @@ packages:
resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
engines: {node: '>=0.4.x'}
+ framer-motion@12.23.0:
+ resolution: {integrity: sha512-xf6NxTGAyf7zR4r2KlnhFmsRfKIbjqeBupEDBAaEtVIBJX96sAon00kMlsKButSIRwPSHjbRrAPnYdJJ9kyhbA==}
+ 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
+
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -2056,6 +2117,11 @@ packages:
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+ lucide-react@0.525.0:
+ resolution: {integrity: sha512-Tm1txJ2OkymCGkvwoHt33Y2JpN5xucVq1slHcgE6Lk0WjDfjgKWor5CdVER8U6DvcfMwh4M8XxmpTiyzfmfDYQ==}
+ peerDependencies:
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
markdown-extensions@2.0.0:
resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
engines: {node: '>=16'}
@@ -2281,6 +2347,26 @@ packages:
mlly@1.7.4:
resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
+ motion-dom@12.22.0:
+ resolution: {integrity: sha512-ooH7+/BPw9gOsL9VtPhEJHE2m4ltnhMlcGMhEqA0YGNhKof7jdaszvsyThXI6LVIKshJUZ9/CP6HNqQhJfV7kw==}
+
+ motion-utils@12.19.0:
+ resolution: {integrity: sha512-BuFTHINYmV07pdWs6lj6aI63vr2N4dg0vR+td0rtrdpWOhBzIkEklZyLcvKBoEtwSqx8Jg06vUB5RS0xDiUybw==}
+
+ motion@12.23.0:
+ resolution: {integrity: sha512-PPNwblArRH9GRC4F3KtOTiIaYd+mtp324vYq3HIL+ueseoAVqPRK5TPFTAQBcIprfVd0NWo3DLzZSiyWaYFXXQ==}
+ 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.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -2305,8 +2391,8 @@ packages:
react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
- next@15.1.6:
- resolution: {integrity: sha512-Hch4wzbaX0vKQtalpXvUiw5sYivBy4cm5rzUKrBnUB/y436LGrvOUqYvlSeNVCWFO/770gDlltR9gqZH62ct4Q==}
+ next@15.3.5:
+ resolution: {integrity: sha512-RkazLBMMDJSJ4XZQ81kolSpwiCt907l0xcgcpF4xC2Vml6QVcPNXW0NQRwQ80FFtSn7UM52XN0anaw8TEJXaiw==}
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
hasBin: true
peerDependencies:
@@ -2326,16 +2412,16 @@ packages:
sass:
optional: true
- nextra-theme-docs@4.0.7:
- resolution: {integrity: sha512-KZMphMeN8r4mRVczDwlmIfDAzFyfYdJyE4TWqx9OblybazMD8gwHSC7nZAidLZSLzwWEUrf8vnBWN4KcXqyM8w==}
+ nextra-theme-docs@4.2.17:
+ resolution: {integrity: sha512-QQ7iPHQ7zqh7dKJZ3SQbxqoFt7r8RHD9v7dFtJ+x8evEfxwM23oBGHNBqIjBoPl5uSwtvufEiVd7WMhK+Dxdww==}
peerDependencies:
next: '>=14'
- nextra: 4.0.7
+ nextra: 4.2.17
react: '>=18'
react-dom: '>=18'
- nextra@4.0.7:
- resolution: {integrity: sha512-jf+jpJoAE//bS0xZn0tn7fAGascdyI4U/JBj0kiI53gUsdcXV3j5/Lw6n/XLoeoPM0ptfb5WbVP2wrKIwNX59g==}
+ nextra@4.2.17:
+ resolution: {integrity: sha512-WBZGSUeUJqkYm3F3F7+4N1oMP84r/YK/rAg96wkywu/MIsuUREY8fLXQgQbKkvcLbBl/7Wk2Iy+9xlhDu+weNg==}
engines: {node: '>=18'}
peerDependencies:
next: '>=14'
@@ -2397,8 +2483,8 @@ packages:
resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
engines: {node: '>=12'}
- oniguruma-to-es@2.3.0:
- resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==}
+ oniguruma-to-es@3.1.1:
+ resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==}
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
@@ -2544,8 +2630,8 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
- prettier-plugin-tailwindcss@0.6.11:
- resolution: {integrity: sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==}
+ prettier-plugin-tailwindcss@0.6.13:
+ resolution: {integrity: sha512-uQ0asli1+ic8xrrSmIOaElDu0FacR4x69GynTh2oZjFY10JUt6EEumTQl5tB4fMeD6I1naKd+4rXQQ7esT2i1g==}
engines: {node: '>=14.21.3'}
peerDependencies:
'@ianvs/prettier-plugin-sort-imports': '*'
@@ -2622,10 +2708,10 @@ packages:
peerDependencies:
react: ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom@19.0.0:
- resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==}
+ react-dom@19.1.1:
+ resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==}
peerDependencies:
- react: ^19.0.0
+ react: ^19.1.1
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
@@ -2636,8 +2722,8 @@ packages:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react@19.0.0:
- resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==}
+ react@19.1.1:
+ resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==}
engines: {node: '>=0.10.0'}
read-cache@1.0.0:
@@ -2666,14 +2752,14 @@ packages:
resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
engines: {node: '>= 0.4'}
- regex-recursion@5.1.1:
- resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==}
+ regex-recursion@6.0.2:
+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
regex-utilities@2.3.0:
resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
- regex@5.1.1:
- resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==}
+ regex@6.0.1:
+ resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
regexp.prototype.flags@1.5.4:
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
@@ -2685,11 +2771,11 @@ packages:
rehype-parse@9.0.1:
resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==}
- rehype-pretty-code@0.14.0:
- resolution: {integrity: sha512-hBeKF/Wkkf3zyUS8lal9RCUuhypDWLQc+h9UrP9Pav25FUm/AQAVh4m5gdvJxh4Oz+U+xKvdsV01p1LdvsZTiQ==}
+ rehype-pretty-code@0.14.1:
+ resolution: {integrity: sha512-IpG4OL0iYlbx78muVldsK86hdfNoht0z63AP7sekQNW2QOTmjxB7RbTO+rhIYNGRljgHxgVZoPwUl6bIC9SbjA==}
engines: {node: '>=18'}
peerDependencies:
- shiki: ^1.3.0
+ shiki: ^1.0.0 || ^2.0.0 || ^3.0.0
rehype-raw@7.0.0:
resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
@@ -2787,8 +2873,8 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- scheduler@0.25.0:
- resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==}
+ scheduler@0.26.0:
+ resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
scroll-into-view-if-needed@3.1.0:
resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==}
@@ -2802,6 +2888,11 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ semver@7.7.2:
+ resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
set-function-length@1.2.2:
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
engines: {node: '>= 0.4'}
@@ -2814,8 +2905,8 @@ packages:
resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
engines: {node: '>= 0.4'}
- sharp@0.33.5:
- resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
+ sharp@0.34.2:
+ resolution: {integrity: sha512-lszvBmB9QURERtyKT2bNmsgxXK0ShJrL/fvqlonCo7e6xBF8nT8xU6pW+PMIbLsz0RxQk3rgH9kd8UmvOzlMJg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
shebang-command@2.0.0:
@@ -2826,8 +2917,8 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- shiki@1.29.1:
- resolution: {integrity: sha512-TghWKV9pJTd/N+IgAIVJtr0qZkB7FfFCUrrEJc0aRmZupo3D1OCVRknQWVRVA7AX/M0Ld7QfoAruPzr3CnUJuw==}
+ shiki@2.5.0:
+ resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==}
side-channel-list@1.0.0:
resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
@@ -2856,6 +2947,12 @@ packages:
resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
engines: {node: '>=14.16'}
+ sonner@2.0.6:
+ resolution: {integrity: sha512-yHFhk8T/DK3YxjFQXIrcHT1rGEeTLliVzWbO0xN8GberVun2RiBnxAjXAYpZrqwEVHBG9asI/Li8TAAhN9m59Q==}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
@@ -3063,8 +3160,8 @@ packages:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
- undici-types@6.19.8:
- resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+ undici-types@6.21.0:
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
unified@11.0.5:
resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
@@ -3314,7 +3411,11 @@ snapshots:
'@chevrotain/utils@11.0.3': {}
- '@emnapi/runtime@1.3.1':
+ '@code-hike/lighter@1.0.1':
+ dependencies:
+ ansi-sequence-parser: 1.1.1
+
+ '@emnapi/runtime@1.4.4':
dependencies:
tslib: 2.8.1
optional: true
@@ -3338,7 +3439,7 @@ snapshots:
dependencies:
'@types/json-schema': 7.0.15
- '@eslint/eslintrc@3.2.0':
+ '@eslint/eslintrc@3.3.1':
dependencies:
ajv: 6.12.6
debug: 4.4.0
@@ -3370,34 +3471,34 @@ snapshots:
'@floating-ui/core': 1.6.9
'@floating-ui/utils': 0.2.9
- '@floating-ui/react-dom@2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ '@floating-ui/react-dom@2.1.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
'@floating-ui/dom': 1.6.13
- react: 19.0.0
- react-dom: 19.0.0(react@19.0.0)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
- '@floating-ui/react@0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ '@floating-ui/react@0.26.28(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@floating-ui/react-dom': 2.1.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@floating-ui/utils': 0.2.9
- react: 19.0.0
- react-dom: 19.0.0(react@19.0.0)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
tabbable: 6.2.0
'@floating-ui/utils@0.2.9': {}
- '@formatjs/intl-localematcher@0.5.10':
+ '@formatjs/intl-localematcher@0.6.1':
dependencies:
tslib: 2.8.1
- '@headlessui/react@2.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ '@headlessui/react@2.2.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@floating-ui/react': 0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@tanstack/react-virtual': 3.11.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- react: 19.0.0
- react-dom: 19.0.0(react@19.0.0)
+ '@floating-ui/react': 0.26.28(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@react-aria/focus': 3.19.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@react-aria/interactions': 3.23.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@tanstack/react-virtual': 3.11.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
'@humanfs/core@0.19.1': {}
@@ -3427,79 +3528,85 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@img/sharp-darwin-arm64@0.33.5':
+ '@img/sharp-darwin-arm64@0.34.2':
optionalDependencies:
- '@img/sharp-libvips-darwin-arm64': 1.0.4
+ '@img/sharp-libvips-darwin-arm64': 1.1.0
optional: true
- '@img/sharp-darwin-x64@0.33.5':
+ '@img/sharp-darwin-x64@0.34.2':
optionalDependencies:
- '@img/sharp-libvips-darwin-x64': 1.0.4
+ '@img/sharp-libvips-darwin-x64': 1.1.0
+ optional: true
+
+ '@img/sharp-libvips-darwin-arm64@1.1.0':
optional: true
- '@img/sharp-libvips-darwin-arm64@1.0.4':
+ '@img/sharp-libvips-darwin-x64@1.1.0':
optional: true
- '@img/sharp-libvips-darwin-x64@1.0.4':
+ '@img/sharp-libvips-linux-arm64@1.1.0':
optional: true
- '@img/sharp-libvips-linux-arm64@1.0.4':
+ '@img/sharp-libvips-linux-arm@1.1.0':
optional: true
- '@img/sharp-libvips-linux-arm@1.0.5':
+ '@img/sharp-libvips-linux-ppc64@1.1.0':
optional: true
- '@img/sharp-libvips-linux-s390x@1.0.4':
+ '@img/sharp-libvips-linux-s390x@1.1.0':
optional: true
- '@img/sharp-libvips-linux-x64@1.0.4':
+ '@img/sharp-libvips-linux-x64@1.1.0':
optional: true
- '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
+ '@img/sharp-libvips-linuxmusl-arm64@1.1.0':
optional: true
- '@img/sharp-libvips-linuxmusl-x64@1.0.4':
+ '@img/sharp-libvips-linuxmusl-x64@1.1.0':
optional: true
- '@img/sharp-linux-arm64@0.33.5':
+ '@img/sharp-linux-arm64@0.34.2':
optionalDependencies:
- '@img/sharp-libvips-linux-arm64': 1.0.4
+ '@img/sharp-libvips-linux-arm64': 1.1.0
optional: true
- '@img/sharp-linux-arm@0.33.5':
+ '@img/sharp-linux-arm@0.34.2':
optionalDependencies:
- '@img/sharp-libvips-linux-arm': 1.0.5
+ '@img/sharp-libvips-linux-arm': 1.1.0
optional: true
- '@img/sharp-linux-s390x@0.33.5':
+ '@img/sharp-linux-s390x@0.34.2':
optionalDependencies:
- '@img/sharp-libvips-linux-s390x': 1.0.4
+ '@img/sharp-libvips-linux-s390x': 1.1.0
optional: true
- '@img/sharp-linux-x64@0.33.5':
+ '@img/sharp-linux-x64@0.34.2':
optionalDependencies:
- '@img/sharp-libvips-linux-x64': 1.0.4
+ '@img/sharp-libvips-linux-x64': 1.1.0
optional: true
- '@img/sharp-linuxmusl-arm64@0.33.5':
+ '@img/sharp-linuxmusl-arm64@0.34.2':
optionalDependencies:
- '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-arm64': 1.1.0
optional: true
- '@img/sharp-linuxmusl-x64@0.33.5':
+ '@img/sharp-linuxmusl-x64@0.34.2':
optionalDependencies:
- '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-x64': 1.1.0
optional: true
- '@img/sharp-wasm32@0.33.5':
+ '@img/sharp-wasm32@0.34.2':
dependencies:
- '@emnapi/runtime': 1.3.1
+ '@emnapi/runtime': 1.4.4
optional: true
- '@img/sharp-win32-ia32@0.33.5':
+ '@img/sharp-win32-arm64@0.34.2':
optional: true
- '@img/sharp-win32-x64@0.33.5':
+ '@img/sharp-win32-ia32@0.34.2':
+ optional: true
+
+ '@img/sharp-win32-x64@0.34.2':
optional: true
'@isaacs/cliui@8.0.2':
@@ -3621,34 +3728,34 @@ snapshots:
'@napi-rs/simple-git-win32-arm64-msvc': 0.1.19
'@napi-rs/simple-git-win32-x64-msvc': 0.1.19
- '@next/env@15.1.6': {}
+ '@next/env@15.3.5': {}
- '@next/eslint-plugin-next@15.1.6':
+ '@next/eslint-plugin-next@15.3.5':
dependencies:
fast-glob: 3.3.1
- '@next/swc-darwin-arm64@15.1.6':
+ '@next/swc-darwin-arm64@15.3.5':
optional: true
- '@next/swc-darwin-x64@15.1.6':
+ '@next/swc-darwin-x64@15.3.5':
optional: true
- '@next/swc-linux-arm64-gnu@15.1.6':
+ '@next/swc-linux-arm64-gnu@15.3.5':
optional: true
- '@next/swc-linux-arm64-musl@15.1.6':
+ '@next/swc-linux-arm64-musl@15.3.5':
optional: true
- '@next/swc-linux-x64-gnu@15.1.6':
+ '@next/swc-linux-x64-gnu@15.3.5':
optional: true
- '@next/swc-linux-x64-musl@15.1.6':
+ '@next/swc-linux-x64-musl@15.3.5':
optional: true
- '@next/swc-win32-arm64-msvc@15.1.6':
+ '@next/swc-win32-arm64-msvc@15.3.5':
optional: true
- '@next/swc-win32-x64-msvc@15.1.6':
+ '@next/swc-win32-x64-msvc@15.3.5':
optional: true
'@nodelib/fs.scandir@2.1.5':
@@ -3665,10 +3772,11 @@ snapshots:
'@nolyfill/is-core-module@1.0.39': {}
- '@offlegacy/event-tracker@1.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ '@offlegacy/event-tracker@1.3.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(zod@3.24.1)':
dependencies:
- react: 19.0.0
- react-dom: 19.0.0(react@19.0.0)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
+ zod: 3.24.1
'@pagefind/darwin-arm64@1.3.0':
optional: true
@@ -3688,96 +3796,96 @@ snapshots:
'@pkgjs/parseargs@0.11.0':
optional: true
- '@react-aria/focus@3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ '@react-aria/focus@3.19.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@react-types/shared': 3.27.0(react@19.0.0)
+ '@react-aria/interactions': 3.23.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@react-aria/utils': 3.27.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@react-types/shared': 3.27.0(react@19.1.1)
'@swc/helpers': 0.5.15
clsx: 2.1.1
- react: 19.0.0
- react-dom: 19.0.0(react@19.0.0)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
- '@react-aria/interactions@3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ '@react-aria/interactions@3.23.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@react-aria/ssr': 3.9.7(react@19.0.0)
- '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@react-types/shared': 3.27.0(react@19.0.0)
+ '@react-aria/ssr': 3.9.7(react@19.1.1)
+ '@react-aria/utils': 3.27.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@react-types/shared': 3.27.0(react@19.1.1)
'@swc/helpers': 0.5.15
- react: 19.0.0
- react-dom: 19.0.0(react@19.0.0)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
- '@react-aria/ssr@3.9.7(react@19.0.0)':
+ '@react-aria/ssr@3.9.7(react@19.1.1)':
dependencies:
'@swc/helpers': 0.5.15
- react: 19.0.0
+ react: 19.1.1
- '@react-aria/utils@3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ '@react-aria/utils@3.27.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@react-aria/ssr': 3.9.7(react@19.0.0)
- '@react-stately/utils': 3.10.5(react@19.0.0)
- '@react-types/shared': 3.27.0(react@19.0.0)
+ '@react-aria/ssr': 3.9.7(react@19.1.1)
+ '@react-stately/utils': 3.10.5(react@19.1.1)
+ '@react-types/shared': 3.27.0(react@19.1.1)
'@swc/helpers': 0.5.15
clsx: 2.1.1
- react: 19.0.0
- react-dom: 19.0.0(react@19.0.0)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
- '@react-stately/utils@3.10.5(react@19.0.0)':
+ '@react-stately/utils@3.10.5(react@19.1.1)':
dependencies:
'@swc/helpers': 0.5.15
- react: 19.0.0
+ react: 19.1.1
- '@react-types/shared@3.27.0(react@19.0.0)':
+ '@react-types/shared@3.27.0(react@19.1.1)':
dependencies:
- react: 19.0.0
+ react: 19.1.1
'@rtsao/scc@1.1.0': {}
'@rushstack/eslint-patch@1.10.5': {}
- '@shikijs/core@1.29.1':
+ '@shikijs/core@2.5.0':
dependencies:
- '@shikijs/engine-javascript': 1.29.1
- '@shikijs/engine-oniguruma': 1.29.1
- '@shikijs/types': 1.29.1
- '@shikijs/vscode-textmate': 10.0.1
+ '@shikijs/engine-javascript': 2.5.0
+ '@shikijs/engine-oniguruma': 2.5.0
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
hast-util-to-html: 9.0.4
- '@shikijs/engine-javascript@1.29.1':
+ '@shikijs/engine-javascript@2.5.0':
dependencies:
- '@shikijs/types': 1.29.1
- '@shikijs/vscode-textmate': 10.0.1
- oniguruma-to-es: 2.3.0
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 3.1.1
- '@shikijs/engine-oniguruma@1.29.1':
+ '@shikijs/engine-oniguruma@2.5.0':
dependencies:
- '@shikijs/types': 1.29.1
- '@shikijs/vscode-textmate': 10.0.1
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
- '@shikijs/langs@1.29.1':
+ '@shikijs/langs@2.5.0':
dependencies:
- '@shikijs/types': 1.29.1
+ '@shikijs/types': 2.5.0
- '@shikijs/themes@1.29.1':
+ '@shikijs/themes@2.5.0':
dependencies:
- '@shikijs/types': 1.29.1
+ '@shikijs/types': 2.5.0
- '@shikijs/twoslash@1.29.1(typescript@5.7.3)':
+ '@shikijs/twoslash@2.5.0(typescript@5.7.3)':
dependencies:
- '@shikijs/core': 1.29.1
- '@shikijs/types': 1.29.1
+ '@shikijs/core': 2.5.0
+ '@shikijs/types': 2.5.0
twoslash: 0.2.12(typescript@5.7.3)
transitivePeerDependencies:
- supports-color
- typescript
- '@shikijs/types@1.29.1':
+ '@shikijs/types@2.5.0':
dependencies:
- '@shikijs/vscode-textmate': 10.0.1
+ '@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
- '@shikijs/vscode-textmate@10.0.1': {}
+ '@shikijs/vscode-textmate@10.0.2': {}
'@swc/counter@0.1.3': {}
@@ -3785,18 +3893,18 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@tanstack/react-virtual@3.11.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ '@tanstack/react-virtual@3.11.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
'@tanstack/virtual-core': 3.11.2
- react: 19.0.0
- react-dom: 19.0.0(react@19.0.0)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
'@tanstack/virtual-core@3.11.2': {}
- '@theguild/remark-mermaid@0.2.0(react@19.0.0)':
+ '@theguild/remark-mermaid@0.2.0(react@19.1.1)':
dependencies:
mermaid: 11.4.1
- react: 19.0.0
+ react: 19.1.1
unist-util-visit: 5.0.0
transitivePeerDependencies:
- supports-color
@@ -3961,15 +4069,15 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
- '@types/node@20.17.16':
+ '@types/node@20.19.9':
dependencies:
- undici-types: 6.19.8
+ undici-types: 6.21.0
- '@types/react-dom@19.0.3(@types/react@19.0.8)':
+ '@types/react-dom@19.1.7(@types/react@19.1.9)':
dependencies:
- '@types/react': 19.0.8
+ '@types/react': 19.1.9
- '@types/react@19.0.8':
+ '@types/react@19.1.9':
dependencies:
csstype: 3.1.3
@@ -4064,6 +4172,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@uidotdev/usehooks@2.4.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ dependencies:
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
+
'@ungap/structured-clone@1.3.0': {}
acorn-jsx@5.3.2(acorn@8.14.0):
@@ -4083,6 +4196,8 @@ snapshots:
ansi-regex@6.1.0: {}
+ ansi-sequence-parser@1.1.1: {}
+
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
@@ -4186,10 +4301,10 @@ snapshots:
balanced-match@1.0.2: {}
- better-react-mathjax@2.0.3(react@19.0.0):
+ better-react-mathjax@2.0.3(react@19.1.1):
dependencies:
mathjax-full: 3.2.2
- react: 19.0.0
+ react: 19.1.1
binary-extensions@2.3.0: {}
@@ -4286,6 +4401,16 @@ snapshots:
clsx@2.1.1: {}
+ codehike@1.0.7:
+ dependencies:
+ '@code-hike/lighter': 1.0.1
+ diff: 5.2.0
+ estree-util-visit: 2.0.0
+ mdast-util-mdx-jsx: 3.2.0
+ unist-util-visit: 5.0.0
+ transitivePeerDependencies:
+ - supports-color
+
collapse-white-space@2.1.0: {}
color-convert@2.0.1:
@@ -4578,7 +4703,7 @@ snapshots:
dequal@2.0.3: {}
- detect-libc@2.0.3:
+ detect-libc@2.0.4:
optional: true
devlop@1.1.0:
@@ -4587,6 +4712,8 @@ snapshots:
didyoumean@1.2.2: {}
+ diff@5.2.0: {}
+
dlv@1.1.3: {}
doctrine@2.1.0:
@@ -4734,9 +4861,9 @@ snapshots:
escape-string-regexp@5.0.0: {}
- eslint-config-next@15.1.6(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3):
+ eslint-config-next@15.3.5(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3):
dependencies:
- '@next/eslint-plugin-next': 15.1.6
+ '@next/eslint-plugin-next': 15.3.5
'@rushstack/eslint-patch': 1.10.5
'@typescript-eslint/eslint-plugin': 8.21.0(@typescript-eslint/parser@8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
'@typescript-eslint/parser': 8.21.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)
@@ -4878,7 +5005,7 @@ snapshots:
'@eslint-community/regexpp': 4.12.1
'@eslint/config-array': 0.19.1
'@eslint/core': 0.10.0
- '@eslint/eslintrc': 3.2.0
+ '@eslint/eslintrc': 3.3.1
'@eslint/js': 9.18.0
'@eslint/plugin-kit': 0.2.5
'@humanfs/node': 0.16.6
@@ -5051,6 +5178,15 @@ snapshots:
format@0.2.2: {}
+ framer-motion@12.23.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
+ dependencies:
+ motion-dom: 12.22.0
+ motion-utils: 12.19.0
+ tslib: 2.8.1
+ optionalDependencies:
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
+
fsevents@2.3.3:
optional: true
@@ -5584,6 +5720,10 @@ snapshots:
lru-cache@10.4.3: {}
+ lucide-react@0.525.0(react@19.1.1):
+ dependencies:
+ react: 19.1.1
+
markdown-extensions@2.0.0: {}
markdown-table@3.0.4: {}
@@ -6127,6 +6267,20 @@ snapshots:
pkg-types: 1.3.1
ufo: 1.5.4
+ motion-dom@12.22.0:
+ dependencies:
+ motion-utils: 12.19.0
+
+ motion-utils@12.19.0: {}
+
+ motion@12.23.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
+ dependencies:
+ framer-motion: 12.23.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ tslib: 2.8.1
+ optionalDependencies:
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
+
ms@2.1.3: {}
mz@2.7.0:
@@ -6141,65 +6295,65 @@ snapshots:
negotiator@1.0.0: {}
- next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ next-themes@0.4.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
- react: 19.0.0
- react-dom: 19.0.0(react@19.0.0)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
- next@15.1.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ next@15.3.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
- '@next/env': 15.1.6
+ '@next/env': 15.3.5
'@swc/counter': 0.1.3
'@swc/helpers': 0.5.15
busboy: 1.6.0
caniuse-lite: 1.0.30001695
postcss: 8.4.31
- react: 19.0.0
- react-dom: 19.0.0(react@19.0.0)
- styled-jsx: 5.1.6(react@19.0.0)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
+ styled-jsx: 5.1.6(react@19.1.1)
optionalDependencies:
- '@next/swc-darwin-arm64': 15.1.6
- '@next/swc-darwin-x64': 15.1.6
- '@next/swc-linux-arm64-gnu': 15.1.6
- '@next/swc-linux-arm64-musl': 15.1.6
- '@next/swc-linux-x64-gnu': 15.1.6
- '@next/swc-linux-x64-musl': 15.1.6
- '@next/swc-win32-arm64-msvc': 15.1.6
- '@next/swc-win32-x64-msvc': 15.1.6
- sharp: 0.33.5
+ '@next/swc-darwin-arm64': 15.3.5
+ '@next/swc-darwin-x64': 15.3.5
+ '@next/swc-linux-arm64-gnu': 15.3.5
+ '@next/swc-linux-arm64-musl': 15.3.5
+ '@next/swc-linux-x64-gnu': 15.3.5
+ '@next/swc-linux-x64-musl': 15.3.5
+ '@next/swc-win32-arm64-msvc': 15.3.5
+ '@next/swc-win32-x64-msvc': 15.3.5
+ sharp: 0.34.2
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
- nextra-theme-docs@4.0.7(@types/react@19.0.8)(next@15.1.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nextra@4.0.7(acorn@8.14.0)(next@15.1.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ nextra-theme-docs@4.2.17(@types/react@19.1.9)(next@15.3.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(nextra@4.2.17(acorn@8.14.0)(next@15.3.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.7.3))(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
- '@headlessui/react': 2.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@headlessui/react': 2.2.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
clsx: 2.1.1
- next: 15.1.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- next-themes: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- nextra: 4.0.7(acorn@8.14.0)(next@15.1.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)
- react: 19.0.0
- react-compiler-runtime: 0.0.0-experimental-22c6e49-20241219(react@19.0.0)
- react-dom: 19.0.0(react@19.0.0)
+ next: 15.3.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ next-themes: 0.4.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ nextra: 4.2.17(acorn@8.14.0)(next@15.3.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.7.3)
+ react: 19.1.1
+ react-compiler-runtime: 0.0.0-experimental-22c6e49-20241219(react@19.1.1)
+ react-dom: 19.1.1(react@19.1.1)
scroll-into-view-if-needed: 3.1.0
zod: 3.24.1
zod-validation-error: 3.4.0(zod@3.24.1)
- zustand: 5.0.3(@types/react@19.0.8)(react@19.0.0)
+ zustand: 5.0.3(@types/react@19.1.9)(react@19.1.1)
transitivePeerDependencies:
- '@types/react'
- immer
- use-sync-external-store
- nextra@4.0.7(acorn@8.14.0)(next@15.1.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3):
+ nextra@4.2.17(acorn@8.14.0)(next@15.3.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.7.3):
dependencies:
- '@formatjs/intl-localematcher': 0.5.10
- '@headlessui/react': 2.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@formatjs/intl-localematcher': 0.6.1
+ '@headlessui/react': 2.2.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mdx-js/mdx': 3.1.0(acorn@8.14.0)
'@napi-rs/simple-git': 0.1.19
- '@shikijs/twoslash': 1.29.1(typescript@5.7.3)
- '@theguild/remark-mermaid': 0.2.0(react@19.0.0)
+ '@shikijs/twoslash': 2.5.0(typescript@5.7.3)
+ '@theguild/remark-mermaid': 0.2.0(react@19.1.1)
'@theguild/remark-npm2yarn': 0.3.3
- better-react-mathjax: 2.0.3(react@19.0.0)
+ better-react-mathjax: 2.0.3(react@19.1.1)
clsx: 2.1.1
estree-util-to-js: 2.0.0
estree-util-value-to-estree: 3.2.1
@@ -6211,24 +6365,25 @@ snapshots:
mdast-util-gfm: 3.0.0
mdast-util-to-hast: 13.2.0
negotiator: 1.0.0
- next: 15.1.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- react: 19.0.0
- react-compiler-runtime: 0.0.0-experimental-22c6e49-20241219(react@19.0.0)
- react-dom: 19.0.0(react@19.0.0)
- react-medium-image-zoom: 5.2.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next: 15.3.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ react: 19.1.1
+ react-compiler-runtime: 0.0.0-experimental-22c6e49-20241219(react@19.1.1)
+ react-dom: 19.1.1(react@19.1.1)
+ react-medium-image-zoom: 5.2.13(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
rehype-katex: 7.0.1
- rehype-pretty-code: 0.14.0(shiki@1.29.1)
+ rehype-pretty-code: 0.14.1(shiki@2.5.0)
rehype-raw: 7.0.0
remark-frontmatter: 5.0.0
remark-gfm: 4.0.0
remark-math: 6.0.0
remark-reading-time: 2.0.1
remark-smartypants: 3.0.2
- shiki: 1.29.1
+ shiki: 2.5.0
slash: 5.1.0
title: 4.0.1
unist-util-remove: 4.0.0
unist-util-visit: 5.0.0
+ unist-util-visit-children: 3.0.0
yaml: 2.7.0
zod: 3.24.1
zod-validation-error: 3.4.0(zod@3.24.1)
@@ -6296,11 +6451,11 @@ snapshots:
dependencies:
mimic-fn: 4.0.0
- oniguruma-to-es@2.3.0:
+ oniguruma-to-es@3.1.1:
dependencies:
emoji-regex-xs: 1.0.0
- regex: 5.1.1
- regex-recursion: 5.1.1
+ regex: 6.0.1
+ regex-recursion: 6.0.2
optionator@0.9.4:
dependencies:
@@ -6451,7 +6606,7 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier-plugin-tailwindcss@0.6.11(prettier@3.4.2):
+ prettier-plugin-tailwindcss@0.6.13(prettier@3.4.2):
dependencies:
prettier: 3.4.2
@@ -6469,23 +6624,23 @@ snapshots:
queue-microtask@1.2.3: {}
- react-compiler-runtime@0.0.0-experimental-22c6e49-20241219(react@19.0.0):
+ react-compiler-runtime@0.0.0-experimental-22c6e49-20241219(react@19.1.1):
dependencies:
- react: 19.0.0
+ react: 19.1.1
- react-dom@19.0.0(react@19.0.0):
+ react-dom@19.1.1(react@19.1.1):
dependencies:
- react: 19.0.0
- scheduler: 0.25.0
+ react: 19.1.1
+ scheduler: 0.26.0
react-is@16.13.1: {}
- react-medium-image-zoom@5.2.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ react-medium-image-zoom@5.2.13(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
- react: 19.0.0
- react-dom: 19.0.0(react@19.0.0)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
- react@19.0.0: {}
+ react@19.1.1: {}
read-cache@1.0.0:
dependencies:
@@ -6538,14 +6693,13 @@ snapshots:
get-proto: 1.0.1
which-builtin-type: 1.2.1
- regex-recursion@5.1.1:
+ regex-recursion@6.0.2:
dependencies:
- regex: 5.1.1
regex-utilities: 2.3.0
regex-utilities@2.3.0: {}
- regex@5.1.1:
+ regex@6.0.1:
dependencies:
regex-utilities: 2.3.0
@@ -6574,13 +6728,13 @@ snapshots:
hast-util-from-html: 2.0.3
unified: 11.0.5
- rehype-pretty-code@0.14.0(shiki@1.29.1):
+ rehype-pretty-code@0.14.1(shiki@2.5.0):
dependencies:
'@types/hast': 3.0.4
hast-util-to-string: 3.0.1
parse-numeric-range: 1.3.0
rehype-parse: 9.0.1
- shiki: 1.29.1
+ shiki: 2.5.0
unified: 11.0.5
unist-util-visit: 5.0.0
@@ -6754,7 +6908,7 @@ snapshots:
safer-buffer@2.1.2: {}
- scheduler@0.25.0: {}
+ scheduler@0.26.0: {}
scroll-into-view-if-needed@3.1.0:
dependencies:
@@ -6764,6 +6918,9 @@ snapshots:
semver@7.6.3: {}
+ semver@7.7.2:
+ optional: true
+
set-function-length@1.2.2:
dependencies:
define-data-property: 1.1.4
@@ -6786,31 +6943,33 @@ snapshots:
es-errors: 1.3.0
es-object-atoms: 1.1.1
- sharp@0.33.5:
+ sharp@0.34.2:
dependencies:
color: 4.2.3
- detect-libc: 2.0.3
- semver: 7.6.3
+ detect-libc: 2.0.4
+ semver: 7.7.2
optionalDependencies:
- '@img/sharp-darwin-arm64': 0.33.5
- '@img/sharp-darwin-x64': 0.33.5
- '@img/sharp-libvips-darwin-arm64': 1.0.4
- '@img/sharp-libvips-darwin-x64': 1.0.4
- '@img/sharp-libvips-linux-arm': 1.0.5
- '@img/sharp-libvips-linux-arm64': 1.0.4
- '@img/sharp-libvips-linux-s390x': 1.0.4
- '@img/sharp-libvips-linux-x64': 1.0.4
- '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
- '@img/sharp-libvips-linuxmusl-x64': 1.0.4
- '@img/sharp-linux-arm': 0.33.5
- '@img/sharp-linux-arm64': 0.33.5
- '@img/sharp-linux-s390x': 0.33.5
- '@img/sharp-linux-x64': 0.33.5
- '@img/sharp-linuxmusl-arm64': 0.33.5
- '@img/sharp-linuxmusl-x64': 0.33.5
- '@img/sharp-wasm32': 0.33.5
- '@img/sharp-win32-ia32': 0.33.5
- '@img/sharp-win32-x64': 0.33.5
+ '@img/sharp-darwin-arm64': 0.34.2
+ '@img/sharp-darwin-x64': 0.34.2
+ '@img/sharp-libvips-darwin-arm64': 1.1.0
+ '@img/sharp-libvips-darwin-x64': 1.1.0
+ '@img/sharp-libvips-linux-arm': 1.1.0
+ '@img/sharp-libvips-linux-arm64': 1.1.0
+ '@img/sharp-libvips-linux-ppc64': 1.1.0
+ '@img/sharp-libvips-linux-s390x': 1.1.0
+ '@img/sharp-libvips-linux-x64': 1.1.0
+ '@img/sharp-libvips-linuxmusl-arm64': 1.1.0
+ '@img/sharp-libvips-linuxmusl-x64': 1.1.0
+ '@img/sharp-linux-arm': 0.34.2
+ '@img/sharp-linux-arm64': 0.34.2
+ '@img/sharp-linux-s390x': 0.34.2
+ '@img/sharp-linux-x64': 0.34.2
+ '@img/sharp-linuxmusl-arm64': 0.34.2
+ '@img/sharp-linuxmusl-x64': 0.34.2
+ '@img/sharp-wasm32': 0.34.2
+ '@img/sharp-win32-arm64': 0.34.2
+ '@img/sharp-win32-ia32': 0.34.2
+ '@img/sharp-win32-x64': 0.34.2
optional: true
shebang-command@2.0.0:
@@ -6819,15 +6978,15 @@ snapshots:
shebang-regex@3.0.0: {}
- shiki@1.29.1:
+ shiki@2.5.0:
dependencies:
- '@shikijs/core': 1.29.1
- '@shikijs/engine-javascript': 1.29.1
- '@shikijs/engine-oniguruma': 1.29.1
- '@shikijs/langs': 1.29.1
- '@shikijs/themes': 1.29.1
- '@shikijs/types': 1.29.1
- '@shikijs/vscode-textmate': 10.0.1
+ '@shikijs/core': 2.5.0
+ '@shikijs/engine-javascript': 2.5.0
+ '@shikijs/engine-oniguruma': 2.5.0
+ '@shikijs/langs': 2.5.0
+ '@shikijs/themes': 2.5.0
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
side-channel-list@1.0.0:
@@ -6867,6 +7026,11 @@ snapshots:
slash@5.1.0: {}
+ sonner@2.0.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
+ dependencies:
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
+
source-map-js@1.2.1: {}
source-map@0.7.4: {}
@@ -6968,10 +7132,10 @@ snapshots:
dependencies:
inline-style-parser: 0.2.4
- styled-jsx@5.1.6(react@19.0.0):
+ styled-jsx@5.1.6(react@19.1.1):
dependencies:
client-only: 0.0.1
- react: 19.0.0
+ react: 19.1.1
stylis@4.3.5: {}
@@ -7123,7 +7287,7 @@ snapshots:
has-symbols: 1.1.0
which-boxed-primitive: 1.1.1
- undici-types@6.19.8: {}
+ undici-types@6.21.0: {}
unified@11.0.5:
dependencies:
@@ -7316,9 +7480,9 @@ snapshots:
zod@3.24.1: {}
- zustand@5.0.3(@types/react@19.0.8)(react@19.0.0):
+ zustand@5.0.3(@types/react@19.1.9)(react@19.1.1):
optionalDependencies:
- '@types/react': 19.0.8
- react: 19.0.0
+ '@types/react': 19.1.9
+ react: 19.1.1
zwitch@2.0.4: {}
diff --git a/docs/postcss.config.mjs b/docs/offlegacy.org/postcss.config.mjs
similarity index 78%
rename from docs/postcss.config.mjs
rename to docs/offlegacy.org/postcss.config.mjs
index 1a69fd2..79bcf13 100644
--- a/docs/postcss.config.mjs
+++ b/docs/offlegacy.org/postcss.config.mjs
@@ -1,7 +1,7 @@
/** @type {import('postcss-load-config').Config} */
const config = {
plugins: {
- tailwindcss: {},
+ "@tailwindcss/postcss": {},
},
};
diff --git a/docs/prettier.config.js b/docs/offlegacy.org/prettier.config.js
similarity index 74%
rename from docs/prettier.config.js
rename to docs/offlegacy.org/prettier.config.js
index 443ebfc..e78fac2 100644
--- a/docs/prettier.config.js
+++ b/docs/offlegacy.org/prettier.config.js
@@ -1,4 +1,4 @@
-import rootConfig from "../prettier.config.js";
+import rootConfig from "../../prettier.config.js";
/** @type {import("prettier").Config} */
const config = {
diff --git a/docs/public/img/dark-logo.png b/docs/offlegacy.org/public/img/dark-logo.png
similarity index 100%
rename from docs/public/img/dark-logo.png
rename to docs/offlegacy.org/public/img/dark-logo.png
diff --git a/docs/public/img/light-logo.png b/docs/offlegacy.org/public/img/light-logo.png
similarity index 100%
rename from docs/public/img/light-logo.png
rename to docs/offlegacy.org/public/img/light-logo.png
diff --git a/docs/public/img/logo.jpg b/docs/offlegacy.org/public/img/logo.jpg
similarity index 100%
rename from docs/public/img/logo.jpg
rename to docs/offlegacy.org/public/img/logo.jpg
diff --git a/docs/public/img/og-webp.webp b/docs/offlegacy.org/public/img/og-webp.webp
similarity index 100%
rename from docs/public/img/og-webp.webp
rename to docs/offlegacy.org/public/img/og-webp.webp
diff --git a/docs/src/app/[lang]/docs/[[...mdxPath]]/page.tsx b/docs/offlegacy.org/src/app/[lang]/[[...mdxPath]]/page.tsx
similarity index 78%
rename from docs/src/app/[lang]/docs/[[...mdxPath]]/page.tsx
rename to docs/offlegacy.org/src/app/[lang]/[[...mdxPath]]/page.tsx
index 1420818..9c1eabf 100644
--- a/docs/src/app/[lang]/docs/[[...mdxPath]]/page.tsx
+++ b/docs/offlegacy.org/src/app/[lang]/[[...mdxPath]]/page.tsx
@@ -1,9 +1,9 @@
import { generateStaticParamsFor, importPage } from "nextra/pages";
-import { useMDXComponents } from "../../../../../mdx-components";
+import { useMDXComponents } from "@/mdx-components";
import { TrackPageView } from "@/tracker";
-import { Lang } from "@/lib/types/lang";
+import type { Lang } from "@/lib/types/lang";
export const generateStaticParams = generateStaticParamsFor("mdxPath");
@@ -19,11 +19,11 @@ const Wrapper = useMDXComponents().wrapper;
export default async function Page(props: { params: Promise<{ mdxPath: string[]; lang: Lang }> }) {
const params = await props.params;
const result = await importPage(params.mdxPath, params.lang);
- const { default: MDXContent, toc, metadata } = result;
+ const { default: MDXContent, metadata, toc, sourceCode } = result;
return (
<>
-
+
diff --git a/docs/src/app/[lang]/layout.tsx b/docs/offlegacy.org/src/app/[lang]/layout.tsx
similarity index 79%
rename from docs/src/app/[lang]/layout.tsx
rename to docs/offlegacy.org/src/app/[lang]/layout.tsx
index a3f739e..89be312 100644
--- a/docs/src/app/[lang]/layout.tsx
+++ b/docs/offlegacy.org/src/app/[lang]/layout.tsx
@@ -7,19 +7,19 @@ import "nextra-theme-docs/style-prefixed.css";
import "../globals.css";
import { TrackClick, TrackImpression, TrackProvider } from "@/tracker";
import { Logo } from "@/logo";
-import { Lang } from "@/lib/types/lang";
-import { type Metadata } from "next";
+import type { Metadata } from "next";
export const metadata: Metadata = {
title: {
template: "%s | Event Tracker",
- default: "Event Tracker",
+ default: "Event Tracker | Comprehensive solution for event tracking in React applications",
},
description: "Comprehensive solution for event tracking in React applications.",
+ metadataBase: new URL("https://event-tracker.offlegacy.org"),
openGraph: {
title: {
template: "%s | Event Tracker",
- default: "Event Tracker",
+ default: "Event Tracker | Comprehensive solution for event tracking in React applications",
},
images: ["img/og-webp.webp"],
description: "Comprehensive solution for event tracking in React applications.",
@@ -35,7 +35,7 @@ const navbar = (
- Event Tracker
+ Event Tracker
}
@@ -46,17 +46,11 @@ const navbar = (
);
const footer = (
- MIT {new Date().getFullYear()} © OffLegacy
+ MIT {new Date().getFullYear()} © OffLegacy
);
-export default async function RootLayout({
- params,
- children,
-}: {
- children: React.ReactNode;
- params: Promise<{ lang: Lang }>;
-}) {
+export default async function RootLayout({ params, children }: LayoutProps<"/[lang]">) {
const { lang } = await params;
const pageMap = await getPageMap(lang);
const headersList = await headers();
@@ -81,7 +75,7 @@ export default async function RootLayout({
pageMap={pageMap}
docsRepositoryBase="https://github.com/offlegacy/event-tracker/tree/main/docs"
footer={footer}
- darkMode
+ darkMode={false}
>
{children}
diff --git a/docs/src/app/[lang]/not-found.tsx b/docs/offlegacy.org/src/app/[lang]/not-found.tsx
similarity index 100%
rename from docs/src/app/[lang]/not-found.tsx
rename to docs/offlegacy.org/src/app/[lang]/not-found.tsx
diff --git a/docs/offlegacy.org/src/app/globals.css b/docs/offlegacy.org/src/app/globals.css
new file mode 100644
index 0000000..98fae21
--- /dev/null
+++ b/docs/offlegacy.org/src/app/globals.css
@@ -0,0 +1,5 @@
+@import "tailwindcss";
+
+@variant dark (&:where(.dark, .dark *));
+
+@source "./src/**/*.{js,jsx,ts,tsx,md,mdx}";
diff --git a/docs/offlegacy.org/src/components/demo-button.tsx b/docs/offlegacy.org/src/components/demo-button.tsx
new file mode 100644
index 0000000..02bd678
--- /dev/null
+++ b/docs/offlegacy.org/src/components/demo-button.tsx
@@ -0,0 +1,50 @@
+"use client";
+
+import { createTracker } from "@offlegacy/event-tracker";
+import { toast } from "sonner";
+import { motion } from "motion/react";
+
+const [Track] = createTracker({
+ DOMEvents: {
+ onClick: (params: { buttonId: string }, context: { userId: string }) => {
+ toast.success(`${context.userId}: ${params.buttonId}`);
+ },
+ },
+});
+
+export function DemoButton({ children }: { children: React.ReactNode }) {
+ return (
+
+
+
+ {children}
+
+
+
+ );
+}
diff --git a/docs/offlegacy.org/src/components/demo-playground.tsx b/docs/offlegacy.org/src/components/demo-playground.tsx
new file mode 100644
index 0000000..dd2e8a9
--- /dev/null
+++ b/docs/offlegacy.org/src/components/demo-playground.tsx
@@ -0,0 +1,81 @@
+"use client";
+
+import { highlight, Pre, type HighlightedCode } from "codehike/code";
+import { DemoButton } from "./demo-button";
+import { Link, useTheme } from "nextra-theme-docs";
+import { useLayoutEffect, useState } from "react";
+import { motion } from "motion/react";
+import { Toaster } from "sonner";
+
+const code = `import { createTracker } from "@offlegacy/event-tracker";
+import { capture } from "you-can-use-analytics";
+
+const [Track] = createTracker({
+ DOMEvents: {
+ onClick: (params, context) => {
+ capture("click", { ...params, ...context });
+ toast.success(\`\${context.userId}: \${params.buttonId}\`);
+ },
+ },
+});
+
+function App() {
+ return (
+
+
+ Click me
+
+
+ );
+}`;
+
+export function DemoCode() {
+ const { resolvedTheme } = useTheme();
+ const codeTheme = resolvedTheme === "dark" ? "github-dark" : "github-light";
+ const [highlighted, setHighlighted] = useState(null);
+
+ useLayoutEffect(() => {
+ highlight(
+ {
+ value: code,
+ lang: "tsx",
+ meta: "",
+ },
+ codeTheme,
+ ).then(setHighlighted);
+ }, [codeTheme]);
+
+ if (!highlighted) return null;
+
+ return (
+
+
+
+
+
+ example-basic.tsx
+
+
+
+
+
+
+ Click me
+
+
+
+ );
+}
diff --git a/docs/offlegacy.org/src/components/home-page.tsx b/docs/offlegacy.org/src/components/home-page.tsx
new file mode 100644
index 0000000..812721c
--- /dev/null
+++ b/docs/offlegacy.org/src/components/home-page.tsx
@@ -0,0 +1,89 @@
+import Link from "next/link";
+
+import { Logo } from "@/logo";
+import { TrackClick, TrackPageView } from "@/tracker";
+import { DemoCode } from "@/components/demo-playground";
+import Image from "next/image";
+import { InstallCopyButton } from "@/components/install-copy-button";
+
+type FeatureCardText = {
+ title: string;
+ description: string;
+};
+
+type Props = {
+ description: string;
+ startedText: string;
+ featureSectionTitle: string;
+ featureSectionContents: FeatureCardText[];
+};
+
+export default async function HomePage({
+ description,
+ startedText,
+ featureSectionTitle,
+ featureSectionContents,
+}: Props) {
+ return (
+
+
+
+
+
+
+
Event Tracker
+
{description}
+
+
+
+
+ {startedText}
+
+
+
+
+
+
+
+
+
+
+
{featureSectionTitle}
+
+ {featureSectionContents.map((card) => (
+
+ ))}
+
+
+
+
Driven by the Community
+
+
+
+
+
+ );
+}
+
+function FeatureCard({ title, description }: { title: string; description: string }) {
+ return (
+
+
{title}
+
{description}
+
+ );
+}
diff --git a/docs/offlegacy.org/src/components/install-copy-button.tsx b/docs/offlegacy.org/src/components/install-copy-button.tsx
new file mode 100644
index 0000000..cd16267
--- /dev/null
+++ b/docs/offlegacy.org/src/components/install-copy-button.tsx
@@ -0,0 +1,55 @@
+"use client";
+
+import { Copy, Check } from "lucide-react";
+import { motion, AnimatePresence } from "motion/react";
+import { useCopyToClipboard } from "@uidotdev/usehooks";
+import { useState } from "react";
+
+const COMMAND = "npm i @offlegacy/event-tracker";
+
+export function InstallCopyButton() {
+ const [, copyToClipboard] = useCopyToClipboard();
+ const [showCheck, setShowCheck] = useState(false);
+
+ return (
+ {
+ copyToClipboard(COMMAND);
+ setShowCheck(true);
+ setTimeout(() => setShowCheck(false), 1000);
+ }}
+ >
+ {COMMAND}
+
+
+ {showCheck ? (
+
+
+
+ ) : (
+
+
+
+ )}
+
+
+
+ );
+}
diff --git a/docs/offlegacy.org/src/content/en/_meta.tsx b/docs/offlegacy.org/src/content/en/_meta.tsx
new file mode 100644
index 0000000..43b6655
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/_meta.tsx
@@ -0,0 +1,16 @@
+import type { MetaRecord } from "nextra";
+
+export default {
+ index: {
+ type: "page",
+ display: "hidden",
+ theme: {
+ layout: "full",
+ toc: false,
+ },
+ },
+ docs: {
+ type: "page",
+ title: "Docs",
+ },
+} satisfies MetaRecord;
diff --git a/docs/src/content/en/_meta.ts b/docs/offlegacy.org/src/content/en/docs/_meta.ts
similarity index 51%
rename from docs/src/content/en/_meta.ts
rename to docs/offlegacy.org/src/content/en/docs/_meta.ts
index 29d0799..d75c6c5 100644
--- a/docs/src/content/en/_meta.ts
+++ b/docs/offlegacy.org/src/content/en/docs/_meta.ts
@@ -1,32 +1,33 @@
-import { MetaRecord } from "nextra";
+import type { MetaRecord } from "nextra";
-const meta: MetaRecord = {
+export default {
"getting-started-separator": {
type: "separator",
title: "Getting Started",
},
- index: {
+ introduction: {
title: "Introduction",
theme: {
toc: true,
layout: "default",
},
},
- installation: {
- title: "Installation",
+ "why-event-tracker": {
+ title: "Why Event Tracker?",
theme: {
toc: true,
layout: "default",
},
},
- "quick-start": {
- title: "Quick Start",
+ installation: {
+ title: "Installation",
theme: {
toc: true,
layout: "default",
},
},
- "api-separator": {
+ // TODO: Quick Start
+ "api-reference-separator": {
title: "API Reference",
type: "separator",
},
@@ -37,31 +38,55 @@ const meta: MetaRecord = {
layout: "default",
},
},
- components: {
- title: "components",
+ components: { title: "Components" },
+ hook: {
+ title: "Hook",
theme: {
toc: true,
layout: "default",
},
},
- hook: {
- title: "hook",
+ "advanced-separator": {
+ title: "Guide",
+ type: "separator",
+ },
+ batching: {
+ title: "Batching",
theme: {
toc: true,
layout: "default",
},
},
- "advanced-separator": {
- title: "Advanced",
+ "data-type-validation": {
+ title: "Data Validation",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+ "example-separator": {
+ title: "Examples",
type: "separator",
},
- batching: {
- title: "Batching",
+ "basic-example": {
+ title: "Basic",
theme: {
toc: true,
layout: "default",
},
},
-};
-
-export default meta;
+ "with-google-analytics-example": {
+ title: "w/ Google Analytics",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+ "with-zod-example": {
+ title: "w/ Zod",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+} satisfies MetaRecord;
diff --git a/docs/offlegacy.org/src/content/en/docs/basic-example.mdx b/docs/offlegacy.org/src/content/en/docs/basic-example.mdx
new file mode 100644
index 0000000..6261904
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/basic-example.mdx
@@ -0,0 +1,77 @@
+import { Steps } from "nextra/components";
+
+# Getting Started
+
+This guide walks you through the overall flow and usage of the Event Tracker library step by step.
+Each step explains the required configuration, component usage, and event handling process.
+
+
+
+## Define Tracking Events
+
+Create a tracker instance and define callbacks for DOM events.
+
+```tsx {12}
+import { createTracker } from "@offlegacy/event-tracker";
+
+interface Context {
+ userId: string;
+}
+
+interface Params {
+ eventName: string;
+}
+
+// Create a tracker instance
+export const [Track, useTracker] = createTracker({
+ // Define tracking events
+ DOMEvents: {
+ onClick: (params: Params) => {
+ console.log("click:", params);
+ },
+ },
+});
+```
+
+## Add a Provider
+
+Wrap your application with `Track.Provider` and set the global context.
+
+```tsx {5, 7}
+import { Track, useTracker } from "./tracker";
+
+function App() {
+ return (
+
+
+
+ );
+}
+```
+
+## Use the Defined Events
+
+Use the `Track.Click` component to declaratively track click events.
+
+```tsx {9-13, 15}
+import { Track } from "./tracker";
+
+function HomePage() {
+ return (
+
+ Homepage
+
+ {/* Track button click */}
+
+ Get Started
+
+
+ );
+}
+```
+
+
diff --git a/docs/offlegacy.org/src/content/en/docs/batching.mdx b/docs/offlegacy.org/src/content/en/docs/batching.mdx
new file mode 100644
index 0000000..031c01a
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/batching.mdx
@@ -0,0 +1,133 @@
+import { Callout } from "nextra/components";
+
+# Batching (Experimental)
+
+
+ **⚠️ Experimental Feature** This feature is currently in experimental stage. The API may change and caution is advised
+ when using in production environments. Feedback and bug reports are welcome.
+
+
+Event batching allows you to group multiple events into a single network request under certain conditions. It is particularly useful in the following cases:
+
+- When using analytics services like Amplitude or Google Analytics that lack built-in batching
+- When you want to reduce the number of network requests
+- When you need to prevent event loss on browser close
+
+## Usage
+
+Enable the `batch` option in the `createTracker` configuration to use batching.
+
+```tsx
+const [Track, useTracker] = createTracker({
+ // ... other configuration
+ batch: {
+ enable: true,
+ interval: 2000,
+ thresholdSize: 100,
+ onFlush: (batch, isBrowserClosing) => {
+ if (isBrowserClosing) {
+ navigator.sendBeacon("/analytics/collect/batch", JSON.stringify(batch));
+ return;
+ }
+
+ fetch("/analytics/collect/batch", {
+ method: "POST",
+ body: JSON.stringify(batch),
+ });
+ },
+ },
+});
+```
+
+## Options
+
+| Option | Type | Description | Default |
+| --------------- | ---------------------------------------------------- | ------------------------------------------------- | ------- |
+| `enable` | `boolean` | Whether to enable batching | `false` |
+| `interval` | `number` | Interval between batch sends (in ms) | `3000` |
+| `thresholdSize` | `number` | Maximum number of events before flushing batch | `25` |
+| `onFlush` | `(batch, isBrowserClosing) => void \| Promise` | Required. Function to process batched events | - |
+| `onError` | `(error: Error) => void \| Promise` | Optional. Called when an error occurs during send | - |
+
+`onFlush` is **required** and defines how batched events are actually sent.
+
+## How It Works
+
+1. The **return value** of each event handler is collected in memory.
+2. `onFlush` is called when one of the following occurs:
+
+ - The `interval` time has elapsed
+ - The number of collected events reaches `thresholdSize`
+ - A browser close event is detected
+
+## Examples
+
+```tsx
+const [Track, useTracker] = createTracker({
+ DOMEvents: {
+ onClick: (params, context) => {
+ return {
+ ...params,
+ ...context,
+ event_type: "click",
+ timestamp: Date.now(),
+ };
+ },
+ },
+ batch: {
+ enable: true,
+ interval: 2000,
+ thresholdSize: 100,
+ onFlush: (batch, isBrowserClosing) => {
+ if (isBrowserClosing) {
+ navigator.sendBeacon("/analytics/collect/batch", JSON.stringify(batch));
+ return;
+ }
+
+ fetch("/analytics/collect/batch", {
+ method: "POST",
+ body: JSON.stringify(batch),
+ });
+ },
+ },
+});
+
+function App() {
+ return (
+
+
+ Submit
+
+
+ );
+}
+```
+
+1. Each time `` runs, the object returned by the event handler is added to the batch queue.
+2. After 2 seconds or once 100 events accumulate, `onFlush` is called and the batch is sent to the server.
+3. On browser close, events are sent via `sendBeacon`.
+
+## Handling Browser Close
+
+To prevent event loss when the browser closes, you can use [`navigator.sendBeacon`](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon):
+
+```tsx
+onFlush: (batch, isBrowserClosing) => {
+ if (isBrowserClosing) {
+ navigator.sendBeacon("/analytics/collect/batch", JSON.stringify(batch));
+ return;
+ }
+
+ fetch("/analytics/collect/batch", {
+ method: "POST",
+ body: JSON.stringify(batch),
+ });
+};
+```
+
+## Notes
+
+1. **Only the return value of event handlers is batched.** The handlers themselves are always executed.
+2. **Batched events are stored with context information.**
+3. **Event order is preserved.** For example, click → impression events are sent in the same order.
+4. When the browser closes, the `isBrowserClosing` flag is set to `true` to allow conditional logic in `onFlush`.
diff --git a/docs/src/content/en/components/_meta.ts b/docs/offlegacy.org/src/content/en/docs/components/_meta.ts
similarity index 100%
rename from docs/src/content/en/components/_meta.ts
rename to docs/offlegacy.org/src/content/en/docs/components/_meta.ts
diff --git a/docs/offlegacy.org/src/content/en/docs/components/click.mdx b/docs/offlegacy.org/src/content/en/docs/components/click.mdx
new file mode 100644
index 0000000..4207280
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/components/click.mdx
@@ -0,0 +1,154 @@
+import { Callout } from "nextra/components";
+
+# Click
+
+A dedicated `DOMEvent` component for click events (`type="onClick"`).
+It is one of the event components returned as the first element of the `createTracker` tuple.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track] = createTracker({
+ DOMEvents: {
+ onClick: (params, context) => {
+ // Handle click event
+ },
+ },
+});
+
+function App() {
+ return (
+
+
+ Submit
+
+
+ );
+}
+```
+
+## Signature
+
+```ts
+function Click({
+ children,
+ enabled,
+ ...props
+}: {
+ children: ReactNode;
+ enabled?: EnabledCondition;
+} & TrackingOptions &
+ UnionPropsWithAndWithoutSchema): JSX.Element;
+```
+
+## Reference
+
+### Props
+
+| Prop | Type | Description | Required |
+| ---------- | ----------------------------------------------------------------- | ---------------------------------------------------------- | -------- |
+| `enabled` | `boolean \| ((context: Context, params: EventParams) => boolean)` | Conditionally enable/disable tracking (default: `true`) | - |
+| `debounce` | `DebounceConfig` | Debounce configuration to prevent rapid consecutive clicks | - |
+| `throttle` | `ThrottleConfig` | Throttle configuration to limit click frequency | - |
+| `schema` | `string` | Schema name for validating event parameters | O |
+
+
+ Note: `debounce` and `throttle` are mutually exclusive and cannot be used together. A type error prevents invalid
+ usage.
+
+
+The type of the `params` prop differs depending on whether a schema is used.
+
+With schema:
+
+| Prop | Type | Description |
+| -------- | ---------------------------------------------------- | ----------------------- |
+| `params` | `SchemaParams \| (context: Context) => SchemaParams` | Schema-based parameters |
+
+Without schema:
+
+| Prop | Type | Description |
+| -------- | -------------------------------------------------- | ---------------- |
+| `params` | `EventParams \| (context: Context) => EventParams` | Event parameters |
+
+---
+
+#### `params` (Required)
+
+With schema:
+
+- **Type:** `SchemaParams | (context: Context) => SchemaParams`
+- **Description:** Schema-based parameters.
+
+Without schema:
+
+- **Type:** `EventParams | (context: Context) => EventParams`
+- **Description:** Standard event parameters.
+
+#### `enabled`
+
+- **Type:** `boolean | ((context: Context, params: EventParams) => boolean)`
+- **Description:** Conditionally enable or disable event tracking (default: `true`).
+
+#### `debounce`
+
+- **Type:** `DebounceConfig`
+- **Description:** Configure debouncing to avoid multiple rapid click triggers.
+
+#### `throttle`
+
+- **Type:** `ThrottleConfig`
+- **Description:** Configure throttling to limit click frequency.
+
+#### `schema`
+
+When using schemas:
+
+- **Type:** `string`
+- **Description:** Schema name used to validate event parameters.
+
+## Examples
+
+### Custom Event Handler Name
+
+```tsx {8, 10}
+function MyButton({ onButtonClick }: { onButtonClick?: () => void }) {
+ return ;
+}
+
+function App() {
+ return (
+
+
+
+
+
+ );
+}
+```
+
+Using the `eventName` prop lets you specify a custom click handler name, providing flexibility if the handler name differs.
+
+### Conditional Event
+
+```tsx
+ context.user?.isPremium}>
+ Premium Feature
+
+```
+
+### Debounced Event
+
+```tsx
+
+ Search
+
+```
+
+### Throttled Event
+
+```tsx
+
+ Quick Action
+
+```
diff --git a/docs/offlegacy.org/src/content/en/docs/components/dom-event.mdx b/docs/offlegacy.org/src/content/en/docs/components/dom-event.mdx
new file mode 100644
index 0000000..b3fdf48
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/components/dom-event.mdx
@@ -0,0 +1,149 @@
+import { Callout } from "nextra/components";
+
+# DOMEvent
+
+Used to track DOM events. Wraps a child component and triggers the specified event handler.
+It is one of the event components returned as the first element of the `createTracker` tuple.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track] = createTracker({
+ DOMEvents: {
+ onFocus: (params, context) => {
+ // Handle focus event
+ },
+ },
+});
+
+function App() {
+ return (
+
+
+
+
+
+ );
+}
+```
+
+## Reference
+
+### Props
+
+| Prop | Type | Description | Required |
+| ---------- | ----------------------------------------------------------------- | ---------------------------------------------------------- | -------- |
+| `type` | `DOMEventNames` | Event name (e.g., `"onClick"`, `"onFocus"`) | Yes |
+| `enabled` | `boolean \| ((context: Context, params: EventParams) => boolean)` | Conditionally enable/disable tracking (default: `true`) | - |
+| `debounce` | `DebounceConfig` | Debounce configuration to prevent rapid consecutive events | - |
+| `throttle` | `ThrottleConfig` | Throttle configuration to limit event frequency | - |
+| `schema` | `string` | Schema name for validating event parameters | - |
+
+
+ Note: `debounce` and `throttle` are mutually exclusive and cannot be used together. A type error prevents invalid
+ usage.
+
+
+The type of the `params` prop differs depending on whether a schema is used.
+
+With schema:
+
+| Prop | Type | Description |
+| -------- | ---------------------------------------------------- | ----------------------- |
+| `params` | `SchemaParams \| (context: Context) => SchemaParams` | Schema-based parameters |
+
+Without schema:
+
+| Prop | Type | Description |
+| -------- | -------------------------------------------------- | ---------------- |
+| `params` | `EventParams \| (context: Context) => EventParams` | Event parameters |
+
+---
+
+#### `params` (Required)
+
+With schema:
+
+- **Type:** `SchemaParams | (context: Context) => SchemaParams`
+- **Description:** Schema-based parameters.
+
+Without schema:
+
+- **Type:** `EventParams | (context: Context) => EventParams`
+- **Description:** Standard event parameters.
+
+#### `enabled`
+
+- **Type:** `boolean | ((context: Context, params: EventParams) => boolean)`
+- **Description:** Conditionally enable or disable event tracking (default: `true`).
+
+#### `debounce`
+
+- **Type:** `DebounceConfig`
+- **Description:** Configure debouncing to avoid multiple rapid event triggers.
+
+#### `throttle`
+
+- **Type:** `ThrottleConfig`
+- **Description:** Configure throttling to limit event frequency.
+
+#### `schema`
+
+When using schemas:
+
+- **Type:** `string`
+- **Description:** Schema name used to validate event parameters.
+
+## Examples
+
+### Custom Event Handler Name
+
+```tsx {8, 10}
+function MyInput({ onInputFocus }: { onInputFocus?: () => void }) {
+ return ;
+}
+
+function App() {
+ return (
+
+
+
+
+
+ );
+}
+```
+
+Using the `eventName` prop lets you specify a custom handler name, providing flexibility if the handler name differs from the DOM event name.
+
+### Conditional Event
+
+```tsx
+ context.trackingEnabled}>
+
+
+```
+
+### Debounced Event
+
+```tsx
+
+
+
+```
+
+### Throttled Event
+
+```tsx
+
+ Scrollable Content
+
+```
diff --git a/docs/offlegacy.org/src/content/en/docs/components/impression.mdx b/docs/offlegacy.org/src/content/en/docs/components/impression.mdx
new file mode 100644
index 0000000..cb993e6
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/components/impression.mdx
@@ -0,0 +1,129 @@
+import { Callout } from "nextra/components";
+
+# Impression
+
+Tracks impression events using the [Intersection Observer API](https://developer.mozilla.org/docs/Web/API/Intersection_Observer_API).
+It is one of the event components returned as the first element of the `createTracker` tuple.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track] = createTracker({
+ impression: {
+ onImpression: (params, context) => {
+ // Handle impression event
+ },
+ options: {
+ threshold: 0.5,
+ },
+ },
+});
+
+function App() {
+ return (
+
+
+ Tracked Content
+
+
+ );
+}
+```
+
+## Reference
+
+### Props
+
+| Prop | Type | Description | Required |
+| ---------- | ----------------------------------------------------------------- | ------------------------------------------------------------- | -------- |
+| `enabled` | `boolean \| ((context: Context, params: EventParams) => boolean)` | Conditionally enable/disable event tracking (default: `true`) | - |
+| `debounce` | `DebounceConfig` | Configure debouncing to prevent rapid consecutive events | - |
+| `throttle` | `ThrottleConfig` | Configure throttling to limit event frequency | - |
+| `options` | `ImpressionOptions` | Overrides global `IntersectionObserver` options | - |
+| `schema` | `string` | Schema name for validating event parameters | O |
+
+
+ Note: `debounce` and `throttle` are mutually exclusive and cannot be used together. A type error will prevent invalid
+ usage.
+
+
+The `params` prop type changes depending on whether schemas are used.
+
+With schema:
+
+| Prop | Type | Description |
+| -------- | ---------------------------------------------------- | ----------------------- |
+| `params` | `SchemaParams \| (context: Context) => SchemaParams` | Schema-based parameters |
+
+Without schema:
+
+| Prop | Type | Description |
+| -------- | -------------------------------------------------- | ------------------- |
+| `params` | `EventParams \| (context: Context) => EventParams` | Standard parameters |
+
+---
+
+#### `params` (Required)
+
+With schema:
+
+- **Type:** `SchemaParams | (context: Context) => SchemaParams`
+- **Description:** Schema-based parameters
+
+Without schema:
+
+- **Type:** `EventParams | (context: Context) => EventParams`
+- **Description:** Event parameters
+
+#### `enabled`
+
+- **Type:** `boolean | ((context: Context, params: EventParams) => boolean)`
+- **Description:** Conditionally enable or disable event tracking (default: `true`)
+
+#### `debounce`
+
+- **Type:** `DebounceConfig`
+- **Description:** Configure debouncing to avoid multiple rapid event triggers.
+
+#### `throttle`
+
+- **Type:** `ThrottleConfig`
+- **Description:** Configure throttling to limit event frequency.
+
+#### `options`
+
+- **Type:** `ImpressionOptions`
+- **Description:** Controls [`IntersectionObserver`](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) behavior such as `threshold` and `rootMargin`. Overrides global options for fine-grained control per impression.
+
+#### `schema`
+
+When using schemas:
+
+- **Type:** `string`
+- **Description:** Schema name used to validate event parameters.
+
+## Examples
+
+### Conditional Event
+
+```tsx
+ context.user?.hasAccess}
+ options={{ threshold: 0.5 }}
+>
+ Premium Content
+
+```
+
+### Throttled Event
+
+```tsx
+
+ Ad Banner
+
+```
diff --git a/docs/offlegacy.org/src/content/en/docs/components/index.mdx b/docs/offlegacy.org/src/content/en/docs/components/index.mdx
new file mode 100644
index 0000000..d96617b
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/components/index.mdx
@@ -0,0 +1,63 @@
+# Provider
+
+The `Provider` component initializes and supplies context to the application. It is one of the event components returned as the first element of the `createTracker` tuple.
+
+```tsx
+import { createTracker } from '@offlegacy/event-tracker'
+
+const [Track] = createTracker({...})
+
+function App() {
+ return (
+
+ {/* Application */}
+
+ )
+}
+```
+
+## Reference
+
+### Props
+
+| Prop | Type | Description | Required |
+| ---------------- | --------- | --------------------- | -------- |
+| `initialContext` | `Context` | Initial context value | Yes |
+
+---
+
+#### `initialContext` (Required)
+
+- **Type:** `Context`
+- **Description:** Defines the initial context value.
+
+## Examples
+
+### With Initial Context
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+type Context = {
+ userId: string;
+ trackingEnabled: boolean;
+};
+
+const [Track] = createTracker({});
+
+function App() {
+ return (
+
+
+
+ );
+}
+```
+
+`initialContext` defines the initial state accessible to all nested tracking components.
+This context can be used within `enabled`, `params`, and `SetContext`.
diff --git a/docs/offlegacy.org/src/content/en/docs/components/page-view.mdx b/docs/offlegacy.org/src/content/en/docs/components/page-view.mdx
new file mode 100644
index 0000000..d78fd8a
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/components/page-view.mdx
@@ -0,0 +1,108 @@
+import { Callout } from "nextra/components";
+
+# PageView
+
+Tracks a page view event when the component mounts. It is one of the event components returned as the first element of the `createTracker` tuple.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track] = createTracker({
+ pageView: {
+ onPageView: (params, context) => {
+ // Handle page view event
+ },
+ },
+});
+
+function App() {
+ return (
+
+
+
+ );
+}
+```
+
+## Reference
+
+### Props
+
+| Prop | Type | Description | Required |
+| ---------- | ----------------------------------------------------------------- | ------------------------------------------------------------- | -------- |
+| `enabled` | `boolean \| ((context: Context, params: EventParams) => boolean)` | Conditionally enable/disable event tracking (default: `true`) | - |
+| `debounce` | `DebounceConfig` | Debounce configuration to prevent rapid consecutive events | - |
+| `throttle` | `ThrottleConfig` | Throttle configuration to limit event frequency | - |
+| `schema` | `string` | Schema name for validating event parameters | O |
+
+
+ Note: `debounce` and `throttle` are mutually exclusive and cannot be used together. A type error will prevent invalid
+ usage.
+
+
+When using with schemas vs. without schemas, the `params` prop type differs.
+
+With schema:
+
+| Prop | Type | Description |
+| -------- | ---------------------------------------------------- | ----------------------- |
+| `params` | `SchemaParams \| (context: Context) => SchemaParams` | Schema-based parameters |
+
+Without schema:
+
+| Prop | Type | Description |
+| -------- | -------------------------------------------------- | ------------------- |
+| `params` | `EventParams \| (context: Context) => EventParams` | Standard parameters |
+
+---
+
+#### `params` (Required)
+
+With schema:
+
+- **Type:** `SchemaParams | (context: Context) => SchemaParams`
+- **Description:** Schema-based parameters
+
+Without schema:
+
+- **Type:** `EventParams | (context: Context) => EventParams`
+- **Description:** Event parameters
+
+#### `enabled`
+
+- **Type:** `boolean | ((context: Context, params: EventParams) => boolean)`
+- **Description:** Conditionally enable or disable event tracking (default: `true`)
+
+#### `debounce`
+
+- **Type:** `DebounceConfig`
+- **Description:** Configure debouncing to avoid multiple rapid event triggers.
+
+#### `throttle`
+
+- **Type:** `ThrottleConfig`
+- **Description:** Configure throttling to limit event frequency.
+
+#### `schema`
+
+When using schemas:
+
+- **Type:** `string`
+- **Description:** Schema name used to validate event parameters.
+
+## Examples
+
+### Conditional Event
+
+```tsx
+ context.trackingConsent === true}
+/>
+```
+
+### Debounced Page View
+
+```tsx
+
+```
diff --git a/docs/offlegacy.org/src/content/en/docs/components/set-context.mdx b/docs/offlegacy.org/src/content/en/docs/components/set-context.mdx
new file mode 100644
index 0000000..fc4cbf8
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/components/set-context.mdx
@@ -0,0 +1,48 @@
+import { Callout } from "nextra/components";
+
+# SetContext
+
+Sets or updates the tracking context. It is one of the utility components returned as the first element of the `createTracker` tuple.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track] = createTracker({ ... });
+
+function App() {
+ return (
+
+
+
+ );
+}
+```
+
+## Reference
+
+### Props
+
+| Prop | Type | Description | Required |
+| --------- | ------------------------------------------------ | ----------------------------------------------------------------------- | -------- |
+| `context` | `Context \| ((prevContext: Context) => Context)` | New context value or a function to update based on the previous context | Yes |
+
+---
+
+#### `context` (Required)
+
+- **Type:** `Context | ((prevContext: Context) => Context)`
+- **Description:** You can either specify a new context directly or update it based on the previous context. Once rendered, this component updates the tracking context with the specified value.
+
+## Examples
+
+### Set Static Context
+
+```tsx
+
+```
+
+### Update Based on Previous Context
+
+```tsx
+ ({ ...prev, lastSeen: new Date() })} />
+```
diff --git a/docs/offlegacy.org/src/content/en/docs/create-tracker.mdx b/docs/offlegacy.org/src/content/en/docs/create-tracker.mdx
new file mode 100644
index 0000000..abb506c
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/create-tracker.mdx
@@ -0,0 +1,128 @@
+# createTracker
+
+`createTracker` is a function that generates a tracker instance with custom configurations.
+Through its parameters, you define event tracking behavior, and the returned tuple provides access to the tracker instance.
+
+```tsx
+const [{ Provider, DOMEvent, Click, Impression, PageView, SetContext }, useTracker] = createTracker({
+ init,
+ send,
+ DOMEvents,
+ impression: {
+ onImpression,
+ options,
+ },
+ pageView: {
+ onPageView,
+ },
+ batch,
+ schemas,
+});
+```
+
+## Reference
+
+### Parameters
+
+`createTracker` accepts a single configuration object.
+
+| Property | Type | Description |
+| ------------ | ------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |
+| `init` | `(initialContext: Context, setContext: SetContext) => void \| Promise` | Initialization function executed before any event occurs. Async supported. |
+| `send` | `(params: EventParams \| (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType` | Event dispatch function. Async supported. |
+| `DOMEvents` | [`DOMEvents`](https://developer.mozilla.org/docs/Web/API/Event) | Collection of React DOM event handlers (`onClick`, `onMouseEnter`, etc.) |
+| `impression` | `ImpressionOptions` | Impression event tracking configuration |
+| `pageView` | `PageViewOptions` | Page view tracking configuration |
+| `batch` | `BatchConfig` | Event batching configuration |
+| `schemas` | `SchemaConfig` | Event schema validation configuration |
+
+---
+
+#### `init`
+
+- **Type:** `(initialContext: Context, setContext: SetContext) => void | Promise`
+- **Description:** Function to initialize context before any event fires. Supports async.
+
+#### `send`
+
+- **Type:** `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
+- **Description:** Sends events to an external service. Supports async.
+
+#### `DOMEvents`
+
+- **Type:** `DOMEvents`
+- **Description:** Standard React DOM event handler object. Used in `` components.
+
+#### `impression`
+
+- **`impression.onImpression`**
+
+ - **Type:** `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
+ - **Description:** Callback executed when `` fires.
+
+- **`impression.options`**
+
+ - **Type:** `ImpressionOptions`
+ - **Properties:**
+
+ - `threshold`: Intersection ratio threshold (default: `0.2`)
+ - `freezeOnceVisible`: Whether to lock state after first impression (default: `true`)
+ - `initialIsIntersecting`: Initial intersection state (default: `false`)
+
+#### `pageView`
+
+- **`pageView.onPageView`**
+
+ - **Type:** `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
+ - **Description:** Callback executed when `` mounts.
+
+#### `batch`
+
+- **Type:** `BatchConfig`
+- **Properties:**
+
+ - `batch.enable`: Enable batching (default: `false`)
+ - `batch.interval`: Dispatch interval in ms (default: `3000`)
+ - `batch.thresholdSize`: Max batch size (default: `25`)
+ - `batch.onFlush`: Function to process batched events
+ - `batch.onError`: Optional error handler for batch failures
+
+#### `schemas`
+
+- **Type:** `SchemaConfig`
+- **Properties:**
+
+ - `schemas.schema`: [Zod](https://zod.dev/)-based schema definitions
+ - `schemas.onSchemaError`: Handler for schema validation errors
+ - `schemas.abortOnError`: Whether to abort events on validation error (default: `false`)
+
+### Returns
+
+`createTracker` returns a tuple with two elements:
+
+```tsx
+const [{ Provider, DOMEvent, Click, Impression, PageView, SetContext }, useTracker] = createTracker({...})
+```
+
+#### [Components](./components)
+
+The first element is an object containing event components:
+
+```tsx
+const [{ Provider, DOMEvent, Click, Impression, PageView, SetContext }] = createTracker(config);
+```
+
+- `Provider`
+- `DOMEvent`
+- `Click`
+- `Impression`
+- `PageView`
+- `SetContext`
+
+#### [Hook](./hook)
+
+```tsx
+const [, useTracker] = createTracker(config);
+```
+
+The second element is a custom React hook giving access to event tracking functions and context management inside components.
diff --git a/docs/offlegacy.org/src/content/en/docs/data-type-validation.mdx b/docs/offlegacy.org/src/content/en/docs/data-type-validation.mdx
new file mode 100644
index 0000000..6a52335
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/data-type-validation.mdx
@@ -0,0 +1,176 @@
+import { Callout, Steps } from "nextra/components";
+
+# Data Validation
+
+Event Tracker provides schema-based data type validation using the [Standard Schema](https://standardschema.dev/) specification to ensure the accuracy of event parameters.
+With this feature, events are validated against predefined structures before being collected, helping to ensure data reliability, prevent errors, and provide a foundation for structured analytics.
+
+The library supports any schema validation library that implements the Standard Schema specification, including Zod, Valibot, ArkType, and more.
+
+## Usage
+
+You can define schemas in two ways: using the Standard Schema interface directly or using any Standard Schema-compatible library like Zod.
+
+### Option 1: Standard Schema Interface (Built-in)
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+// Helper function to create Standard Schema-compliant schemas
+function createSchema(validator: (value: unknown) => T) {
+ return {
+ "~standard": {
+ version: 1,
+ vendor: "custom",
+ validate: (value: unknown) => {
+ try {
+ const result = validator(value);
+ return { value: result };
+ } catch (error) {
+ return {
+ issues: [{ message: error instanceof Error ? error.message : "Validation failed" }],
+ };
+ }
+ },
+ },
+ };
+}
+
+const schemas = {
+ page_view: createSchema((value: unknown): { title: string } => {
+ if (typeof value?.title !== "string") {
+ throw new Error("title must be a string");
+ }
+ return { title: value.title };
+ }),
+ click_button: createSchema((value: unknown): { target: string } => {
+ if (typeof value?.target !== "string") {
+ throw new Error("target must be a string");
+ }
+ return { target: value.target };
+ }),
+};
+
+const [Track] = createTracker<{}, {}, typeof schemas>({
+ schema: {
+ schemas,
+ onSchemaError: (error) => {
+ console.error("Schema validation failed:", error);
+ },
+ abortOnError: true,
+ },
+});
+```
+
+### Option 2: Using Zod (Standard Schema Compatible)
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+import { z } from "zod";
+
+const schemas = {
+ page_view: z.object({
+ title: z.string(),
+ }),
+ click_button: z.object({
+ target: z.string(),
+ }),
+};
+
+const [Track] = createTracker<{}, {}, typeof schemas>({
+ schema: {
+ schemas,
+ onSchemaError: (error) => {
+ console.error("Schema validation failed:", error);
+ },
+ abortOnError: true,
+ },
+});
+```
+
+## Reference
+
+| Option | Type | Description | Default |
+| --------------- | ------------------------------------------------------------ | ----------------------------------------------------------- | -------- |
+| `schemas` | `Record` | Mapping of event names to Standard Schema-compliant schemas | Required |
+| `onSchemaError` | `(error: StandardSchemaV1.Issue[]) => void \| Promise` | Function called when schema validation fails | Optional |
+| `abortOnError` | `boolean` | Whether to abort event processing on validation error | `false` |
+
+
+ When `abortOnError` is set to `true`, events that fail schema validation will not be tracked.
+
+
+## Examples
+
+
+
+### Define Schemas
+
+Choose either the built-in Standard Schema approach or use an external library:
+
+**Option A: Built-in Standard Schema**
+
+```ts
+const schemas = {
+ page_view: createSchema((value: unknown): { title: string } => {
+ if (typeof value?.title !== "string") {
+ throw new Error("title must be a string");
+ }
+ return { title: value.title };
+ }),
+ click_button: createSchema((value: unknown): { target: string } => {
+ if (typeof value?.target !== "string") {
+ throw new Error("target must be a string");
+ }
+ return { target: value.target };
+ }),
+};
+```
+
+**Option B: Using Zod**
+
+```ts
+import { z } from "zod";
+
+const schemas = {
+ page_view: z.object({
+ title: z.string(),
+ }),
+ click_button: z.object({
+ target: z.string(),
+ }),
+};
+```
+
+### Register with `createTracker`
+
+```tsx
+const [Track] = createTracker<{}, {}, typeof schemas>({
+ schema: {
+ schemas,
+ abortOnError: true,
+ onSchemaError: (error) => {
+ console.error("Schema validation error:", error);
+ },
+ },
+});
+```
+
+### Schema-Based Event Tracking
+
+```tsx
+
+
+```
+
+If schema validation passes, the event is sent to `send` or the respective handler.
+If it fails, `onSchemaError` is triggered, and if `abortOnError` is `true`, the event is discarded.
+
+
+
+## Notes
+
+- Standard Schema validation uses the `validate` method from the schema's `~standard` property
+- **Type inference**: For better type safety and IntelliSense, define schemas outside of the `createTracker` function and pass `typeof schemas` as the third type argument: `createTracker`
+- Schema validation errors include detailed messages and path information for debugging
+- All schema approaches (built-in Standard Schema, Zod, Valibot, etc.) provide the same level of type safety when properly configured
diff --git a/docs/offlegacy.org/src/content/en/docs/hook.mdx b/docs/offlegacy.org/src/content/en/docs/hook.mdx
new file mode 100644
index 0000000..1d8b65b
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/hook.mdx
@@ -0,0 +1,233 @@
+import { Callout } from "nextra/components";
+
+# Hook
+
+Inside a React component, you can configure the tracking context or imperatively trigger events. This hook is the second item returned from [`createTracker`](/docs/create-tracker).
+
+It is primarily used to manually trigger events after a component mounts, upon user input, or after asynchronous tasks complete.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track, useTracker] = createTracker({...});
+
+function MyComponent() {
+ const { setContext, getContext, track, trackWithSchema } = useTracker();
+
+ // Imperative event tracking
+}
+```
+
+## Reference
+
+### Returns
+
+| Property | Type | Description |
+| ----------------- | --------------------------------------------------------------- | --------------------------------------------------- |
+| `setContext` | `(context: Context \| (prev: Context) => Context) => void` | Sets or updates the tracking context |
+| `getContext` | `() => Context` | Returns the current tracking context |
+| `track` | `Record void>` | Collection of standard event tracking functions |
+| `trackWithSchema` | `Record void>` | Collection of schema-validated event tracking funcs |
+
+---
+
+#### `setContext`
+
+```tsx
+const { setContext } = useTracker();
+
+// Set a new context
+setContext({ userId: "user-123" });
+
+// Update context based on previous value
+setContext((prev) => ({
+ ...prev,
+ lastActive: new Date(),
+}));
+```
+
+- Sets or updates the current tracking context.
+- Useful for updating user information, session data, etc.
+
+#### `getContext`
+
+```tsx
+const { getContext } = useTracker();
+
+const currentContext = getContext();
+console.log("Current user:", currentContext.userId);
+```
+
+- Returns the current tracking context.
+- Useful for accessing the current tracking state.
+
+#### `track`
+
+```tsx
+const { track } = useTracker();
+
+// Simple click event tracking
+track.onClick({ buttonId: "submit" });
+
+// Conditional tracking
+track.onClick(
+ { buttonId: "premium" },
+ {
+ enabled: (context) => context.user?.isPremium,
+ },
+);
+
+// Tracking with debouncing
+track.onClick(
+ { buttonId: "search" },
+ {
+ debounce: { delay: 300, leading: false, trailing: true },
+ },
+);
+
+// Tracking with throttling
+track.onClick(
+ { buttonId: "rapid-action" },
+ {
+ throttle: { delay: 1000, leading: true, trailing: false },
+ },
+);
+
+// Impression event tracking
+track.onImpression({ elementId: "hero" });
+```
+
+- An object containing all configured event tracking functions.
+- Keys match event names defined in the tracker configuration.
+- Supports optional `TrackingOptions` for advanced control.
+
+#### `trackWithSchema`
+
+```tsx
+const { trackWithSchema } = useTracker();
+
+// Track a click event with schema validation
+trackWithSchema.onClick({ schema: "click", params: { buttonId: "submit" } });
+
+// Conditional tracking with schema
+trackWithSchema.onClick(
+ {
+ schema: "premium_click",
+ params: { buttonId: "premium", userId: "123" },
+ },
+ {
+ enabled: (context, params) => context.user?.id === params.userId,
+ },
+);
+
+// Tracking with schema and throttling
+trackWithSchema.onImpression(
+ {
+ schema: "impression",
+ params: { elementId: "hero", userId: "123" },
+ },
+ {
+ throttle: { delay: 2000, leading: true, trailing: false },
+ },
+);
+```
+
+- An object containing all schema-validated event tracking functions.
+- Keys match event names defined in the tracker configuration.
+- Supports optional `TrackingOptions` for advanced control.
+
+## TrackingOptions
+
+Both `track` and `trackWithSchema` accept the following optional configuration:
+
+| Option | Type | Description |
+| ---------- | ------------------------------------------- | --------------------------------------------------- |
+| `enabled` | `boolean \| ((context, params) => boolean)` | Enables/disables event tracking conditionally |
+| `debounce` | `DebounceConfig` | Limits consecutive events (triggers last call only) |
+| `throttle` | `ThrottleConfig` | Prevents repeated calls in a short time window |
+
+
+ Note: `debounce` and `throttle` are mutually exclusive and cannot be used together. A type error will prevent invalid
+ usage.
+
+
+#### `DebounceConfig`
+
+```ts
+interface DebounceConfig {
+ delay: number;
+ leading?: boolean; // Default: false
+ trailing?: boolean; // Default: true
+}
+```
+
+#### `ThrottleConfig`
+
+```ts
+interface ThrottleConfig {
+ delay: number;
+ leading?: boolean; // Default: true
+ trailing?: boolean; // Default: false
+}
+```
+
+## Best Practices
+
+### Context Management
+
+- Use `setContext` to update global state that affects multiple events.
+- Consider the functional form of `setContext` for updates based on previous state.
+
+### Event Tracking
+
+- Use the event functions from `track` or `trackWithSchema` wherever possible.
+
+### Performance Optimization
+
+- Avoid calling event tracking functions during rendering.
+- Use [Batching](/docs/batching) to improve performance.
+- Use [Data Validation](/docs/data-type-validation) to ensure data safety.
+
+## Examples
+
+### Basic
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track, useTracker] = createTracker({
+ onClick: (params) => {
+ // Send event to analytics service
+ analytics.track(params);
+ },
+ pageView: {
+ onPageView: (params) => {
+ analytics.pageView(params);
+ },
+ },
+});
+
+function UserProfile({ userId }) {
+ const { setContext, track, trackWithSchema } = useTracker();
+
+ useEffect(() => {
+ // Update context when userId changes
+ setContext({ userId });
+
+ // Track page view event
+ track.onPageView({ page: "profile" });
+ }, [userId]);
+
+ const handleSettingsClick = () => {
+ // Track user settings event
+ trackWithSchema.onClick({ schema: "settings", params: { userId } });
+ };
+
+ return (
+
+
User Profile
+ Settings
+
+ );
+}
+```
diff --git a/docs/offlegacy.org/src/content/en/docs/installation.mdx b/docs/offlegacy.org/src/content/en/docs/installation.mdx
new file mode 100644
index 0000000..d88a53e
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/installation.mdx
@@ -0,0 +1,11 @@
+# Installation
+
+Event Tracker is a library designed to make implementing event tracking in React applications simple and efficient. It supports `React@^16.8.0` and above.
+
+To install the latest stable version, run the following command:
+
+
+
+```shell npm2yarn
+npm install @offlegacy/event-tracker
+```
diff --git a/docs/offlegacy.org/src/content/en/docs/introduction.mdx b/docs/offlegacy.org/src/content/en/docs/introduction.mdx
new file mode 100644
index 0000000..a1af609
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/introduction.mdx
@@ -0,0 +1,83 @@
+# Introduction
+
+Welcome to the Event Tracker documentation.
+
+## What is Event Tracker?
+
+Event Tracker is a declarative React library that simplifies the process of implementing complex event tracking, allowing developers to focus more on business logic. It is designed to make event tracking easy and efficient for applications of any scale.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+// Create a tracker instance
+const [Track, useTracker] = createTracker({
+ DOMEvents: {
+ onClick: (params, context) => {
+ log("Click event:", params, context);
+ },
+ },
+});
+
+// Usage in the app
+function App() {
+ return (
+
+
+ Event Click!
+
+
+ );
+}
+```
+
+### Key Features
+
+Event Tracker provides a wide range of features focused on both developer experience and application performance.
+
+| Feature | Description |
+| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Declarative API | Easily declare tracking as components without additional setup or complex code. |
+| Analytics Tool Agnostic | Integrate with any tool such as [Google Analytics](https://analytics.google.com/) or [Amplitude](https://amplitude.com/) without modifying existing infrastructure. |
+| Clear Separation of Concerns | Keep tracking logic completely separate from business code, improving readability, testability, and maintainability. |
+| Optimized Performance | Built-in strategies like batching, debouncing, and throttling minimize network requests, enabling stable tracking without performance degradation. |
+| Guaranteed Execution Order | Ensures events are processed in the intended order even in asynchronous scenarios, enabling accurate tracking in complex user flows. |
+| Data Validation | Built-in static schema validation with [Zod](https://zod.dev/) prevents build-time errors and ensures the reliability of collected event data. |
+
+## Core Concepts
+
+To use Event Tracker effectively, there are several key concepts to understand.
+
+### Instance (`createTracker`)
+
+This is the fundamental starting point of the library. Using the `createTracker` function, you create a tracker instance (a collection of `Track` components and the `useTracker` hook). Here, you define event tracking by configuring DOM event handlers, impression handlers, and schemas.
+
+You can create multiple tracker instances for different purposes (for example, one for Google Analytics and another for Amplitude).
+
+### Provider (`Track.Provider`)
+
+Implemented based on React’s Context API. Wrap the top level of your application or a specific component tree with `Track.Provider` to supply common data (context) needed for tracking to child components. For example, passing `userId` or `pageName` as context allows these values to be used during event tracking.
+
+### Event Components (`Track.Click`, `Track.PageView`, etc.)
+
+These are special components that enable declarative event tracking. They are provided as the first element in the array returned by `createTracker`.
+
+- `Track.Click`: Tracks when a click event occurs on child elements.
+- `Track.Impression`: Tracks when child elements are displayed on screen.
+- `Track.PageView`: Tracks a page view event when the component mounts.
+
+You can use the provided components or create custom ones to handle various user interactions and lifecycle events. Each component accepts `context` and `params` props to pass specific data relevant to the event.
+
+### Custom Hook
+
+Use when you need more complex or conditional event tracking that is not directly tied to component lifecycle or DOM events. The hook allows you to access context from `Track.Provider` and execute defined tracking logic imperatively.
+
+## Next Steps
+
+These core concepts work together to create a powerful and flexible event tracking environment with Event Tracker. For more detailed usage and in-depth information on each feature, see the following documentation:
+
+- [Why Event Tracker?](/docs/why-event-tracker): Learn the necessity and main features of Event Tracker.
+- [`createTracker`](/docs/create-tracker): Learn how to create and configure a tracker instance.
+- [Components](/docs/components): Explore all available tracking components with usage examples.
+- [Hook](/docs/hook): Learn how to implement custom tracking with the hook.
+- [Batching](/docs/batching): Optimize performance through event batching strategies.
+- [Data Validation](/docs/data-type-validation): Ensure data integrity with Zod schema validation.
diff --git a/docs/offlegacy.org/src/content/en/docs/why-event-tracker.mdx b/docs/offlegacy.org/src/content/en/docs/why-event-tracker.mdx
new file mode 100644
index 0000000..101790f
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/why-event-tracker.mdx
@@ -0,0 +1,196 @@
+import { Steps } from "nextra/components";
+
+# Why Event Tracker?
+
+Modern web applications must continuously analyze user behavior to improve service quality. However, traditional event tracking approaches come with several challenges.
+
+## Why You Need Event Tracker
+
+The following example highlights common issues with conventional event tracking.
+
+```tsx {8,15, 24-31}
+function Page() {
+ const { user, userId } = useUser(); // Fetch user info and ID.
+
+ return (
+
+
User: {user.name}
+ {/* Passing userId to Counter solely for event tracking */}
+
+
+ );
+}
+
+// Counter receives 'userId' only for tracking purposes.
+// If nested deeper, this causes severe prop drilling.
+function Counter({ userId }: { userId: string }) {
+ const [count, setCount] = useState(0);
+ const { track } = useTrackEvent(); // Hypothetical tracking hook
+
+ const handleIncrement = () => {
+ const newCount = count + 1;
+ setCount(newCount);
+
+ // Business logic (count increment) mixed with tracking logic.
+ track({
+ event: "click_increment",
+ params: {
+ type: "count",
+ value: newCount,
+ userId, // userId passed down from parent
+ },
+ });
+ };
+
+ return (
+
+
Count: {count}
+
Increment
+
+ );
+}
+```
+
+
+
+### The Pain of Prop Drilling
+
+To pass tracking-related data down to nested components, you often end up drilling props through multiple layers. This reduces code readability and complicates maintenance.
+
+### Tight Coupling of Logic
+
+Mixing business logic with tracking logic increases code complexity and makes independent testing and modification harder.
+
+### Increased Boilerplate
+
+Repetitive tracking code reduces developer productivity.
+
+
+
+## A New Paradigm with Event Tracker
+
+Event Tracker introduces a new paradigm for event tracking. Its declarative approach simplifies the inherent complexity of traditional tracking and makes it accessible to all developers.
+
+
+
+### Declarative Event Tracking
+
+```tsx {7, 10, 12, 32, 34}
+function Page() {
+ const { user, userId } = useUser();
+
+ // Provide tracking context (userId) to child components via Track.Provider.
+ // No more prop drilling required.
+ return (
+
+
+
User: {user.name}
+
{/* No need to pass userId as a prop */}
+
+
+ );
+}
+
+function Counter() {
+ const [count, setCount] = useState(0);
+
+ const handleIncrement = () => {
+ // handleIncrement is now purely responsible for incrementing count.
+ setCount(count + 1);
+ };
+
+ return (
+
+
Count: {count}
+ {/*
+ Track.Click wraps the button and tracks the click event
+ with the defined parameters. userId from context is automatically
+ included in the tracking data.
+ */}
+
+ Increment
+
+
+ );
+}
+```
+
+With Event Tracker, declarative event tracking improves code readability and reduces complexity. This helps developers focus on _what_ to track rather than _how_ to track.
+The `handleIncrement` function now handles only count logic, while ` ` manages tracking.
+**This declarative approach shifts the developer’s focus from implementation details to defining the intent of tracking.**
+How tracking is handled is defined outside the React app.
+
+### Improved Tracking Cohesion
+
+```tsx {4-10, 14-20}
+const [Track, useTracker] = createTracker({
+ // Callback for DOM events
+ DOMEvents: {
+ onClick: (params, context) => {
+ // Call actual tracking tools (Google Analytics, Amplitude, etc.)
+ logEvent("click_event", {
+ ...params, // { value: ..., type: "count" }
+ userId: context.userId, // Provided by the Provider
+ });
+ },
+ // You can also define onMouseOver, onFocus, etc.
+ },
+ // Callback for Impression events
+ onImpression: (params, context) => {
+ logEvent("impression_event", {
+ ...params,
+ userId: context.userId,
+ pagePath: window.location.pathname,
+ });
+ },
+});
+```
+
+Now, the code defining _how to track_ is separated from business logic. Since it's located outside the application, you can modify tracking logic without touching business code.
+
+### Data Validation
+
+```tsx {13-20, 24-33}
+import { z } from "zod";
+import { createTracker } from "@offlegacy/event-tracker";
+
+interface Context {
+ /* ... */
+}
+
+interface Params {
+ /* ... */
+}
+
+// Define schemas
+const schemas = {
+ page_view: z.object({
+ title: z.string(),
+ }),
+ click_button: z.object({
+ target: z.string(),
+ }),
+};
+
+// Configure tracker
+const [Track] = createTracker({
+ schema: {
+ schemas: {
+ page_view,
+ click_button,
+ },
+ onSchemaError: (error) => {
+ console.error("Schema validation error:", error);
+ },
+ abortOnError: true,
+ },
+});
+
+// Using schemas
+ ;
+ ;
+```
+
+Event Tracker integrates with [Zod](https://zod.dev/) to provide robust schema-based data type validation. This prevents data errors during development and enhances the reliability of tracking data.
+
+
diff --git a/docs/offlegacy.org/src/content/en/docs/with-google-analytics-example.mdx b/docs/offlegacy.org/src/content/en/docs/with-google-analytics-example.mdx
new file mode 100644
index 0000000..4b449a6
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/with-google-analytics-example.mdx
@@ -0,0 +1,115 @@
+import { Steps } from "nextra/components";
+
+# Integrating with Google Analytics
+
+This guide walks you through integrating GA4 (Google Analytics 4) to track user behavior step by step.
+
+
+
+## Set Up GA4 Script
+
+Add the GA4 script to the `` of your `index.html` to enable `gtag`.
+
+```html
+
+
+
+
+
+```
+
+## Define `sendGA4` Function
+
+Create a wrapper function to safely call `gtag` with validation and warnings.
+
+```ts
+export function sendGA4(eventName: string, eventParams: Record = {}): void {
+ if (typeof window === "undefined") return;
+ if (typeof window.gtag !== "function") {
+ console.warn("[GA4] gtag function is not loaded.");
+ return;
+ }
+ window.gtag("event", eventName, eventParams);
+}
+```
+
+## Define Tracking Events
+
+Configure `createTracker` with GA4 event sending logic and set up DOM, impression, and page view events.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+import { sendGA4 } from "./sendGA4";
+
+interface GA4Context {
+ userId: string;
+}
+
+interface GA4EventParams {
+ eventName: string;
+}
+
+export const [Track, useTracker] = createTracker({
+ DOMEvents: {
+ onClick: (params, ctx) => sendGA4(params.eventName, { ...params, user_id: ctx.userId }),
+ },
+ impression: {
+ onImpression: (params, ctx) => sendGA4("impression", { ...params, user_id: ctx.userId }),
+ options: { threshold: 0.5, freezeOnceVisible: true },
+ },
+});
+```
+
+## Use in a Blog Page
+
+Wrap your app in `Track.Provider` and use ``, ``, and `` components to declaratively record events.
+
+```tsx
+import { Track } from "./event-tracker";
+
+function App() {
+ return (
+
+
+
+ );
+}
+
+interface PostProps {
+ id: number;
+ title: string;
+ slug: string;
+ content: string;
+}
+
+function Post({ post }: PostProps) {
+ return (
+
+ {post.title}
+
+
+ {post.content}
+
+
+
+
+ Share on Twitter
+
+
+
+ Share on Facebook
+
+
+
+ );
+}
+```
+
+
diff --git a/docs/offlegacy.org/src/content/en/docs/with-zod-example.mdx b/docs/offlegacy.org/src/content/en/docs/with-zod-example.mdx
new file mode 100644
index 0000000..c1aec6e
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/docs/with-zod-example.mdx
@@ -0,0 +1,72 @@
+import { Steps } from "nextra/components";
+
+# Using with Zod
+
+Learn how to implement powerful data type validation by integrating [Zod](https://zod.dev/).
+Schema-based validation with Zod helps prevent errors before runtime and ensures data reliability.
+
+
+
+## Define Schemas
+
+Declare event-specific fields and types using Zod objects.
+
+```tsx {4-5}
+import { z } from "zod";
+
+export const schemas = {
+ page_view: z.object({ title: z.string() }),
+ click_button: z.object({ target: z.string() }),
+};
+```
+
+## Define Tracking Events
+
+Connect the schemas to `createTracker` to automatically validate event parameters.
+
+```tsx {5-9}
+import { createTracker } from "@offlegacy/event-tracker";
+import { schemas } from "./schemas";
+
+export const [Track, useTracker] = createTracker<{}, {}, typeof schemas>({
+ schemas: {
+ schemas,
+ onSchemaError: (error) => console.error("Schema validation failed:", error),
+ abortOnError: true,
+ },
+});
+```
+
+## Use Validated Events
+
+Send type-safe events via declarative components and the `track` function.
+
+```tsx {11, 17-19}
+import { Track } from "./event-tracker";
+
+function HomePage() {
+ return (
+
+ Homepage
+
+ {/* ✅ Valid with Zod schema, no type error */}
+
+
+ {/* 🚨 Invalid with Zod schema, type error */}
+ {/* */}
+
+ {/* ✅ Valid with Zod schema, no type error */}
+
+ Get Started
+
+
+ {/* 🚨 Invalid with Zod schema, type error */}
+ {/*
+ track({ target: "start-button" })}>Get Started
+ */}
+
+ );
+}
+```
+
+
diff --git a/docs/offlegacy.org/src/content/en/index.mdx b/docs/offlegacy.org/src/content/en/index.mdx
new file mode 100644
index 0000000..8d2d4cd
--- /dev/null
+++ b/docs/offlegacy.org/src/content/en/index.mdx
@@ -0,0 +1,42 @@
+---
+title: Event Tracker | Comprehensive solution for event tracking in React applications
+---
+
+import HomePage from "@/components/home-page";
+
+
diff --git a/docs/offlegacy.org/src/content/ko/_meta.tsx b/docs/offlegacy.org/src/content/ko/_meta.tsx
new file mode 100644
index 0000000..6fef8c5
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/_meta.tsx
@@ -0,0 +1,16 @@
+import type { MetaRecord } from "nextra";
+
+export default {
+ index: {
+ type: "page",
+ display: "hidden",
+ theme: {
+ layout: "full",
+ toc: false,
+ },
+ },
+ docs: {
+ type: "page",
+ title: "문서보기",
+ },
+} satisfies MetaRecord;
diff --git a/docs/offlegacy.org/src/content/ko/docs/_meta.ts b/docs/offlegacy.org/src/content/ko/docs/_meta.ts
new file mode 100644
index 0000000..bb305a6
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/_meta.ts
@@ -0,0 +1,92 @@
+import type { MetaRecord } from "nextra";
+
+export default {
+ "getting-started-separator": {
+ type: "separator",
+ title: "시작하기",
+ },
+ introduction: {
+ title: "소개",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+ "why-event-tracker": {
+ title: "왜 Event Tracker인가요?",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+ installation: {
+ title: "설치하기",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+ // TODO: Quick Start
+ "api-reference-separator": {
+ title: "API 레퍼런스",
+ type: "separator",
+ },
+ "create-tracker": {
+ title: "createTracker",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+ components: { title: "Components" },
+ hook: {
+ title: "Hook",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+ "advanced-separator": {
+ title: "가이드",
+ type: "separator",
+ },
+ batching: {
+ title: "배칭",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+ "data-type-validation": {
+ title: "데이터 검증",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+ "example-separator": {
+ title: "예제",
+ type: "separator",
+ },
+ "basic-example": {
+ title: "기본",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+ "with-google-analytics-example": {
+ title: "Google Analytics 연동하기",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+ "with-zod-example": {
+ title: "Zod와 함께 사용하기",
+ theme: {
+ toc: true,
+ layout: "default",
+ },
+ },
+} satisfies MetaRecord;
diff --git a/docs/offlegacy.org/src/content/ko/docs/basic-example.mdx b/docs/offlegacy.org/src/content/ko/docs/basic-example.mdx
new file mode 100644
index 0000000..afff66d
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/basic-example.mdx
@@ -0,0 +1,77 @@
+import { Steps } from "nextra/components";
+
+# 기본
+
+Event Tracker 라이브러리의 전체 흐름과 사용방법을 단계별로 살펴봅니다.
+각 단계별로 필요한 설정과 컴포넌트 사용법, 그리고 이벤트 처리 과정을 이해할 수 있도록 구성했습니다.
+
+
+
+## 트래킹 이벤트 정의하기
+
+Tracker 인스턴스를 생성하고, DOM 이벤트에 대한 콜백을 정의합니다.
+
+```tsx {12}
+import { createTracker } from "@offlegacy/event-tracker";
+
+interface Context {
+ userId: string;
+}
+
+interface Params {
+ eventName: string;
+}
+
+// 트래커 인스턴스 생성
+export const [Track, useTracker] = createTracker({
+ // 트래킹 이벤트 정의
+ DOMEvents: {
+ onClick: (params: Params) => {
+ console.log("click:", params);
+ },
+ },
+});
+```
+
+## Provider 추가하기
+
+애플리케이션 최상단에 `Track.Provider`를 추가하고 전역 컨텍스트를 설정합니다.
+
+```tsx {5, 7}
+import { Track, useTracker } from "./tracker";
+
+function App() {
+ return (
+
+
+
+ );
+}
+```
+
+## 정의한 이벤트 사용하기
+
+`Track.Click` 컴포넌트를 이용해 선언적으로 클릭 이벤트를 트래킹합니다.
+
+```tsx {9-13, 15}
+import { Track } from "./tracker";
+
+function HomePage() {
+ return (
+
+ 홈페이지
+
+ {/* 버튼 클릭 트래킹 */}
+
+ 시작하기
+
+
+ );
+}
+```
+
+
diff --git a/docs/offlegacy.org/src/content/ko/docs/batching.mdx b/docs/offlegacy.org/src/content/ko/docs/batching.mdx
new file mode 100644
index 0000000..e56b25d
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/batching.mdx
@@ -0,0 +1,134 @@
+import { Callout } from "nextra/components";
+
+# 배칭 (실험적)
+
+
+ **⚠️ 실험적 기능** 이 기능은 현재 실험적 단계에 있습니다. API가 변경될 수 있으며, 프로덕션 환경에서 사용 시 주의가
+ 필요합니다. 피드백과 버그 리포트를 환영합니다.
+
+
+이벤트 배칭은 여러 개의 이벤트를 일정 조건 하에 하나의 네트워크 요청으로 묶어 전송하는 기능입니다. 다음과 같은 경우에 유용하게 사용할 수 있습니다.
+
+- Amplitude, Google Analytics 등 내부 배칭 기능이 없는 애널리틱스 서비스를 사용하는 경우
+- 네트워크 요청 수를 줄이고 싶은 경우
+- 브라우저 종료 시 이벤트 유실을 방지하고 싶은 경우
+
+## Usage
+
+`createTracker` 설정에서 `batch` 옵션을 활성화하면 사용할 수 있습니다.
+
+```tsx
+const [Track, useTracker] = createTracker({
+ // ... 다른 설정
+ batch: {
+ enable: true,
+ interval: 2000,
+ thresholdSize: 100,
+ onFlush: (batch, isBrowserClosing) => {
+ if (isBrowserClosing) {
+ navigator.sendBeacon("/analytics/collect/batch", JSON.stringify(batch));
+ return;
+ }
+
+ fetch("/analytics/collect/batch", {
+ method: "POST",
+ body: JSON.stringify(batch),
+ });
+ },
+ },
+});
+```
+
+## Options
+
+| 옵션 | 타입 | 설명 | 기본값 |
+| --------------- | ---------------------------------------------------- | ------------------------------------------ | ------- |
+| `enable` | `boolean` | 배칭 기능 활성화 여부 | `false` |
+| `interval` | `number` | 배치 전송 간격 (밀리초 단위) | `3000` |
+| `thresholdSize` | `number` | 배치 전송 전에 쌓일 수 있는 최대 이벤트 수 | `25` |
+| `onFlush` | `(batch, isBrowserClosing) => void \| Promise` | 배치 전송 처리 함수. 필수 | - |
+| `onError` | `(error: Error) => void \| Promise` | 전송 중 오류 발생 시 호출되는 함수 (선택) | - |
+
+`onFlush`는 **필수 항목**이며, 배치된 이벤트를 실제로 어떻게 전송할지를 정의합니다.
+
+## How It Works
+
+1. 각 이벤트의 **핸들러 반환값**은 메모리에 수집됩니다.
+2. 아래 중 하나가 발생하면 `onFlush`가 호출됩니다:
+
+ - `interval` 시간이 경과했을 때
+ - 수집된 이벤트 수가 `thresholdSize`에 도달했을 때
+ - 브라우저가 닫히는 이벤트가 감지되었을 때
+
+## Examples
+
+```tsx
+const [Track, useTracker] = createTracker({
+ DOMEvents: {
+ onClick: (params, context) => {
+ return {
+ ...params,
+ ...context,
+ event_type: "click",
+ timestamp: Date.now(),
+ };
+ },
+ },
+ batch: {
+ enable: true,
+ interval: 2000,
+ thresholdSize: 100,
+ onFlush: (batch, isBrowserClosing) => {
+ if (isBrowserClosing) {
+ navigator.sendBeacon("/analytics/collect/batch", JSON.stringify(batch));
+ return;
+ }
+
+ fetch("/analytics/collect/batch", {
+ method: "POST",
+ body: JSON.stringify(batch),
+ });
+ },
+ },
+});
+
+function App() {
+ return (
+
+
+ Submit
+
+
+ );
+}
+```
+
+1. ``이 실행될 때마다 이벤트 핸들러가 반환하는 객체가 배치 큐에 저장됩니다.
+2. 2초 후 또는 100개의 이벤트가 쌓이면 `onFlush`가 호출되어 서버로 전송됩니다.
+3. 브라우저가 닫히는 시점에서는 `sendBeacon`으로 전송됩니다.
+
+## 브라우저 종료 시 처리
+
+브라우저가 닫힐 때도 이벤트 유실을 방지하기 위해
+[`navigator.sendBeacon`](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon)을 활용할 수 있습니다:
+
+```tsx
+onFlush: (batch, isBrowserClosing) => {
+ if (isBrowserClosing) {
+ navigator.sendBeacon("/analytics/collect/batch", JSON.stringify(batch));
+ return;
+ }
+
+ fetch("/analytics/collect/batch", {
+ method: "POST",
+ body: JSON.stringify(batch),
+ });
+};
+```
+
+## Notes
+
+1. **이벤트 핸들러의 반환값만 배칭됩니다.** 이벤트 핸들러 자체는 항상 호출됩니다.
+2. **배치된 이벤트는 컨텍스트 정보를 포함한 상태로 저장됩니다.**
+3. **전송 순서를 보장합니다.** 클릭 → 노출 순으로 발생한 이벤트는 그 순서대로 전송됩니다.
+4. 브라우저 종료 시 `isBrowserClosing` 플래그가 `true`로 설정되어 `onFlush`에서 분기 처리할 수 있습니다.
diff --git a/docs/src/content/ko/components/_meta.ts b/docs/offlegacy.org/src/content/ko/docs/components/_meta.ts
similarity index 100%
rename from docs/src/content/ko/components/_meta.ts
rename to docs/offlegacy.org/src/content/ko/docs/components/_meta.ts
diff --git a/docs/offlegacy.org/src/content/ko/docs/components/click.mdx b/docs/offlegacy.org/src/content/ko/docs/components/click.mdx
new file mode 100644
index 0000000..d4c1784
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/components/click.mdx
@@ -0,0 +1,138 @@
+import { Callout } from "nextra/components";
+
+# Click
+
+Click 이벤트(`type="onClick"`)를 위한 `DOMEvent`의 전용 컴포넌트입니다. `createTracker`의 리턴 배열의 첫 번쨰 요소인 이벤트 컴포넌트 중 하나입니다.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track] = createTracker({
+ DOMEvents: {
+ onClick: (params, context) => {
+ // 클릭 이벤트 처리
+ },
+ },
+});
+
+function App() {
+ return (
+
+
+ Submit
+
+
+ );
+}
+```
+
+## Reference
+
+### Props
+
+| Props | 타입 | 설명 | 필수 |
+| ---------- | ----------------------------------------------------------------- | ------------------------------------------------------- | ---- |
+| `enabled` | `boolean \| ((context: Context, params: EventParams) => boolean)` | 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`) | - |
+| `debounce` | `DebounceConfig` | 연속적인 이벤트 발생을 방지하는 디바운스 설정 | - |
+| `throttle` | `ThrottleConfig` | 이벤트 발생 빈도를 제한하는 스로틀 설정 | - |
+| `schema` | `string` | 이벤트 매개변수 검증을 위한 스키마 이름 | O |
+
+
+ 참고: `debounce`와 `throttle`은 상호 배타적이며 함께 사용할 수 없습니다. 타입 에러를 발생시켜 사전에 방지합니다.
+
+
+스키마와 함께 사용하는 경우와 아닐 경우 타입이 달라지는 속성이 있습니다.
+
+스키마가 있을 경우:
+
+| Props | 타입 | 설명 |
+| -------- | ---------------------------------------------------- | -------------------- |
+| `params` | `SchemaParams \| (context: Context) => SchemaParams` | 스키마 기반 매개변수 |
+
+스키마가 없을 경우:
+
+| Props | 타입 | 설명 |
+| -------- | -------------------------------------------------- | --------------- |
+| `params` | `EventParams \| (context: Context) => EventParams` | 이벤트 매개변수 |
+
+---
+
+#### `params` (필수)
+
+스키마와 함께 사용하는 경우:
+
+- 타입: `SchemaParams | (context: Context) => SchemaParams`
+- 설명: 스키마 기반 매개변수
+
+스키마와 함께 사용하지 않는 경우:
+
+- 타입: `EventParams | (context: Context) => EventParams`
+- 설명: 이벤트 매개변수
+
+#### `enabled`
+
+- 타입: `boolean | ((context: Context, params: EventParams) => boolean)`
+- 설명: 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`)
+
+#### `debounce`
+
+- 타입: `DebounceConfig`
+- 설명: 연속적인 이벤트 발생을 방지하는 디바운스 설정
+
+#### `throttle`
+
+- 타입: `ThrottleConfig`
+- 설명: 이벤트 발생 빈도를 제한하는 스로틀 설정
+
+#### `schema`
+
+스키마와 함께 사용하는 경우:
+
+- 타입: `string`
+- 설명: 이벤트 매개변수 검증을 위한 스키마 이름
+
+## Examples
+
+### 이벤트 이름을 변경한 경우
+
+```tsx {8, 10}
+function MyButton({ onButtonClick }: { onButtonClick?: () => void }) {
+ return ;
+}
+
+function App() {
+ return (
+
+
+
+
+
+ );
+}
+```
+
+`eventName` 속성을 사용하면 사용자 정의 클릭 이벤트 핸들러 이름을 지정할 수 있습니다. 이 속성을 사용하면 핸들러 이름이 변경되어도 유연하게 대처할 수 있습니다.
+
+### 조건부 이벤트
+
+```tsx
+ context.user?.isPremium}>
+ 프리미엄 기능
+
+```
+
+### 디바운스 이벤트
+
+```tsx
+
+ 검색
+
+```
+
+### 스로틀 이벤트
+
+```tsx
+
+ 빠른 액션
+
+```
diff --git a/docs/offlegacy.org/src/content/ko/docs/components/dom-event.mdx b/docs/offlegacy.org/src/content/ko/docs/components/dom-event.mdx
new file mode 100644
index 0000000..cdf6ddd
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/components/dom-event.mdx
@@ -0,0 +1,147 @@
+import { Callout } from "nextra/components";
+
+# DOMEvent
+
+DOM 이벤트를 추적하는 데 사용됩니다. 자식 컴포넌트를 감싸고 지정된 이벤트 핸들러를 실행합니다. `createTracker`의 리턴 배열의 첫 번쨰 요소인 이벤트 컴포넌트 중 하나입니다.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track] = createTracker({
+ DOMEvents: {
+ onFocus: (params, context) => {
+ // 포커스 이벤트 처리
+ },
+ },
+});
+
+function App() {
+ return (
+
+
+
+
+
+ );
+}
+```
+
+## Reference
+
+### Props
+
+| Props | 타입 | 설명 | 필수 |
+| ------------- | ----------------------------------------------------------------- | ------------------------------------------------------- | ---- |
+| DOMEventNames | DOMEventNames | 이벤트 이름 (예: `"onClick"`, `"onFocus"`) | O |
+| `enabled` | `boolean \| ((context: Context, params: EventParams) => boolean)` | 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`) | - |
+| `debounce` | `DebounceConfig` | 연속적인 이벤트 발생을 방지하는 디바운스 설정 | - |
+| `throttle` | `ThrottleConfig` | 이벤트 발생 빈도를 제한하는 스로틀 설정 | - |
+| `schema` | `string` | 이벤트 매개변수 검증을 위한 스키마 이름 | - |
+
+
+ 참고: `debounce`와 `throttle`은 상호 배타적이며 함께 사용할 수 없습니다. 타입 에러를 발생시켜 사전에 방지합니다.
+
+
+스키마와 함께 사용하는 경우와 아닐 경우 타입이 달라지는 속성이 있습니다.
+
+스키마가 있을 경우:
+
+| Props | 타입 | 설명 |
+| -------- | ---------------------------------------------------- | -------------------- |
+| `params` | `SchemaParams \| (context: Context) => SchemaParams` | 스키마 기반 매개변수 |
+
+스키마가 없을 경우:
+
+| Props | 타입 | 설명 |
+| -------- | -------------------------------------------------- | --------------- |
+| `params` | `EventParams \| (context: Context) => EventParams` | 이벤트 매개변수 |
+
+---
+
+#### `params` (필수)
+
+스키마와 함께 사용하는 경우:
+
+- 타입: `SchemaParams | (context: Context) => SchemaParams`
+- 설명: 스키마 기반 매개변수
+
+스키마와 함께 사용하지 않는 경우:
+
+- 타입: `EventParams | (context: Context) => EventParams`
+- 설명: 이벤트 매개변수
+
+#### `enabled`
+
+- 타입: `boolean | ((context: Context, params: EventParams) => boolean)`
+- 설명: 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`)
+
+#### `debounce`
+
+- 타입: `DebounceConfig`
+- 설명: 연속적인 이벤트 발생을 방지하는 디바운스 설정
+
+#### `throttle`
+
+- 타입: `ThrottleConfig`
+- 설명: 이벤트 발생 빈도를 제한하는 스로틀 설정
+
+#### `schema`
+
+스키마와 함께 사용하는 경우:
+
+- 타입: `string`
+- 설명: 이벤트 매개변수 검증을 위한 스키마 이름
+
+## Examples
+
+### 이벤트 이름을 변경한 경우
+
+```tsx {8, 10}
+function MyInput({ onInputFocus }: { onInputFocus?: () => void }) {
+ return ;
+}
+
+function App() {
+ return (
+
+
+
+
+
+ );
+}
+```
+
+`eventName` 속성을 사용하면 사용자 정의 이벤트 핸들러 이름을 지정할 수 있습니다. 이 속성을 사용하면 핸들러 이름이 변경되어도 유연하게 대처할 수 있습니다.
+
+### 조건부 이벤트
+
+```tsx
+ context.trackingEnabled}>
+
+
+```
+
+### 디바운스 이벤트
+
+```tsx
+
+
+
+```
+
+### 스로틀 이벤트
+
+```tsx
+
+ 스크롤 가능한 콘텐츠
+
+```
diff --git a/docs/offlegacy.org/src/content/ko/docs/components/impression.mdx b/docs/offlegacy.org/src/content/ko/docs/components/impression.mdx
new file mode 100644
index 0000000..6f5f89f
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/components/impression.mdx
@@ -0,0 +1,128 @@
+import { Callout } from "nextra/components";
+
+# Impression
+
+[Intersection Observer API](https://developer.mozilla.org/docs/Web/API/Intersection_Observer_API)를 사용하여 노출 이벤트를 추적합니다. `createTracker`의 리턴 배열의 첫 번째 요소인 이벤트 컴포넌트 중 하나입니다.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track] = createTracker({
+ impression: {
+ onImpression: (params, context) => {
+ // 노출 이벤트 처리
+ },
+ options: {
+ threshold: 0.5,
+ },
+ },
+});
+
+function App() {
+ return (
+
+
+ 추적할 콘텐츠
+
+
+ );
+}
+```
+
+## Reference
+
+### Props
+
+| Props | 타입 | 설명 | 필수 |
+| ---------- | ----------------------------------------------------------------- | ------------------------------------------------------- | ---- |
+| `enabled` | `boolean \| ((context: Context, params: EventParams) => boolean)` | 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`) | - |
+| `debounce` | `DebounceConfig` | 연속적인 이벤트 발생을 방지하는 디바운스 설정 | - |
+| `throttle` | `ThrottleConfig` | 이벤트 발생 빈도를 제한하는 스로틀 설정 | - |
+| `options` | `ImpressionOptions` | `IntersectionObserver` 설정. 전역 옵션을 덮어씀 | - |
+| `schema` | `string` | 이벤트 매개변수 검증을 위한 스키마 이름 | O |
+
+
+ 참고: `debounce`와 `throttle`은 상호 배타적이며 함께 사용할 수 없습니다. 타입 에러를 발생시켜 사전에 방지합니다.
+
+
+스키마와 함께 사용하는 경우와 아닐 경우 타입이 달라지는 속성이 있습니다.
+
+스키마가 있을 경우:
+
+| Props | 타입 | 설명 |
+| -------- | ---------------------------------------------------- | -------------------- |
+| `params` | `SchemaParams \| (context: Context) => SchemaParams` | 스키마 기반 매개변수 |
+
+스키마가 없을 경우:
+
+| Props | 타입 | 설명 |
+| -------- | -------------------------------------------------- | --------------- |
+| `params` | `EventParams \| (context: Context) => EventParams` | 이벤트 매개변수 |
+
+---
+
+#### `params` (필수)
+
+스키마와 함께 사용하는 경우:
+
+- 타입: `SchemaParams | (context: Context) => SchemaParams`
+- 설명: 스키마 기반 매개변수
+
+스키마와 함께 사용하지 않는 경우:
+
+- 타입: `EventParams | (context: Context) => EventParams`
+- 설명: 이벤트 매개변수
+
+#### `enabled`
+
+- 타입: `boolean | ((context: Context, params: EventParams) => boolean)`
+- 설명: 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`)
+
+#### `debounce`
+
+- 타입: `DebounceConfig`
+- 설명: 연속적인 이벤트 발생을 방지하는 디바운스 설정
+
+#### `throttle`
+
+- 타입: `ThrottleConfig`
+- 설명: 이벤트 발생 빈도를 제한하는 스로틀 설정
+
+#### `options`
+
+- 타입: `ImpressionOptions`
+- 설명: [`IntersectionObserver`](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) 동작을 제어하는 옵션입니다. 예: `threshold`, `rootMargin` 등
+ 전역 설정을 덮어쓰며 개별 노출 이벤트에 대해 세부 설정할 수 있습니다.
+
+#### `schema`
+
+스키마와 함께 사용하는 경우:
+
+- 타입: `string`
+- 설명: 이벤트 매개변수 검증을 위한 스키마 이름
+
+## Examples
+
+### 조건부 이벤트
+
+```tsx
+ context.user?.hasAccess}
+ options={{ threshold: 0.5 }}
+>
+ 프리미엄 콘텐츠
+
+```
+
+### 스로틀 이벤트
+
+```tsx
+
+ 광고 배너
+
+```
diff --git a/docs/offlegacy.org/src/content/ko/docs/components/index.mdx b/docs/offlegacy.org/src/content/ko/docs/components/index.mdx
new file mode 100644
index 0000000..137c84b
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/components/index.mdx
@@ -0,0 +1,63 @@
+# Provider
+
+`Provider` 컴포넌트는 애플리케이션에 초기 컨텍스트를 연결하고 제공합니다. `createTracker`의 리턴 배열의 첫 번쨰 요소인 이벤트 컴포넌트 중 하나입니다.
+
+```tsx
+import { createTracker } from '@offlegacy/event-tracker'
+
+const [Track] = createTracker({...})
+
+function App() {
+ return (
+
+ {/* 애플리케이션 */}
+
+ )
+}
+```
+
+## Reference
+
+### Props
+
+| Props | 타입 | 설명 | 필수 |
+| ---------------- | --------- | ---------------- | ---- |
+| `initialContext` | `Context` | 초기 컨텍스트 값 | O |
+
+---
+
+#### `initialContext` (필수)
+
+- 타입: `Context`
+- 설명: 초기 컨텍스트 값
+
+## Examples
+
+### 초기 컨텍스트를 설정한 경우
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+type Context = {
+ userId: string;
+ trackingEnabled: boolean;
+};
+
+const [Track] = createTracker({});
+
+function App() {
+ return (
+
+
+
+ );
+}
+```
+
+`initialContext`는 모든 하위 트래킹 컴포넌트에서 참조 가능한 초기 상태를 정의합니다.
+이 컨텍스트는 `enabled`, `params`, 그리고 `SetContext`에서 사용될 수 있습니다.
diff --git a/docs/offlegacy.org/src/content/ko/docs/components/page-view.mdx b/docs/offlegacy.org/src/content/ko/docs/components/page-view.mdx
new file mode 100644
index 0000000..9b1c6c1
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/components/page-view.mdx
@@ -0,0 +1,107 @@
+import { Callout } from "nextra/components";
+
+# PageView
+
+컴포넌트가 마운트될 때 페이지 뷰 이벤트를 추적합니다. `createTracker`의 리턴 배열의 첫 번째 요소인 이벤트 컴포넌트 중 하나입니다.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track] = createTracker({
+ pageView: {
+ onPageView: (params, context) => {
+ // 페이지 뷰 이벤트 처리
+ },
+ },
+});
+
+function App() {
+ return (
+
+
+
+ );
+}
+```
+
+## Reference
+
+### Props
+
+| Props | 타입 | 설명 | 필수 |
+| ---------- | ----------------------------------------------------------------- | ------------------------------------------------------- | ---- |
+| `enabled` | `boolean \| ((context: Context, params: EventParams) => boolean)` | 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`) | - |
+| `debounce` | `DebounceConfig` | 연속적인 이벤트 발생을 방지하는 디바운스 설정 | - |
+| `throttle` | `ThrottleConfig` | 이벤트 발생 빈도를 제한하는 스로틀 설정 | - |
+| `schema` | `string` | 이벤트 매개변수 검증을 위한 스키마 이름 | O |
+
+
+ 참고: `debounce`와 `throttle`은 상호 배타적이며 함께 사용할 수 없습니다. 타입 에러를 발생시켜 사전에 방지합니다.
+
+
+스키마와 함께 사용하는 경우와 아닐 경우 타입이 달라지는 속성이 있습니다.
+
+스키마가 있을 경우:
+
+| Props | 타입 | 설명 |
+| -------- | ---------------------------------------------------- | -------------------- |
+| `params` | `SchemaParams \| (context: Context) => SchemaParams` | 스키마 기반 매개변수 |
+
+스키마가 없을 경우:
+
+| Props | 타입 | 설명 |
+| -------- | -------------------------------------------------- | --------------- |
+| `params` | `EventParams \| (context: Context) => EventParams` | 이벤트 매개변수 |
+
+---
+
+#### `params` (필수)
+
+스키마와 함께 사용하는 경우:
+
+- 타입: `SchemaParams | (context: Context) => SchemaParams`
+- 설명: 스키마 기반 매개변수
+
+스키마와 함께 사용하지 않는 경우:
+
+- 타입: `EventParams | (context: Context) => EventParams`
+- 설명: 이벤트 매개변수
+
+#### `enabled`
+
+- 타입: `boolean | ((context: Context, params: EventParams) => boolean)`
+- 설명: 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`)
+
+#### `debounce`
+
+- 타입: `DebounceConfig`
+- 설명: 연속적인 이벤트 발생을 방지하는 디바운스 설정
+
+#### `throttle`
+
+- 타입: `ThrottleConfig`
+- 설명: 이벤트 발생 빈도를 제한하는 스로틀 설정
+
+#### `schema`
+
+스키마와 함께 사용하는 경우:
+
+- 타입: `string`
+- 설명: 이벤트 매개변수 검증을 위한 스키마 이름
+
+## Examples
+
+### 조건부 이벤트
+
+```tsx
+ context.trackingConsent === true}
+/>
+```
+
+### 디바운스 페이지 뷰
+
+```tsx
+
+```
diff --git a/docs/offlegacy.org/src/content/ko/docs/components/set-context.mdx b/docs/offlegacy.org/src/content/ko/docs/components/set-context.mdx
new file mode 100644
index 0000000..2e89ee7
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/components/set-context.mdx
@@ -0,0 +1,48 @@
+import { Callout } from "nextra/components";
+
+# SetContext
+
+트래킹 컨텍스트를 설정하거나 업데이트합니다. `createTracker`의 리턴 배열의 첫 번째 요소인 유틸리티 컴포넌트 중 하나입니다.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+const [Track] = createTracker({ ... });
+
+function App() {
+ return (
+
+
+
+ );
+}
+```
+
+## Reference
+
+### Props
+
+| Props | 타입 | 설명 | 필수 |
+| --------- | ------------------------------------------------ | ------------------------------------------------------------ | ---- |
+| `context` | `Context \| ((prevContext: Context) => Context)` | 새로운 컨텍스트 값 또는 기존 값을 기반으로 업데이트하는 함수 | O |
+
+---
+
+#### `context` (필수)
+
+- 타입: `Context | ((prevContext: Context) => Context)`
+- 설명: 새 컨텍스트 값을 직접 지정하거나, 이전 컨텍스트 값을 기반으로 업데이트할 수 있습니다. 이 컴포넌트는 한 번 렌더링되면 지정된 컨텍스트로 추적 컨텍스트가 갱신됩니다.
+
+## Examples
+
+### 정적 컨텍스트 설정
+
+```tsx
+
+```
+
+### 이전 컨텍스트 기반 업데이트
+
+```tsx
+ ({ ...prev, lastSeen: new Date() })} />
+```
diff --git a/docs/offlegacy.org/src/content/ko/docs/create-tracker.mdx b/docs/offlegacy.org/src/content/ko/docs/create-tracker.mdx
new file mode 100644
index 0000000..6a540b8
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/create-tracker.mdx
@@ -0,0 +1,127 @@
+# createTracker
+
+`createTracker`는 사용자 정의 설정으로 트래커 인스턴스를 생성하는 함수입니다. 이 함수의 파라미터를 통해 이벤트 트래킹을 정의하고, 반환된 튜플을 통해 트래커 인스턴스를 사용할 수 있습니다.
+
+```tsx
+const [{ Provider, DOMEvent, Click, Impression, PageView, SetContext }, useTracker] = createTracker({
+ init,
+ send,
+ DOMEvents,
+ impression: {
+ onImpression,
+ options,
+ },
+ pageView: {
+ onPageView,
+ },
+ batch,
+ schemas,
+});
+```
+
+## Reference
+
+### Parameters
+
+`createTracker`는 하나의 객체를 인자로 받습니다.
+
+| 속성 (Property) | 타입 | 설명 |
+| --------------- | ------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- |
+| `init` | `(initialContext: Context, setContext: SetContext) => void \| Promise` | 모든 이벤트 발생 전에 실행되는 초기화 함수. (비동기 지원) |
+| `send` | `(params: EventParams \| (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType` | 이벤트 전송 함수. (비동기 지원) |
+| `DOMEvents` | [`DOMEvents`](https://developer.mozilla.org/docs/Web/API/Event) | React DOM 이벤트 핸들러 모음 (`onClick`, `onMouseEnter` 등) |
+| `impression` | `ImpressionOptions` | 노출 이벤트 트래킹 설정 |
+| `pageView` | `PageViewOptions` | 페이지 뷰 트래킹 설정 |
+| `batch` | `BatchConfig` | 이벤트 배칭 설정 |
+| `schemas` | `SchemaConfig` | 이벤트 스키마 검증 설정 |
+
+---
+
+#### `init`
+
+- 타입: `(initialContext: Context, setContext: SetContext) => void | Promise`
+- 설명: 모든 이벤트가 발생하기 전, 초기 컨텍스트를 설정하는 함수입니다. (비동기를 지원합니다.)
+
+#### `send`
+
+- 타입: `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
+- 설명: 이벤트를 외부로 전송하는 함수입니다. (비동기를 지원합니다.)
+
+#### `DOMEvents`
+
+- 타입: `DOMEvents`
+- 설명: 표준 React DOM 이벤트 핸들러 객체입니다. `` 컴포넌트에서 사용됩니다.
+
+#### `impression`
+
+- `impression.onImpression`
+
+ - 타입: `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
+ - 설명: `` 발생 시 실행되는 콜백 함수입니다.
+
+- `impression.options`
+
+ - 타입: `ImpressionOptions`
+ - 속성:
+
+ - `threshold`: 노출 비율 기준 (기본값: `0.2`)
+ - `freezeOnceVisible`: 노출 후 상태 고정 여부 (기본값: `true`)
+ - `initialIsIntersecting`: 초기 교차 여부 (기본값: `false`)
+
+#### `pageView`
+
+- `pageView.onPageView`
+
+ - 타입: `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
+ - 설명: `` 컴포넌트가 마운트 시 실행됩니다.
+
+#### `batch`
+
+- 타입: `BatchConfig`
+- 속성:
+
+ - `batch.enable`: 배치 활성화 여부 (기본값: `false`)
+ - `batch.interval`: 전송 간격(ms, 기본값: `3000`)
+ - `batch.thresholdSize`: 최대 배치 크기 (기본값: `25`)
+ - `batch.onFlush`: 이벤트 전송 처리 함수
+ - `batch.onError`: 오류 발생 시 처리 함수 (선택)
+
+#### `schemas`
+
+- 타입: `SchemaConfig`
+- 속성:
+
+ - `schemas.schema`: [Zod](https://zod.dev/) 기반의 스키마 정의
+ - `schemas.onSchemaError`: 스키마 오류 발생 시 처리 함수
+ - `schemas.abortOnError`: 오류 시 이벤트 중단 여부 (기본값: `false`)
+
+### Returns
+
+`createTracker`는 다음 두 값을 포함한 튜플을 반환합니다.
+
+```tsx
+const [{ Provider, DOMEvent, Click, Impression, PageView, SetContext }, useTracker] = createTracker({...})
+```
+
+#### [Components](./components)
+
+리턴 배열에서 첫 요소인 이벤트 컴포넌트는 여러 가지 이벤트 컴포넌트를 포함하고 있습니다.
+
+```tsx
+const [{ Provider, DOMEvent, Click, Impression, PageView, SetContext }] = createTracker(config);
+```
+
+- `Provider`
+- `DOMEvent`
+- `Click`
+- `Impression`
+- `PageView`
+- `SetContext`
+
+#### [Hook](./hook)
+
+```tsx
+const [, useTracker] = createTracker(config);
+```
+
+리턴 배열에서 두번째 요소인 커스텀 React hook입니다. 이 훅은 컴포넌트 내에서 이벤트 트래킹 기능과 컨텍스트 관리에 접근할 수 있게 합니다.
diff --git a/docs/offlegacy.org/src/content/ko/docs/data-type-validation.mdx b/docs/offlegacy.org/src/content/ko/docs/data-type-validation.mdx
new file mode 100644
index 0000000..d7256c9
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/data-type-validation.mdx
@@ -0,0 +1,174 @@
+import { Callout, Steps } from "nextra/components";
+
+# 데이터 검증
+
+Event Tracker는 이벤트 파라미터의 정확성을 보장하기 위해 [Standard Schema](https://standardschema.dev/) 스펙을 활용한 스키마 기반 데이터 타입 검증 기능을 제공합니다.
+이 기능을 사용하면 이벤트가 수집되기 전에 사전 정의된 구조와 일치하는지 검증할 수 있으며, 이는 데이터 신뢰성과 오류 방지, 정형 분석을 위한 기반으로 유용합니다.
+
+Zod, Valibot, ArkType 등 Standard Schema 스펙을 구현하는 모든 스키마 검증 라이브러리를 지원합니다.
+
+## Usage
+
+스키마는 두 가지 방식으로 정의할 수 있습니다: Standard Schema 인터페이스를 직접 사용하거나 Zod와 같은 Standard Schema 호환 라이브러리를 사용하는 방법입니다.
+
+### 방법 1: Standard Schema 인터페이스 (내장)
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+// Standard Schema 호환 스키마를 생성하는 헬퍼 함수
+function createSchema(validator: (value: unknown) => T) {
+ return {
+ "~standard": {
+ version: 1,
+ vendor: "custom",
+ validate: (value: unknown) => {
+ try {
+ const result = validator(value);
+ return { value: result };
+ } catch (error) {
+ return {
+ issues: [{ message: error instanceof Error ? error.message : "검증 실패" }],
+ };
+ }
+ },
+ },
+ };
+}
+
+const schemas = {
+ page_view: createSchema((value: unknown): { title: string } => {
+ if (typeof value?.title !== "string") {
+ throw new Error("title은 문자열이어야 합니다");
+ }
+ return { title: value.title };
+ }),
+ click_button: createSchema((value: unknown): { target: string } => {
+ if (typeof value?.target !== "string") {
+ throw new Error("target은 문자열이어야 합니다");
+ }
+ return { target: value.target };
+ }),
+};
+
+const [Track] = createTracker<{}, {}, typeof schemas>({
+ schema: {
+ schemas,
+ onSchemaError: (error) => {
+ console.error("스키마 검증 실패:", error);
+ },
+ abortOnError: true,
+ },
+});
+```
+
+### 방법 2: Zod 사용 (Standard Schema 호환)
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+import { z } from "zod";
+
+const schemas = {
+ page_view: z.object({
+ title: z.string(),
+ }),
+ click_button: z.object({
+ target: z.string(),
+ }),
+};
+
+const [Track] = createTracker<{}, {}, typeof schemas>({
+ schema: {
+ schemas,
+ onSchemaError: (error) => {
+ console.error("스키마 검증 실패:", error);
+ },
+ abortOnError: true,
+ },
+});
+```
+
+## Reference
+
+| 옵션 | 타입 | 설명 | 기본값 |
+| --------------- | ------------------------------------------------------------ | ------------------------------------------------ | ------- |
+| `schemas` | `Record` | 이벤트 이름과 Standard Schema 호환 스키마의 매핑 | 필수 |
+| `onSchemaError` | `(error: StandardSchemaV1.Issue[]) => void \| Promise` | 스키마 검증 실패 시 호출되는 함수 | 선택 |
+| `abortOnError` | `boolean` | 오류 발생 시 이벤트 처리를 중단할지 여부 | `false` |
+
+스키마 오류가 발생했을 때 `abortOnError: true`인 경우, 해당 이벤트는 추적되지 않습니다.
+
+## Examples
+
+
+
+### 스키마 정의
+
+내장 Standard Schema 방식 또는 외부 라이브러리를 선택하여 사용할 수 있습니다:
+
+**방법 A: 내장 Standard Schema**
+
+```ts
+const schemas = {
+ page_view: createSchema((value: unknown): { title: string } => {
+ if (typeof value?.title !== "string") {
+ throw new Error("title은 문자열이어야 합니다");
+ }
+ return { title: value.title };
+ }),
+ click_button: createSchema((value: unknown): { target: string } => {
+ if (typeof value?.target !== "string") {
+ throw new Error("target은 문자열이어야 합니다");
+ }
+ return { target: value.target };
+ }),
+};
+```
+
+**방법 B: Zod 사용**
+
+```ts
+import { z } from "zod";
+
+const schemas = {
+ page_view: z.object({
+ title: z.string(),
+ }),
+ click_button: z.object({
+ target: z.string(),
+ }),
+};
+```
+
+### `createTracker`에 등록
+
+```tsx
+const [Track] = createTracker<{}, {}, typeof schemas>({
+ schema: {
+ schemas,
+ abortOnError: true,
+ onSchemaError: (error) => {
+ console.error("스키마 검증 오류:", error);
+ },
+ },
+});
+```
+
+### 스키마 기반 이벤트 트래킹
+
+```tsx
+
+
+```
+
+스키마 검증이 성공하면 이벤트는 `send` 또는 각 핸들러로 전달됩니다.
+실패하면 `onSchemaError`가 호출되고, `abortOnError`가 true일 경우 이벤트는 무시됩니다.
+
+
+
+## Notes
+
+- Standard Schema 검증은 스키마의 `~standard` 속성에서 `validate` 메서드를 사용합니다
+- **타입 추론**: 더 나은 타입 안전성과 IntelliSense를 위해 `createTracker` 함수 외부에서 스키마를 정의하고 세 번째 타입 인자로 `typeof schemas`를 전달하세요: `createTracker`
+- 스키마 검증 오류에는 디버깅을 위한 상세한 메시지와 경로 정보가 포함됩니다
+- 모든 스키마 접근법(내장 Standard Schema, Zod, Valibot 등)은 올바르게 구성되었을 때 동일한 수준의 타입 안전성을 제공합니다
diff --git a/docs/src/content/ko/hook.mdx b/docs/offlegacy.org/src/content/ko/docs/hook.mdx
similarity index 50%
rename from docs/src/content/ko/hook.mdx
rename to docs/offlegacy.org/src/content/ko/docs/hook.mdx
index c775e8f..09d6258 100644
--- a/docs/src/content/ko/hook.mdx
+++ b/docs/offlegacy.org/src/content/ko/docs/hook.mdx
@@ -1,31 +1,37 @@
-# hook
+import { Callout } from "nextra/components";
-[`createTracker`](/docs/create-tracker)에서 두 번째 배열 항목으로 반환되는 커스텀 React hook입니다.
-이 훅은 컴포넌트 내에서 이벤트 트래킹 기능과 컨텍스트 관리에 접근할 수 있게 합니다.
+# Hook
+
+React 컴포넌트 내부에서 트래킹 컨텍스트를 설정하거나, 명령형 방식으로 이벤트를 추적할 수 있습니다. 해당 Hook은 [`createTracker`](/docs/create-tracker)에서 반환되는 두 번째 항목입니다.
+
+주로 컴포넌트 마운트 이후, 사용자 입력이나 비동기 작업이 완료된 시점에서 수동으로 이벤트를 트리거할 때 사용됩니다.
```tsx
import { createTracker } from "@offlegacy/event-tracker";
-const [Track, useTracker] = createTracker({...})
+const [Track, useTracker] = createTracker({...});
function MyComponent() {
const { setContext, getContext, track, trackWithSchema } = useTracker();
- return (
- // 컴포넌트 내용
- );
+ // 명령형 이벤트 트래킹
}
```
-### 반환 값
+## Reference
-이 hook은 다음 속성을 포함하는 객체를 반환합니다:
+### Returns
-#### setContext
+| 속성 | 타입 | 설명 |
+| ----------------- | --------------------------------------------------------------- | ------------------------------------------- |
+| `setContext` | `(context: Context \| (prev: Context) => Context) => void` | 트래킹 컨텍스트 설정 또는 업데이트 |
+| `getContext` | `() => Context` | 현재 트래킹 컨텍스트 반환 |
+| `track` | `Record void>` | 일반 이벤트 추적 함수 집합 |
+| `trackWithSchema` | `Record void>` | 스키마 기반 검증 포함 이벤트 추적 함수 집합 |
-- Type: `(context: Context) => void`
-- 현재 트래킹 컨텍스트를 설정하거나 업데이트합니다.
-- 사용자 정보, 세션 데이터 등을 업데이트하는 데 사용할 수 있습니다.
+---
+
+#### `setContext`
```tsx
const { setContext } = useTracker();
@@ -40,11 +46,10 @@ setContext((prev) => ({
}));
```
-#### getContext
+- 현재 트래킹 컨텍스트를 설정하거나 업데이트합니다.
+- 사용자 정보, 세션 데이터 등을 업데이트하는 데 사용할 수 있습니다.
-- Type: `() => Context`
-- 현재 트래킹 컨텍스트를 반환합니다.
-- 현재 트래킹 상태에 접근하는 데 유용합니다.
+#### `getContext`
```tsx
const { getContext } = useTracker();
@@ -53,12 +58,10 @@ const currentContext = getContext();
console.log("Current user:", currentContext.userId);
```
-#### track
+- 현재 트래킹 컨텍스트를 반환합니다.
+- 현재 트래킹 상태에 접근하는 데 유용합니다.
-- Type: `Record void>`
-- 모든 구성된 이벤트 트래킹 함수를 포함하는 객체
-- key는 트래커 구성에 정의된 이벤트 이름과 일치합니다.
-- 고급 제어를 위한 선택적 `TrackingOptions`를 허용합니다.
+#### `track`
```tsx
const { track } = useTracker();
@@ -94,12 +97,11 @@ track.onClick(
track.onImpression({ elementId: "hero" });
```
-#### trackWithSchema
-
-- Type: `Record void>`
-- 스키마 검증이 포함된 모든 구성된 이벤트 트래킹 함수를 포함하는 객체
+- 모든 구성된 이벤트 트래킹 함수를 포함하는 객체
- key는 트래커 구성에 정의된 이벤트 이름과 일치합니다.
-- 고급 제어를 위한 선택적 `TrackingOptions`를 허용합니다.
+- 고급 제어를 위한 선택적 TrackingOptions를 허용합니다.
+
+#### `trackWithSchema`
```tsx
const { trackWithSchema } = useTracker();
@@ -130,39 +132,64 @@ trackWithSchema.onImpression(
);
```
-### TrackingOptions
+- 스키마 검증이 포함된 모든 구성된 이벤트 트래킹 함수를 포함하는 객체
+- key는 트래커 구성에 정의된 이벤트 이름과 일치합니다.
+- 고급 제어를 위한 선택적 TrackingOptions를 허용합니다.
-`track`과 `trackWithSchema` 메서드 모두 다음 옵션을 포함하는 선택적 두 번째 매개변수를 허용합니다:
+## TrackingOptions
-- `enabled?: boolean | ((context: Context, params: EventParams) => boolean)` - 이벤트 추적을 조건부로 활성화/비활성화
-- `debounce?: DebounceConfig` - 연속적인 이벤트 발생을 방지하는 디바운스 설정
-- `throttle?: ThrottleConfig` - 이벤트 발생 빈도를 제한하는 스로틀 설정
+`track`, `trackWithSchema` 함수는 모두 아래 옵션을 선택적으로 받을 수 있습니다:
-**참고:** `debounce`와 `throttle`은 상호 배타적이며 함께 사용할 수 없습니다.
+| 옵션 | 타입 | 설명 |
+| ---------- | ------------------------------------------- | ------------------------------------- |
+| `enabled` | `boolean \| ((context, params) => boolean)` | 조건부로 이벤트 추적 활성화 여부 설정 |
+| `debounce` | `DebounceConfig` | 연속된 이벤트를 제한 (후행 호출 1회) |
+| `throttle` | `ThrottleConfig` | 짧은 시간 내 중복 호출 방지 |
-#### DebounceConfig
+
+ 참고: `debounce`와 `throttle`은 상호 배타적이며 함께 사용할 수 없습니다. 타입 에러를 발생시켜 사전에 방지합니다.
+
-```tsx
+#### `DebounceConfig`
+
+```ts
interface DebounceConfig {
- delay: number; // 밀리초 단위의 지연 시간
- leading?: boolean; // 선행 에지에서 실행 (기본값: false)
- trailing?: boolean; // 후행 에지에서 실행 (기본값: true)
+ delay: number;
+ leading?: boolean; // 기본값: false
+ trailing?: boolean; // 기본값: true
}
```
-#### ThrottleConfig
+#### `ThrottleConfig`
-```tsx
+```ts
interface ThrottleConfig {
- delay: number; // 밀리초 단위의 지연 시간
- leading?: boolean; // 선행 에지에서 실행 (기본값: true)
- trailing?: boolean; // 후행 에지에서 실행 (기본값: false)
+ delay: number;
+ leading?: boolean; // 기본값: true
+ trailing?: boolean; // 기본값: false
}
```
-### 사용 예제
+## Best Practices
+
+### 컨텍스트 관리
+
+- 여러 이벤트에 영향을 주는 전역 상태를 업데이트하기 위해 `setContext`를 사용하세요.
+- 이전 상태에 기반한 업데이트를 위해 `setContext`의 함수 형태를 고려하세요.
+
+### 이벤트 트래킹
+
+- 가능한 경우 `track` 또는 `trackWithSchema`에서 이벤트 함수를 사용하세요.
+
+### 성능 최적화
-다음은 이 hook을 사용하는 예제입니다:
+- 렌더링 중에 이벤트 트래킹 함수를 호출하지 마세요.
+- [배칭](/docs/batching)을 사용하여 성능을 향상시키세요.
+- [데이터 검증](/docs/data-type-validation)을 사용하여 데이터 안전성을 확인하세요.
+
+## Examples
+
+### 기본
```tsx
import { createTracker } from "@offlegacy/event-tracker";
@@ -204,21 +231,3 @@ function UserProfile({ userId }) {
);
}
```
-
-### Best Practices
-
-1. **컨텍스트 업데이트**
-
- - 여러 이벤트에 영향을 주는 전역 상태를 업데이트하기 위해 `setContext`를 사용하세요.
- - 이전 상태에 기반한 업데이트를 위해 `setContext`의 함수 형태를 고려하세요.
-
-2. **이벤트 트래킹**
-
- - 가능한 경우 `track` 또는 `trackWithSchema`에서 이벤트 함수를 사용하세요.
-
-3. **성능**
-
- - 렌더링 중에 이벤트 트래킹 함수를 호출하지 마세요.
- - 콜백 또는 효과를 사용하세요.
- - [배칭](/docs/batching)을 사용하여 성능을 향상시키세요.
- - [데이터 타입 검증](/docs/data-type-validation)을 사용하여 데이터 타입 안전성을 확인하세요.
diff --git a/docs/offlegacy.org/src/content/ko/docs/installation.mdx b/docs/offlegacy.org/src/content/ko/docs/installation.mdx
new file mode 100644
index 0000000..85fd943
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/installation.mdx
@@ -0,0 +1,11 @@
+# 설치
+
+Event Tracker는 React 애플리케이션에서 이벤트 트래킹을 쉽게 구현할 수 있도록 설계된 라이브러리입니다. `React@^16.8.0` 이상의 버전에서 사용할 수 있습니다.
+
+최신 안정 버전을 설치하려면 아래 명령어를 실행하세요.
+
+
+
+```shell npm2yarn
+npm install @offlegacy/event-tracker
+```
diff --git a/docs/offlegacy.org/src/content/ko/docs/introduction.mdx b/docs/offlegacy.org/src/content/ko/docs/introduction.mdx
new file mode 100644
index 0000000..7517a5b
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/introduction.mdx
@@ -0,0 +1,83 @@
+# 소개
+
+Event Tracker 문서에 오신 것을 환영합니다.
+
+## Event Tracker가 무엇인가요?
+
+Event Tracker는 복잡한 이벤트 트래킹 구현 과정을 단순화하고, 개발자가 비즈니스 로직에 더 집중할 수 있도록 돕는 선언적 방식의 React 라이브러리입니다. 모든 규모의 애플리케이션에서 이벤트 트래킹을 쉽고 효율적으로 관리할 수 있도록 설계되었습니다.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+
+// 트래커 인스턴스 생성
+const [Track, useTracker] = createTracker({
+ DOMEvents: {
+ onClick: (params, context) => {
+ log("Click event:", params, context);
+ },
+ },
+});
+
+// 앱에서 사용하기
+function App() {
+ return (
+
+
+ Event Click!
+
+
+ );
+}
+```
+
+### 주요 기능
+
+Event Tracker는 개발자 경험과 애플리케이션 성능을 모두 고려한 다양한 기능을 제공합니다.
+
+| Feature | Description |
+| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 선언적 API | 트래킹을 위한 별도의 설정이나 복잡한 코드 없이, 컴포넌트 형태로 직관적으로 선언할 수 있습니다. |
+| 애널리틱스 도구 독립성 | [Google Analytics](https://analytics.google.com/), [Amplitude](https://amplitude.com/) 등 어떤 도구든 자유롭게 연동할 수 있어, 기존 인프라를 변경하지 않고도 도입이 가능합니다. |
+| 명확한 관심사 분리 | 트래킹 로직을 비즈니스 코드에서 완전히 분리함으로써 코드의 가독성, 테스트 용이성, 유지보수성을 모두 향상시킵니다. |
+| 최적화된 성능 | 배칭, 디바운스, 스로틀링 등 네트워크 요청을 최소화하는 다양한 전략이 내장되어 있어, 성능 저하 없이 안정적으로 트래킹할 수 있습니다. |
+| 실행 순서 보장 | 비동기 상황에서도 이벤트가 의도한 순서대로 처리되도록 설계되어, 복잡한 사용자 흐름에서도 정확한 트래킹이 가능합니다. |
+| 데이터 검증 | [Zod](https://zod.dev/) 기반의 정적 스키마 검증으로 빌드 타임에서 오류를 방지하고, 수집되는 이벤트 데이터의 신뢰도를 보장합니다. |
+
+## 핵심 개념
+
+Event Tracker를 효과적으로 사용하기 위해 알아야 할 몇 가지 핵심 개념이 있습니다.
+
+### 인스턴스 (`createTracker`)
+
+라이브러리의 가장 기본적인 출발점입니다. `createTracker` 함수를 사용하여 트래커 인스턴스(`Track` 컴포넌트 컬렉션과 `useTracker` 훅)를 생성합니다. 이때, DOM 이벤트 핸들러, 노출(Impression) 이벤트 핸들러, 스키마 등을 설정하여 이벤트 트래킹을 정의합니다.
+
+목적에 따라 구분하여 여러 가지 트래커 인스턴스를 생성할 수 있습니다. (예를 들어, Google Analytics로 보내는 이벤트와 Amplitude로 보내는 이벤트를 구분하여 생성할 수 있습니다.)
+
+### 프로바이더 (`Track.Provider`)
+
+React의 Context API를 기반으로 구현되었습니다. 애플리케이션 또는 특정 컴포넌트 트리의 최상단에서 `Track.Provider`로 감싸 하위 컴포넌트들에 트래킹에 필요한 공통 데이터(컨텍스트)를 제공합니다. 예를 들어, `userId`, `pageName` 등의 정보를 컨텍스트로 전달하면, 각 이벤트 트래킹 시 이 정보를 활용할 수 있습니다.
+
+### 이벤트 컴포넌트 (`Track.Click`, `Track.PageView` 등)
+
+선언적으로 이벤트를 트래킹할 수 있도록 제공되는 특수 컴포넌트들입니다. `createTracker` 리턴 배열의 첫 번째 요소입니다.
+
+- `Track.Click`: 자식 요소에서 클릭 이벤트가 발생했을 때 트래킹합니다.
+- `Track.Impression`: 자식 요소가 화면에 노출되었을 때 트래킹합니다.
+- `Track.PageView`: 컴포넌트가 마운트될 때 페이지 뷰 이벤트를 트래킹합니다.
+
+이 외에도 다양한 사용자 인터랙션 및 생명주기 이벤트에 대응하는 컴포넌트를 제공하거나 커스텀하여 사용할 수 있습니다. 각 컴포넌트는 `context`, `params` prop을 통해 해당 이벤트와 관련된 특정 데이터를 전달받고 활용할 수 있습니다.
+
+### 커스텀 훅
+
+컴포넌트의 생명주기나 DOM 이벤트와 직접적으로 관련되지 않은, 보다 복잡하거나 조건부적인 이벤트 트래킹이 필요할 때 사용합니다. 훅을 사용하면 `Track.Provider`로부터 컨텍스트 정보를 가져오고, 정의된 트래킹 로직을 명령형으로 사용할 수 있습니다.
+
+## 다음 단계
+
+이러한 핵심 개념들은 서로 유기적으로 작동하여 Event Tracker의 강력하고 유연한 이벤트 트래킹 환경을 구성합니다. 더 자세한 사용법과 각 기능에 대한 심층적인 내용은 아래 문서들에서 확인하실 수 있습니다.
+
+- [왜 Event Tracker인가요?](/docs/why-event-tracker): Event Tracker의 필요성과 주요 기능 알아보기
+- [`createTracker`](/docs/create-tracker): 트래커 인스턴스 생성 및 설정 방법 알아보기
+- [Components](/docs/components): 사용 가능한 모든 트래킹 컴포넌트와 사용 예시 살펴보기
+- [Hook](/docs/hook): 커스텀 훅을 활용한 사용자 지정 트래킹 방법 알아보기
+- [배칭](/docs/batching): 이벤트 배칭을 통한 성능 최적화 전략 알아보기
+- [데이터 검증](/docs/data-type-validation): Zod 스키마를 활용한 데이터 유효성 검증하기
diff --git a/docs/offlegacy.org/src/content/ko/docs/why-event-tracker.mdx b/docs/offlegacy.org/src/content/ko/docs/why-event-tracker.mdx
new file mode 100644
index 0000000..c63e95c
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/why-event-tracker.mdx
@@ -0,0 +1,198 @@
+import { Steps } from "nextra/components";
+
+# 왜 Event Tracker인가요?
+
+현대 웹 애플리케이션은 사용자의 행동을 분석하여 서비스 품질을 지속적으로 개선해야 합니다. 그러나 기존의 이벤트 트래킹 방식은 여러 문제점이 나타납니다.
+
+## Event Tracker가 필요한 이유
+
+다음은 전통적인 이벤트 트래킹 방식의 문제점을 보여주는 예시입니다.
+
+```tsx {8,15, 24-31}
+function Page() {
+ const { user, userId } = useUser(); // 사용자 정보와 ID를 가져옵니다.
+
+ return (
+
+
User: {user.name}
+ {/* Counter 컴포넌트에 이벤트 트래킹을 위해 userId를 전달합니다. */}
+
+
+ );
+}
+
+// 오직 이벤트 트래킹만을 위해서 'userId'를 prop으로 전달받습니다.
+// 만약 Counter가 더 깊은 곳에 있다면, prop drilling은 더욱 심해집니다.
+function Counter({ userId }: { userId: string }) {
+ const [count, setCount] = useState(0);
+ const { track } = useTrackEvent(); // 가상의 트래킹 훅
+
+ const handleIncrement = () => {
+ const newCount = count + 1;
+ setCount(newCount);
+
+ // 비즈니스 로직 (카운트 증가)과 트래킹 로직이 혼재합니다.
+ track({
+ event: "click_increment",
+ params: {
+ type: "count",
+ value: newCount,
+ userId, // 상위로부터 전달받은 userId 사용
+ },
+ });
+ };
+
+ return (
+
+
Count: {count}
+
Increment
+
+ );
+}
+```
+
+
+
+### Prop Drilling의 고통
+
+이벤트 트래킹에 필요한 데이터를 하위 컴포넌트까지 전달하기 위해 수많은 계층을 거쳐 prop을 내려보내야 하는 경우가 많습니다. 이는 코드의 가독성을 해치고 유지보수를 어렵게 만듭니다.
+
+### 로직의 강한 결합
+
+비즈니스 로직과 이벤트 트래킹 로직이 한데 섞여 코드의 복잡도를 높이고, 각 로직의 독립적인 테스트와 수정을 어렵게 만듭니다.
+
+### 보일러플레이트 코드 증가
+
+반복적인 트래킹 코드 작성은 개발 생산성을 저해하는 요인이 됩니다.
+
+
+
+## Event Tracker가 제시하는 새로운 패러다임
+
+Event Tracker는 이벤트 트래킹을 위한 새로운 패러다임을 소개합니다.
+Event Tracker가 제시하는 선언적 방식은 전통적으로 이벤트 트래킹과 관련된 복잡성을 단순화하여, 모든 개발자들이 쉽게 접근할 수 있도록 합니다.
+
+
+
+### 선언적 이벤트 트래킹
+
+```tsx {7, 10, 12, 32, 34}
+function Page() {
+ const { user, userId } = useUser();
+
+ // Track.Provider를 통해 하위 컴포넌트에 트래킹 컨텍스트(userId)를 제공합니다.
+ // 더 이상 prop drilling이 필요 없습니다.
+ return (
+
+
+
User: {user.name}
+
{/* userId를 prop으로 전달할 필요가 없습니다. */}
+
+
+ );
+}
+
+function Counter() {
+ const [count, setCount] = useState(0);
+
+ const handleIncrement = () => {
+ // 이제 handleIncrement 함수는 순수하게 카운트 증가 로직만 담당합니다.
+ setCount(count + 1);
+ };
+
+ return (
+
+
Count: {count}
+ {/*
+ Track.Click 컴포넌트가 클릭 이벤트를 감싸고,
+ 클릭 발생 시 정의된 파라미터와 함께 이벤트를 트래킹합니다.
+ 컨텍스트로 제공된 userId는 자동으로 트래킹 데이터에 포함됩니다.
+ */}
+
+ Increment
+
+
+ );
+}
+```
+
+Event Tracker를 사용하면 선언적 이벤트 트래킹이 가능해져 코드 가독성이 향상되고 복잡성이 감소합니다. 이는 개발자들이 이벤트 트래킹을 더 쉽게 이해하고 사용할 수 있도록 돕습니다.
+
+이제 `handleIncrement` 함수는 카운트 증가에만 책임이 있고, 이벤트 트래킹은 ` ` 컴포넌트가 처리합니다.
+**이러한 선언적 접근 방식은 개발자가 '어떻게 트래킹할지'가 아닌 '무엇을 트래킹할지'에 집중하도록 합니다.**
+어떻게 트래킹할지는 React 앱 외부에서 정의되어야 합니다.
+
+### 이벤트 트래킹 응집도 개선
+
+```tsx {4-10, 14-20}
+const [Track, useTracker] = createTracker({
+ // DOM 이벤트 발생 시 실행될 콜백 함수
+ DOMEvents: {
+ onClick: (params, context) => {
+ // 실제 트래킹 라이브러리(Google Analytics, Amplitude 등) 호출
+ logEvent("click_event", {
+ ...params, // { value: ..., type: "count" }
+ userId: context.userId, // Provider로부터 받은 userId
+ });
+ },
+ // 필요에 따라 onMouseOver, onFocus 등 다양한 DOM 이벤트 핸들러 정의 가능
+ },
+ // 화면 노출(Impression) 이벤트 발생 시 실행될 콜백 함수
+ onImpression: (params, context) => {
+ logEvent("impression_event", {
+ ...params,
+ userId: context.userId,
+ pagePath: window.location.pathname,
+ });
+ },
+});
+```
+
+이제 '어떻게 추적할지' 에 대한 코드가 비즈니스 로직과 분리되었습니다. 애플리케이션 외부에 위치하므로 비즈니스 로직을 변경하지 않고도 이벤트 트래킹 로직을 수정할 수 있습니다.
+
+### 데이터 검증
+
+```tsx {13-20, 24-33}
+import { z } from "zod";
+import { createTracker } from "@offlegacy/event-tracker";
+
+interface Context {
+ /* ... */
+}
+
+interface Params {
+ /* ... */
+}
+
+// 스키마 정의
+const schemas = {
+ page_view: z.object({
+ title: z.string(),
+ }),
+ click_button: z.object({
+ target: z.string(),
+ }),
+};
+
+// 트래커 설정
+const [Track] = createTracker({
+ schema: {
+ schemas: {
+ page_view,
+ click_button,
+ },
+ onSchemaError: (error) => {
+ console.error("Schema validation error:", error);
+ },
+ abortOnError: true,
+ },
+});
+
+// 스키마 사용하기
+ ;
+ ;
+```
+
+Event Tracker는 [Zod](https://zod.dev/) 라이브러리와 통합하여 스키마 기반의 강력한 데이터 타입 검증 기능을 제공합니다. 이를 통해 개발 단계에서부터 데이터 오류를 방지하고, 트래킹 데이터의 신뢰성을 높일 수 있습니다.
+
+
diff --git a/docs/offlegacy.org/src/content/ko/docs/with-google-analytics-example.mdx b/docs/offlegacy.org/src/content/ko/docs/with-google-analytics-example.mdx
new file mode 100644
index 0000000..c0e1eae
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/with-google-analytics-example.mdx
@@ -0,0 +1,115 @@
+import { Steps } from "nextra/components";
+
+# Google Analytics 연동하기
+
+GA4(Google Analytics 4)와 쉽게 통합해 사용자 행동을 추적하는 방법을 단계별로 안내합니다.
+
+
+
+## GA4 스크립트 설정
+
+`index.html` ``에 GA4 스크립트를 추가하여 `gtag`를 사용할 준비를 합니다.
+
+```html
+
+
+
+
+
+```
+
+## `sendGA4` 함수 정의하기
+
+`gtag` 호출 전 확인 및 경고 로직을 포함한 전송 함수를 정의합니다.
+
+```ts
+export function sendGA4(eventName: string, eventParams: Record = {}): void {
+ if (typeof window === "undefined") return;
+ if (typeof window.gtag !== "function") {
+ console.warn("[GA4] gtag 함수가 로드되지 않았습니다.");
+ return;
+ }
+ window.gtag("event", eventName, eventParams);
+}
+```
+
+## 트래킹 이벤트 정의하기
+
+`createTracker`를 통해 GA4 전송 로직과 DOM/노출/페이지뷰 이벤트를 설정합니다.
+
+```tsx
+import { createTracker } from "@offlegacy/event-tracker";
+import { sendGA4 } from "./sendGA4";
+
+interface GA4Context {
+ userId: string;
+}
+
+interface GA4EventParams {
+ eventName: string;
+}
+
+export const [Track, useTracker] = createTracker({
+ DOMEvents: {
+ onClick: (params, ctx) => sendGA4(params.eventName, { ...params, user_id: ctx.userId }),
+ },
+ impression: {
+ onImpression: (params, ctx) => sendGA4("impression", { ...params, user_id: ctx.userId }),
+ options: { threshold: 0.5, freezeOnceVisible: true },
+ },
+});
+```
+
+## 블로그 페이지에서 사용하기
+
+`Track.Provider`로 컨텍스트를 감싸고, ``, ``, `` 컴포넌트를 사용해 이벤트를 선언적으로 기록합니다.
+
+```tsx
+import { Track } from "./event-tracker";
+
+function App() {
+ return (
+
+
+
+ );
+}
+
+interface PostProps {
+ id: number;
+ title: string;
+ slug: string;
+ content: string;
+}
+
+function Post({ post }: PostProps) {
+ return (
+
+ {post.title}
+
+
+ {post.content}
+
+
+
+
+ 트위터 공유
+
+
+
+ 페이스북 공유
+
+
+
+ );
+}
+```
+
+
diff --git a/docs/offlegacy.org/src/content/ko/docs/with-zod-example.mdx b/docs/offlegacy.org/src/content/ko/docs/with-zod-example.mdx
new file mode 100644
index 0000000..53542ee
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/docs/with-zod-example.mdx
@@ -0,0 +1,72 @@
+import { Steps } from "nextra/components";
+
+# Zod와 함께 사용하기
+
+[Zod](https://zod.dev/)와 함께 사용하여 강력한 데이터 타입 검증을 구현하는 방법을 알아보겠습니다.
+Zod를 통한 스키마 기반 검증으로 런타임 이전에 오류를 방지하고 데이터 신뢰성을 보장할 수 있습니다.
+
+
+
+## 스키마 정의하기
+
+이벤트별 필드와 타입을 Zod 객체로 선언합니다.
+
+```tsx {4-5}
+import { z } from "zod";
+
+export const schemas = {
+ page_view: z.object({ title: z.string() }),
+ click_button: z.object({ target: z.string() }),
+};
+```
+
+## 트래킹 이벤트 정의하기
+
+스키마를 createTracker에 연결해 이벤트 파라미터를 자동 검증합니다.
+
+```tsx {5-9}
+import { createTracker } from "@offlegacy/event-tracker";
+import { schemas } from "./schemas";
+
+export const [Track, useTracker] = createTracker<{}, {}, typeof schemas>({
+ schemas: {
+ schemas,
+ onSchemaError: (error) => console.error("스키마 검증 실패:", error),
+ abortOnError: true,
+ },
+});
+```
+
+## 검증된 이벤트 사용하기
+
+선언형 컴포넌트와 track 함수로 타입이 보장된 이벤트를 전송합니다.
+
+```tsx {11, 17-19}
+import { Track } from "./event-tracker";
+
+function HomePage() {
+ return (
+
+ 홈페이지
+
+ {/* ✅ Zod Schema로 검사하여 타입 에러가 발생하지 않습니다. */}
+
+
+ {/* 🚨 Zod Schema로 검사하여 타입 에러가 발생합니다. */}
+ {/* *}
+
+ {/* ✅ Zod Schema로 검사하여 타입 에러가 발생하지 않습니다. */}
+
+ 시작하기
+
+
+ {/* 🚨 Zod Schema로 검사하여 타입 에러가 발생합니다. */}
+ {/*
+ track({ target: "start-button" })}>시작하기
+ */}
+
+ );
+}
+```
+
+
diff --git a/docs/offlegacy.org/src/content/ko/index.mdx b/docs/offlegacy.org/src/content/ko/index.mdx
new file mode 100644
index 0000000..ef62205
--- /dev/null
+++ b/docs/offlegacy.org/src/content/ko/index.mdx
@@ -0,0 +1,42 @@
+---
+title: Event Tracker | Comprehensive solution for event tracking in React applications
+---
+
+import HomePage from "@/components/home-page";
+
+
diff --git a/docs/src/lib/types/lang.ts b/docs/offlegacy.org/src/lib/types/lang.ts
similarity index 100%
rename from docs/src/lib/types/lang.ts
rename to docs/offlegacy.org/src/lib/types/lang.ts
diff --git a/docs/offlegacy.org/src/logo/index.tsx b/docs/offlegacy.org/src/logo/index.tsx
new file mode 100644
index 0000000..5071c11
--- /dev/null
+++ b/docs/offlegacy.org/src/logo/index.tsx
@@ -0,0 +1,23 @@
+"use client";
+
+import Image from "next/image";
+import { useTheme } from "nextra-theme-docs";
+import { useLayoutEffect, useState } from "react";
+
+interface LogoProps {
+ size?: number;
+}
+
+const DARK_LOGO_PATH = "/img/dark-logo.png";
+const LIGHT_LOGO_PATH = "/img/light-logo.png";
+
+export const Logo = ({ size = 30 }: LogoProps) => {
+ const { resolvedTheme } = useTheme();
+ const [src, setSrc] = useState(LIGHT_LOGO_PATH);
+
+ useLayoutEffect(() => {
+ setSrc(resolvedTheme === "dark" ? DARK_LOGO_PATH : LIGHT_LOGO_PATH);
+ }, [resolvedTheme]);
+
+ return ;
+};
diff --git a/docs/mdx-components.ts b/docs/offlegacy.org/src/mdx-components.ts
similarity index 80%
rename from docs/mdx-components.ts
rename to docs/offlegacy.org/src/mdx-components.ts
index 3e463a6..a304c9d 100644
--- a/docs/mdx-components.ts
+++ b/docs/offlegacy.org/src/mdx-components.ts
@@ -1,5 +1,5 @@
import { useMDXComponents as getThemeComponents } from "nextra-theme-docs";
-import { MDXComponents } from "nextra/mdx-components";
+import type { MDXComponents } from "nextra/mdx-components";
const themeComponents = getThemeComponents();
diff --git a/docs/offlegacy.org/src/middleware.ts b/docs/offlegacy.org/src/middleware.ts
new file mode 100644
index 0000000..9cc1483
--- /dev/null
+++ b/docs/offlegacy.org/src/middleware.ts
@@ -0,0 +1,15 @@
+export { middleware } from "nextra/locales";
+
+export const config = {
+ matcher: [
+ /*
+ * Match all request paths except for the ones starting with:
+ * - api (API routes)
+ * - _next/static (static files)
+ * - _next/image (image optimization files)
+ * - favicon.ico (favicon file)
+ * - img (image files)
+ */
+ "/((?!api|_next/static|_next/image|favicon.ico|img|_pagefind).*)",
+ ],
+};
diff --git a/docs/src/tracker/createTracker.ts b/docs/offlegacy.org/src/tracker/createTracker.ts
similarity index 100%
rename from docs/src/tracker/createTracker.ts
rename to docs/offlegacy.org/src/tracker/createTracker.ts
diff --git a/docs/src/tracker/index.tsx b/docs/offlegacy.org/src/tracker/index.tsx
similarity index 100%
rename from docs/src/tracker/index.tsx
rename to docs/offlegacy.org/src/tracker/index.tsx
diff --git a/docs/tsconfig.json b/docs/offlegacy.org/tsconfig.json
similarity index 56%
rename from docs/tsconfig.json
rename to docs/offlegacy.org/tsconfig.json
index c133409..b575f7d 100644
--- a/docs/tsconfig.json
+++ b/docs/offlegacy.org/tsconfig.json
@@ -1,7 +1,11 @@
{
"compilerOptions": {
"target": "ES2017",
- "lib": ["dom", "dom.iterable", "esnext"],
+ "lib": [
+ "dom",
+ "dom.iterable",
+ "esnext"
+ ],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
@@ -11,7 +15,7 @@
"moduleResolution": "bundler",
"resolveJsonModule": true,
"isolatedModules": true,
- "jsx": "preserve",
+ "jsx": "react-jsx",
"incremental": true,
"plugins": [
{
@@ -19,9 +23,19 @@
}
],
"paths": {
- "@/*": ["./src/*"]
+ "@/*": [
+ "./src/*"
+ ]
}
},
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
- "exclude": ["node_modules"]
+ "include": [
+ "next-env.d.ts",
+ "**/*.ts",
+ "**/*.tsx",
+ ".next/types/**/*.ts",
+ ".next/dev/types/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ]
}
diff --git a/docs/package.json b/docs/package.json
deleted file mode 100644
index dd03668..0000000
--- a/docs/package.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "docs",
- "version": "0.1.0",
- "private": true,
- "type": "module",
- "scripts": {
- "dev": "next dev --turbopack",
- "build": "next build",
- "start": "next start",
- "lint": "next lint",
- "postbuild": "pagefind --site .next/server/app --output-path public/_pagefind"
- },
- "dependencies": {
- "@amplitude/analytics-browser": "^2.11.11",
- "@offlegacy/event-tracker": "^1.0.3",
- "next": "15.1.6",
- "nextra": "^4.0.7",
- "nextra-theme-docs": "^4.0.7",
- "react": "^19.0.0",
- "react-dom": "^19.0.0"
- },
- "devDependencies": {
- "@eslint/eslintrc": "^3.2.0",
- "@types/node": "^20",
- "@types/react": "^19.0.0",
- "@types/react-dom": "^19.0.0",
- "eslint": "^9",
- "eslint-config-next": "15.1.6",
- "pagefind": "^1.3.0",
- "postcss": "^8",
- "prettier-plugin-tailwindcss": "^0.6.11",
- "tailwindcss": "^3.4.1",
- "typescript": "^5"
- }
-}
diff --git a/docs/src/app/[lang]/_meta.ts b/docs/src/app/[lang]/_meta.ts
deleted file mode 100644
index c50c667..0000000
--- a/docs/src/app/[lang]/_meta.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { MetaRecord } from "nextra";
-
-const meta: MetaRecord = {
- index: {
- title: "Home",
- type: "page",
- display: "hidden",
- },
- docs: {
- title: "Documentation",
- type: "page",
- },
-};
-
-export default meta;
diff --git a/docs/src/app/[lang]/page.tsx b/docs/src/app/[lang]/page.tsx
deleted file mode 100644
index 61cc581..0000000
--- a/docs/src/app/[lang]/page.tsx
+++ /dev/null
@@ -1,159 +0,0 @@
-import Link from "next/link";
-import { Image } from "nextra/components";
-
-import { Logo } from "@/logo";
-import { TrackClick, TrackPageView } from "@/tracker";
-import { importPage } from "nextra/pages";
-import { Lang } from "@/lib/types/lang";
-
-export const metadata = {};
-
-const TEXT_MAP = {
- description: {
- ko: "React 애플리케이션을 위한 완전한 이벤트 트래킹 시스템.",
- en: "Comprehensive solution for event tracking in React applications.",
- },
- get_started: {
- ko: "시작하기",
- en: "Get Started",
- },
- featureCards: [
- {
- ko: {
- title: "타입 안전성이 보장된 API",
- description: "타입 안전성을 갖춘 선언적 이벤트 트래킹 API를 제공합니다.",
- },
- en: {
- title: "Type-safe APIs",
- description: "Declarative event tracking with complete type safety",
- },
- },
- {
- ko: {
- title: "최적화된 성능",
- description: "이벤트 배칭을 통한 향상된 성능을 제공합니다.",
- },
- en: {
- title: "Optimized Performance",
- description: "Enhanced performance through event batching",
- },
- },
- {
- ko: {
- title: "순서 보장",
- description: "비동기 작업의 실행 순서가 보장됩니다.",
- },
- en: {
- title: "Guaranteed Order",
- description: "Guaranteed execution order for async operations",
- },
- },
- {
- ko: {
- title: "애널리틱스 도구에 구애받지 않음",
- description: "모든 애널리틱스 도구와 호환 가능합니다.",
- },
- en: {
- title: "Analytics Integration",
- description: "Works with any analytics provider of your choice",
- },
- },
- {
- ko: {
- title: "관심사의 분리",
- description: "비즈니스 로직과 이벤트 트래킹 로직의 명확한 분리를 제공합니다.",
- },
- en: {
- title: "Clean Separation",
- description: "Keeps tracking logic separate from business logic",
- },
- },
- {
- ko: {
- title: "작은 번들 사이즈",
- description: "애플리케이션 번들 크기에 최소한의 영향을 미칩니다.",
- },
- en: {
- title: "Lightweight",
- description: "Minimal bundle size impact on your application",
- },
- },
- ],
-} as const;
-
-export default async function Page(props: { params: Promise<{ mdxPath: string[]; lang: Lang }> }) {
- const { mdxPath, lang } = await props.params;
- await importPage(mdxPath, lang);
-
- return (
- <>
-
-
-
-
event-tracker
-
{TEXT_MAP.description[lang]}
-
-
-
- {TEXT_MAP.get_started[lang]}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- );
-}
-
-function FeatureCard({ icon, title, description }: { icon: string; title: string; description: string }) {
- return (
-
-
{icon}
-
{title}
-
{description}
-
- );
-}
diff --git a/docs/src/app/globals.css b/docs/src/app/globals.css
deleted file mode 100644
index 7c05d4d..0000000
--- a/docs/src/app/globals.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@tailwind components;
-@tailwind utilities;
diff --git a/docs/src/content/en/batching.mdx b/docs/src/content/en/batching.mdx
deleted file mode 100644
index 9b4be09..0000000
--- a/docs/src/content/en/batching.mdx
+++ /dev/null
@@ -1,128 +0,0 @@
-# Event Batching
-
-## Overview
-
-Event batching is a performance optimization technique that groups multiple events together before sending them to your analytics service. This is particularly useful when:
-
-- You're not using an analytics service with built-in batching (like Amplitude or Google Analytics)
-- You need to reduce the number of network requests
-- You want to optimize for performance at scale
-
-## Configuration
-
-Enable batching in your tracker configuration:
-
-```tsx
-const [Track, useTracker] = createTracker({
- // ... other config
- batch: {
- enable: true,
- interval: 2000,
- thresholdSize: 100,
- onFlush: (batch, isBrowserClosing) => {
- if (isBrowserClosing) {
- // Use sendBeacon for reliable delivery when browser is closing
- navigator.sendBeacon("/analytics/collect/batch", JSON.stringify(batch));
- return;
- }
-
- // Normal batch submission
- fetch("/analytics/collect/batch", {
- method: "POST",
- body: JSON.stringify(batch),
- });
- },
- },
-});
-```
-
-### Options
-
-- `enable: boolean` (default: `false`)
- - Enables/disables batching
-- `interval: number` (default: `3000`)
- - Time in milliseconds between batch flushes
-- `thresholdSize: number` (default: `25`)
- - Maximum number of events in a batch before forcing a flush
-- `onFlush: (batch: Batch[], isBrowserClosing: boolean) => void | Promise`
- - Required when batching is enabled
- - Function called to process the batch
- - `isBrowserClosing` indicates if the flush was triggered by browser closure
-- `onError: (error: Error) => void | Promise`
- - Optional error handler for batch processing failures
-
-## How It Works
-
-1. Events are collected in memory
-2. The batch is flushed when either:
- - The configured interval is reached
- - The batch size reaches the threshold
- - The browser is about to close/hide
-
-### Example Flow
-
-```tsx
-const [Track, useTracker] = createTracker({
- DOMEvents: {
- onClick: (clickParams, context) => {
- // Return value is what gets batched
- return {
- ...clickParams,
- ...context,
- event_type: "click",
- timestamp: new Date().getTime(),
- };
- },
- },
- batch: {
- enable: true,
- interval: 2000,
- thresholdSize: 100,
- onFlush: (batch, isBrowserClosing) => {
- // Process the batch
- },
- },
-});
-
-function App() {
- return (
-
-
- Submit
-
-
- );
-}
-```
-
-When the button is clicked multiple times:
-
-1. Each click runs the `onClick` handler
-2. The return value from each handler is added to the batch queue
-3. After 2 seconds (or when threshold is reached), `onFlush` is called with all collected events
-
-## Browser Closing Behavior
-
-When the browser is closing, you should use [`navigator.sendBeacon`](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon) to ensure reliable delivery:
-
-```tsx
-onFlush: (batch, isBrowserClosing) => {
- if (isBrowserClosing) {
- navigator.sendBeacon("/analytics/collect/batch", JSON.stringify(batch));
- return;
- }
-
- // Normal operation
- fetch("/analytics/collect/batch", {
- method: "POST",
- body: JSON.stringify(batch),
- });
-};
-```
-
-## Important Notes
-
-1. Only the **return values** from event handlers are batched, not the handlers themselves
-2. Each event in the batch maintains its original parameters and context
-3. Events are processed in order, maintaining the sequence of user actions
-4. Use `navigator.sendBeacon` for browser closing scenarios to ensure delivery
diff --git a/docs/src/content/en/components.mdx b/docs/src/content/en/components.mdx
deleted file mode 100644
index 64113ec..0000000
--- a/docs/src/content/en/components.mdx
+++ /dev/null
@@ -1,189 +0,0 @@
-# Components
-
-event-tracker provides several components for tracking different types of events. Each component is designed to be easy to use while maintaining type safety and performance.
-
-## Provider
-
-The `Provider` component connects and provides initial context to your application.
-
-```tsx
-import { createTracker } from '@offlegacy/event-tracker'
-
-const [Track] = createTracker({...})
-
-function App() {
- return (
-
- {/* Your app content */}
-
- )
-}
-```
-
-### Props
-
-- `initialContext: unknown` - Initial context value
-
-## DOMEvent
-
-Used for tracking DOM events. Wraps a child component and fires the specified event handler.
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- DOMEvents: {
- onFocus: (params, context) => {
- // Handle focus event
- },
- },
-});
-
-function App() {
- return (
-
-
-
-
-
- );
-}
-```
-
-### Props
-
-- `type: DOMEventNames` - Event name (e.g., onClick, onFocus)
-- (With schema)
- - `params: SchemaParams | (context: Context) => SchemaParams` - Event parameters
- - `schema?: string` - A name of schema that will be used to validate the event parameters
-- (Without schema)
- - `params: EventParams | (context: Context) => EventParams` - Event parameters
-
-## Click
-
-A specialized version of `DOMEvent` for click events (`type="onClick"`).
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- DOMEvents: {
- onClick: (params, context) => {
- // Handle click event
- },
- },
-});
-
-function App() {
- return (
-
-
- Submit
-
-
- );
-}
-```
-
-### Props
-
-- With schema
- - `params: SchemaParams | (context: Context) => SchemaParams` - Click event parameters
- - `schema?: string` - A name of schema that will be used to validate the event parameters
-- Without schema
- - `params: EventParams | (context: Context) => EventParams` - Click event parameters
-
-## Impression
-
-Tracks impression events using the Intersection Observer API.
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- impression: {
- onImpression: (params, context) => {
- // Handle impression event
- },
- options: {
- threshold: 0.5,
- },
- },
-});
-
-function App() {
- return (
-
-
- Tracked content
-
-
- );
-}
-```
-
-### Props
-
-- Without schema
- - `params: EventParams | (context: Context) => EventParams` - Impression event parameters
- - `options?: ImpressionOptions` - Optional configuration (overrides global options)
-- With schema
- - `params: SchemaParams | (context: Context) => SchemaParams` - Impression event parameters
- - `schema?: string` - A name of schema that will be used to validate the event parameters
- - `options?: ImpressionOptions` - Optional configuration (overrides global options)
-
-## PageView
-
-Tracks page view events on component mount.
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- pageView: {
- onPageView: (params, context) => {
- // Handle page view event
- },
- },
-});
-
-function App() {
- return (
-
-
-
- );
-}
-```
-
-### Props
-
-- With schema
- - `params: SchemaParams | (context: Context) => SchemaParams` - Page view event parameters
- - `schema?: string` - A name of schema that will be used to validate the event parameters
-- Without schema
- - `params: EventParams | (context: Context) => EventParams` - Page view event parameters
-
-## SetContext
-
-Sets or updates the tracking context.
-
-```tsx
-import { createTracker } from '@offlegacy/event-tracker'
-
-const [Track] = createTracker({...})
-
-function App() {
- return (
-
-
-
- )
-}
-```
-
-### Props
-
-- `context: unknown | ((prevContext: unknown) => unknown)` - New context value or update function
diff --git a/docs/src/content/en/components/click.mdx b/docs/src/content/en/components/click.mdx
deleted file mode 100644
index 742274f..0000000
--- a/docs/src/content/en/components/click.mdx
+++ /dev/null
@@ -1,85 +0,0 @@
-# Click
-
-A specialized version of `DOMEvent` for click events (`type="onClick"`).
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- DOMEvents: {
- onClick: (params, context) => {
- // Handle click event
- },
- },
-});
-
-function App() {
- return (
-
-
- Submit
-
-
- );
-}
-```
-
-### Props
-
-- With schema
- - `params: SchemaParams | (context: Context) => SchemaParams` - Click event parameters based on schema
- - `schema: string` - A name of schema that will be used to validate the event parameters
-- Without schema
- - `params: EventParams | (context: Context) => EventParams` - Click event parameters
-- `enabled?: boolean | ((context: Context, params: EventParams) => boolean)` - Conditionally enable/disable event tracking (default: `true`)
-- `debounce?: DebounceConfig` - Debounce configuration to prevent rapid successive events
-- `throttle?: ThrottleConfig` - Throttle configuration to limit event frequency
-
-**Note:** `debounce` and `throttle` are mutually exclusive and cannot be used together.
-
-### Tracking Options Examples
-
-#### Conditional Tracking
-
-```tsx
- context.user?.isPremium}>
- Premium Feature
-
-```
-
-#### Debounced Tracking
-
-```tsx
-
- Search
-
-```
-
-#### Throttled Tracking
-
-```tsx
-
- Quick Action
-
-```
-
-## Handling Renamed Click Event Prop
-
-The `eventName` prop allows you to specify a custom click event handler name.
-It allows you to dynamically specify the new click event handler name, ensuring flexibility even when the handler names change.
-
-```tsx {8, 10}
-function MyButton({ onButtonClick }: { onButtonClick?: () => void }) {
- return ;
-}
-
-function App() {
- return (
-
-
-
-
-
- );
-}
-```
diff --git a/docs/src/content/en/components/dom-event.mdx b/docs/src/content/en/components/dom-event.mdx
deleted file mode 100644
index 49f102f..0000000
--- a/docs/src/content/en/components/dom-event.mdx
+++ /dev/null
@@ -1,94 +0,0 @@
-# DOMEvent
-
-Used for tracking DOM events. Wraps a child component and fires the specified event handler.
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- DOMEvents: {
- onFocus: (params, context) => {
- // Handle focus event
- },
- },
-});
-
-function App() {
- return (
-
-
-
-
-
- );
-}
-```
-
-### Props
-
-- `type: DOMEventNames` - Event name (e.g., onClick, onFocus)
-- With schema
- - `params: SchemaParams | (context: Context) => SchemaParams` - Parameters based on schema
- - `schema: string` - A name of schema that will be used to validate the event parameters
-- Without schema
- - `params: EventParams | (context: Context) => EventParams` - Event parameters
-- `enabled?: boolean | ((context: Context, params: EventParams) => boolean)` - Conditionally enable/disable event tracking (default: `true`)
-- `debounce?: DebounceConfig` - Debounce configuration to prevent rapid successive events
-- `throttle?: ThrottleConfig` - Throttle configuration to limit event frequency
-
-**Note:** `debounce` and `throttle` are mutually exclusive and cannot be used together.
-
-### Tracking Options Examples
-
-#### Conditional Tracking
-
-```tsx
- context.trackingEnabled}>
-
-
-```
-
-#### Debounced Tracking
-
-```tsx
-
-
-
-```
-
-#### Throttled Tracking
-
-```tsx
-
- Scrollable content
-
-```
-
-## Handling Renamed Event Props
-
-The `eventName` prop allows you to specify a custom event handler name.
-It allows you to dynamically specify the new event handler name, ensuring flexibility even when the handler names change.
-
-```tsx {8, 10}
-function MyInput({ onInputFocus }: { onInputFocus?: () => void }) {
- return ;
-}
-
-function App() {
- return (
-
-
-
-
-
- );
-}
-```
diff --git a/docs/src/content/en/components/impression.mdx b/docs/src/content/en/components/impression.mdx
deleted file mode 100644
index f56658e..0000000
--- a/docs/src/content/en/components/impression.mdx
+++ /dev/null
@@ -1,68 +0,0 @@
-# Impression
-
-Tracks impression events using the Intersection Observer API.
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- impression: {
- onImpression: (params, context) => {
- // Handle impression event
- },
- options: {
- threshold: 0.5,
- },
- },
-});
-
-function App() {
- return (
-
-
- Tracked content
-
-
- );
-}
-```
-
-### Props
-
-- `options?: ImpressionOptions` - Optional configuration (overrides global options)
-- With schema
- - `params: SchemaParams | (context: Context) => SchemaParams` - Impression event parameters based on schema
- - `schema: string` - A name of schema that will be used to validate the event parameters
-- Without schema
- - `params: EventParams | (context: Context) => EventParams` - Impression event parameters
-- `enabled?: boolean | ((context: Context, params: EventParams) => boolean)` - Conditionally enable/disable event tracking (default: `true`)
-- `debounce?: DebounceConfig` - Debounce configuration to prevent rapid successive events
-- `throttle?: ThrottleConfig` - Throttle configuration to limit event frequency
-
-**Note:** `debounce` and `throttle` are mutually exclusive and cannot be used together.
-
-### Tracking Options Examples
-
-#### Conditional Tracking
-
-```tsx
- context.user?.hasAccess}
- options={{ threshold: 0.5 }}
->
- Premium Content
-
-```
-
-#### Throttled Impressions
-
-```tsx
-
- Advertisement Banner
-
-```
diff --git a/docs/src/content/en/components/index.mdx b/docs/src/content/en/components/index.mdx
deleted file mode 100644
index 814a375..0000000
--- a/docs/src/content/en/components/index.mdx
+++ /dev/null
@@ -1,21 +0,0 @@
-# Provider
-
-The `Provider` component connects and provides initial context to your application.
-
-```tsx
-import { createTracker } from '@offlegacy/event-tracker'
-
-const [Track] = createTracker({...})
-
-function App() {
- return (
-
- {/* Your app content */}
-
- )
-}
-```
-
-### Props
-
-- `initialContext?: Context` - Initial context value
diff --git a/docs/src/content/en/components/page-view.mdx b/docs/src/content/en/components/page-view.mdx
deleted file mode 100644
index e2f9f83..0000000
--- a/docs/src/content/en/components/page-view.mdx
+++ /dev/null
@@ -1,53 +0,0 @@
-# PageView
-
-Tracks page view events on component mount.
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- pageView: {
- onPageView: (params, context) => {
- // Handle page view event
- },
- },
-});
-
-function App() {
- return (
-
-
-
- );
-}
-```
-
-### Props
-
-- With schema
- - `params: SchemaParams | (context: Context) => SchemaParams` - Page view event parameters based on schema
- - `schema: string` - A name of schema that will be used to validate the event parameters
-- Without schema
- - `params: EventParams | (context: Context) => EventParams` - Page view event parameters
-- `enabled?: boolean | ((context: Context, params: EventParams) => boolean)` - Conditionally enable/disable event tracking (default: `true`)
-- `debounce?: DebounceConfig` - Debounce configuration to prevent rapid successive events
-- `throttle?: ThrottleConfig` - Throttle configuration to limit event frequency
-
-**Note:** `debounce` and `throttle` are mutually exclusive and cannot be used together.
-
-### Tracking Options Examples
-
-#### Conditional Tracking
-
-```tsx
- context.trackingConsent === true}
-/>
-```
-
-#### Debounced Page Views
-
-```tsx
-
-```
diff --git a/docs/src/content/en/components/set-context.mdx b/docs/src/content/en/components/set-context.mdx
deleted file mode 100644
index 18db859..0000000
--- a/docs/src/content/en/components/set-context.mdx
+++ /dev/null
@@ -1,23 +0,0 @@
-# SetContext
-
-Sets or updates the tracking context.
-
-```tsx
-import { createTracker } from '@offlegacy/event-tracker'
-
-const [Track] = createTracker({...})
-
-function App() {
- return (
-
-
-
- )
-}
-```
-
-### Props
-
-- `context: Context | ((prevContext: Context) => Context)` - New context value or update function
diff --git a/docs/src/content/en/create-tracker.mdx b/docs/src/content/en/create-tracker.mdx
deleted file mode 100644
index 229279b..0000000
--- a/docs/src/content/en/create-tracker.mdx
+++ /dev/null
@@ -1,113 +0,0 @@
-# createTracker(config)
-
-The main function to create a tracker instance with your desired configuration.
-
-```tsx
-const [{ Provider, DOMEvent, Click, Impression, PageView, SetContext }, useTracker] = createTracker({
- init,
- send,
- DOMEvents,
- impression: {
- onImpression,
- options,
- },
- pageView: {
- onPageView,
- },
- batch,
- schemas,
-});
-```
-
-### Configuration Options
-
-#### init
-
-- Type: `(initialContext: Context, setContext: SetContext) => void | Promise`
-- Optional
-- Function executed before any events happen
-- If it returns a promise, events will be delayed until the promise resolves
-
-#### send
-
-- Type: `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
-- Optional
-- Standard function to send events
-- If it returns a promise, events will be delayed until the promise resolves
-
-#### DOMEvents
-
-- Type: `DOMEvents`
-- Optional
-- Collection of standard React DOM events (`onClick`, `onMouseEnter`, etc.)
-- Each handler is executed when that event occurs on a ``
-- If a handler returns a promise, subsequent event callbacks will be delayed until it resolves
-
-#### impression
-
-Configuration for impression tracking:
-
-- onImpression
-
- - Type: `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
- - Optional
- - Executed when impression occurs on a `` child
- - Promise return value will delay subsequent callbacks
-
-- options
- - Type: `ImpressionOptions`
- - Optional
- - Configuration options for impression tracking:
- - `threshold`: Percentage of visibility needed (default: 0.2)
- - `freezeOnceVisible`: Freeze intersection state after visibility (default: true)
- - `initialIsIntersecting`: Initial intersection state (default: false)
-
-#### pageView
-
-Configuration for page view tracking:
-
-##### onPageView
-
-- Type: `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
-- Optional
-- Executed when `` is mounted
-- Promise return value will delay subsequent events
-
-#### batch
-
-Configuration for event batching:
-
-- Type: `BatchConfig`
-- Optional
-- Properties:
- - `enable`: Enable batching (default: false)
- - `interval`: Flush interval in ms (default: 3000)
- - `thresholdSize`: Max batch size (default: 25)
- - `onFlush`: Function to handle batch flush (required if enabled)
- - `onError`: Error handler (optional)
-
-#### schemas
-
-Configuration for data type validation:
-
-- Type: `SchemaConfig`
-- Optional
-- Properties:
- - `schemas`: A record of [Zod](https://zod.dev/) schemas
- - `onSchemaError`?: Function to handle schema validation errors
- - `abortOnError`?: Whether to abort event tracking if a schema validation error occurs (default: false)
-
-### Return Value
-
-The `createTracker` function returns a tuple containing:
-
-1. An object with tracking components:
-
- - [`Provider`](/docs/components)
- - [`DOMEvent`](/docs/components/dom-event)
- - [`Click`](/docs/components/click)
- - [`Impression`](/docs/components/impression)
- - [`PageView`](/docs/components/page-view)
- - [`SetContext`](/docs/components/set-context)
-
-2. The [custom hook](/docs/hook)
diff --git a/docs/src/content/en/data-type-validation.mdx b/docs/src/content/en/data-type-validation.mdx
deleted file mode 100644
index 8a237b4..0000000
--- a/docs/src/content/en/data-type-validation.mdx
+++ /dev/null
@@ -1,69 +0,0 @@
-# Data Type Validation
-
-## Overview
-
-Ensuring accurate data types in event tracking is crucial for data reliability and meaningful analysis.
-`event-tracker` provides built-in data type validation using [Zod](https://zod.dev/), a TypeScript-first schema validation library.
-This feature allows you to define schemas for your event parameters, ensuring that the data conforms to the expected structure before processing.
-This is particularly useful for maintaining consistency and preventing errors in event tracking.
-
-## Configuration
-
-To configure data type validation in `event-tracker`, you need to define your schemas using Zod and pass them to the tracker configuration.
-
-### Options
-
-- **schemas**: A record of Zod schemas that define the structure of your event parameters.
-- **onSchemaError**: A callback function that is invoked when schema validation fails.
-- **abortOnError**: A boolean indicating whether to abort the event processing on validation error. `false` by default.
-
-## Example Flow
-
-1. **Define Schemas**: Use Zod to define the expected structure of your event parameters.
-
- ```typescript
- import { z } from "zod";
-
- const page_view = z.object({
- title: z.string(),
- });
-
- const click_button = z.object({
- target: z.string(),
- });
- ```
-
-2. **Configure Tracker**: Pass the schemas to the `createTracker` function.
-
- ```tsx
- import { createTracker } from "@offlegacy/event-tracker";
-
- type schemas = {
- page_view;
- clic_button;
- };
-
- const [Track] = createTracker<{}, {}, typeof schemas>({
- schema: {
- schemas,
- onSchemaError: (error) => {
- console.error("Schema validation error:", error);
- },
- abortOnError: true,
- },
- // other configurations...
- });
- ```
-
-3. **Validate Events**: When events are tracked, they are validated against the defined schemas. It will also be validated in advance using TypeScript.
- ```tsx
-
-
- ```
-
-## Important Notes
-
-- Zod schemas are by default validated with [`.parse()`](https://zod.dev/?id=parse).
-- We recommend defining schemas outside of `createTracker` function, then assigning `typeof schemas` in the third generic type argument of `createTracker` for smooth type inference.
-
-_We plan to support other schema validation libraries in the future._
diff --git a/docs/src/content/en/hook.mdx b/docs/src/content/en/hook.mdx
deleted file mode 100644
index 0c8c4e2..0000000
--- a/docs/src/content/en/hook.mdx
+++ /dev/null
@@ -1,223 +0,0 @@
-# hook
-
-A custom React hook returned as the second array item from [`createTracker`](/docs/create-tracker).
-It provides access to tracking functionality and context management within your components.
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track, useTracker] = createTracker({...})
-
-function MyComponent() {
- const { setContext, getContext, track, trackWithSchema } = useTracker();
-
- return (
- // Your component content
- );
-}
-```
-
-### Return Value
-
-The hook returns an object with the following properties:
-
-#### setContext
-
-- Type: `(context: Context) => void`
-- Sets or updates the current tracking context
-- Can be used to update user information, session data, etc.
-
-```tsx
-const { setContext } = useTracker();
-
-// Set new context
-setContext({ userId: "user-123" });
-
-// Update context based on previous value
-setContext((prev) => ({
- ...prev,
- lastActive: new Date(),
-}));
-```
-
-#### getContext
-
-- Type: `() => Context`
-- Returns the current tracking context
-- Useful for accessing current tracking state
-
-```tsx
-const { getContext } = useTracker();
-
-const currentContext = getContext();
-console.log("Current user:", currentContext.userId);
-```
-
-#### track
-
-- Type: `Record void>`
-- Object containing all configured event tracking functions
-- Keys match the event names defined in your tracker configuration
-- Accepts optional `TrackingOptions` for advanced control
-
-```tsx
-const { track } = useTracker();
-
-// Track a simple click event
-track.onClick({ buttonId: "submit" });
-
-// Track with conditional logic
-track.onClick(
- { buttonId: "premium" },
- {
- enabled: (context) => context.user?.isPremium,
- },
-);
-
-// Track with debouncing
-track.onClick(
- { buttonId: "search" },
- {
- debounce: { delay: 300, leading: false, trailing: true },
- },
-);
-
-// Track with throttling
-track.onClick(
- { buttonId: "rapid-action" },
- {
- throttle: { delay: 1000, leading: true, trailing: false },
- },
-);
-
-// Track an impression
-track.onImpression({ elementId: "hero" });
-```
-
-#### trackWithSchema
-
-- Type: `Record void>`
-- Object containing all configured event tracking functions with schema validation
-- Keys match the event names defined in your tracker configuration
-- Accepts optional `TrackingOptions` for advanced control
-
-```tsx
-const { trackWithSchema } = useTracker();
-
-// Track a click event with schema
-trackWithSchema.onClick({ schema: "click", params: { buttonId: "submit" } });
-
-// Track with conditional logic and schema
-trackWithSchema.onClick(
- {
- schema: "premium_click",
- params: { buttonId: "premium", userId: "123" },
- },
- {
- enabled: (context, params) => context.user?.id === params.userId,
- },
-);
-
-// Track with throttling and schema
-trackWithSchema.onImpression(
- {
- schema: "impression",
- params: { elementId: "hero", userId: "123" },
- },
- {
- throttle: { delay: 2000, leading: true, trailing: false },
- },
-);
-```
-
-### TrackingOptions
-
-Both `track` and `trackWithSchema` methods accept an optional second parameter with the following options:
-
-- `enabled?: boolean | ((context: Context, params: EventParams) => boolean)` - Conditionally enable/disable event tracking
-- `debounce?: DebounceConfig` - Debounce configuration to prevent rapid successive events
-- `throttle?: ThrottleConfig` - Throttle configuration to limit event frequency
-
-**Note:** `debounce` and `throttle` are mutually exclusive and cannot be used together.
-
-#### DebounceConfig
-
-```tsx
-interface DebounceConfig {
- delay: number; // Delay in milliseconds
- leading?: boolean; // Execute on leading edge (default: false)
- trailing?: boolean; // Execute on trailing edge (default: true)
-}
-```
-
-#### ThrottleConfig
-
-```tsx
-interface ThrottleConfig {
- delay: number; // Delay in milliseconds
- leading?: boolean; // Execute on leading edge (default: true)
- trailing?: boolean; // Execute on trailing edge (default: false)
-}
-```
-
-### Example Usage
-
-Here's a complete example showing how to use the custom hook:
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track, useTracker] = createTracker({
- onClick: (params) => {
- // Send event to analytics service
- analytics.track(params);
- },
- pageView: {
- onPageView: (params) => {
- // Send event to analytics service
- analytics.pageView(params);
- },
- },
-});
-
-function UserProfile({ userId }) {
- const { setContext, track, trackWithSchema } = useTracker();
-
- useEffect(() => {
- // Update context when user ID changes
- setContext({ userId });
-
- // Track page view
- track.onPageView({ page: "profile" });
- }, [userId]);
-
- const handleSettingsClick = () => {
- // Track custom event
- trackWithSchema.onClick({ schema: "settings", params: { userId } });
- };
-
- return (
-
-
User Profile
- Settings
-
- );
-}
-```
-
-### Best Practices
-
-1. **Context Updates**
-
- - Use `setContext` for global state that affects multiple events
- - Consider using the function form of `setContext` for updates based on previous state
-
-2. **Event Tracking**
-
- - Use the specific event functions from `track` or `trackWithSchema` when possible
-
-3. **Performance**
- - Avoid calling tracking functions in render
- - Use callbacks or effects for tracking
- - Consider using [batching](/docs/batching) for better performance
- - Consider using [data type validation](/docs/data-type-validation) for data type safety
diff --git a/docs/src/content/en/index.mdx b/docs/src/content/en/index.mdx
deleted file mode 100644
index 2a87bb1..0000000
--- a/docs/src/content/en/index.mdx
+++ /dev/null
@@ -1,202 +0,0 @@
-# Introduction
-
-## Motivation
-
-Event tracking is a complex task that requires a lot of boilerplate code and complexity.
-Take a look at this example.
-
-```tsx {14,15, 23-30}
-// Traditional event tracking
-
-const Page = () => {
- const { user, userId } = useUser();
-
- return (
-
- );
-};
-
-const Counter = ({ userId }: { userId: string }) => {
- // Receives 'userId' as a prop just for event tracking purposes.
-
- const [count, setCount] = useState(0);
- const { track } = useTrackEvent();
-
- const handleIncrement = () => {
- setCount(count + 1);
-
- track({
- event: "click",
- params: {
- type: "count",
- value: count + 1,
- userId,
- },
- });
- };
-
- return (
-
-
Count: {count}
-
Increment
-
- );
-};
-```
-
-The two main inconveniences caused by event tracking in the code are:
-
-1. **Prop Drilling**: The `userId` is passed as a prop to the ` ` component from the ` ` component. If the ` ` component is nested deeper within the component tree, prop drilling can become more severe, reducing the readability and maintainability of the code.
-2. **Coupling of Event Tracking Logic and Business Logic**: The `handleIncrement` function contains both the logic for incrementing the count and tracking the event. Separating the event tracking logic can make the code cleaner and easier to maintain.
-
-## The New Paradigm
-
-`event-tracker` introduces a new paradigm for event tracking.
-The declarative nature of this paradigm simplifies
-the complexity traditionally associated with event tracking, making it accessible to developers of all skill levels.
-
-### Declarative event tracking
-
-```tsx {5, 10, 24, 26}
-const Page = () => {
- const { user, userId } = useUser();
-
- return (
-
-
-
- );
-};
-
-const Counter = () => {
- const [count, setCount] = useState(0);
-
- const handleIncrement = () => {
- setCount(count + 1);
- };
-
- return (
-
-
Count: {count}
-
- Increment
-
-
- );
-};
-```
-
-Using `event-tracker` allows for declarative event tracking, which improves code readability and reduces complexity. This helps developers understand and use event tracking more easily.
-Your `handleIncrement` function is now only responsible for incrementing the count, and the event tracking is handled by the ` ` component.
-**This declarative approach makes the developer focus on _'what to track'_ and not _'how to track'._**
-How to track should be defined outside of the React app.
-
-### Improve code cohesion outside your application.
-
-```tsx
-const [Track] = createTracker({
- DOMEvents: {
- onClick: (params, context) => {
- log({
- event: "click",
- params: {
- ...params,
- userId: context.userId,
- },
- });
- },
- },
- onImpression: (params, context) => {
- log({
- event: "impression",
- params: {
- ...params,
- userId: context.userId,
- },
- });
- },
-});
-```
-
-Your instructions for **'how to track'** is now separated from your business logic.
-It's located outside your application, so you can change your event tracking provider without having to change your application code.
-
-### Data Type Validation
-
-`event-tracker` provides built-in schema validation using [Zod](https://zod.dev/), a TypeScript-first schema validation library.
-
-```tsx
-import { z } from "zod";
-import { createTracker } from "@offlegacy/event-tracker";
-
-interface Context {
- // ...
-}
-
-interface Params {
- // ...
-}
-
-// Define Schemas
-const schemas = {
- page_view: z.object({
- title: z.string(),
- }),
- click_button: z.object({
- target: z.string(),
- }),
-};
-
-// Configure Tracker
-const [Track] = createTracker({
- // other configurations...
-
- schema: {
- schemas: {
- page_view,
- click_button,
- },
- onSchemaError: (error) => {
- console.error("Schema validation error:", error);
- },
- abortOnError: true,
- },
-});
-
-// Use the schemas
- ;
- ;
-```
-
-## Key Features
-
-- 🎯 **Type-safe APIs**: Declarative event tracking with complete type safety
-- 🛡️ **Data Type Validation**: Ensures data type safety and consistency using schemas
-- ⚡️ **Optimized Performance**: Enhanced performance through event batching
-- 🔄 **Guaranteed Order**: Guaranteed execution order for async operations
-- 🔌 **Analytics Agnostic**: Works with any analytics provider of your choice
-- 🧩 **Clean Separation**: Keeps tracking logic separate from business logic
-- 📦 **Lightweight**: Minimal bundle size impact on your application
-
-## Basic Concepts
-
-`event-tracker` is built around a few core concepts:
-
-1. **Tracker Creation**: Use `createTracker` to create a tracker instance with your desired event tracking instructions.
-2. **Provider**: Wrap your app with `Track.Provider` to provide context.
-3. **Event Components**: Use components like `Track.Click` or `Track.Impression` to track events.
-4. **Hooks**: Use the `useTracker` hook to access tracking functionality in your components imperatively.
-
-Check out the other sections for detailed documentation on each feature:
-
-- [createTracker](/docs/create-tracker) - Detailed API documentation on `createTracker`
-- [components](/docs/components) - Available tracking components
-- [hook](/docs/hook) - Track using the hook
-- [Batching](/docs/batching) - Optimizing performance with event batching
-- [Data Type Validation](/docs/data-type-validation) - Ensuring data type safety and consistency using schemas
diff --git a/docs/src/content/en/installation.mdx b/docs/src/content/en/installation.mdx
deleted file mode 100644
index d2c9a98..0000000
--- a/docs/src/content/en/installation.mdx
+++ /dev/null
@@ -1,19 +0,0 @@
-# Installation
-
-Using npm:
-
-```bash
-npm install @offlegacy/event-tracker
-```
-
-Using yarn:
-
-```bash
-yarn add @offlegacy/event-tracker
-```
-
-Using pnpm:
-
-```bash
-pnpm add @offlegacy/event-tracker
-```
diff --git a/docs/src/content/en/quick-start.mdx b/docs/src/content/en/quick-start.mdx
deleted file mode 100644
index 0a5728b..0000000
--- a/docs/src/content/en/quick-start.mdx
+++ /dev/null
@@ -1,27 +0,0 @@
-# Quick Start
-
-Here's a simple example of how to use event-tracker:
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-// Create a tracker instance
-const [Track, useTracker] = createTracker({
- DOMEvents: {
- onClick: (params, context) => {
- log("Click event:", params, context);
- },
- },
-});
-
-// Use in your app
-function App() {
- return (
-
-
- Submit
-
-
- );
-}
-```
diff --git a/docs/src/content/ko/_meta.ts b/docs/src/content/ko/_meta.ts
deleted file mode 100644
index 2a81597..0000000
--- a/docs/src/content/ko/_meta.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { MetaRecord } from "nextra";
-
-const meta: MetaRecord = {
- "getting-started-separator": {
- type: "separator",
- title: "시작하기",
- },
- index: {
- title: "소개",
- theme: {
- toc: true,
- layout: "default",
- },
- },
- installation: {
- title: "설치",
- theme: {
- toc: true,
- layout: "default",
- },
- },
- "quick-start": {
- title: "가이드",
- theme: {
- toc: true,
- layout: "default",
- },
- },
- "api-separator": {
- title: "API",
- type: "separator",
- },
- "create-tracker": {
- title: "createTracker",
- theme: {
- toc: true,
- layout: "default",
- },
- },
- components: {
- title: "컴포넌트",
- theme: {
- toc: true,
- layout: "default",
- },
- },
- hook: {
- title: "hook",
- theme: {
- toc: true,
- layout: "default",
- },
- },
- "advanced-separator": {
- title: "고급",
- type: "separator",
- },
- batching: {
- title: "배칭",
- theme: {
- toc: true,
- layout: "default",
- },
- },
-};
-
-export default meta;
diff --git a/docs/src/content/ko/batching.mdx b/docs/src/content/ko/batching.mdx
deleted file mode 100644
index e003e7f..0000000
--- a/docs/src/content/ko/batching.mdx
+++ /dev/null
@@ -1,128 +0,0 @@
-# 배칭
-
-## 개요
-
-이벤트 배칭은 여러 이벤트를 묶어서 애널리틱스 서비스에 보내기 전에 진행하는 성능 최적화 기술입니다. 이는 다음과 같은 경우에 특히 유용합니다:
-
-- 내부 배칭 기능이 있는 애널리틱스 서비스(Amplitude 또는 Google Analytics)를 사용하지 않는 경우
-- 네트워크 요청 수를 줄이고 싶은 경우
-- 성능을 최적화하고 싶은 경우
-
-## 설정
-
-트래커 설정에서 배칭을 활성화합니다:
-
-```tsx
-const [Track, useTracker] = createTracker({
- // ... other config
- batch: {
- enable: true,
- interval: 2000,
- thresholdSize: 100,
- onFlush: (batch, isBrowserClosing) => {
- if (isBrowserClosing) {
- // 브라우저가 닫힐 때 신뢰할 수 있는 전송을 위해 sendBeacon 사용
- navigator.sendBeacon("/analytics/collect/batch", JSON.stringify(batch));
- return;
- }
-
- // 일반 배칭 처리
- fetch("/analytics/collect/batch", {
- method: "POST",
- body: JSON.stringify(batch),
- });
- },
- },
-});
-```
-
-### 옵션
-
-- `enable: boolean` (기본값: `false`)
- - 배칭 활성화/비활성화
-- `interval: number` (기본값: `3000`)
- - 배칭 처리 간격 (ms)
-- `thresholdSize: number` (기본값: `25`)
- - 배칭 처리 전 최대 이벤트 수
-- `onFlush: (batch: Batch[], isBrowserClosing: boolean) => void | Promise`
- - 배칭 활성화 시 필요
- - 배칭 처리 함수
- - `isBrowserClosing` 브라우저 닫힘 시 배칭 처리 여부
-- `onError: (error: Error) => void | Promise`
- - 배칭 처리 실패 시 오류 처리 함수
-
-## 작동 방식
-
-1. 이벤트는 메모리에 수집됩니다
-2. 다음 중 하나가 발생할 때 배칭이 처리됩니다:
- - 구성된 간격이 도달합니다
- - 배칭 크기가 임계치에 도달합니다
- - 브라우저가 닫힐 때
-
-### 예시
-
-```tsx
-const [Track, useTracker] = createTracker({
- DOMEvents: {
- onClick: (clickParams, context) => {
- // 반환 값이 배칭됩니다
- return {
- ...clickParams,
- ...context,
- event_type: "click",
- timestamp: new Date().getTime(),
- };
- },
- },
- batch: {
- enable: true,
- interval: 2000,
- thresholdSize: 100,
- onFlush: (batch, isBrowserClosing) => {
- // Process the batch
- },
- },
-});
-
-function App() {
- return (
-
-
- Submit
-
-
- );
-}
-```
-
-버튼을 여러 번 클릭했을 때:
-
-1. 각 클릭은 `onClick` 핸들러를 실행합니다
-2. 각 핸들러의 반환 값은 배치 큐에 추가됩니다
-3. 2초(또는 임계치에 도달할 때)가 지나면 `onFlush`가 모든 수집된 이벤트와 함께 호출됩니다
-
-## 브라우저 닫힘 시 동작
-
-브라우저가 닫힐 때, [`navigator.sendBeacon`](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon)을 사용하여 이벤트 전송을 보장합니다:
-
-```tsx
-onFlush: (batch, isBrowserClosing) => {
- if (isBrowserClosing) {
- navigator.sendBeacon("/analytics/collect/batch", JSON.stringify(batch));
- return;
- }
-
- // 일반 배칭 처리
- fetch("/analytics/collect/batch", {
- method: "POST",
- body: JSON.stringify(batch),
- });
-};
-```
-
-## 유의 사항
-
-1. 이벤트 핸들러의 **반환 값**만 배칭되며, 핸들러 자체는 배칭되지 않습니다
-2. 배칭된 이벤트는 원래 매개변수와 컨텍스트를 유지합니다
-3. 이벤트는 순서대로 처리되며, 사용자 작업의 순서를 유지합니다
-4. 브라우저 닫힘 시 이벤트 전송을 보장하기 위해 [`navigator.sendBeacon`](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon)을 사용합니다
diff --git a/docs/src/content/ko/components/click.mdx b/docs/src/content/ko/components/click.mdx
deleted file mode 100644
index 96469f7..0000000
--- a/docs/src/content/ko/components/click.mdx
+++ /dev/null
@@ -1,85 +0,0 @@
-# Click
-
-클릭 이벤트(`type="onClick"`)를 위한 `DOMEvent`의 특수 버전입니다.
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- DOMEvents: {
- onClick: (params, context) => {
- // 클릭 이벤트 처리
- },
- },
-});
-
-function App() {
- return (
-
-
- Submit
-
-
- );
-}
-```
-
-### Props
-
-- 스키마와 함께 사용하는 경우
- - `params: SchemaParams | (context: Context) => SchemaParams` - 스키마 기반 클릭 이벤트 매개변수
- - `schema: string` - 이벤트 매개변수 검증을 위한 스키마 이름
-- 스키마와 함께 사용하지 않는 경우
- - `params: EventParams | (context: Context) => EventParams` - 클릭 이벤트 매개변수
-- `enabled?: boolean | ((context: Context, params: EventParams) => boolean)` - 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`)
-- `debounce?: DebounceConfig` - 연속적인 이벤트 발생을 방지하는 디바운스 설정
-- `throttle?: ThrottleConfig` - 이벤트 발생 빈도를 제한하는 스로틀 설정
-
-**참고:** `debounce`와 `throttle`은 상호 배타적이며 함께 사용할 수 없습니다.
-
-### 추적 옵션 예제
-
-#### 조건부 추적
-
-```tsx
- context.user?.isPremium}>
- 프리미엄 기능
-
-```
-
-#### 디바운스 추적
-
-```tsx
-
- 검색
-
-```
-
-#### 스로틀 추적
-
-```tsx
-
- 빠른 액션
-
-```
-
-## 이벤트 이름을 변경한 경우
-
-`eventName` 속성을 사용하면 사용자 정의 클릭 이벤트 핸들러 이름을 지정할 수 있습니다.
-이 속성을 사용하면 핸들러 이름이 변경되어도 유연하게 대처할 수 있습니다.
-
-```tsx {8, 10}
-function MyButton({ onButtonClick }: { onButtonClick?: () => void }) {
- return ;
-}
-
-function App() {
- return (
-
-
-
-
-
- );
-}
-```
diff --git a/docs/src/content/ko/components/dom-event.mdx b/docs/src/content/ko/components/dom-event.mdx
deleted file mode 100644
index fdc0149..0000000
--- a/docs/src/content/ko/components/dom-event.mdx
+++ /dev/null
@@ -1,94 +0,0 @@
-# DOMEvent
-
-DOM 이벤트를 추적하는 데 사용됩니다. 자식 컴포넌트를 감싸고 지정된 이벤트 핸들러를 실행합니다.
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- DOMEvents: {
- onFocus: (params, context) => {
- // 포커스 이벤트 처리
- },
- },
-});
-
-function App() {
- return (
-
-
-
-
-
- );
-}
-```
-
-### Props
-
-- `type: DOMEventNames` - 이벤트 이름 (예: onClick, onFocus)
-- 스키마와 함께 사용하는 경우
- - `params: SchemaParams | (context: Context) => SchemaParams` - 스키마 기반 매개변수
- - `schema: string` - 이벤트 매개변수 검증을 위한 스키마 이름
-- 스키마와 함께 사용하지 않는 경우
- - `params: EventParams | (context: Context) => EventParams` - 이벤트 매개변수
-- `enabled?: boolean | ((context: Context, params: EventParams) => boolean)` - 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`)
-- `debounce?: DebounceConfig` - 연속적인 이벤트 발생을 방지하는 디바운스 설정
-- `throttle?: ThrottleConfig` - 이벤트 발생 빈도를 제한하는 스로틀 설정
-
-**참고:** `debounce`와 `throttle`은 상호 배타적이며 함께 사용할 수 없습니다.
-
-### 추적 옵션 예제
-
-#### 조건부 추적
-
-```tsx
- context.trackingEnabled}>
-
-
-```
-
-#### 디바운스 추적
-
-```tsx
-
-
-
-```
-
-#### 스로틀 추적
-
-```tsx
-
- 스크롤 가능한 콘텐츠
-
-```
-
-## 이벤트 이름을 변경한 경우
-
-`eventName` 속성을 사용하면 사용자 정의 이벤트 핸들러 이름을 지정할 수 있습니다.
-이 속성을 사용하면 핸들러 이름이 변경되어도 유연하게 대처할 수 있습니다.
-
-```tsx {8, 10}
-function MyInput({ onInputFocus }: { onInputFocus?: () => void }) {
- return ;
-}
-
-function App() {
- return (
-
-
-
-
-
- );
-}
-```
diff --git a/docs/src/content/ko/components/impression.mdx b/docs/src/content/ko/components/impression.mdx
deleted file mode 100644
index d664b5c..0000000
--- a/docs/src/content/ko/components/impression.mdx
+++ /dev/null
@@ -1,68 +0,0 @@
-# Impression
-
-Intersection Observer API를 사용하여 노출 이벤트를 추적합니다.
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- impression: {
- onImpression: (params, context) => {
- // 노출 이벤트 처리
- },
- options: {
- threshold: 0.5,
- },
- },
-});
-
-function App() {
- return (
-
-
- 추적할 콘텐츠
-
-
- );
-}
-```
-
-### Props
-
-- `options?: ImpressionOptions` - 선택적 설정 (전역 옵션을 덮어씀)
-- 스키마와 함께 사용하는 경우
- - `params: SchemaParams | (context: Context) => SchemaParams` - 스키마 기반 노출 이벤트 매개변수
- - `schema: string` - 이벤트 매개변수 검증을 위한 스키마 이름
-- 스키마와 함께 사용하지 않는 경우
- - `params: EventParams | (context: Context) => EventParams` - 노출 이벤트 매개변수
-- `enabled?: boolean | ((context: Context, params: EventParams) => boolean)` - 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`)
-- `debounce?: DebounceConfig` - 연속적인 이벤트 발생을 방지하는 디바운스 설정
-- `throttle?: ThrottleConfig` - 이벤트 발생 빈도를 제한하는 스로틀 설정
-
-**참고:** `debounce`와 `throttle`은 상호 배타적이며 함께 사용할 수 없습니다.
-
-### 추적 옵션 예제
-
-#### 조건부 추적
-
-```tsx
- context.user?.hasAccess}
- options={{ threshold: 0.5 }}
->
- 프리미엄 콘텐츠
-
-```
-
-#### 스로틀 노출 추적
-
-```tsx
-
- 광고 배너
-
-```
diff --git a/docs/src/content/ko/components/index.mdx b/docs/src/content/ko/components/index.mdx
deleted file mode 100644
index 2189f78..0000000
--- a/docs/src/content/ko/components/index.mdx
+++ /dev/null
@@ -1,21 +0,0 @@
-# Provider
-
-`Provider` 컴포넌트는 애플리케이션에 초기 컨텍스트를 연결하고 제공합니다.
-
-```tsx
-import { createTracker } from '@offlegacy/event-tracker'
-
-const [Track] = createTracker({...})
-
-function App() {
- return (
-
- {/* 애플리케이션 컨텐츠 */}
-
- )
-}
-```
-
-### Props
-
-- `initialContext?: Context` - 초기 컨텍스트 값
diff --git a/docs/src/content/ko/components/page-view.mdx b/docs/src/content/ko/components/page-view.mdx
deleted file mode 100644
index 507cad1..0000000
--- a/docs/src/content/ko/components/page-view.mdx
+++ /dev/null
@@ -1,53 +0,0 @@
-# PageView
-
-컴포넌트가 마운트될 때 페이지 뷰 이벤트를 추적합니다.
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-const [Track] = createTracker({
- pageView: {
- onPageView: (params, context) => {
- // 페이지 뷰 이벤트 처리
- },
- },
-});
-
-function App() {
- return (
-
-
-
- );
-}
-```
-
-### Props
-
-- 스키마와 함께 사용하는 경우
- - `params: SchemaParams | (context: Context) => SchemaParams` - 스키마 기반 페이지 뷰 이벤트 매개변수
- - `schema: string` - 이벤트 매개변수 검증을 위한 스키마 이름
-- 스키마와 함께 사용하지 않는 경우
- - `params: EventParams | (context: Context) => EventParams` - 페이지 뷰 이벤트 매개변수
-- `enabled?: boolean | ((context: Context, params: EventParams) => boolean)` - 이벤트 추적을 조건부로 활성화/비활성화 (기본값: `true`)
-- `debounce?: DebounceConfig` - 연속적인 이벤트 발생을 방지하는 디바운스 설정
-- `throttle?: ThrottleConfig` - 이벤트 발생 빈도를 제한하는 스로틀 설정
-
-**참고:** `debounce`와 `throttle`은 상호 배타적이며 함께 사용할 수 없습니다.
-
-### 추적 옵션 예제
-
-#### 조건부 추적
-
-```tsx
- context.trackingConsent === true}
-/>
-```
-
-#### 디바운스 페이지 뷰
-
-```tsx
-
-```
diff --git a/docs/src/content/ko/components/set-context.mdx b/docs/src/content/ko/components/set-context.mdx
deleted file mode 100644
index 543639e..0000000
--- a/docs/src/content/ko/components/set-context.mdx
+++ /dev/null
@@ -1,23 +0,0 @@
-# SetContext
-
-트래킹 컨텍스트를 설정하거나 업데이트합니다.
-
-```tsx
-import { createTracker } from '@offlegacy/event-tracker'
-
-const [Track] = createTracker({...})
-
-function App() {
- return (
-
-
-
- )
-}
-```
-
-### Props
-
-- `context: Context | ((prevContext: Context) => Context)` - New context value or update function
diff --git a/docs/src/content/ko/create-tracker.mdx b/docs/src/content/ko/create-tracker.mdx
deleted file mode 100644
index 5b6cbed..0000000
--- a/docs/src/content/ko/create-tracker.mdx
+++ /dev/null
@@ -1,113 +0,0 @@
-# createTracker(config)
-
-원하는 구성으로 트래커 인스턴스를 생성하는 메인 함수입니다.
-
-```tsx
-const [{ Provider, DOMEvent, Click, Impression, PageView, SetContext }, useTracker] = createTracker({
- init,
- send,
- DOMEvents,
- impression: {
- onImpression,
- options,
- },
- pageView: {
- onPageView,
- },
- batch,
- schemas,
-});
-```
-
-### 구성 옵션
-
-#### init
-
-- Type: `(initialContext: Context, setContext: SetContext) => void | Promise`
-- 옵셔널
-- 모든 이벤트가 발생하기 전에 실행되는 함수
-- Promise를 반환하면 이벤트가 Promise가 해결될 때까지 지연됩니다.
-
-#### send
-
-- Type: `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
-- 옵셔널
-- 이벤트를 보내는 표준 함수
-- Promise를 반환하면 이벤트가 Promise가 해결될 때까지 지연됩니다.
-
-#### DOMEvents
-
-- Type: `DOMEvents`
-- 옵셔널
-- 표준 React DOM 이벤트 (`onClick`, `onMouseEnter`, 등)의 모음
-- 각 핸들러는 ``에서 해당 이벤트가 발생할 때 실행됩니다.
-- 핸들러가 Promise를 반환하면 후속 이벤트 콜백이 해결될 때까지 지연됩니다.
-
-#### impression
-
-노출 이벤트를 트래킹하기 위한 설정입니다.
-
-- onImpression
-
- - Type: `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
- - Optional
- - Executed when impression occurs on a `` child
- - Promise return value will delay subsequent callbacks
-
-- options
- - Type: `ImpressionOptions`
- - 옵셔널
- - 노출 이벤트 트래킹 구성 옵션:
- - `threshold`: 노출 필요 비율 (기본값: 0.2)
- - `freezeOnceVisible`: 노출 후 교차 상태 고정 (기본값: true)
- - `initialIsIntersecting`: 초기 교차 상태 (기본값: false)
-
-#### pageView
-
-페이지 뷰 이벤트를 트래킹하기 위한 설정입니다.
-
-##### onPageView
-
-- Type: `(params: EventParams | (context: Context) => EventParams, context: Context, setContext: SetContext) => TaskReturnType`
-- 옵셔널
-- ``가 마운트될 때 실행됩니다.
-- Promise를 반환하면 후속 이벤트가 해결될 때까지 지연됩니다.
-
-#### batch
-
-이벤트 배칭을 위한 설정입니다.
-
-- Type: `BatchConfig`
-- 옵셔널
-- Properties:
- - `enable`: 배칭 활성화 (기본값: false)
- - `interval`: 버퍼링 간격 (ms) (기본값: 3000)
- - `thresholdSize`: 최대 배칭 크기 (기본값: 25)
- - `onFlush`: 배치 비우기 처리 함수 (활성화된 경우 필요)
- - `onError`: 오류 처리 함수 (옵셔널)
-
-#### schemas
-
-데이터 타입 검증을 위한 설정입니다.
-
-- Type: `SchemaConfig`
-- 옵셔널
-- Properties:
- - `schemas`: [Zod](https://zod.dev/) 스키마의 레코드
- - `onSchemaError`?: 스키마 검증 오류 처리 함수
- - `abortOnError`?: 스키마 검증 오류가 발생한 경우 이벤트 추적 중단 여부 (기본값: false)
-
-### Return Value
-
-`createTracker` 함수는 다음 튜플을 반환합니다:
-
-1. 트래킹 컴포넌트를 포함하는 객체:
-
- - [`Provider`](/docs/components)
- - [`DOMEvent`](/docs/components/dom-event)
- - [`Click`](/docs/components/click)
- - [`Impression`](/docs/components/impression)
- - [`PageView`](/docs/components/page-view)
- - [`SetContext`](/docs/components/set-context)
-
-2. [커스텀 hook](/docs/hook)
diff --git a/docs/src/content/ko/data-type-validation.mdx b/docs/src/content/ko/data-type-validation.mdx
deleted file mode 100644
index 14a4eeb..0000000
--- a/docs/src/content/ko/data-type-validation.mdx
+++ /dev/null
@@ -1,69 +0,0 @@
-# 데이터 타입 검증
-
-## 소개
-
-이벤트 트래킹에서 정확한 데이터 타입을 확인하는 것은 데이터 신뢰성과 의미 있는 분석을 위해 매우 중요합니다.
-`event-tracker`는 [Zod](https://zod.dev/)를 사용하여 내장된 데이터 타입 검증을 제공합니다.
-이 기능을 사용하면 이벤트 매개변수에 대한 스키마를 정의할 수 있으며, 데이터가 처리되기 전에 예상되는 데이터 타입과 일치하는지 확인할 수 있습니다.
-이는 이벤트 트래킹에서 일관성을 유지하고 오류를 방지하는 데 매우 유용합니다.
-
-## 설정
-
-`event-tracker`에서 데이터 타입 검증을 구성하려면 Zod를 사용하여 스키마를 정의하고 트래커 설정에 전달해야 합니다.
-
-### 옵션
-
-- **schemas**: Zod 스키마의 레코드로, 이벤트 매개변수의 구조를 정의합니다.
-- **onSchemaError**: 스키마 검증이 실패할 때 호출되는 콜백 함수입니다.
-- **abortOnError**: 스키마 검증 오류가 발생할 때 이벤트 처리를 중단할지 여부를 나타내는 부울 값입니다. 기본값은 `false`입니다.
-
-## 예시
-
-1. **스키마 정의**: Zod를 사용하여 이벤트 매개변수의 예상 구조를 정의합니다.
-
- ```typescript
- import { z } from "zod";
-
- const page_view = z.object({
- title: z.string(),
- });
-
- const click_button = z.object({
- target: z.string(),
- });
- ```
-
-2. **트래커 설정**: `createTracker` 함수에 스키마를 전달합니다.
-
- ```tsx
- import { createTracker } from "@offlegacy/event-tracker";
-
- const schemas = {
- page_view;
- clic_button;
- };
-
- const [Track] = createTracker<{}, {}, typeof schemas>({
- schema: {
- schemas,
- onSchemaError: (error) => {
- console.error("Schema validation error:", error);
- },
- abortOnError: true,
- },
- // other configurations...
- });
- ```
-
-3. **이벤트 검증**: 이벤트가 추적될 때, 정의된 스키마에 대해 검증됩니다. 또한 TypeScript를 사용하여 사전에 검증됩니다.
- ```tsx
-
-
- ```
-
-## 유의 사항
-
-- Zod 스키마는 기본적으로 [`.parse()`](https://zod.dev/?id=parse)를 사용하여 검증됩니다.
-- 부드러운 타입 추론을 위해, `createTracker` 함수 외부에서 스키마를 정의하고 `createTracker`의 세 번째 타입 인자에 `typeof schemas`를 할당하길 권장합니다.
-
-_향후 다른 스키마 검증 라이브러리를 지원할 계획입니다._
diff --git a/docs/src/content/ko/index.mdx b/docs/src/content/ko/index.mdx
deleted file mode 100644
index 97aed6d..0000000
--- a/docs/src/content/ko/index.mdx
+++ /dev/null
@@ -1,202 +0,0 @@
-# 소개
-
-## `event-tracker`가 필요한 이유
-
-이벤트 트래킹은 많은 보일러플레이트 코드와 복잡성을 수반하는 작업입니다.
-다음 예시를 살펴보세요.
-
-```tsx {14,15, 23-30}
-// 전통적인 이벤트 트래킹 방식
-
-const Page = () => {
- const { user, userId } = useUser();
-
- return (
-
- );
-};
-
-const Counter = ({ userId }: { userId: string }) => {
- // 이벤트 트래킹만을 위해서 'userId'를 prop으로 전달받음
-
- const [count, setCount] = useState(0);
- const { track } = useTrackEvent();
-
- const handleIncrement = () => {
- setCount(count + 1);
-
- track({
- event: "click",
- params: {
- type: "count",
- value: count + 1,
- userId,
- },
- });
- };
-
- return (
-
-
Count: {count}
-
Increment
-
- );
-};
-```
-
-위 코드로 알아본 이벤트 트래킹으로 인한 두 가지 주요 불편사항은 다음과 같습니다:
-
-1. **Prop Drilling**: `userId`가 ` ` 컴포넌트에서 ` ` 컴포넌트로 prop으로 전달됩니다. ` ` 컴포넌트가 컴포넌트 트리 깊숙이 중첩되어 있다면, prop drilling이 더 심각해져 코드의 가독성과 유지보수성이 저하될 수 있습니다.
-2. **이벤트 트래킹 로직과 비즈니스 로직의 강결합**: `handleIncrement` 함수는 카운트 증가 로직과 이벤트 트래킹 로직을 모두 포함하고 있습니다. 이벤트 트래킹 로직을 분리하면 코드를 더 깔끔하고 유지보수하기 쉽게 만들 수 있습니다.
-
-## `event-tracker`가 제시하는 새로운 패러다임
-
-`event-tracker`는 이벤트 트래킹을 위한 새로운 패러다임을 소개합니다.
-`event-tracker`가 제시하는 선언적 방식은 전통적으로 이벤트 트래킹과 관련된 복잡성을 단순화하여,
-모든 개발자들이 쉽게 접근할 수 있도록 합니다.
-
-### 선언적 이벤트 트래킹
-
-```tsx {5, 10, 24, 26}
-const Page = () => {
- const { user, userId } = useUser();
-
- return (
-
-
-
- );
-};
-
-const Counter = () => {
- const [count, setCount] = useState(0);
-
- const handleIncrement = () => {
- setCount(count + 1);
- };
-
- return (
-
-
Count: {count}
-
- Increment
-
-
- );
-};
-```
-
-`event-tracker`를 사용하면 선언적 이벤트 트래킹이 가능해져 코드 가독성이 향상되고 복잡성이 감소합니다. 이는 개발자들이 이벤트 트래킹을 더 쉽게 이해하고 사용할 수 있도록 돕습니다.
-이제 `handleIncrement` 함수는 카운트 증가에만 책임이 있고, 이벤트 트래킹은 ` ` 컴포넌트가 처리합니다.
-**이러한 선언적 접근 방식은 개발자가 '어떻게 트래킹할지'가 아닌 '무엇을 트래킹할지'에 집중하도록 합니다.**
-어떻게 트래킹할지는 React 앱 외부에서 정의되어야 합니다.
-
-### 애플리케이션 외부에서 이벤트 트래킹 응집도 개선
-
-```tsx
-const [Track] = createTracker({
- DOMEvents: {
- onClick: (params, context) => {
- log({
- event: "click",
- params: {
- ...params,
- userId: context.userId,
- },
- });
- },
- },
- onImpression: (params, context) => {
- log({
- event: "impression",
- params: {
- ...params,
- userId: context.userId,
- },
- });
- },
-});
-```
-
-이제 **'어떻게 추적할지'**에 대한 코드가 비즈니스 로직과 분리되었습니다.
-애플리케이션 외부에 위치하므로 비즈니스 로직을 변경하지 않고도 이벤트 트래킹 로직을 수정할 수 있습니다.
-
-### 데이터 타입 검증
-
-`event-tracker`는 [Zod](https://zod.dev/)를 사용하여 스키마 기반으로 데이터 유효성 검증을 제공합니다.
-
-```tsx
-import { z } from "zod";
-import { createTracker } from "@offlegacy/event-tracker";
-
-interface Context {
- // ...
-}
-
-interface Params {
- // ...
-}
-
-// 스키마 정의
-const schemas = {
- page_view: z.object({
- title: z.string(),
- }),
- click_button: z.object({
- target: z.string(),
- }),
-};
-
-// 트래커 설정
-const [Track] = createTracker({
- // 기타 설정...
-
- schema: {
- schemas: {
- page_view,
- click_button,
- },
- onSchemaError: (error) => {
- console.error("Schema validation error:", error);
- },
- abortOnError: true,
- },
-});
-
-// 스키마 사용하기
- ;
- ;
-```
-
-## 주요 기능
-
-- 🎯 **타입 안정성을 갖춘 API**: 타입 안전성을 갖춘 선언적 이벤트 트래킹 제공
-- 🛡️ **데이터 타입 검증**: 스키마를 사용한 데이터 타입 안전성과 유효성 보장
-- ⚡️ **최적화된 성능**: 이벤트 배칭을 통한 향상된 성능
-- 🔄 **순서 보장**: 비동기 작업에 대한 실행 순서 보장
-- 🔌 **애널리틱스 도구와의 독립성**: 선택한 모든 애널리틱스 도구와 함께 작동
-- 🧩 **관심사의 분리**: 트래킹 로직과 비즈니스 로직의 분리 유지
-- 📦 **작은 번들 사이즈**: 애플리케이션에 미치는 번들 크기 영향 최소화
-
-## 핵심 개념
-
-`event-tracker`는 몇 가지 핵심 개념을 기반으로 구축되었습니다:
-
-1. **Tracker 생성**: `createTracker`를 사용하여 원하는 이벤트 트래킹 지침을 사용하여 트래커 인스턴스를 생성합니다.
-2. **Provider**: `Track.Provider`를 사용하여 앱을 래핑하여 컨텍스트를 제공합니다.
-3. **이벤트 컴포넌트**: `Track.Click` 또는 `Track.Impression`과 같은 이벤트 컴포넌트를 사용하여 이벤트를 트래킹합니다.
-4. **커스텀 Hook**: `useTracker` 훅을 사용하여 명령적으로 트래킹 할 수 있습니다.
-
-다른 섹션에서 각 기능에 대한 자세한 문서를 확인할 수 있습니다:
-
-- [createTracker](/docs/create-tracker) - `createTracker`에 대한 자세한 API 문서
-- [components](/docs/components) - 사용 가능한 트래킹 컴포넌트
-- [hook](/docs/hook) - 훅을 사용하여 트래킹
-- [Batching](/docs/batching) - 이벤트 배칭을 통한 성능 최적화
-- [Data Type Validation](/docs/data-type-validation) - 스키마를 사용하여 데이터 타입 안전성과 유효성 보장
diff --git a/docs/src/content/ko/installation.mdx b/docs/src/content/ko/installation.mdx
deleted file mode 100644
index 87fba1a..0000000
--- a/docs/src/content/ko/installation.mdx
+++ /dev/null
@@ -1,19 +0,0 @@
-# 설치
-
-npm을 사용하여 설치하기:
-
-```bash
-npm install @offlegacy/event-tracker
-```
-
-yarn을 사용하여 설치하기:
-
-```bash
-yarn add @offlegacy/event-tracker
-```
-
-pnpm을 사용하여 설치하기:
-
-```bash
-pnpm add @offlegacy/event-tracker
-```
diff --git a/docs/src/content/ko/quick-start.mdx b/docs/src/content/ko/quick-start.mdx
deleted file mode 100644
index cbb1b64..0000000
--- a/docs/src/content/ko/quick-start.mdx
+++ /dev/null
@@ -1,27 +0,0 @@
-# 가이드
-
-다음은 `event-tracker`를 사용하는 간단한 예제입니다:
-
-```tsx
-import { createTracker } from "@offlegacy/event-tracker";
-
-// 트래커 인스턴스 생성
-const [Track, useTracker] = createTracker({
- DOMEvents: {
- onClick: (params, context) => {
- log("Click event:", params, context);
- },
- },
-});
-
-// 앱에서 사용하기
-function App() {
- return (
-
-
- Submit
-
-
- );
-}
-```
diff --git a/docs/src/logo/index.tsx b/docs/src/logo/index.tsx
deleted file mode 100644
index 45f58f2..0000000
--- a/docs/src/logo/index.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-"use client";
-
-import Image from "next/image";
-import { useTheme } from "nextra-theme-docs";
-
-import { useSystemDarkMode } from "./useSystemDarkMode";
-
-interface LogoProps {
- size?: number;
-}
-
-const DARK_LOGO_PATH = "/img/dark-logo.png";
-const LIGHT_LOGO_PATH = "/img/light-logo.png";
-
-export const Logo = ({ size = 30 }: LogoProps) => {
- const isSystemDarkMode = useSystemDarkMode();
- const { theme } = useTheme();
-
- const isDarkMode = theme === "system" ? isSystemDarkMode : theme === "dark";
-
- return (
-
- );
-};
diff --git a/docs/src/logo/useSystemDarkMode.ts b/docs/src/logo/useSystemDarkMode.ts
deleted file mode 100644
index e3b3cd5..0000000
--- a/docs/src/logo/useSystemDarkMode.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { useEffect, useState } from "react";
-
-const DARK_MODE_QUERY = "(prefers-color-scheme: dark)";
-
-export const useSystemDarkMode = () => {
- const [isSystemDarkMode, setIsSystemDarkMode] = useState(false);
-
- useEffect(() => {
- const matchMedia = window.matchMedia(DARK_MODE_QUERY);
- setIsSystemDarkMode(matchMedia.matches);
-
- const handleChange = (e: MediaQueryListEvent) => {
- setIsSystemDarkMode(e.matches);
- };
-
- matchMedia.addEventListener("change", handleChange);
-
- return () => {
- matchMedia.removeEventListener("change", handleChange);
- };
- }, []);
-
- return isSystemDarkMode;
-};
diff --git a/docs/src/middleware.ts b/docs/src/middleware.ts
deleted file mode 100644
index 9b06bd6..0000000
--- a/docs/src/middleware.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export { middleware } from "nextra/locales";
-
-export const config = {
- matcher: ["/((?!api|_next/static|_next/image|img|favicon.ico|icon.svg|apple-icon.png|manifest|_pagefind).*)"],
-};
diff --git a/docs/tailwind.config.ts b/docs/tailwind.config.ts
deleted file mode 100644
index f32a9b6..0000000
--- a/docs/tailwind.config.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import type { Config } from "tailwindcss";
-
-export default {
- content: ["./src/**/*.{js,jsx,ts,tsx,md,mdx}"],
- theme: { extend: {} },
- plugins: [],
- darkMode: "class",
-} satisfies Config;
diff --git a/eslint.config.js b/eslint.config.js
index b26b4f5..60029c9 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -23,6 +23,7 @@ export default tseslint.config({
"@typescript-eslint/no-unused-vars": "error",
"@typescript-eslint/consistent-type-imports": "error",
"@eslint-react/no-children-only": "off",
+ "@eslint-react/no-context-provider": "off",
"import/order": [
"error",
{
diff --git a/package.json b/package.json
index 88b7774..e4f67ef 100644
--- a/package.json
+++ b/package.json
@@ -1,17 +1,7 @@
{
- "name": "@offlegacy/event-tracker",
- "version": "1.2.1",
- "description": "The best solution for event tracking in React applications.",
- "keywords": [
- "react",
- "analytics",
- "google-analytics",
- "amplitude",
- "logger",
- "event tracking",
- "tracker",
- "tracking"
- ],
+ "name": "event-tracker",
+ "version": "1.4.0",
+ "private": true,
"homepage": "https://event-tracker.offlegacy.org",
"bugs": "https://github.com/offlegacy/event-tracker/issues",
"repository": {
@@ -20,76 +10,39 @@
},
"license": "MIT",
"author": "@stakbucks ",
- "exports": {
- ".": {
- "import": {
- "types": "./dist/index.d.ts",
- "default": "./dist/index.js"
- },
- "require": {
- "types": "./dist/index.d.cts",
- "default": "./dist/index.cjs"
- }
- },
- "./package.json": "./package.json"
- },
- "sideEffects": false,
+ "packageManager": "pnpm@9.14.2",
"type": "module",
"scripts": {
- "dev": "tsup --watch",
- "build": "tsup",
- "dev:docs": "cd docs && pnpm dev",
- "test": "vitest --run",
- "test:watch": "vitest",
- "lint": "eslint --cache --ignore-pattern=docs/** .",
- "prepack": "pnpm build",
+ "dev": "turbo run dev",
+ "build": "turbo run build",
+ "ci:test": "turbo run ci:test",
+ "ci:lint": "turbo run ci:lint",
"prepare": "husky",
- "release": "pnpm build && npm publish",
- "format": "prettier --write --ignore-pattern \"docs/**\" .",
- "format:check": "prettier --check --ignore-pattern \"docs/**\" .",
- "format:file": "prettier --write"
+ "format": "prettier --write \"**/*.{ts,tsx,md}\"",
+ "clean": "turbo run clean"
},
- "main": "dist/index.cjs",
- "module": "dist/index.js",
- "types": "dist/index.d.ts",
- "files": [
- "dist"
- ],
"devDependencies": {
- "@cspell/eslint-plugin": "^8.17.1",
- "@eslint-react/eslint-plugin": "^1.22.1",
- "@testing-library/jest-dom": "^6.6.3",
- "@testing-library/react": "^16.1.0",
- "@testing-library/user-event": "^14.5.2",
+ "@cspell/eslint-plugin": "^8.19.4",
+ "@eslint-react/eslint-plugin": "^1.53.1",
+ "@testing-library/jest-dom": "^6.9.1",
+ "@testing-library/react": "^16.3.1",
+ "@testing-library/user-event": "^14.6.1",
"@types/eslint": "^9.6.1",
- "@types/react": "^19.0.2",
- "@typescript-eslint/eslint-plugin": "^8.18.2",
- "@typescript-eslint/parser": "^8.18.2",
- "eslint": "^9.17.0",
- "eslint-import-resolver-typescript": "^3.7.0",
- "eslint-plugin-import": "^2.31.0",
- "eslint-plugin-react-hooks": "^5.1.0",
+ "@typescript-eslint/eslint-plugin": "^8.50.1",
+ "@typescript-eslint/parser": "^8.50.1",
+ "eslint": "^9.39.2",
+ "eslint-import-resolver-typescript": "^3.10.1",
+ "eslint-plugin-import": "^2.32.0",
+ "eslint-plugin-react-hooks": "^5.2.0",
"husky": "^9.1.7",
"jsdom": "^25.0.1",
- "lint-staged": "^15.3.0",
- "prettier": "^3.4.2",
- "react": "^18.3.1",
- "react-dom": "^18.3.1",
- "tsup": "^8.3.5",
+ "lint-staged": "^15.5.2",
+ "prettier": "^3.7.4",
+ "rimraf": "^6.1.2",
+ "tsdown": "^0.18.3",
+ "turbo": "^2.7.2",
"typescript": "^5.7.2",
- "typescript-eslint": "^8.18.2",
- "vitest": "^2.1.8"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
- "zod": "^3.20.0"
- },
- "publishConfig": {
- "access": "public"
- },
- "dependencies": {
- "zod": "^3.20.0"
- },
- "packageManager": "pnpm@9.14.2"
+ "typescript-eslint": "^8.50.1",
+ "vitest": "^2.1.9"
+ }
}
diff --git a/CHANGELOG.md b/packages/event-tracker/CHANGELOG.md
similarity index 100%
rename from CHANGELOG.md
rename to packages/event-tracker/CHANGELOG.md
diff --git a/packages/event-tracker/LICENSE b/packages/event-tracker/LICENSE
new file mode 100644
index 0000000..3567ffc
--- /dev/null
+++ b/packages/event-tracker/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 OffLegacy
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/packages/event-tracker/README.md b/packages/event-tracker/README.md
new file mode 100644
index 0000000..055de1a
--- /dev/null
+++ b/packages/event-tracker/README.md
@@ -0,0 +1,34 @@
+
+
+
+
+# event-tracker · [](https://github.com/offlegacy/event-tracker/blob/main/LICENSE) [](https://www.npmjs.com/package/@offlegacy/event-tracker)
+
+> Focus on *what* to track, not *how* to track it!
+
+Comprehensive solution for event tracking in React applications
+
+## Key Features
+
+- Declarative event tracking with type-safe APIs
+- Analytics tool agnostic - works with any provider
+- Clean separation of tracking logic from business logic
+- Optimized performance with event batching
+- Guaranteed execution order for async operations
+- Data type validation with schemas
+
+## Visit [official documentation](https://event-tracker.offlegacy.org/)
+
+Visit the [official documentation](https://event-tracker.offlegacy.org/) for detailed information on installation, usage, and more.
+
+## Contributing
+
+We welcome contribution from everyone in the community. Read for detailed [contribution guide](https://github.com/offlegacy/event-tracker/blob/main/CONTRIBUTING.md).
+
+[](https://github.com/offlegacy/event-tracker/contributors)
+
+## License
+
+See [LICENSE](https://github.com/offlegacy/event-tracker/blob/main/LICENSE) for more information.
+
+MIT © [OffLegacy](https://www.offlegacy.org/)
diff --git a/packages/event-tracker/package.json b/packages/event-tracker/package.json
new file mode 100644
index 0000000..bcf7443
--- /dev/null
+++ b/packages/event-tracker/package.json
@@ -0,0 +1,64 @@
+{
+ "name": "@offlegacy/event-tracker",
+ "version": "1.2.1",
+ "description": "The best solution for event tracking in React applications.",
+ "keywords": [
+ "react",
+ "analytics",
+ "google-analytics",
+ "amplitude",
+ "logger",
+ "event tracking",
+ "tracker",
+ "tracking"
+ ],
+ "homepage": "https://event-tracker.offlegacy.org",
+ "bugs": "https://github.com/offlegacy/event-tracker/issues",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/offlegacy/event-tracker.git"
+ },
+ "license": "MIT",
+ "author": "@stakbucks ",
+ "exports": {
+ ".": {
+ "import": {
+ "types": "./dist/index.d.mts",
+ "default": "./dist/index.mjs"
+ },
+ "require": {
+ "types": "./dist/index.d.cts",
+ "default": "./dist/index.cjs"
+ }
+ },
+ "./package.json": "./package.json"
+ },
+ "sideEffects": false,
+ "type": "module",
+ "scripts": {
+ "dev": "tsdown --watch",
+ "build": "tsdown",
+ "ci:test": "vitest --run",
+ "ci:test:watch": "vitest",
+ "ci:lint": "eslint --cache .",
+ "clean": "rimraf ./dist ./coverage ./node_modules",
+ "publish": "npm publish"
+ },
+ "main": "dist/index.cjs",
+ "module": "dist/index.js",
+ "types": "dist/index.d.ts",
+ "files": [
+ "dist"
+ ],
+ "devDependencies": {
+ "@types/react": "^19.2.7",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "publishConfig": {
+ "access": "public"
+ }
+}
diff --git a/src/__tests__/batch.test.tsx b/packages/event-tracker/src/__tests__/batch.test.tsx
similarity index 100%
rename from src/__tests__/batch.test.tsx
rename to packages/event-tracker/src/__tests__/batch.test.tsx
diff --git a/src/__tests__/createTracker.test.tsx b/packages/event-tracker/src/__tests__/createTracker.test.tsx
similarity index 100%
rename from src/__tests__/createTracker.test.tsx
rename to packages/event-tracker/src/__tests__/createTracker.test.tsx
diff --git a/src/__tests__/debounce.test.tsx b/packages/event-tracker/src/__tests__/debounce.test.tsx
similarity index 97%
rename from src/__tests__/debounce.test.tsx
rename to packages/event-tracker/src/__tests__/debounce.test.tsx
index 5494814..821a083 100644
--- a/src/__tests__/debounce.test.tsx
+++ b/packages/event-tracker/src/__tests__/debounce.test.tsx
@@ -1,11 +1,10 @@
import { render } from "@testing-library/react";
import { describe, it, expect, vi } from "vitest";
-import { z } from "zod";
import { createTracker } from "../tracker";
import { debounce } from "../utils/debounce";
-import { sleep, anyFn } from "./utils";
+import { sleep, anyFn, createSchema, isString, isObject } from "./utils";
describe("debounce", () => {
beforeEach(() => {
@@ -316,8 +315,18 @@ describe("Debounce Integration Tests", () => {
batch: { enable: false },
schema: {
schemas: {
- clickSchema: z.object({
- action: z.string(),
+ clickSchema: createSchema((value: unknown): { action: string } => {
+ if (!isObject(value)) {
+ throw new Error("Expected object");
+ }
+
+ const { action } = value;
+
+ if (!isString(action)) {
+ throw new Error("action must be a string");
+ }
+
+ return { action };
}),
},
},
diff --git a/src/__tests__/enabled.test.tsx b/packages/event-tracker/src/__tests__/enabled.test.tsx
similarity index 100%
rename from src/__tests__/enabled.test.tsx
rename to packages/event-tracker/src/__tests__/enabled.test.tsx
diff --git a/src/__tests__/scheduler.test.ts b/packages/event-tracker/src/__tests__/scheduler.test.ts
similarity index 100%
rename from src/__tests__/scheduler.test.ts
rename to packages/event-tracker/src/__tests__/scheduler.test.ts
diff --git a/packages/event-tracker/src/__tests__/schema.test.tsx b/packages/event-tracker/src/__tests__/schema.test.tsx
new file mode 100644
index 0000000..6fbc0f1
--- /dev/null
+++ b/packages/event-tracker/src/__tests__/schema.test.tsx
@@ -0,0 +1,131 @@
+import { render, renderHook } from "@testing-library/react";
+import { vi } from "vitest";
+
+import { createTracker } from "..";
+
+import { createSchema, isNumber, isObject, isString, sleep } from "./utils";
+
+const initFn = vi.fn();
+const clickFn = vi.fn();
+const schemaErrorFn = vi.fn();
+
+interface Context {
+ userId: string;
+}
+
+interface Params {}
+
+const schemas = {
+ test_button_click: createSchema((value: unknown): { text: string; button_id: number } => {
+ if (!isObject(value)) {
+ throw new Error("Expected object");
+ }
+
+ const { text, button_id, ...rest } = value;
+
+ // strict validation - no extra properties allowed
+ if (Object.keys(rest).length > 0) {
+ throw new Error(`Unexpected properties: ${Object.keys(rest).join(", ")}`);
+ }
+
+ if (!isString(text)) {
+ throw new Error("text must be a string");
+ }
+
+ if (!isNumber(button_id)) {
+ throw new Error("button_id must be a number");
+ }
+
+ return { text, button_id };
+ }),
+};
+
+const [Track, useTracker] = createTracker({
+ init: initFn,
+ DOMEvents: {
+ onClick: (params, context) => {
+ clickFn({ ...params, userId: context.userId });
+ },
+ },
+ schema: {
+ schemas,
+ onSchemaError: schemaErrorFn,
+ },
+});
+
+describe("schemas", async () => {
+ it("can validate schema based on the schema defined in config", async () => {
+ const page = render(
+
+
+ click
+
+ ,
+ );
+
+ page.getByText("click").click();
+ await sleep(1);
+
+ expect(clickFn).toHaveBeenCalledWith({ text: "click", button_id: 2, userId: "id" });
+ });
+
+ it("can validate schema with 'trackWithSchema'", async () => {
+ const { result } = renderHook(() => useTracker(), {
+ wrapper: ({ children }) => Track.Provider({ children, initialContext: { userId: "id" } }),
+ });
+ result.current.trackWithSchema.onClick({ schema: "test_button_click", params: { text: "click", button_id: 2 } });
+ await sleep(1);
+ expect(clickFn).toHaveBeenCalledWith({ text: "click", button_id: 2, userId: "id" });
+ });
+
+ it("validates schema and calls onSchemaError when validation fails", async () => {
+ const page = render(
+
+ {/* No 'button_id', so error expected */}
+ {/* @ts-expect-error */}
+
+ click
+
+ ,
+ );
+
+ page.getByText("click").click();
+ await sleep(1);
+
+ expect(schemaErrorFn).toHaveBeenCalledWith([{ message: "button_id must be a number" }]);
+ });
+
+ it("validates schema and rejects extra properties (strict mode)", async () => {
+ const page = render(
+
+ {/* Extra property 'extra_field' should cause validation error */}
+ {/* @ts-expect-error */}
+
+ click
+
+ ,
+ );
+
+ page.getByText("click").click();
+ await sleep(1);
+
+ expect(schemaErrorFn).toHaveBeenCalledWith([{ message: "Unexpected properties: extra_field" }]);
+ });
+
+ it("validates schema and rejects wrong types", async () => {
+ const page = render(
+
+ {/* Wrong type for button_id (string instead of number) */}
+ {/* @ts-expect-error */}
+
+ click
+
+ ,
+ );
+
+ page.getByText("click").click();
+ await sleep(1);
+
+ expect(schemaErrorFn).toHaveBeenCalledWith([{ message: "button_id must be a number" }]);
+ });
+});
diff --git a/src/__tests__/setup.ts b/packages/event-tracker/src/__tests__/setup.ts
similarity index 100%
rename from src/__tests__/setup.ts
rename to packages/event-tracker/src/__tests__/setup.ts
diff --git a/src/__tests__/throttle.test.tsx b/packages/event-tracker/src/__tests__/throttle.test.tsx
similarity index 97%
rename from src/__tests__/throttle.test.tsx
rename to packages/event-tracker/src/__tests__/throttle.test.tsx
index f90a00d..a87f9f5 100644
--- a/src/__tests__/throttle.test.tsx
+++ b/packages/event-tracker/src/__tests__/throttle.test.tsx
@@ -1,11 +1,10 @@
import { render } from "@testing-library/react";
import { describe, expect, it, vi } from "vitest";
-import { z } from "zod";
import { createTracker } from "../tracker";
import { throttle } from "../utils/throttle";
-import { sleep, anyFn } from "./utils";
+import { sleep, anyFn, createSchema, isString, isObject } from "./utils";
describe("throttle", () => {
beforeEach(() => {
@@ -409,8 +408,18 @@ describe("Throttle Integration Tests", () => {
batch: { enable: false },
schema: {
schemas: {
- clickSchema: z.object({
- action: z.string(),
+ clickSchema: createSchema((value: unknown): { action: string } => {
+ if (!isObject(value)) {
+ throw new Error("Expected object");
+ }
+
+ const { action } = value;
+
+ if (!isString(action)) {
+ throw new Error("action must be a string");
+ }
+
+ return { action };
}),
},
},
diff --git a/packages/event-tracker/src/__tests__/utils.ts b/packages/event-tracker/src/__tests__/utils.ts
new file mode 100644
index 0000000..85967fa
--- /dev/null
+++ b/packages/event-tracker/src/__tests__/utils.ts
@@ -0,0 +1,30 @@
+import { StandardSchemaV1 } from "..";
+
+export const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
+export const anyFn = expect.any(Function);
+
+// Standard Schema compliant schema definition
+export function createSchema(validator: (value: unknown) => T): StandardSchemaV1 {
+ return {
+ "~standard": {
+ version: 1,
+ vendor: "custom",
+ validate: (value: unknown) => {
+ try {
+ const result = validator(value);
+ return { value: result };
+ } catch (error) {
+ return {
+ issues: [{ message: error instanceof Error ? error.message : "Validation failed" }],
+ };
+ }
+ },
+ },
+ };
+}
+
+// Type guard functions
+export const isString = (value: unknown): value is string => typeof value === "string";
+export const isNumber = (value: unknown): value is number => typeof value === "number";
+export const isObject = (value: unknown): value is Record =>
+ value !== null && typeof value === "object" && !Array.isArray(value);
diff --git a/src/helpers/isEventPropsWithSchema.ts b/packages/event-tracker/src/helpers/isEventPropsWithSchema.ts
similarity index 100%
rename from src/helpers/isEventPropsWithSchema.ts
rename to packages/event-tracker/src/helpers/isEventPropsWithSchema.ts
diff --git a/src/helpers/isFunction.ts b/packages/event-tracker/src/helpers/isFunction.ts
similarity index 100%
rename from src/helpers/isFunction.ts
rename to packages/event-tracker/src/helpers/isFunction.ts
diff --git a/src/hooks/useIntersectionObserver.ts b/packages/event-tracker/src/hooks/useIntersectionObserver.ts
similarity index 100%
rename from src/hooks/useIntersectionObserver.ts
rename to packages/event-tracker/src/hooks/useIntersectionObserver.ts
diff --git a/src/hooks/useMergeRefs.ts b/packages/event-tracker/src/hooks/useMergeRefs.ts
similarity index 100%
rename from src/hooks/useMergeRefs.ts
rename to packages/event-tracker/src/hooks/useMergeRefs.ts
diff --git a/src/hooks/useTimingCache.ts b/packages/event-tracker/src/hooks/useTimingCache.ts
similarity index 100%
rename from src/hooks/useTimingCache.ts
rename to packages/event-tracker/src/hooks/useTimingCache.ts
diff --git a/src/index.ts b/packages/event-tracker/src/index.ts
similarity index 100%
rename from src/index.ts
rename to packages/event-tracker/src/index.ts
diff --git a/src/scheduler/index.tsx b/packages/event-tracker/src/scheduler/index.tsx
similarity index 100%
rename from src/scheduler/index.tsx
rename to packages/event-tracker/src/scheduler/index.tsx
diff --git a/src/scheduler/types.ts b/packages/event-tracker/src/scheduler/types.ts
similarity index 100%
rename from src/scheduler/types.ts
rename to packages/event-tracker/src/scheduler/types.ts
diff --git a/src/tracker/components/Click.tsx b/packages/event-tracker/src/tracker/components/Click.tsx
similarity index 100%
rename from src/tracker/components/Click.tsx
rename to packages/event-tracker/src/tracker/components/Click.tsx
diff --git a/src/tracker/components/DOMEvent.tsx b/packages/event-tracker/src/tracker/components/DOMEvent.tsx
similarity index 100%
rename from src/tracker/components/DOMEvent.tsx
rename to packages/event-tracker/src/tracker/components/DOMEvent.tsx
diff --git a/src/tracker/components/Impression.tsx b/packages/event-tracker/src/tracker/components/Impression.tsx
similarity index 88%
rename from src/tracker/components/Impression.tsx
rename to packages/event-tracker/src/tracker/components/Impression.tsx
index 9deefce..54a8f54 100644
--- a/src/tracker/components/Impression.tsx
+++ b/packages/event-tracker/src/tracker/components/Impression.tsx
@@ -28,9 +28,6 @@ export const Impression = ({ children, onImpression, options }: ImpressionProps)
ref,
})
) : (
- // FIXME: not a good solution since it can cause style & a11y issues
-
- {child}
-
+ {child}
);
};
diff --git a/src/tracker/components/PageView.tsx b/packages/event-tracker/src/tracker/components/PageView.tsx
similarity index 100%
rename from src/tracker/components/PageView.tsx
rename to packages/event-tracker/src/tracker/components/PageView.tsx
diff --git a/src/tracker/index.tsx b/packages/event-tracker/src/tracker/index.tsx
similarity index 96%
rename from src/tracker/index.tsx
rename to packages/event-tracker/src/tracker/index.tsx
index a34cb5c..7061a83 100644
--- a/src/tracker/index.tsx
+++ b/packages/event-tracker/src/tracker/index.tsx
@@ -1,6 +1,5 @@
import type { ReactNode } from "react";
import { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
-import { z } from "zod";
import { isEventPropsWithSchema } from "../helpers/isEventPropsWithSchema";
import { isFunction } from "../helpers/isFunction";
@@ -26,6 +25,7 @@ import type {
} from "../types";
import { evaluateEnabledCondition } from "../utils/condition";
import { resolveParams } from "../utils/resolveParams";
+import { isFailureResult } from "../utils/schema";
import { Click as PrimitiveClick } from "./components/Click";
import { DOMEvent as PrimitiveDOMEvent } from "./components/DOMEvent";
@@ -40,22 +40,21 @@ export function createTracker<
>(config: TrackerConfig) {
const TrackerContext = createContext>(null);
- const validateZodSchema = (schemaKey: TKey, params: z.infer) => {
+ const validateSchema = (schemaKey: TKey, params: SchemaParams) => {
const schema = config.schema?.schemas?.[schemaKey];
if (schema === undefined) {
console.warn(`Schema ${String(schemaKey)} not found`);
return params;
}
- try {
- schema.parse(params);
- } catch (error) {
- if (error instanceof z.ZodError) {
- config.schema?.onSchemaError?.(error);
- if (config.schema?.abortOnError) {
- throw error;
- }
+
+ const result = schema["~standard"].validate(params);
+ if (isFailureResult(result)) {
+ config.schema?.onSchemaError?.(result.issues);
+ if (config.schema?.abortOnError) {
+ throw result;
}
}
+
return;
};
@@ -124,7 +123,7 @@ export function createTracker<
? paramsWithSchema.params(_getContext())
: paramsWithSchema.params;
- validateZodSchema(paramsWithSchema.schema, params);
+ validateSchema(paramsWithSchema.schema, params);
return _schedule(() =>
domEvents[key]?.(params as TEventParams & SchemaParams, _getContext(), _setContext),
@@ -152,11 +151,11 @@ export function createTracker<
options?: TrackingOptions,
) => {
const executeEvent = () => {
- const params = isFunction>(paramsWithSchema.params)
+ const params = isFunction>(paramsWithSchema.params)
? paramsWithSchema.params(_getContext())
: paramsWithSchema.params;
- validateZodSchema(paramsWithSchema.schema, params);
+ validateSchema(paramsWithSchema.schema, params);
return _schedule(() =>
event?.(params as TEventParams & SchemaParams, _getContext(), _setContext),
diff --git a/src/types.ts b/packages/event-tracker/src/types.ts
similarity index 71%
rename from src/types.ts
rename to packages/event-tracker/src/types.ts
index 9e85ec0..fed0f9d 100644
--- a/src/types.ts
+++ b/packages/event-tracker/src/types.ts
@@ -1,5 +1,4 @@
import { BatchConfig } from ".";
-import { type z } from "zod";
import { DOMAttributes } from "react";
import type { DebounceConfig } from "./utils/debounce";
import type { ThrottleConfig } from "./utils/throttle";
@@ -14,9 +13,11 @@ export type SetContext = (
export type EventNames = "onImpression" | "onPageView" | DOMEventNames;
/** EventParams */
-export type SchemaParams = z.infer<
- TSchemas[TKey]
->;
+export type SchemaParams<
+ TSchemas extends Schemas = Schemas,
+ TKey extends keyof TSchemas = keyof TSchemas,
+> = StandardSchemaV1.InferOutput;
+
export type EventParams = Record;
export type EventParamsWithSchema<
TContext extends Context = Context,
@@ -101,12 +102,12 @@ export interface PageViewConfig<
}
/** Schema */
-export type Schemas = Record>;
+export type Schemas = Record>;
export interface SchemaConfig {
/** A record of schemas */
schemas: TSchemas;
/** A function to handle schema errors */
- onSchemaError?: (error: z.ZodError) => void;
+ onSchemaError?: (error: ReadonlyArray) => void;
/** If true, abort the event execution if a schema error occurs */
abortOnError?: boolean;
}
@@ -198,3 +199,69 @@ export type TrackingOptions {
+ /** The Standard Schema properties. */
+ readonly "~standard": StandardSchemaV1.Props ;
+}
+
+export declare namespace StandardSchemaV1 {
+ /** The Standard Schema properties interface. */
+ export interface Props {
+ /** The version number of the standard. */
+ readonly version: 1;
+ /** The vendor name of the schema library. */
+ readonly vendor: string;
+ /** Validates unknown input values. */
+ readonly validate: (value: unknown) => Result | Promise>;
+ /** Inferred types associated with the schema. */
+ readonly types?: Types | undefined;
+ }
+
+ /** The result interface of the validate function. */
+ export type Result = SuccessResult | FailureResult;
+
+ /** The result interface if validation succeeds. */
+ export interface SuccessResult {
+ /** The typed output value. */
+ readonly value: Output;
+ /** The non-existent issues. */
+ readonly issues?: undefined;
+ }
+
+ /** The result interface if validation fails. */
+ export interface FailureResult {
+ /** The issues of failed validation. */
+ readonly issues: ReadonlyArray;
+ }
+
+ /** The issue interface of the failure output. */
+ export interface Issue {
+ /** The error message of the issue. */
+ readonly message: string;
+ /** The path of the issue, if any. */
+ readonly path?: ReadonlyArray | undefined;
+ }
+
+ /** The path segment interface of the issue. */
+ export interface PathSegment {
+ /** The key representing a path segment. */
+ readonly key: PropertyKey;
+ }
+
+ /** The Standard Schema types interface. */
+ export interface Types {
+ /** The input type of the schema. */
+ readonly input: Input;
+ /** The output type of the schema. */
+ readonly output: Output;
+ }
+
+ /** Infers the input type of a Standard Schema. */
+ export type InferInput = NonNullable["input"];
+
+ /** Infers the output type of a Standard Schema. */
+ export type InferOutput = NonNullable["output"];
+}
diff --git a/src/utils/condition.ts b/packages/event-tracker/src/utils/condition.ts
similarity index 100%
rename from src/utils/condition.ts
rename to packages/event-tracker/src/utils/condition.ts
diff --git a/src/utils/debounce.ts b/packages/event-tracker/src/utils/debounce.ts
similarity index 100%
rename from src/utils/debounce.ts
rename to packages/event-tracker/src/utils/debounce.ts
diff --git a/src/utils/resolveParams.ts b/packages/event-tracker/src/utils/resolveParams.ts
similarity index 100%
rename from src/utils/resolveParams.ts
rename to packages/event-tracker/src/utils/resolveParams.ts
diff --git a/packages/event-tracker/src/utils/schema.ts b/packages/event-tracker/src/utils/schema.ts
new file mode 100644
index 0000000..b19b35c
--- /dev/null
+++ b/packages/event-tracker/src/utils/schema.ts
@@ -0,0 +1,15 @@
+import type { StandardSchemaV1 } from "../types";
+
+function isIssue(x: unknown): x is StandardSchemaV1.Issue {
+ return !!x && typeof (x as any).message === "string";
+}
+
+export function isFailureResult(e: unknown): e is StandardSchemaV1.FailureResult {
+ return (
+ !!e &&
+ typeof e === "object" &&
+ "issues" in (e as any) &&
+ Array.isArray((e as any).issues) &&
+ (e as any).issues.every(isIssue)
+ );
+}
diff --git a/src/utils/throttle.ts b/packages/event-tracker/src/utils/throttle.ts
similarity index 100%
rename from src/utils/throttle.ts
rename to packages/event-tracker/src/utils/throttle.ts
diff --git a/tsconfig.json b/packages/event-tracker/tsconfig.json
similarity index 100%
rename from tsconfig.json
rename to packages/event-tracker/tsconfig.json
diff --git a/tsup.config.ts b/packages/event-tracker/tsdown.config.ts
similarity index 65%
rename from tsup.config.ts
rename to packages/event-tracker/tsdown.config.ts
index 5b7b3b8..1659b53 100644
--- a/tsup.config.ts
+++ b/packages/event-tracker/tsdown.config.ts
@@ -1,4 +1,4 @@
-import { defineConfig } from "tsup";
+import { defineConfig } from "tsdown";
export default defineConfig({
banner: { js: '"use client"' },
@@ -8,8 +8,6 @@ export default defineConfig({
outDir: "dist",
sourcemap: true,
dts: true,
- splitting: true,
- bundle: true,
clean: true,
- external: ["react", "react-dom"],
+ external: ["react"],
});
diff --git a/vitest.config.ts b/packages/event-tracker/vitest.config.ts
similarity index 100%
rename from vitest.config.ts
rename to packages/event-tracker/vitest.config.ts
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d5be38f..c0bfb95 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,50 +7,43 @@ settings:
importers:
.:
- dependencies:
- zod:
- specifier: ^3.20.0
- version: 3.24.1
devDependencies:
'@cspell/eslint-plugin':
- specifier: ^8.17.1
- version: 8.17.1(eslint@9.17.0)
+ specifier: ^8.19.4
+ version: 8.19.4(eslint@9.39.4(jiti@2.6.1))
'@eslint-react/eslint-plugin':
- specifier: ^1.22.1
- version: 1.22.1(eslint@9.17.0)(typescript@5.7.2)
+ specifier: ^1.53.1
+ version: 1.53.1(eslint@9.39.4(jiti@2.6.1))(ts-api-utils@2.5.0(typescript@5.9.3))(typescript@5.9.3)
'@testing-library/jest-dom':
- specifier: ^6.6.3
- version: 6.6.3
+ specifier: ^6.9.1
+ version: 6.9.1
'@testing-library/react':
- specifier: ^16.1.0
- version: 16.1.0(@testing-library/dom@10.4.0)(@types/react@19.0.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^16.3.1
+ version: 16.3.2(@testing-library/dom@10.4.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
'@testing-library/user-event':
- specifier: ^14.5.2
- version: 14.5.2(@testing-library/dom@10.4.0)
+ specifier: ^14.6.1
+ version: 14.6.1(@testing-library/dom@10.4.0)
'@types/eslint':
specifier: ^9.6.1
version: 9.6.1
- '@types/react':
- specifier: ^19.0.2
- version: 19.0.2
'@typescript-eslint/eslint-plugin':
- specifier: ^8.18.2
- version: 8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)
+ specifier: ^8.50.1
+ version: 8.59.3(@typescript-eslint/parser@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
'@typescript-eslint/parser':
- specifier: ^8.18.2
- version: 8.18.2(eslint@9.17.0)(typescript@5.7.2)
+ specifier: ^8.50.1
+ version: 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
eslint:
- specifier: ^9.17.0
- version: 9.17.0
+ specifier: ^9.39.2
+ version: 9.39.4(jiti@2.6.1)
eslint-import-resolver-typescript:
- specifier: ^3.7.0
- version: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.17.0)
+ specifier: ^3.10.1
+ version: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1))
eslint-plugin-import:
- specifier: ^2.31.0
- version: 2.31.0(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0)
+ specifier: ^2.32.0
+ version: 2.32.0(@typescript-eslint/parser@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.6.1))
eslint-plugin-react-hooks:
- specifier: ^5.1.0
- version: 5.1.0(eslint@9.17.0)
+ specifier: ^5.2.0
+ version: 5.2.0(eslint@9.39.4(jiti@2.6.1))
husky:
specifier: ^9.1.7
version: 9.1.7
@@ -58,572 +51,641 @@ importers:
specifier: ^25.0.1
version: 25.0.1
lint-staged:
- specifier: ^15.3.0
- version: 15.3.0
+ specifier: ^15.5.2
+ version: 15.5.2
prettier:
- specifier: ^3.4.2
- version: 3.4.2
- react:
- specifier: ^18.3.1
- version: 18.3.1
- react-dom:
- specifier: ^18.3.1
- version: 18.3.1(react@18.3.1)
- tsup:
- specifier: ^8.3.5
- version: 8.3.5(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1)
+ specifier: ^3.7.4
+ version: 3.8.3
+ rimraf:
+ specifier: ^6.1.2
+ version: 6.1.3
+ tsdown:
+ specifier: ^0.18.3
+ version: 0.18.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(synckit@0.11.12)(typescript@5.9.3)
+ turbo:
+ specifier: ^2.7.2
+ version: 2.9.12
typescript:
specifier: ^5.7.2
- version: 5.7.2
+ version: 5.9.3
typescript-eslint:
- specifier: ^8.18.2
- version: 8.18.2(eslint@9.17.0)(typescript@5.7.2)
+ specifier: ^8.50.1
+ version: 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
vitest:
- specifier: ^2.1.8
- version: 2.1.8(@vitest/ui@2.1.8)(jsdom@25.0.1)
+ specifier: ^2.1.9
+ version: 2.1.9(@types/node@25.7.0)(jsdom@25.0.1)(lightningcss@1.32.0)
+
+ docs/offlegacy.org:
+ dependencies:
+ '@amplitude/analytics-browser':
+ specifier: ^2.33.0
+ version: 2.42.3
+ '@offlegacy/event-tracker':
+ specifier: workspace:*
+ version: link:../../packages/event-tracker
+ '@uidotdev/usehooks':
+ specifier: ^2.4.1
+ version: 2.4.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ codehike:
+ specifier: ^1.0.7
+ version: 1.1.0
+ lucide-react:
+ specifier: ^0.525.0
+ version: 0.525.0(react@19.2.6)
+ motion:
+ specifier: ^12.23.26
+ version: 12.38.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ next:
+ specifier: 16.2.6
+ version: 16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ nextra:
+ specifier: ^4.6.1
+ version: 4.6.1(acorn@8.16.0)(next@16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)
+ nextra-theme-docs:
+ specifier: ^4.6.1
+ version: 4.6.1(@types/react@19.2.14)(next@16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(nextra@4.6.1(acorn@8.16.0)(next@16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(use-sync-external-store@1.5.0(react@19.2.6))
+ react:
+ specifier: ^19.2.6
+ version: 19.2.6
+ react-dom:
+ specifier: ^19.2.6
+ version: 19.2.6(react@19.2.6)
+ sonner:
+ specifier: ^2.0.7
+ version: 2.0.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ devDependencies:
+ '@eslint/eslintrc':
+ specifier: ^3.3.3
+ version: 3.3.5
+ '@tailwindcss/postcss':
+ specifier: ^4.3.0
+ version: 4.3.0
+ '@types/node':
+ specifier: ^20.19.27
+ version: 20.19.41
+ '@types/react':
+ specifier: ^19.2.7
+ version: 19.2.14
+ '@types/react-dom':
+ specifier: ^19.2.3
+ version: 19.2.3(@types/react@19.2.14)
+ eslint-config-next:
+ specifier: 15.3.5
+ version: 15.3.5(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)
+ pagefind:
+ specifier: ^1.4.0
+ version: 1.5.2
+ postcss:
+ specifier: ^8.5.6
+ version: 8.5.14
+ prettier-plugin-tailwindcss:
+ specifier: ^0.6.13
+ version: 0.6.14(prettier@3.8.3)
+ tailwindcss:
+ specifier: ^4.3.0
+ version: 4.3.0
+ typescript:
+ specifier: ^5.9.3
+ version: 5.9.3
+
+ packages/event-tracker:
+ devDependencies:
+ '@types/react':
+ specifier: ^19.2.7
+ version: 19.2.14
+ react:
+ specifier: ^19.2.3
+ version: 19.2.6
+ react-dom:
+ specifier: ^19.2.3
+ version: 19.2.6(react@19.2.6)
packages:
- '@adobe/css-tools@4.4.1':
- resolution: {integrity: sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==}
+ '@adobe/css-tools@4.4.4':
+ resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==}
+
+ '@alloc/quick-lru@5.2.0':
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+
+ '@amplitude/analytics-browser@2.42.3':
+ resolution: {integrity: sha512-zej80Yb7G56xjNeURhyFDXgluIroIdcCQVg6bcTQebJOp2HkjleUL7YMa/891sdmKuqJ8TrZgJoCE7wMz2fqcg==}
+
+ '@amplitude/analytics-connector@1.6.4':
+ resolution: {integrity: sha512-SpIv0IQMNIq6SH3UqFGiaZyGSc7PBZwRdq7lvP0pBxW8i4Ny+8zwI0pV+VMfMHQwWY3wdIbWw5WQphNjpdq1/Q==}
+
+ '@amplitude/analytics-core@2.48.0':
+ resolution: {integrity: sha512-6ckWWL60LiJJEQQ5V3Veviq0Gl5Lcvy1dFaRDKA/SwLT3cgiBrEFZXZPcri4wDGjchPmJXFCYcE55nr7rP6Wjg==}
+
+ '@amplitude/analytics-core@2.48.1':
+ resolution: {integrity: sha512-6ltecomnZc9z1AUE59orcoLYii0gPoVBBoI4qoMGXw2lsxFh35zx32LPrXO3ezFkTE71CS44AzwaBFsSxQWRuw==}
+
+ '@amplitude/plugin-autocapture-browser@1.27.1':
+ resolution: {integrity: sha512-vJxwfExfREBIMbVydAimO/diYsRfNBD/nqo+DABURBsdmb+gliUPd7J6g22ys7al59+ixRwJSQMUrk0bnqn76Q==}
+
+ '@amplitude/plugin-custom-enrichment-browser@0.1.8':
+ resolution: {integrity: sha512-PVg56GfQID/UKLZx7imbg6Tmlj2AX/euyG7nnouKpowgGJ7jz/t4o2u3csSgrKbLSrTjxdbXVdPyz/+CecJ4Zg==}
+
+ '@amplitude/plugin-event-property-attribution-browser@0.2.0':
+ resolution: {integrity: sha512-7GmAvpOf7CbdIL++9PrdNB8GeyUvL5/yRrv1hnVC7rv19MKumbYK9Oq1utOUr6nddPfQU3w3sz9YK5A8cUVrlQ==}
+
+ '@amplitude/plugin-network-capture-browser@1.10.0':
+ resolution: {integrity: sha512-wDTxpeDCst+pKyfRnVH1RYV93ctQtfuAQuCaUHqSO/TYcHnidGFWLl/UVbMvJ6EkrPoDXOCCTk5gTSPVMKSp0w==}
+
+ '@amplitude/plugin-page-url-enrichment-browser@0.7.10':
+ resolution: {integrity: sha512-ILehefdpqUk1iK4G8kTlRxmf7OogiG2Y4lRph2cvsw25a9zVUpPXeZ5H4us9uEWrsUI0Y7w6FJlt3MMBJRMiBA==}
+
+ '@amplitude/plugin-page-view-tracking-browser@2.11.0':
+ resolution: {integrity: sha512-ZI/1kTQID0yXileGjvseMoFZ9zUbLG5r+MsznmT0Br+x91LdCrPHXdpU7lq53UAwIhgREXk9S/o/AwUZfFSgzg==}
+
+ '@amplitude/plugin-web-vitals-browser@1.1.32':
+ resolution: {integrity: sha512-cf/MR5WTJ5iwCjxdy9f7vK8zy2nD1iXPwu8eKHiRxWR7Eoqx7bT30n9dar8kWDV8kraV0sglA5pVrP3b33m/pw==}
+
+ '@antfu/install-pkg@1.1.0':
+ resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
+
+ '@antfu/utils@8.1.1':
+ resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==}
- '@babel/code-frame@7.26.2':
- resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
+ '@asamuzakjp/css-color@3.2.0':
+ resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==}
+
+ '@babel/code-frame@7.29.0':
+ resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.29.1':
+ resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.28.5':
+ resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.29.3':
+ resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/runtime@7.28.4':
+ resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-identifier@7.25.9':
- resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
+ '@babel/runtime@7.29.2':
+ resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==}
engines: {node: '>=6.9.0'}
- '@babel/runtime@7.26.0':
- resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
+ '@babel/types@7.29.0':
+ resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
- '@cspell/cspell-bundled-dicts@8.17.1':
- resolution: {integrity: sha512-HmkXS5uX4bk/XxsRS4Q+zRvhgRa81ddGiR2/Xfag9MIi5L5UnEJ4g21EpmIlXkMxYrTu2fp69SZFss5NfcFF9Q==}
+ '@braintree/sanitize-url@7.1.1':
+ resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==}
+
+ '@chevrotain/cst-dts-gen@11.0.3':
+ resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==}
+
+ '@chevrotain/gast@11.0.3':
+ resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==}
+
+ '@chevrotain/regexp-to-ast@11.0.3':
+ resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==}
+
+ '@chevrotain/types@11.0.3':
+ resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==}
+
+ '@chevrotain/utils@11.0.3':
+ resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==}
+
+ '@code-hike/lighter@1.0.1':
+ resolution: {integrity: sha512-mccvcsk5UTScRrE02oBz1/qzckyhD8YE3VQlQv++2bSVVZgNuCUX8MpokSCi5OmfRAAxbj6kmNiqq1Um8eXPrw==}
+
+ '@cspell/cspell-bundled-dicts@8.19.4':
+ resolution: {integrity: sha512-2ZRcZP/ncJ5q953o8i+R0fb8+14PDt5UefUNMrFZZHvfTI0jukAASOQeLY+WT6ASZv6CgbPrApAdbppy9FaXYQ==}
engines: {node: '>=18'}
- '@cspell/cspell-pipe@8.17.1':
- resolution: {integrity: sha512-uhC99Ox+OH3COSgShv4fpVHiotR70dNvAOSkzRvKVRzV6IGyFnxHjmyVVPEV0dsqzVLxltwYTqFhwI+UOwm45A==}
+ '@cspell/cspell-pipe@8.19.4':
+ resolution: {integrity: sha512-GNAyk+7ZLEcL2fCMT5KKZprcdsq3L1eYy3e38/tIeXfbZS7Sd1R5FXUe6CHXphVWTItV39TvtLiDwN/2jBts9A==}
engines: {node: '>=18'}
- '@cspell/cspell-resolver@8.17.1':
- resolution: {integrity: sha512-XEK2ymTdQNgsV3ny60VkKzWskbICl4zNXh/DbxsoRXHqIRg43MXFpTNkEJ7j873EqdX7BU4opQQ+5D4stWWuhQ==}
+ '@cspell/cspell-resolver@8.19.4':
+ resolution: {integrity: sha512-S8vJMYlsx0S1D60glX8H2Jbj4mD8519VjyY8lu3fnhjxfsl2bDFZvF3ZHKsLEhBE+Wh87uLqJDUJQiYmevHjDg==}
engines: {node: '>=18'}
- '@cspell/cspell-service-bus@8.17.1':
- resolution: {integrity: sha512-2sFWQtMEWZ4tdz7bw0bAx4NaV1t0ynGfjpuKWdQppsJFKNb+ZPZZ6Ah1dC13AdRRMZaG194kDRFwzNvRaCgWkQ==}
+ '@cspell/cspell-service-bus@8.19.4':
+ resolution: {integrity: sha512-uhY+v8z5JiUogizXW2Ft/gQf3eWrh5P9036jN2Dm0UiwEopG/PLshHcDjRDUiPdlihvA0RovrF0wDh4ptcrjuQ==}
engines: {node: '>=18'}
- '@cspell/cspell-types@8.17.1':
- resolution: {integrity: sha512-NJbov7Jp57fh8addoxesjb8atg/APQfssCH5Q9uZuHBN06wEJDgs7fhfE48bU+RBViC9gltblsYZzZZQKzHYKg==}
+ '@cspell/cspell-types@8.19.4':
+ resolution: {integrity: sha512-ekMWuNlFiVGfsKhfj4nmc8JCA+1ZltwJgxiKgDuwYtR09ie340RfXFF6YRd2VTW5zN7l4F1PfaAaPklVz6utSg==}
engines: {node: '>=18'}
- '@cspell/dict-ada@4.0.5':
- resolution: {integrity: sha512-6/RtZ/a+lhFVmrx/B7bfP7rzC4yjEYe8o74EybXcvu4Oue6J4Ey2WSYj96iuodloj1LWrkNCQyX5h4Pmcj0Iag==}
+ '@cspell/dict-ada@4.1.1':
+ resolution: {integrity: sha512-E+0YW9RhZod/9Qy2gxfNZiHJjCYFlCdI69br1eviQQWB8yOTJX0JHXLs79kOYhSW0kINPVUdvddEBe6Lu6CjGQ==}
- '@cspell/dict-al@1.0.3':
- resolution: {integrity: sha512-V1HClwlfU/qwSq2Kt+MkqRAsonNu3mxjSCDyGRecdLGIHmh7yeEeaxqRiO/VZ4KP+eVSiSIlbwrb5YNFfxYZbw==}
+ '@cspell/dict-al@1.1.1':
+ resolution: {integrity: sha512-sD8GCaZetgQL4+MaJLXqbzWcRjfKVp8x+px3HuCaaiATAAtvjwUQ5/Iubiqwfd1boIh2Y1/3EgM3TLQ7Q8e0wQ==}
- '@cspell/dict-aws@4.0.7':
- resolution: {integrity: sha512-PoaPpa2NXtSkhGIMIKhsJUXB6UbtTt6Ao3x9JdU9kn7fRZkwD4RjHDGqulucIOz7KeEX/dNRafap6oK9xHe4RA==}
+ '@cspell/dict-aws@4.0.17':
+ resolution: {integrity: sha512-ORcblTWcdlGjIbWrgKF+8CNEBQiLVKdUOFoTn0KPNkAYnFcdPP0muT4892h7H4Xafh3j72wqB4/loQ6Nti9E/w==}
- '@cspell/dict-bash@4.1.8':
- resolution: {integrity: sha512-I2CM2pTNthQwW069lKcrVxchJGMVQBzru2ygsHCwgidXRnJL/NTjAPOFTxN58Jc1bf7THWghfEDyKX/oyfc0yg==}
+ '@cspell/dict-bash@4.2.2':
+ resolution: {integrity: sha512-kyWbwtX3TsCf5l49gGQIZkRLaB/P8g73GDRm41Zu8Mv51kjl2H7Au0TsEvHv7jzcsRLS6aUYaZv6Zsvk1fOz+Q==}
- '@cspell/dict-companies@3.1.10':
- resolution: {integrity: sha512-KpRLiVDCpTkF+IjWnuYc31B0gyHVh0TSf/MDrWPobl9oYNQRWFUMACAJO9FP+kHI0jzLjTyLC1KpKwqte/88iA==}
+ '@cspell/dict-companies@3.2.11':
+ resolution: {integrity: sha512-0cmafbcz2pTHXLd59eLR1gvDvN6aWAOM0+cIL4LLF9GX9yB2iKDNrKsvs4tJRqutoaTdwNFBbV0FYv+6iCtebQ==}
- '@cspell/dict-cpp@6.0.2':
- resolution: {integrity: sha512-yw5eejWvY4bAnc6LUA44m4WsFwlmgPt2uMSnO7QViGMBDuoeopMma4z9XYvs4lSjTi8fIJs/A1YDfM9AVzb8eg==}
+ '@cspell/dict-cpp@6.0.15':
+ resolution: {integrity: sha512-N7MKK3llRNoBncygvrnLaGvmjo4xzVr5FbtAc9+MFGHK6/LeSySBupr1FM72XDaVSIsmBEe7sDYCHHwlI9Jb2w==}
- '@cspell/dict-cryptocurrencies@5.0.3':
- resolution: {integrity: sha512-bl5q+Mk+T3xOZ12+FG37dB30GDxStza49Rmoax95n37MTLksk9wBo1ICOlPJ6PnDUSyeuv4SIVKgRKMKkJJglA==}
+ '@cspell/dict-cryptocurrencies@5.0.5':
+ resolution: {integrity: sha512-R68hYYF/rtlE6T/dsObStzN5QZw+0aQBinAXuWCVqwdS7YZo0X33vGMfChkHaiCo3Z2+bkegqHlqxZF4TD3rUA==}
- '@cspell/dict-csharp@4.0.5':
- resolution: {integrity: sha512-c/sFnNgtRwRJxtC3JHKkyOm+U3/sUrltFeNwml9VsxKBHVmvlg4tk4ar58PdpW9/zTlGUkWi2i85//DN1EsUCA==}
+ '@cspell/dict-csharp@4.0.8':
+ resolution: {integrity: sha512-qmk45pKFHSxckl5mSlbHxmDitSsGMlk/XzFgt7emeTJWLNSTUK//MbYAkBNRtfzB4uD7pAFiKgpKgtJrTMRnrQ==}
- '@cspell/dict-css@4.0.16':
- resolution: {integrity: sha512-70qu7L9z/JR6QLyJPk38fNTKitlIHnfunx0wjpWQUQ8/jGADIhMCrz6hInBjqPNdtGpYm8d1dNFyF8taEkOgrQ==}
+ '@cspell/dict-css@4.1.1':
+ resolution: {integrity: sha512-y/Vgo6qY08e1t9OqR56qjoFLBCpi4QfWMf2qzD1l9omRZwvSMQGRPz4x0bxkkkU4oocMAeztjzCsmLew//c/8w==}
- '@cspell/dict-dart@2.2.4':
- resolution: {integrity: sha512-of/cVuUIZZK/+iqefGln8G3bVpfyN6ZtH+LyLkHMoR5tEj+2vtilGNk9ngwyR8L4lEqbKuzSkOxgfVjsXf5PsQ==}
+ '@cspell/dict-dart@2.3.2':
+ resolution: {integrity: sha512-sUiLW56t9gfZcu8iR/5EUg+KYyRD83Cjl3yjDEA2ApVuJvK1HhX+vn4e4k4YfjpUQMag8XO2AaRhARE09+/rqw==}
- '@cspell/dict-data-science@2.0.5':
- resolution: {integrity: sha512-nNSILXmhSJox9/QoXICPQgm8q5PbiSQP4afpbkBqPi/u/b3K9MbNH5HvOOa6230gxcGdbZ9Argl2hY/U8siBlg==}
+ '@cspell/dict-data-science@2.0.13':
+ resolution: {integrity: sha512-l1HMEhBJkPmw4I2YGVu2eBSKM89K9pVF+N6qIr5Uo5H3O979jVodtuwP8I7LyPrJnC6nz28oxeGRCLh9xC5CVA==}
- '@cspell/dict-django@4.1.3':
- resolution: {integrity: sha512-yBspeL3roJlO0a1vKKNaWABURuHdHZ9b1L8d3AukX0AsBy9snSggc8xCavPmSzNfeMDXbH+1lgQiYBd3IW03fg==}
+ '@cspell/dict-django@4.1.6':
+ resolution: {integrity: sha512-SdbSFDGy9ulETqNz15oWv2+kpWLlk8DJYd573xhIkeRdcXOjskRuxjSZPKfW7O3NxN/KEf3gm3IevVOiNuFS+w==}
- '@cspell/dict-docker@1.1.11':
- resolution: {integrity: sha512-s0Yhb16/R+UT1y727ekbR/itWQF3Qz275DR1ahOa66wYtPjHUXmhM3B/LT3aPaX+hD6AWmK23v57SuyfYHUjsw==}
+ '@cspell/dict-docker@1.1.17':
+ resolution: {integrity: sha512-OcnVTIpHIYYKhztNTyK8ShAnXTfnqs43hVH6p0py0wlcwRIXe5uj4f12n7zPf2CeBI7JAlPjEsV0Rlf4hbz/xQ==}
- '@cspell/dict-dotnet@5.0.8':
- resolution: {integrity: sha512-MD8CmMgMEdJAIPl2Py3iqrx3B708MbCIXAuOeZ0Mzzb8YmLmiisY7QEYSZPg08D7xuwARycP0Ki+bb0GAkFSqg==}
+ '@cspell/dict-dotnet@5.0.13':
+ resolution: {integrity: sha512-xPp7jMnFpOri7tzmqmm/dXMolXz1t2bhNqxYkOyMqXhvs08oc7BFs+EsbDY0X7hqiISgeFZGNqn0dOCr+ncPYw==}
- '@cspell/dict-elixir@4.0.6':
- resolution: {integrity: sha512-TfqSTxMHZ2jhiqnXlVKM0bUADtCvwKQv2XZL/DI0rx3doG8mEMS8SGPOmiyyGkHpR/pGOq18AFH3BEm4lViHIw==}
+ '@cspell/dict-elixir@4.0.8':
+ resolution: {integrity: sha512-CyfphrbMyl4Ms55Vzuj+mNmd693HjBFr9hvU+B2YbFEZprE5AG+EXLYTMRWrXbpds4AuZcvN3deM2XVB80BN/Q==}
- '@cspell/dict-en-common-misspellings@2.0.7':
- resolution: {integrity: sha512-qNFo3G4wyabcwnM+hDrMYKN9vNVg/k9QkhqSlSst6pULjdvPyPs1mqz1689xO/v9t8e6sR4IKc3CgUXDMTYOpA==}
+ '@cspell/dict-en-common-misspellings@2.1.12':
+ resolution: {integrity: sha512-14Eu6QGqyksqOd4fYPuRb58lK1Va7FQK9XxFsRKnZU8LhL3N+kj7YKDW+7aIaAN/0WGEqslGP6lGbQzNti8Akw==}
'@cspell/dict-en-gb@1.1.33':
resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==}
- '@cspell/dict-en_us@4.3.28':
- resolution: {integrity: sha512-BN1PME7cOl7DXRQJ92pEd1f0Xk5sqjcDfThDGkKcsgwbSOY7KnTc/czBW6Pr3WXIchIm6cT12KEfjNqx7U7Rrw==}
+ '@cspell/dict-en_us@4.4.33':
+ resolution: {integrity: sha512-zWftVqfUStDA37wO1ZNDN1qMJOfcxELa8ucHW8W8wBAZY3TK5Nb6deLogCK/IJi/Qljf30dwwuqqv84Qqle9Tw==}
+
+ '@cspell/dict-filetypes@3.0.18':
+ resolution: {integrity: sha512-yU7RKD/x1IWmDLzWeiItMwgV+6bUcU/af23uS0+uGiFUbsY1qWV/D4rxlAAO6Z7no3J2z8aZOkYIOvUrJq0Rcw==}
- '@cspell/dict-filetypes@3.0.9':
- resolution: {integrity: sha512-U7ycC1cE32A5aEgwzp/iE0TVabonUFnVt+Ygbf6NsIWqEuFWZgZChC7gfztA4T1fpuj602nFdp7eOnTWKORsnQ==}
+ '@cspell/dict-flutter@1.1.1':
+ resolution: {integrity: sha512-UlOzRcH2tNbFhZmHJN48Za/2/MEdRHl2BMkCWZBYs+30b91mWvBfzaN4IJQU7dUZtowKayVIF9FzvLZtZokc5A==}
- '@cspell/dict-flutter@1.0.3':
- resolution: {integrity: sha512-52C9aUEU22ptpgYh6gQyIdA4MP6NPwzbEqndfgPh3Sra191/kgs7CVqXiO1qbtZa9gnYHUoVApkoxRE7mrXHfg==}
+ '@cspell/dict-fonts@4.0.6':
+ resolution: {integrity: sha512-aR/0csY01dNb0A1tw/UmN9rKgHruUxsYsvXu6YlSBJFu60s26SKr/k1o4LavpHTQ+lznlYMqAvuxGkE4Flliqw==}
- '@cspell/dict-fonts@4.0.3':
- resolution: {integrity: sha512-sPd17kV5qgYXLteuHFPn5mbp/oCHKgitNfsZLFC3W2fWEgZlhg4hK+UGig3KzrYhhvQ8wBnmZrAQm0TFKCKzsA==}
+ '@cspell/dict-fsharp@1.1.1':
+ resolution: {integrity: sha512-imhs0u87wEA4/cYjgzS0tAyaJpwG7vwtC8UyMFbwpmtw+/bgss+osNfyqhYRyS/ehVCWL17Ewx2UPkexjKyaBA==}
- '@cspell/dict-fsharp@1.0.4':
- resolution: {integrity: sha512-G5wk0o1qyHUNi9nVgdE1h5wl5ylq7pcBjX8vhjHcO4XBq20D5eMoXjwqMo/+szKAqzJ+WV3BgAL50akLKrT9Rw==}
+ '@cspell/dict-fullstack@3.2.9':
+ resolution: {integrity: sha512-diZX+usW5aZ4/b2T0QM/H/Wl9aNMbdODa1Jq0ReBr/jazmNeWjd+PyqeVgzd1joEaHY+SAnjrf/i9CwKd2ZtWQ==}
- '@cspell/dict-fullstack@3.2.3':
- resolution: {integrity: sha512-62PbndIyQPH11mAv0PyiyT0vbwD0AXEocPpHlCHzfb5v9SspzCCbzQ/LIBiFmyRa+q5LMW35CnSVu6OXdT+LKg==}
+ '@cspell/dict-gaming-terms@1.1.2':
+ resolution: {integrity: sha512-9XnOvaoTBscq0xuD6KTEIkk9hhdfBkkvJAIsvw3JMcnp1214OCGW8+kako5RqQ2vTZR3Tnf3pc57o7VgkM0q1Q==}
- '@cspell/dict-gaming-terms@1.0.9':
- resolution: {integrity: sha512-AVIrZt3YiUnxsUzzGYTZ1XqgtkgwGEO0LWIlEf+SiDUEVLtv4CYmmyXFQ+WXDN0pyJ0wOwDazWrP0Cu7avYQmQ==}
+ '@cspell/dict-git@3.1.0':
+ resolution: {integrity: sha512-KEt9zGkxqGy2q1nwH4CbyqTSv5nadpn8BAlDnzlRcnL0Xb3LX9xTgSGShKvzb0bw35lHoYyLWN2ZKAqbC4pgGQ==}
- '@cspell/dict-git@3.0.3':
- resolution: {integrity: sha512-LSxB+psZ0qoj83GkyjeEH/ZViyVsGEF/A6BAo8Nqc0w0HjD2qX/QR4sfA6JHUgQ3Yi/ccxdK7xNIo67L2ScW5A==}
+ '@cspell/dict-golang@6.0.26':
+ resolution: {integrity: sha512-YKA7Xm5KeOd14v5SQ4ll6afe9VSy3a2DWM7L9uBq4u3lXToRBQ1W5PRa+/Q9udd+DTURyVVnQ+7b9cnOlNxaRg==}
- '@cspell/dict-golang@6.0.17':
- resolution: {integrity: sha512-uDDLEJ/cHdLiqPw4+5BnmIo2i/TSR+uDvYd6JlBjTmjBKpOCyvUgYRztH7nv5e7virsN5WDiUWah4/ATQGz4Pw==}
+ '@cspell/dict-google@1.0.9':
+ resolution: {integrity: sha512-biL65POqialY0i4g6crj7pR6JnBkbsPovB2WDYkj3H4TuC/QXv7Pu5pdPxeUJA6TSCHI7T5twsO4VSVyRxD9CA==}
- '@cspell/dict-google@1.0.4':
- resolution: {integrity: sha512-JThUT9eiguCja1mHHLwYESgxkhk17Gv7P3b1S7ZJzXw86QyVHPrbpVoMpozHk0C9o+Ym764B7gZGKmw9uMGduQ==}
+ '@cspell/dict-haskell@4.0.6':
+ resolution: {integrity: sha512-ib8SA5qgftExpYNjWhpYIgvDsZ/0wvKKxSP+kuSkkak520iPvTJumEpIE+qPcmJQo4NzdKMN8nEfaeci4OcFAQ==}
- '@cspell/dict-haskell@4.0.4':
- resolution: {integrity: sha512-EwQsedEEnND/vY6tqRfg9y7tsnZdxNqOxLXSXTsFA6JRhUlr8Qs88iUUAfsUzWc4nNmmzQH2UbtT25ooG9x4nA==}
+ '@cspell/dict-html-symbol-entities@4.0.5':
+ resolution: {integrity: sha512-429alTD4cE0FIwpMucvSN35Ld87HCyuM8mF731KU5Rm4Je2SG6hmVx7nkBsLyrmH3sQukTcr1GaiZsiEg8svPA==}
- '@cspell/dict-html-symbol-entities@4.0.3':
- resolution: {integrity: sha512-aABXX7dMLNFdSE8aY844X4+hvfK7977sOWgZXo4MTGAmOzR8524fjbJPswIBK7GaD3+SgFZ2yP2o0CFvXDGF+A==}
+ '@cspell/dict-html@4.0.15':
+ resolution: {integrity: sha512-GJYnYKoD9fmo2OI0aySEGZOjThnx3upSUvV7mmqUu8oG+mGgzqm82P/f7OqsuvTaInZZwZbo+PwJQd/yHcyFIw==}
- '@cspell/dict-html@4.0.10':
- resolution: {integrity: sha512-I9uRAcdtHbh0wEtYZlgF0TTcgH0xaw1B54G2CW+tx4vHUwlde/+JBOfIzird4+WcMv4smZOfw+qHf7puFUbI5g==}
+ '@cspell/dict-java@5.0.12':
+ resolution: {integrity: sha512-qPSNhTcl7LGJ5Qp6VN71H8zqvRQK04S08T67knMq9hTA8U7G1sTKzLmBaDOFhq17vNX/+rT+rbRYp+B5Nwza1A==}
- '@cspell/dict-java@5.0.10':
- resolution: {integrity: sha512-pVNcOnmoGiNL8GSVq4WbX/Vs2FGS0Nej+1aEeGuUY9CU14X8yAVCG+oih5ZoLt1jaR8YfR8byUF8wdp4qG4XIw==}
+ '@cspell/dict-julia@1.1.1':
+ resolution: {integrity: sha512-WylJR9TQ2cgwd5BWEOfdO3zvDB+L7kYFm0I9u0s9jKHWQ6yKmfKeMjU9oXxTBxIufhCXm92SKwwVNAC7gjv+yA==}
- '@cspell/dict-julia@1.0.4':
- resolution: {integrity: sha512-bFVgNX35MD3kZRbXbJVzdnN7OuEqmQXGpdOi9jzB40TSgBTlJWA4nxeAKV4CPCZxNRUGnLH0p05T/AD7Aom9/w==}
+ '@cspell/dict-k8s@1.0.12':
+ resolution: {integrity: sha512-2LcllTWgaTfYC7DmkMPOn9GsBWsA4DZdlun4po8s2ysTP7CPEnZc1ZfK6pZ2eI4TsZemlUQQ+NZxMe9/QutQxg==}
- '@cspell/dict-k8s@1.0.9':
- resolution: {integrity: sha512-Q7GELSQIzo+BERl2ya/nBEnZeQC+zJP19SN1pI6gqDYraM51uYJacbbcWLYYO2Y+5joDjNt/sd/lJtLaQwoSlA==}
+ '@cspell/dict-kotlin@1.1.1':
+ resolution: {integrity: sha512-J3NzzfgmxRvEeOe3qUXnSJQCd38i/dpF9/t3quuWh6gXM+krsAXP75dY1CzDmS8mrJAlBdVBeAW5eAZTD8g86Q==}
- '@cspell/dict-latex@4.0.3':
- resolution: {integrity: sha512-2KXBt9fSpymYHxHfvhUpjUFyzrmN4c4P8mwIzweLyvqntBT3k0YGZJSriOdjfUjwSygrfEwiuPI1EMrvgrOMJw==}
+ '@cspell/dict-latex@4.0.4':
+ resolution: {integrity: sha512-YdTQhnTINEEm/LZgTzr9Voz4mzdOXH7YX+bSFs3hnkUHCUUtX/mhKgf1CFvZ0YNM2afjhQcmLaR9bDQVyYBvpA==}
- '@cspell/dict-lorem-ipsum@4.0.3':
- resolution: {integrity: sha512-WFpDi/PDYHXft6p0eCXuYnn7mzMEQLVeqpO+wHSUd+kz5ADusZ4cpslAA4wUZJstF1/1kMCQCZM6HLZic9bT8A==}
+ '@cspell/dict-lorem-ipsum@4.0.5':
+ resolution: {integrity: sha512-9a4TJYRcPWPBKkQAJ/whCu4uCAEgv/O2xAaZEI0n4y1/l18Yyx8pBKoIX5QuVXjjmKEkK7hi5SxyIsH7pFEK9Q==}
- '@cspell/dict-lua@4.0.6':
- resolution: {integrity: sha512-Jwvh1jmAd9b+SP9e1GkS2ACbqKKRo9E1f9GdjF/ijmooZuHU0hPyqvnhZzUAxO1egbnNjxS/J2T6iUtjAUK2KQ==}
+ '@cspell/dict-lua@4.0.8':
+ resolution: {integrity: sha512-N4PkgNDMu9JVsRu7JBS/3E/dvfItRgk9w5ga2dKq+JupP2Y3lojNaAVFhXISh4Y0a6qXDn2clA6nvnavQ/jjLA==}
- '@cspell/dict-makefile@1.0.3':
- resolution: {integrity: sha512-R3U0DSpvTs6qdqfyBATnePj9Q/pypkje0Nj26mQJ8TOBQutCRAJbr2ZFAeDjgRx5EAJU/+8txiyVF97fbVRViw==}
+ '@cspell/dict-makefile@1.0.5':
+ resolution: {integrity: sha512-4vrVt7bGiK8Rx98tfRbYo42Xo2IstJkAF4tLLDMNQLkQ86msDlYSKG1ZCk8Abg+EdNcFAjNhXIiNO+w4KflGAQ==}
- '@cspell/dict-markdown@2.0.7':
- resolution: {integrity: sha512-F9SGsSOokFn976DV4u/1eL4FtKQDSgJHSZ3+haPRU5ki6OEqojxKa8hhj4AUrtNFpmBaJx/WJ4YaEzWqG7hgqg==}
+ '@cspell/dict-markdown@2.0.16':
+ resolution: {integrity: sha512-976RRqKv6cwhrxdFCQP2DdnBVB86BF57oQtPHy4Zbf4jF/i2Oy29MCrxirnOBalS1W6KQeto7NdfDXRAwkK4PQ==}
peerDependencies:
- '@cspell/dict-css': ^4.0.16
- '@cspell/dict-html': ^4.0.10
- '@cspell/dict-html-symbol-entities': ^4.0.3
- '@cspell/dict-typescript': ^3.1.11
+ '@cspell/dict-css': ^4.1.1
+ '@cspell/dict-html': ^4.0.15
+ '@cspell/dict-html-symbol-entities': ^4.0.5
+ '@cspell/dict-typescript': ^3.2.3
- '@cspell/dict-monkeyc@1.0.9':
- resolution: {integrity: sha512-Jvf6g5xlB4+za3ThvenYKREXTEgzx5gMUSzrAxIiPleVG4hmRb/GBSoSjtkGaibN3XxGx5x809gSTYCA/IHCpA==}
+ '@cspell/dict-monkeyc@1.0.12':
+ resolution: {integrity: sha512-MN7Vs11TdP5mbdNFQP5x2Ac8zOBm97ARg6zM5Sb53YQt/eMvXOMvrep7+/+8NJXs0jkp70bBzjqU4APcqBFNAw==}
- '@cspell/dict-node@5.0.5':
- resolution: {integrity: sha512-7NbCS2E8ZZRZwlLrh2sA0vAk9n1kcTUiRp/Nia8YvKaItGXLfxYqD2rMQ3HpB1kEutal6hQLVic3N2Yi1X7AaA==}
+ '@cspell/dict-node@5.0.9':
+ resolution: {integrity: sha512-hO+ga+uYZ/WA4OtiMEyKt5rDUlUyu3nXMf8KVEeqq2msYvAPdldKBGH7lGONg6R/rPhv53Rb+0Y1SLdoK1+7wQ==}
- '@cspell/dict-npm@5.1.20':
- resolution: {integrity: sha512-vE9pFIifCDChsVhhUDuVtnwxygOdtHNluDm+8FkgC84M6LwiUVJr/CuSOI/SCR0oI9iiFp0VvMz194B6XwMv3g==}
+ '@cspell/dict-npm@5.2.38':
+ resolution: {integrity: sha512-21ucGRPYYhr91C2cDBoMPTrcIOStQv33xOqJB0JLoC5LAs2Sfj9EoPGhGb+gIFVHz6Ia7JQWE2SJsOVFJD1wmg==}
- '@cspell/dict-php@4.0.13':
- resolution: {integrity: sha512-P6sREMZkhElzz/HhXAjahnICYIqB/HSGp1EhZh+Y6IhvC15AzgtDP8B8VYCIsQof6rPF1SQrFwunxOv8H1e2eg==}
+ '@cspell/dict-php@4.1.1':
+ resolution: {integrity: sha512-EXelI+4AftmdIGtA8HL8kr4WlUE11OqCSVlnIgZekmTkEGSZdYnkFdiJ5IANSALtlQ1mghKjz+OFqVs6yowgWA==}
- '@cspell/dict-powershell@5.0.13':
- resolution: {integrity: sha512-0qdj0XZIPmb77nRTynKidRJKTU0Fl+10jyLbAhFTuBWKMypVY06EaYFnwhsgsws/7nNX8MTEQuewbl9bWFAbsg==}
+ '@cspell/dict-powershell@5.0.15':
+ resolution: {integrity: sha512-l4S5PAcvCFcVDMJShrYD0X6Huv9dcsQPlsVsBGbH38wvuN7gS7+GxZFAjTNxDmTY1wrNi1cCatSg6Pu2BW4rgg==}
- '@cspell/dict-public-licenses@2.0.11':
- resolution: {integrity: sha512-rR5KjRUSnVKdfs5G+gJ4oIvQvm8+NJ6cHWY2N+GE69/FSGWDOPHxulCzeGnQU/c6WWZMSimG9o49i9r//lUQyA==}
+ '@cspell/dict-public-licenses@2.0.16':
+ resolution: {integrity: sha512-EQRrPvEOmwhwWezV+W7LjXbIBjiy6y/shrET6Qcpnk3XANTzfvWflf9PnJ5kId/oKWvihFy0za0AV1JHd03pSQ==}
- '@cspell/dict-python@4.2.13':
- resolution: {integrity: sha512-mZIcmo9qif8LkJ6N/lqTZawcOk2kVTcuWIUOSbMcjyomO0XZ7iWz15TfONyr03Ea/l7o5ULV+MZ4vx76bAUb7w==}
+ '@cspell/dict-python@4.2.26':
+ resolution: {integrity: sha512-hbjN6BjlSgZOG2dA2DtvYNGBM5Aq0i0dHaZjMOI9K/9vRicVvKbcCiBSSrR3b+jwjhQL5ff7HwG5xFaaci0GQA==}
- '@cspell/dict-r@2.0.4':
- resolution: {integrity: sha512-cBpRsE/U0d9BRhiNRMLMH1PpWgw+N+1A2jumgt1if9nBGmQw4MUpg2u9I0xlFVhstTIdzXiLXMxP45cABuiUeQ==}
+ '@cspell/dict-r@2.1.1':
+ resolution: {integrity: sha512-71Ka+yKfG4ZHEMEmDxc6+blFkeTTvgKbKAbwiwQAuKl3zpqs1Y0vUtwW2N4b3LgmSPhV3ODVY0y4m5ofqDuKMw==}
- '@cspell/dict-ruby@5.0.7':
- resolution: {integrity: sha512-4/d0hcoPzi5Alk0FmcyqlzFW9lQnZh9j07MJzPcyVO62nYJJAGKaPZL2o4qHeCS/od/ctJC5AHRdoUm0ktsw6Q==}
+ '@cspell/dict-ruby@5.1.1':
+ resolution: {integrity: sha512-LHrp84oEV6q1ZxPPyj4z+FdKyq1XAKYPtmGptrd+uwHbrF/Ns5+fy6gtSi7pS+uc0zk3JdO9w/tPK+8N1/7WUA==}
- '@cspell/dict-rust@4.0.10':
- resolution: {integrity: sha512-6o5C8566VGTTctgcwfF3Iy7314W0oMlFFSQOadQ0OEdJ9Z9ERX/PDimrzP3LGuOrvhtEFoK8pj+BLnunNwRNrw==}
+ '@cspell/dict-rust@4.1.2':
+ resolution: {integrity: sha512-O1FHrumYcO+HZti3dHfBPUdnDFkI+nbYK3pxYmiM1sr+G0ebOd6qchmswS0Wsc6ZdEVNiPYJY/gZQR6jfW3uOg==}
- '@cspell/dict-scala@5.0.6':
- resolution: {integrity: sha512-tl0YWAfjUVb4LyyE4JIMVE8DlLzb1ecHRmIWc4eT6nkyDqQgHKzdHsnusxFEFMVLIQomgSg0Zz6hJ5S1E4W4ww==}
+ '@cspell/dict-scala@5.0.9':
+ resolution: {integrity: sha512-AjVcVAELgllybr1zk93CJ5wSUNu/Zb5kIubymR/GAYkMyBdYFCZ3Zbwn4Zz8GJlFFAbazABGOu0JPVbeY59vGg==}
- '@cspell/dict-software-terms@4.2.0':
- resolution: {integrity: sha512-cTLTNdP9RM6nruZ01FThEFKRi7C4TPN8ndc+FpvCqis9J8iSg4Cr4YQemT/DxXoXz0527NbBPCARunxA0qIgTA==}
+ '@cspell/dict-shell@1.1.2':
+ resolution: {integrity: sha512-WqOUvnwcHK1X61wAfwyXq04cn7KYyskg90j4lLg3sGGKMW9Sq13hs91pqrjC44Q+lQLgCobrTkMDw9Wyl9nRFA==}
- '@cspell/dict-sql@2.1.8':
- resolution: {integrity: sha512-dJRE4JV1qmXTbbGm6WIcg1knmR6K5RXnQxF4XHs5HA3LAjc/zf77F95i5LC+guOGppVF6Hdl66S2UyxT+SAF3A==}
+ '@cspell/dict-software-terms@5.2.2':
+ resolution: {integrity: sha512-0CaYd6TAsKtEoA7tNswm1iptEblTzEe3UG8beG2cpSTHk7afWIVMtJLgXDv0f/Li67Lf3Z1Jf3JeXR7GsJ2TRw==}
- '@cspell/dict-svelte@1.0.5':
- resolution: {integrity: sha512-sseHlcXOqWE4Ner9sg8KsjxwSJ2yssoJNqFHR9liWVbDV+m7kBiUtn2EB690TihzVsEmDr/0Yxrbb5Bniz70mA==}
+ '@cspell/dict-sql@2.2.1':
+ resolution: {integrity: sha512-qDHF8MpAYCf4pWU8NKbnVGzkoxMNrFqBHyG/dgrlic5EQiKANCLELYtGlX5auIMDLmTf1inA0eNtv74tyRJ/vg==}
- '@cspell/dict-swift@2.0.4':
- resolution: {integrity: sha512-CsFF0IFAbRtYNg0yZcdaYbADF5F3DsM8C4wHnZefQy8YcHP/qjAF/GdGfBFBLx+XSthYuBlo2b2XQVdz3cJZBw==}
+ '@cspell/dict-svelte@1.0.7':
+ resolution: {integrity: sha512-hGZsGqP0WdzKkdpeVLBivRuSNzOTvN036EBmpOwxH+FTY2DuUH7ecW+cSaMwOgmq5JFSdTcbTNFlNC8HN8lhaQ==}
- '@cspell/dict-terraform@1.0.7':
- resolution: {integrity: sha512-Ip7tOlAt/qUVdWYyDMA7DlKMpQ6sjtrsXk4vcpqXoYpoJlzMoDce7pw+fPhHshtNOFBAZ4nOrszlLu6APuy+HQ==}
+ '@cspell/dict-swift@2.0.6':
+ resolution: {integrity: sha512-PnpNbrIbex2aqU1kMgwEKvCzgbkHtj3dlFLPMqW1vSniop7YxaDTtvTUO4zA++ugYAEL+UK8vYrBwDPTjjvSnA==}
- '@cspell/dict-typescript@3.1.11':
- resolution: {integrity: sha512-FwvK5sKbwrVpdw0e9+1lVTl8FPoHYvfHRuQRQz2Ql5XkC0gwPPkpoyD1zYImjIyZRoYXk3yp9j8ss4iz7A7zoQ==}
+ '@cspell/dict-terraform@1.1.3':
+ resolution: {integrity: sha512-gr6wxCydwSFyyBKhBA2xkENXtVFToheqYYGFvlMZXWjviynXmh+NK/JTvTCk/VHk3+lzbO9EEQKee6VjrAUSbA==}
- '@cspell/dict-vue@3.0.3':
- resolution: {integrity: sha512-akmYbrgAGumqk1xXALtDJcEcOMYBYMnkjpmGzH13Ozhq1mkPF4VgllFQlm1xYde+BUKNnzMgPEzxrL2qZllgYA==}
+ '@cspell/dict-typescript@3.2.3':
+ resolution: {integrity: sha512-zXh1wYsNljQZfWWdSPYwQhpwiuW0KPW1dSd8idjMRvSD0aSvWWHoWlrMsmZeRl4qM4QCEAjua8+cjflm41cQBg==}
- '@cspell/dynamic-import@8.17.1':
- resolution: {integrity: sha512-XQtr2olYOtqbg49E+8SISd6I5DzfxmsKINDn0ZgaTFeLalnNdF3ewDU4gOEbApIzGffRa1mW9t19MsiVrznSDw==}
+ '@cspell/dict-vue@3.0.5':
+ resolution: {integrity: sha512-Mqutb8jbM+kIcywuPQCCaK5qQHTdaByoEO2J9LKFy3sqAdiBogNkrplqUK0HyyRFgCfbJUgjz3N85iCMcWH0JA==}
+
+ '@cspell/dynamic-import@8.19.4':
+ resolution: {integrity: sha512-0LLghC64+SiwQS20Sa0VfFUBPVia1rNyo0bYeIDoB34AA3qwguDBVJJkthkpmaP1R2JeR/VmxmJowuARc4ZUxA==}
engines: {node: '>=18.0'}
- '@cspell/eslint-plugin@8.17.1':
- resolution: {integrity: sha512-S3+NKHqba0gsrWHPcQkFNs+yCGhyPbFyO5aY8l2sETKJJutL02Qy/qTVJdmA0TYnYUeu1SvDyLL9BJbWuzJ9tA==}
+ '@cspell/eslint-plugin@8.19.4':
+ resolution: {integrity: sha512-ICXH38a0HeOcglkVUL4uE3y8jkQ1L14+tdMK+AcE1Hq/LvsA1iEXFRoEw0IGhO/yP98K8Nvj5CuN+7RNDbLYMA==}
engines: {node: '>=18'}
peerDependencies:
eslint: ^7 || ^8 || ^9
- '@cspell/filetypes@8.17.1':
- resolution: {integrity: sha512-AxYw6j7EPYtDFAFjwybjFpMc9waXQzurfBXmEVfQ5RQRlbylujLZWwR6GnMqofeNg4oGDUpEjcAZFrgdkvMQlA==}
+ '@cspell/filetypes@8.19.4':
+ resolution: {integrity: sha512-D9hOCMyfKtKjjqQJB8F80PWsjCZhVGCGUMiDoQpcta0e+Zl8vHgzwaC0Ai4QUGBhwYEawHGiWUd7Y05u/WXiNQ==}
engines: {node: '>=18'}
- '@cspell/strong-weak-map@8.17.1':
- resolution: {integrity: sha512-8cY3vLAKdt5gQEMM3Gr57BuQ8sun2NjYNh9qTdrctC1S9gNC7XzFghTYAfHSWR4VrOUcMFLO/izMdsc1KFvFOA==}
+ '@cspell/strong-weak-map@8.19.4':
+ resolution: {integrity: sha512-MUfFaYD8YqVe32SQaYLI24/bNzaoyhdBIFY5pVrvMo1ZCvMl8AlfI2OcBXvcGb5aS5z7sCNCJm11UuoYbLI1zw==}
engines: {node: '>=18'}
- '@cspell/url@8.17.1':
- resolution: {integrity: sha512-LMvReIndW1ckvemElfDgTt282fb2C3C/ZXfsm0pJsTV5ZmtdelCHwzmgSBmY5fDr7D66XDp8EurotSE0K6BTvw==}
+ '@cspell/url@8.19.4':
+ resolution: {integrity: sha512-Pa474iBxS+lxsAL4XkETPGIq3EgMLCEb9agj3hAd2VGMTCApaiUvamR4b+uGXIPybN70piFxvzrfoxsG2uIP6A==}
engines: {node: '>=18.0'}
+ '@csstools/color-helpers@5.1.0':
+ resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==}
+ engines: {node: '>=18'}
+
+ '@csstools/css-calc@2.1.4':
+ resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/css-color-parser@3.1.0':
+ resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/css-parser-algorithms@3.0.5':
+ resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-tokenizer': ^3.0.4
+
+ '@csstools/css-tokenizer@3.0.4':
+ resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
+ engines: {node: '>=18'}
+
+ '@emnapi/core@1.10.0':
+ resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==}
+
+ '@emnapi/runtime@1.10.0':
+ resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
+
+ '@emnapi/wasi-threads@1.2.1':
+ resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
+
'@esbuild/aix-ppc64@0.21.5':
resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [aix]
- '@esbuild/aix-ppc64@0.24.2':
- resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
'@esbuild/android-arm64@0.21.5':
resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm64@0.24.2':
- resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm@0.21.5':
resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
- '@esbuild/android-arm@0.24.2':
- resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
'@esbuild/android-x64@0.21.5':
resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
- '@esbuild/android-x64@0.24.2':
- resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
'@esbuild/darwin-arm64@0.21.5':
resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-arm64@0.24.2':
- resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.21.5':
resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
- '@esbuild/darwin-x64@0.24.2':
- resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
'@esbuild/freebsd-arm64@0.21.5':
resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-arm64@0.24.2':
- resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.21.5':
resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.24.2':
- resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/linux-arm64@0.21.5':
resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm64@0.24.2':
- resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm@0.21.5':
resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-arm@0.24.2':
- resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-ia32@0.21.5':
resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-ia32@0.24.2':
- resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-loong64@0.21.5':
resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-loong64@0.24.2':
- resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-mips64el@0.21.5':
resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-mips64el@0.24.2':
- resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-ppc64@0.21.5':
resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-ppc64@0.24.2':
- resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.21.5':
resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-riscv64@0.24.2':
- resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-s390x@0.21.5':
resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-s390x@0.24.2':
- resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-x64@0.21.5':
resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
- '@esbuild/linux-x64@0.24.2':
- resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/netbsd-arm64@0.24.2':
- resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.21.5':
resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.24.2':
- resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/openbsd-arm64@0.24.2':
- resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.21.5':
resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.24.2':
- resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/sunos-x64@0.21.5':
resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
- '@esbuild/sunos-x64@0.24.2':
- resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
'@esbuild/win32-arm64@0.21.5':
resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-arm64@0.24.2':
- resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-ia32@0.21.5':
resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-ia32@0.24.2':
- resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-x64@0.21.5':
resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
- '@esbuild/win32-x64@0.24.2':
- resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
- '@eslint-community/eslint-utils@4.4.1':
- resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
+ '@eslint-community/eslint-utils@4.9.1':
+ resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- '@eslint-community/regexpp@4.12.1':
- resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
+ '@eslint-community/regexpp@4.12.2':
+ resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint-react/ast@1.22.1':
- resolution: {integrity: sha512-uk44JH5RB9JytQqiHSPu89MAFlyvJ0AaSZIfQBJijjh08lswwvHOAiWLbl0iPzm7prrV4Lo3pjC3RwbVSZd+CA==}
+ '@eslint-react/ast@1.53.1':
+ resolution: {integrity: sha512-qvUC99ewtriJp9quVEOvZ6+RHcsMLfVQ0OhZ4/LupZUDhjW7GiX1dxJsFaxHdJ9rLNLhQyLSPmbAToeqUrSruQ==}
+ engines: {node: '>=18.18.0'}
- '@eslint-react/core@1.22.1':
- resolution: {integrity: sha512-mzivc7X+uk19AKg+vy3EsyJoFGrhFjSCRPq1bgFDsovw67OxWP9qHNa265VIiqmRjk0iviaRmcar5tQBWhX41A==}
+ '@eslint-react/core@1.53.1':
+ resolution: {integrity: sha512-8prroos5/Uvvh8Tjl1HHCpq4HWD3hV9tYkm7uXgKA6kqj0jHlgRcQzuO6ZPP7feBcK3uOeug7xrq03BuG8QKCA==}
+ engines: {node: '>=18.18.0'}
- '@eslint-react/eff@1.22.1':
- resolution: {integrity: sha512-aUu5vvw9m/mv0SToTLkObdY7h6S53q673bdXiUBjwNPgIOPrfl7VBnv2dXnqd4cdVvk5e077yPKI/mwl9Vsllg==}
+ '@eslint-react/eff@1.53.1':
+ resolution: {integrity: sha512-uq20lPRAmsWRjIZm+mAV/2kZsU2nDqn5IJslxGWe3Vfdw23hoyhEw3S1KKlxbftwbTvsZjKvVP0iw3bZo/NUpg==}
+ engines: {node: '>=18.18.0'}
- '@eslint-react/eslint-plugin@1.22.1':
- resolution: {integrity: sha512-/+9crS1VpZk00S/oXrJG2h8BYxSB5PwGcPi8OgAXHU6TEICC/9EVqOgeRfNz+cyOLxN+Oq31+dlZA3YSN2rKsg==}
- engines: {bun: '>=1.0.15', node: '>=18.18.0'}
+ '@eslint-react/eslint-plugin@1.53.1':
+ resolution: {integrity: sha512-JZ2ciXNCC9CtBBAqYtwWH+Jy/7ZzLw+whei8atP4Fxsbh+Scs30MfEwBzuiEbNw6uF9eZFfPidchpr5RaEhqxg==}
+ engines: {node: '>=18.18.0'}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ^4.9.5 || ^5.3.3
@@ -631,3003 +693,6360 @@ packages:
typescript:
optional: true
- '@eslint-react/jsx@1.22.1':
- resolution: {integrity: sha512-da49BHH28yAc1l5Nnf30v0G/crJN2ovz0afRfMl2dAxkZTQmp5VeiddojEbKA3lPgnaIrfrvG4UA43EITXX5ow==}
-
- '@eslint-react/shared@1.22.1':
- resolution: {integrity: sha512-nRzgOk0+fMHb1C02p4ue9Sfijkx5AVU8WL0w0V5Mk9+d4fUpxHJu12eahbwgTaLGaX5TP3KWzIfA1q1HNigPUg==}
+ '@eslint-react/kit@1.53.1':
+ resolution: {integrity: sha512-zOi2le9V4rMrJvQV4OeedGvMGvDT46OyFPOwXKs7m0tQu5vXVJ8qwIPaVQT1n/WIuvOg49OfmAVaHpGxK++xLQ==}
+ engines: {node: '>=18.18.0'}
- '@eslint-react/types@1.22.1':
- resolution: {integrity: sha512-uLl4aDLDYzR7XTqFyUooZDocmX3Dy/3ANQDiyLVXFy055MyRhti9QjdbI+wAlkmynZiOE7oVoRtwR9JgSus/uw==}
+ '@eslint-react/shared@1.53.1':
+ resolution: {integrity: sha512-gomJQmFqQgQVI3Ra4vTMG/s6a4bx3JqeNiTBjxBJt4C9iGaBj458GkP4LJHX7TM6xUzX+fMSKOPX7eV3C/+UCw==}
+ engines: {node: '>=18.18.0'}
- '@eslint-react/var@1.22.1':
- resolution: {integrity: sha512-QzkS1c6XrKq8Dl6llObmIBL5KKAJZUOsugFogXwLBav1a9tf76Fc/ozqEutP4hwoOWtTWhlQR3guhwVrMHTBcA==}
+ '@eslint-react/var@1.53.1':
+ resolution: {integrity: sha512-yzwopvPntcHU7mmDvWzRo1fb8QhjD8eDRRohD11rTV1u7nWO4QbJi0pOyugQakvte1/W11Y0Vr8Of0Ojk/A6zg==}
+ engines: {node: '>=18.18.0'}
- '@eslint/config-array@0.19.1':
- resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==}
+ '@eslint/config-array@0.21.2':
+ resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@0.9.1':
- resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/config-array@0.23.5':
+ resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@eslint/eslintrc@3.2.0':
- resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
+ '@eslint/config-helpers@0.4.2':
+ resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.17.0':
- resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/config-helpers@0.5.5':
+ resolution: {integrity: sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@eslint/object-schema@2.1.5':
- resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==}
+ '@eslint/core@0.17.0':
+ resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.2.4':
- resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/core@1.2.1':
+ resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@humanfs/core@0.19.1':
- resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
- engines: {node: '>=18.18.0'}
+ '@eslint/eslintrc@3.3.5':
+ resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@humanfs/node@0.16.6':
- resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
- engines: {node: '>=18.18.0'}
+ '@eslint/js@9.39.4':
+ resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@humanwhocodes/module-importer@1.0.1':
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
+ '@eslint/object-schema@2.1.7':
+ resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@humanwhocodes/retry@0.3.1':
- resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
- engines: {node: '>=18.18'}
+ '@eslint/object-schema@3.0.5':
+ resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@humanwhocodes/retry@0.4.1':
- resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==}
- engines: {node: '>=18.18'}
+ '@eslint/plugin-kit@0.4.1':
+ resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
+ '@eslint/plugin-kit@0.7.1':
+ resolution: {integrity: sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@jridgewell/gen-mapping@0.3.8':
- resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
- engines: {node: '>=6.0.0'}
+ '@floating-ui/core@1.7.3':
+ resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
- '@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
+ '@floating-ui/dom@1.7.3':
+ resolution: {integrity: sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==}
- '@jridgewell/set-array@1.2.1':
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
+ '@floating-ui/react-dom@2.1.5':
+ resolution: {integrity: sha512-HDO/1/1oH9fjj4eLgegrlH3dklZpHtUYYFiVwMUwfGvk9jWDRWqkklA2/NFScknrcNSspbV868WjXORvreDX+Q==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
+ '@floating-ui/react@0.26.28':
+ resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
- '@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+ '@floating-ui/utils@0.2.10':
+ resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
+ '@formatjs/intl-localematcher@0.6.1':
+ resolution: {integrity: sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg==}
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
+ '@headlessui/react@2.2.7':
+ resolution: {integrity: sha512-WKdTymY8Y49H8/gUc/lIyYK1M+/6dq0Iywh4zTZVAaiTDprRfioxSgD0wnXTQTBpjpGJuTL1NO/mqEvc//5SSg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ react: ^18 || ^19 || ^19.0.0-rc
+ react-dom: ^18 || ^19 || ^19.0.0-rc
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
+ '@humanfs/core@0.19.1':
+ resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
+ engines: {node: '>=18.18.0'}
- '@nolyfill/is-core-module@1.0.39':
- resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==}
- engines: {node: '>=12.4.0'}
+ '@humanfs/node@0.16.7':
+ resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
+ engines: {node: '>=18.18.0'}
- '@pkgjs/parseargs@0.11.0':
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
+ '@humanwhocodes/module-importer@1.0.1':
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
- '@pkgr/core@0.1.1':
- resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
- engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ '@humanwhocodes/retry@0.4.3':
+ resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
+ engines: {node: '>=18.18'}
- '@polka/url@1.0.0-next.28':
- resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
+ '@iconify/types@2.0.0':
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
- '@rollup/rollup-android-arm-eabi@4.29.1':
- resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==}
- cpu: [arm]
- os: [android]
+ '@iconify/utils@2.3.0':
+ resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==}
- '@rollup/rollup-android-arm64@4.29.1':
- resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==}
- cpu: [arm64]
- os: [android]
+ '@img/colour@1.1.0':
+ resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==}
+ engines: {node: '>=18'}
- '@rollup/rollup-darwin-arm64@4.29.1':
- resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==}
+ '@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]
- '@rollup/rollup-darwin-x64@4.29.1':
- resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==}
+ '@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]
- '@rollup/rollup-freebsd-arm64@4.29.1':
- resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==}
+ '@img/sharp-libvips-darwin-arm64@1.2.4':
+ resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==}
cpu: [arm64]
- os: [freebsd]
+ os: [darwin]
- '@rollup/rollup-freebsd-x64@4.29.1':
- resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==}
+ '@img/sharp-libvips-darwin-x64@1.2.4':
+ resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==}
cpu: [x64]
- os: [freebsd]
+ os: [darwin]
- '@rollup/rollup-linux-arm-gnueabihf@4.29.1':
- resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==}
- cpu: [arm]
+ '@img/sharp-libvips-linux-arm64@1.2.4':
+ resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
+ cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm-musleabihf@4.29.1':
- resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==}
+ '@img/sharp-libvips-linux-arm@1.2.4':
+ resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm64-gnu@4.29.1':
- resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==}
+ '@img/sharp-libvips-linux-ppc64@1.2.4':
+ resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-riscv64@1.2.4':
+ resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-s390x@1.2.4':
+ resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-x64@1.2.4':
+ resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
+ resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm64-musl@4.29.1':
- resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==}
+ '@img/sharp-libvips-linuxmusl-x64@1.2.4':
+ resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
+ cpu: [x64]
+ os: [linux]
+
+ '@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]
- '@rollup/rollup-linux-loongarch64-gnu@4.29.1':
- resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==}
- cpu: [loong64]
+ '@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]
- '@rollup/rollup-linux-powerpc64le-gnu@4.29.1':
- resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==}
+ '@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]
- '@rollup/rollup-linux-riscv64-gnu@4.29.1':
- resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==}
+ '@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]
- '@rollup/rollup-linux-s390x-gnu@4.29.1':
- resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==}
+ '@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]
- '@rollup/rollup-linux-x64-gnu@4.29.1':
- resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==}
+ '@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]
- '@rollup/rollup-linux-x64-musl@4.29.1':
- resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==}
+ '@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]
+
+ '@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]
- '@rollup/rollup-win32-arm64-msvc@4.29.1':
- resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==}
+ '@img/sharp-wasm32@0.34.5':
+ resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [wasm32]
+
+ '@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]
- '@rollup/rollup-win32-ia32-msvc@4.29.1':
- resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==}
+ '@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]
- '@rollup/rollup-win32-x64-msvc@4.29.1':
- resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==}
+ '@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]
- '@rtsao/scc@1.1.0':
- resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
-
- '@testing-library/dom@10.4.0':
- resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
- engines: {node: '>=18'}
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
- '@testing-library/jest-dom@6.6.3':
- resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==}
- engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
- '@testing-library/react@16.1.0':
- resolution: {integrity: sha512-Q2ToPvg0KsVL0ohND9A3zLJWcOXXcO8IDu3fj11KhNt0UlCWyFyvnCIBkd12tidB2lkiVRG8VFqdhcqhqnAQtg==}
- engines: {node: '>=18'}
- peerDependencies:
- '@testing-library/dom': ^10.0.0
- '@types/react': ^18.0.0 || ^19.0.0
- '@types/react-dom': ^18.0.0 || ^19.0.0
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
- '@testing-library/user-event@14.5.2':
- resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==}
- engines: {node: '>=12', npm: '>=6'}
- peerDependencies:
- '@testing-library/dom': '>=7.21.4'
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
- '@types/aria-query@5.0.4':
- resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
- '@types/eslint@9.6.1':
- resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
+ '@mdx-js/mdx@3.1.0':
+ resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==}
- '@types/estree@1.0.6':
- resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+ '@mermaid-js/parser@0.6.2':
+ resolution: {integrity: sha512-+PO02uGF6L6Cs0Bw8RpGhikVvMWEysfAyl27qTlroUB8jSWr1lL0Sf6zi78ZxlSnmgSY2AMMKVgghnN9jTtwkQ==}
- '@types/json-schema@7.0.15':
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ '@napi-rs/simple-git-android-arm-eabi@0.1.21':
+ resolution: {integrity: sha512-NSZTD3c+RzSR3cg0acPFqUfV64+Vqye4Veda5L9fbbnsYRzziYHbL3alMI/6p5Ur44ezw5RqKRZ4Tbp1T08veA==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [android]
- '@types/json5@0.0.29':
- resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ '@napi-rs/simple-git-android-arm64@0.1.21':
+ resolution: {integrity: sha512-FR8J/pmy4nFyzWon0RuhReucociF8kiCTBRBQV+TN+7tmI2lsHp+8sDNh1HXf+UP0iOC8azMTKwcHiyhv7oPPw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
- '@types/react@19.0.2':
- resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==}
+ '@napi-rs/simple-git-darwin-arm64@0.1.21':
+ resolution: {integrity: sha512-FoUck6Sv1VJZyEZ7CcAKPDystkwnv4osJs3XCXCtx6AdT/8oDyfjMHxe3CSBMcNVjawsd+tG7yFvhgKJCdjBvA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
- '@typescript-eslint/eslint-plugin@8.18.2':
- resolution: {integrity: sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
+ '@napi-rs/simple-git-darwin-x64@0.1.21':
+ resolution: {integrity: sha512-PlqZgFhcwJmdj4j/LSLxddrAZU5KbDtq54UMp35++IFs+XkK0SnJlfB9oQTE+m6ieQPYQVz6S9cLeyw5X12L+w==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
- '@typescript-eslint/parser@8.18.2':
- resolution: {integrity: sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
+ '@napi-rs/simple-git-freebsd-x64@0.1.21':
+ resolution: {integrity: sha512-n3S74zw0WIuCdsXV6hdU3vpakYNZyeTU3VlQdV/m5f3TxxqeEGcxJi18s2QfQOelE/N0Ze+u23USd7b06NQlCg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
- '@typescript-eslint/scope-manager@8.18.2':
- resolution: {integrity: sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.21':
+ resolution: {integrity: sha512-gsLnZD8OMttCjB2OYofDdsI9SpidMfJP6H8fjPXcon2q90JT/XUS7xIYXDEABiwRvz1BZ149HqmnjO8yPgNMIQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
- '@typescript-eslint/type-utils@8.18.2':
- resolution: {integrity: sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
+ '@napi-rs/simple-git-linux-arm64-gnu@0.1.21':
+ resolution: {integrity: sha512-05hSW4K5RexXo6YICmKzBThkY4WXJ25MAkSON720kIVv8ZPLi0ZouijJuM7GWmEZPcgCm6/mvrGrEDrS6i0/Mg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
- '@typescript-eslint/types@8.18.2':
- resolution: {integrity: sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@napi-rs/simple-git-linux-arm64-musl@0.1.21':
+ resolution: {integrity: sha512-z2dyQmwtbpgAuUmWeJBhz00/6C3//SV0YSYE9Smfaf2DiSEEAvWyoni67pQU5/Q9FFaiyvzrCoz966EVNmz6Bg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
- '@typescript-eslint/typescript-estree@8.18.2':
- resolution: {integrity: sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <5.8.0'
+ '@napi-rs/simple-git-linux-ppc64-gnu@0.1.21':
+ resolution: {integrity: sha512-mEkVx9oQxKTdzTdjDTCc9XAaH9E9eI2F+KsY0R6DTYafgb/rwq0FJO+eCa8Llzz6ndgbLrzq4q+wHqR8z7dF3w==}
+ engines: {node: '>= 10'}
+ cpu: [ppc64]
+ os: [linux]
- '@typescript-eslint/utils@8.18.2':
- resolution: {integrity: sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
+ '@napi-rs/simple-git-linux-s390x-gnu@0.1.21':
+ resolution: {integrity: sha512-FulRem5vdsvH0VER2Q9cynv01SugMk/jQwbytwyPziF6JZ81D6I8otP9NkS3dqv//6HCokyojH+oOnrsF82/VQ==}
+ engines: {node: '>= 10'}
+ cpu: [s390x]
+ os: [linux]
- '@typescript-eslint/visitor-keys@8.18.2':
- resolution: {integrity: sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@napi-rs/simple-git-linux-x64-gnu@0.1.21':
+ resolution: {integrity: sha512-SY6HuLVH+IFlkz8aTf4hwtaXalqBIPyE7FvEMCQIVPf85slOHMs9RThmrL7fvuSl0EDuUKOXANUP2OtdgT+zNg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
- '@vitest/expect@2.1.8':
- resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==}
+ '@napi-rs/simple-git-linux-x64-musl@0.1.21':
+ resolution: {integrity: sha512-bG6zRqlXmVysjUUXNPsApfXP6c+rSjhinmGlLh8XW6Tfj0PqYmbSTL/3XcowbP6yJGTJbbkvxmhQDdGYO99AnQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
- '@vitest/mocker@2.1.8':
- resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==}
- peerDependencies:
- msw: ^2.4.9
- vite: ^5.0.0
- peerDependenciesMeta:
- msw:
- optional: true
- vite:
- optional: true
+ '@napi-rs/simple-git-win32-arm64-msvc@0.1.21':
+ resolution: {integrity: sha512-bTX+Xb5Fl3AYK2c8E/Pm04i29n9gP+FGNzaT7AQp0q/5Bgq1z/4jEadSmg5hXvoJOlIFN0+HZyau9gWGq7DpCQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
- '@vitest/pretty-format@2.1.8':
- resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==}
+ '@napi-rs/simple-git-win32-ia32-msvc@0.1.21':
+ resolution: {integrity: sha512-jGdFPAJYgUSrPTGaM9D7devuSXby6FL9NzKffB5AXcL0AeB5HpqxaxOiOikunP5NQil1vEow6YxD4SyDIX57Cg==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
- '@vitest/runner@2.1.8':
- resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==}
+ '@napi-rs/simple-git-win32-x64-msvc@0.1.21':
+ resolution: {integrity: sha512-OEVKwZ4pEGSk3AxlEaEKba6bCepbV7w+v7BjeNgCscl0Evw8A81nV2ytNqajZAPk49bZZDSDzeNWe44kkaD96Q==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
- '@vitest/snapshot@2.1.8':
- resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==}
+ '@napi-rs/simple-git@0.1.21':
+ resolution: {integrity: sha512-49ij3JTYr/eSqvUaAXORgohU7pARH7GpCn/8JrwQo/mIulSY+gc/Xj4FtZ2+RdJrK6dLD6jSGU5vI17Of0qtCw==}
+ engines: {node: '>= 10'}
- '@vitest/spy@2.1.8':
- resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==}
+ '@napi-rs/wasm-runtime@0.2.12':
+ resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
- '@vitest/ui@2.1.8':
- resolution: {integrity: sha512-5zPJ1fs0ixSVSs5+5V2XJjXLmNzjugHRyV11RqxYVR+oMcogZ9qTuSfKW+OcTV0JeFNznI83BNylzH6SSNJ1+w==}
+ '@napi-rs/wasm-runtime@1.1.4':
+ resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==}
peerDependencies:
- vitest: 2.1.8
+ '@emnapi/core': ^1.7.1
+ '@emnapi/runtime': ^1.7.1
- '@vitest/utils@2.1.8':
- resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==}
+ '@next/env@16.2.6':
+ resolution: {integrity: sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==}
- acorn-jsx@5.3.2:
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ '@next/eslint-plugin-next@15.3.5':
+ resolution: {integrity: sha512-BZwWPGfp9po/rAnJcwUBaM+yT/+yTWIkWdyDwc74G9jcfTrNrmsHe+hXHljV066YNdVs8cxROxX5IgMQGX190w==}
- acorn@8.14.0:
- resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
- engines: {node: '>=0.4.0'}
- hasBin: true
+ '@next/swc-darwin-arm64@16.2.6':
+ resolution: {integrity: sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
- agent-base@7.1.3:
- resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
- engines: {node: '>= 14'}
+ '@next/swc-darwin-x64@16.2.6':
+ resolution: {integrity: sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
- ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ '@next/swc-linux-arm64-gnu@16.2.6':
+ resolution: {integrity: sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
- ansi-escapes@7.0.0:
- resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
- engines: {node: '>=18'}
+ '@next/swc-linux-arm64-musl@16.2.6':
+ resolution: {integrity: sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
- ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
+ '@next/swc-linux-x64-gnu@16.2.6':
+ resolution: {integrity: sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
- ansi-regex@6.1.0:
- resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
- engines: {node: '>=12'}
+ '@next/swc-linux-x64-musl@16.2.6':
+ resolution: {integrity: sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
- ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
+ '@next/swc-win32-arm64-msvc@16.2.6':
+ resolution: {integrity: sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
- ansi-styles@5.2.0:
- resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
- engines: {node: '>=10'}
+ '@next/swc-win32-x64-msvc@16.2.6':
+ resolution: {integrity: sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
- ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
- any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
- argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
- aria-query@5.3.0:
- resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+ '@nolyfill/is-core-module@1.0.39':
+ resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==}
+ engines: {node: '>=12.4.0'}
- aria-query@5.3.2:
- resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
- engines: {node: '>= 0.4'}
+ '@oxc-project/types@0.103.0':
+ resolution: {integrity: sha512-bkiYX5kaXWwUessFRSoXFkGIQTmc6dLGdxuRTrC+h8PSnIdZyuXHHlLAeTmOue5Br/a0/a7dHH0Gca6eXn9MKg==}
- array-buffer-byte-length@1.0.2:
- resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
- engines: {node: '>= 0.4'}
+ '@pagefind/darwin-arm64@1.5.2':
+ resolution: {integrity: sha512-MXpI+7HsAdPkvJ0gk9xj9g541BCqBZOBbdwj9g6lB5LCj6kSV6nqDSjzcAJwvOsfu0fjwvC8hQU+ecfhp+MpiQ==}
+ cpu: [arm64]
+ os: [darwin]
- array-includes@3.1.8:
- resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
- engines: {node: '>= 0.4'}
+ '@pagefind/darwin-x64@1.5.2':
+ resolution: {integrity: sha512-IojxFWMEJe0RQ7PQ3KXQsPIImNsbpPYpoZ+QUDrL8fAl/O27IX+LVLs74/UzEZy5uA2LD8Nz1AiwKr72vrkZQw==}
+ cpu: [x64]
+ os: [darwin]
- array-timsort@1.0.3:
- resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==}
+ '@pagefind/freebsd-x64@1.5.2':
+ resolution: {integrity: sha512-7EVzo9+0w+2cbe671BtMj10UlNo83I+HrLVLfRxO731svHRJKUfJ/mo05gU14pe9PCfpKNQT8FS3Xc/oDN6pOA==}
+ cpu: [x64]
+ os: [freebsd]
- array.prototype.findlastindex@1.2.5:
- resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
- engines: {node: '>= 0.4'}
+ '@pagefind/linux-arm64@1.5.2':
+ resolution: {integrity: sha512-Ovt9+K35sqzn8H3ZMXGwls4TD/wMJuvRtShHIsmUQREmaxjrDEX7gHckRCrwYJ4XE1H1p6HkLz3wukrAnsfXQw==}
+ cpu: [arm64]
+ os: [linux]
- array.prototype.flat@1.3.3:
- resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
- engines: {node: '>= 0.4'}
+ '@pagefind/linux-x64@1.5.2':
+ resolution: {integrity: sha512-V+tFqHKXhQKq/WqPBD67AFy7scn1/aZID00ws4fSDd+1daSi5UHR9VVlRrOUYKxn3VuFQYRD7lYXdZK1WED1YA==}
+ cpu: [x64]
+ os: [linux]
- array.prototype.flatmap@1.3.3:
- resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
- engines: {node: '>= 0.4'}
+ '@pagefind/windows-arm64@1.5.2':
+ resolution: {integrity: sha512-hN9Nh90fNW61nNRCW9ZyQrAj/mD0eRvmJ8NlTUzkbuW8kIzGJUi3cxjFkEcMZ5h/8FsKWD/VcouZl4yo1F7B6g==}
+ cpu: [arm64]
+ os: [win32]
- arraybuffer.prototype.slice@1.0.4:
- resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
- engines: {node: '>= 0.4'}
+ '@pagefind/windows-x64@1.5.2':
+ resolution: {integrity: sha512-Fa2Iyw7kaDRzGMfNYNUXNW2zbL5FQVDgSOcbDHdzBrDEdpqOqg8TcZ68F22ol6NJ9IGzvUdmeyZypLW5dyhqsg==}
+ cpu: [x64]
+ os: [win32]
- assertion-error@2.0.1:
- resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
- engines: {node: '>=12'}
+ '@pkgr/core@0.2.9':
+ resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
- asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ '@quansync/fs@1.0.0':
+ resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==}
- available-typed-arrays@1.0.7:
- resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
- engines: {node: '>= 0.4'}
+ '@react-aria/focus@3.21.0':
+ resolution: {integrity: sha512-7NEGtTPsBy52EZ/ToVKCu0HSelE3kq9qeis+2eEq90XSuJOMaDHUQrA7RC2Y89tlEwQB31bud/kKRi9Qme1dkA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ '@react-aria/interactions@3.25.4':
+ resolution: {integrity: sha512-HBQMxgUPHrW8V63u9uGgBymkMfj6vdWbB0GgUJY49K9mBKMsypcHeWkWM6+bF7kxRO728/IK8bWDV6whDbqjHg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- birecord@0.1.1:
- resolution: {integrity: sha512-VUpsf/qykW0heRlC8LooCq28Kxn3mAqKohhDG/49rrsQ1dT1CXyj/pgXS+5BSRzFTR/3DyIBOqQOrGyZOh71Aw==}
+ '@react-aria/ssr@3.9.10':
+ resolution: {integrity: sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ==}
+ engines: {node: '>= 12'}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ '@react-aria/utils@3.30.0':
+ resolution: {integrity: sha512-ydA6y5G1+gbem3Va2nczj/0G0W7/jUVo/cbN10WA5IizzWIwMP5qhFr7macgbKfHMkZ+YZC3oXnt2NNre5odKw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ '@react-stately/flags@3.1.2':
+ resolution: {integrity: sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==}
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
+ '@react-stately/utils@3.10.8':
+ resolution: {integrity: sha512-SN3/h7SzRsusVQjQ4v10LaVsDc81jyyR0DD5HnsQitm/I5WDpaSr2nRHtyloPFU48jlql1XX/S04T2DLQM7Y3g==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- bundle-require@5.1.0:
- resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ '@react-types/shared@3.31.0':
+ resolution: {integrity: sha512-ua5U6V66gDcbLZe4P2QeyNgPp4YWD1ymGA6j3n+s8CGExtrCPe64v+g4mvpT8Bnb985R96e4zFT61+m0YCwqMg==}
peerDependencies:
- esbuild: '>=0.18'
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
+ '@rolldown/binding-android-arm64@1.0.0-beta.57':
+ resolution: {integrity: sha512-GoOVDy8bjw9z1K30Oo803nSzXJS/vWhFijFsW3kzvZCO8IZwFnNa6pGctmbbJstKl3Fv6UBwyjJQN6msejW0IQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
- call-bind-apply-helpers@1.0.1:
- resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==}
- engines: {node: '>= 0.4'}
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.57':
+ resolution: {integrity: sha512-9c4FOhRGpl+PX7zBK5p17c5efpF9aSpTPgyigv57hXf5NjQUaJOOiejPLAtFiKNBIfm5Uu6yFkvLKzOafNvlTw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
- call-bind@1.0.8:
- resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
- engines: {node: '>= 0.4'}
+ '@rolldown/binding-darwin-x64@1.0.0-beta.57':
+ resolution: {integrity: sha512-6RsB8Qy4LnGqNGJJC/8uWeLWGOvbRL/KG5aJ8XXpSEupg/KQtlBEiFaYU/Ma5Usj1s+bt3ItkqZYAI50kSplBA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
- call-bound@1.0.3:
- resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==}
- engines: {node: '>= 0.4'}
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.57':
+ resolution: {integrity: sha512-uA9kG7+MYkHTbqwv67Tx+5GV5YcKd33HCJIi0311iYBd25yuwyIqvJfBdt1VVB8tdOlyTb9cPAgfCki8nhwTQg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
- callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.57':
+ resolution: {integrity: sha512-3KkS0cHsllT2T+Te+VZMKHNw6FPQihYsQh+8J4jkzwgvAQpbsbXmrqhkw3YU/QGRrD8qgcOvBr6z5y6Jid+rmw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
- chai@5.1.2:
- resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==}
- engines: {node: '>=12'}
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.57':
+ resolution: {integrity: sha512-A3/wu1RgsHhqP3rVH2+sM81bpk+Qd2XaHTl8LtX5/1LNR7QVBFBCpAoiXwjTdGnI5cMdBVi7Z1pi52euW760Fw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
- chalk@3.0.0:
- resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
- engines: {node: '>=8'}
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.57':
+ resolution: {integrity: sha512-d0kIVezTQtazpyWjiJIn5to8JlwfKITDqwsFv0Xc6s31N16CD2PC/Pl2OtKgS7n8WLOJbfqgIp5ixYzTAxCqMg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
- chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.57':
+ resolution: {integrity: sha512-E199LPijo98yrLjPCmETx8EF43sZf9t3guSrLee/ej1rCCc3zDVTR4xFfN9BRAapGVl7/8hYqbbiQPTkv73kUg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
- chalk@5.4.1:
- resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.57':
+ resolution: {integrity: sha512-++EQDpk/UJ33kY/BNsh7A7/P1sr/jbMuQ8cE554ZIy+tCUWCivo9zfyjDUoiMdnxqX6HLJEqqGnbGQOvzm2OMQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
- check-error@2.1.1:
- resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
- engines: {node: '>= 16'}
+ '@rolldown/binding-openharmony-arm64@1.0.0-beta.57':
+ resolution: {integrity: sha512-voDEBcNqxbUv/GeXKFtxXVWA+H45P/8Dec4Ii/SbyJyGvCqV1j+nNHfnFUIiRQ2Q40DwPe/djvgYBs9PpETiMA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
- chokidar@4.0.3:
- resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
- engines: {node: '>= 14.16.0'}
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.57':
+ resolution: {integrity: sha512-bRhcF7NLlCnpkzLVlVhrDEd0KH22VbTPkPTbMjlYvqhSmarxNIq5vtlQS8qmV7LkPKHrNLWyJW/V/sOyFba26Q==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
- clear-module@4.1.2:
- resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==}
- engines: {node: '>=8'}
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.57':
+ resolution: {integrity: sha512-rnDVGRks2FQ2hgJ2g15pHtfxqkGFGjJQUDWzYznEkE8Ra2+Vag9OffxdbJMZqBWXHVM0iS4dv8qSiEn7bO+n1Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
- cli-cursor@5.0.0:
- resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
- engines: {node: '>=18'}
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.57':
+ resolution: {integrity: sha512-OqIUyNid1M4xTj6VRXp/Lht/qIP8fo25QyAZlCP+p6D2ATCEhyW4ZIFLnC9zAGN/HMbXoCzvwfa8Jjg/8J4YEg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
- cli-truncate@4.0.0:
- resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
- engines: {node: '>=18'}
+ '@rolldown/pluginutils@1.0.0-beta.57':
+ resolution: {integrity: sha512-aQNelgx14tGA+n2tNSa9x6/jeoCL9fkDeCei7nOKnHx0fEFRRMu5ReiITo+zZD5TzWDGGRjbSYCs93IfRIyTuQ==}
- color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
+ '@rollup/rollup-android-arm-eabi@4.60.3':
+ resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==}
+ cpu: [arm]
+ os: [android]
- color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ '@rollup/rollup-android-arm64@4.60.3':
+ resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==}
+ cpu: [arm64]
+ os: [android]
- colorette@2.0.20:
- resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
-
- combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
-
- commander@12.1.0:
- resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
- engines: {node: '>=18'}
-
- commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
+ '@rollup/rollup-darwin-arm64@4.60.3':
+ resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==}
+ cpu: [arm64]
+ os: [darwin]
- comment-json@4.2.5:
- resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==}
- engines: {node: '>= 6'}
+ '@rollup/rollup-darwin-x64@4.60.3':
+ resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==}
+ cpu: [x64]
+ os: [darwin]
- compare-versions@6.1.1:
- resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==}
+ '@rollup/rollup-freebsd-arm64@4.60.3':
+ resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==}
+ cpu: [arm64]
+ os: [freebsd]
- concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ '@rollup/rollup-freebsd-x64@4.60.3':
+ resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==}
+ cpu: [x64]
+ os: [freebsd]
- consola@3.4.0:
- resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==}
- engines: {node: ^14.18.0 || >=16.10.0}
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.3':
+ resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==}
+ cpu: [arm]
+ os: [linux]
- core-util-is@1.0.3:
- resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+ '@rollup/rollup-linux-arm-musleabihf@4.60.3':
+ resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==}
+ cpu: [arm]
+ os: [linux]
- cross-spawn@7.0.6:
- resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
- engines: {node: '>= 8'}
+ '@rollup/rollup-linux-arm64-gnu@4.60.3':
+ resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==}
+ cpu: [arm64]
+ os: [linux]
- cspell-config-lib@8.17.1:
- resolution: {integrity: sha512-x1S7QWprgUcwuwiJB1Ng0ZTBC4G50qP9qQyg/aroMkcdMsHfk26E8jUGRPNt4ftHFzS4YMhwtXuJQ9IgRUuNPA==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-arm64-musl@4.60.3':
+ resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==}
+ cpu: [arm64]
+ os: [linux]
- cspell-dictionary@8.17.1:
- resolution: {integrity: sha512-zSl9l3wii+x16yc2NVZl/+CMLeLBAiuEd5YoFkOYPcbTJnfPwdjMNcj71u7wBvNJ+qwbF+kGbutEt15yHW3NBw==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-loong64-gnu@4.60.3':
+ resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==}
+ cpu: [loong64]
+ os: [linux]
- cspell-glob@8.17.1:
- resolution: {integrity: sha512-cUwM5auSt0RvLX7UkP2GEArJRWc85l51B1voArl+3ZIKeMZwcJpJgN3qvImtF8yRTZwYeYCs1sgsihb179q+mg==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-loong64-musl@4.60.3':
+ resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==}
+ cpu: [loong64]
+ os: [linux]
- cspell-grammar@8.17.1:
- resolution: {integrity: sha512-H5tLcBuW7aUj9L0rR+FSbnWPEsWb8lWppHVidtqw9Ll1CUHWOZC9HTB2RdrhJZrsz/8DJbM2yNbok0Xt0VAfdw==}
- engines: {node: '>=18'}
- hasBin: true
+ '@rollup/rollup-linux-ppc64-gnu@4.60.3':
+ resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==}
+ cpu: [ppc64]
+ os: [linux]
- cspell-io@8.17.1:
- resolution: {integrity: sha512-liIOsblt7oVItifzRAbuxiYrwlgw1VOqKppMxVKtYoAn2VUuuEpjCj6jLWpoTqSszR/38o7ChsHY1LHakhJZmw==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-ppc64-musl@4.60.3':
+ resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==}
+ cpu: [ppc64]
+ os: [linux]
- cspell-lib@8.17.1:
- resolution: {integrity: sha512-66n83Q7bK5tnvkDH7869/pBY/65AKmZVfCOAlsbhJn3YMDbNHFCHR0d1oNMlqG+n65Aco89VGwYfXxImZY+/mA==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-riscv64-gnu@4.60.3':
+ resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==}
+ cpu: [riscv64]
+ os: [linux]
- cspell-trie-lib@8.17.1:
- resolution: {integrity: sha512-13WNa5s75VwOjlGzWprmfNbBFIfXyA7tYYrbV+LugKkznyNZJeJPojHouEudcLq3SYb2Q6tJ7qyWcuT5bR9qPA==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-riscv64-musl@4.60.3':
+ resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==}
+ cpu: [riscv64]
+ os: [linux]
- css.escape@1.5.1:
- resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
+ '@rollup/rollup-linux-s390x-gnu@4.60.3':
+ resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==}
+ cpu: [s390x]
+ os: [linux]
- cssstyle@4.1.0:
- resolution: {integrity: sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==}
- engines: {node: '>=18'}
+ '@rollup/rollup-linux-x64-gnu@4.60.3':
+ resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==}
+ cpu: [x64]
+ os: [linux]
- csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ '@rollup/rollup-linux-x64-musl@4.60.3':
+ resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==}
+ cpu: [x64]
+ os: [linux]
- data-urls@5.0.0:
- resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
- engines: {node: '>=18'}
+ '@rollup/rollup-openbsd-x64@4.60.3':
+ resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==}
+ cpu: [x64]
+ os: [openbsd]
- data-view-buffer@1.0.2:
- resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
- engines: {node: '>= 0.4'}
+ '@rollup/rollup-openharmony-arm64@4.60.3':
+ resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==}
+ cpu: [arm64]
+ os: [openharmony]
- data-view-byte-length@1.0.2:
- resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
- engines: {node: '>= 0.4'}
+ '@rollup/rollup-win32-arm64-msvc@4.60.3':
+ resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==}
+ cpu: [arm64]
+ os: [win32]
- data-view-byte-offset@1.0.1:
- resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
- engines: {node: '>= 0.4'}
+ '@rollup/rollup-win32-ia32-msvc@4.60.3':
+ resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==}
+ cpu: [ia32]
+ os: [win32]
- debug@3.2.7:
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ '@rollup/rollup-win32-x64-gnu@4.60.3':
+ resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==}
+ cpu: [x64]
+ os: [win32]
- debug@4.4.0:
- resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ '@rollup/rollup-win32-x64-msvc@4.60.3':
+ resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==}
+ cpu: [x64]
+ os: [win32]
- decimal.js@10.4.3:
- resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
+ '@rtsao/scc@1.1.0':
+ resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
- deep-eql@5.0.2:
- resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
- engines: {node: '>=6'}
+ '@rushstack/eslint-patch@1.16.1':
+ resolution: {integrity: sha512-TvZbIpeKqGQQ7X0zSCvPH9riMSFQFSggnfBjFZ1mEoILW+UuXCKwOoPcgjMwiUtRqFZ8jWhPJc4um14vC6I4ag==}
- deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ '@shikijs/core@3.9.1':
+ resolution: {integrity: sha512-W5Vwen0KJCtR7KFRo+3JLGAqLUPsfW7e+wZ4yaRBGIogwI9ZlnkpRm9ZV8JtfzMxOkIwZwMmmN0hNErLtm3AYg==}
- define-data-property@1.1.4:
- resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
- engines: {node: '>= 0.4'}
+ '@shikijs/engine-javascript@3.9.1':
+ resolution: {integrity: sha512-4hGenxYpAmtALryKsdli2K58F0s7RBYpj/RSDcAAGfRM6eTEGI5cZnt86mr+d9/4BaZ5sH5s4p3VU5irIdhj9Q==}
- define-properties@1.2.1:
- resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
- engines: {node: '>= 0.4'}
+ '@shikijs/engine-oniguruma@3.9.1':
+ resolution: {integrity: sha512-WPlL/xqviwS3te4unSGGGfflKsuHLMI6tPdNYvgz/IygcBT6UiwDFSzjBKyebwi5GGSlXsjjdoJLIBnAplmEZw==}
- delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
+ '@shikijs/langs@3.9.1':
+ resolution: {integrity: sha512-Vyy2Yv9PP3Veh3VSsIvNncOR+O93wFsNYgN2B6cCCJlS7H9SKFYc55edsqernsg8WT/zam1cfB6llJsQWLnVhA==}
- dequal@2.0.3:
- resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
- engines: {node: '>=6'}
+ '@shikijs/themes@3.9.1':
+ resolution: {integrity: sha512-zAykkGECNICCMXpKeVvq04yqwaSuAIvrf8MjsU5bzskfg4XreU+O0B5wdNCYRixoB9snd3YlZ373WV5E/g5T9A==}
- doctrine@2.1.0:
- resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
- engines: {node: '>=0.10.0'}
+ '@shikijs/twoslash@3.9.1':
+ resolution: {integrity: sha512-1LT/7lOmJXDBe9nOSH7UweUMNWSvCHGGi122aZ77/Ctug6XbCL/9FY+Oh0ggWWgig/gpdXpHyTWGNQuzPbAUGQ==}
+ peerDependencies:
+ typescript: '>=5.5.0'
- dom-accessibility-api@0.5.16:
- resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
+ '@shikijs/types@3.9.1':
+ resolution: {integrity: sha512-rqM3T7a0iM1oPKz9iaH/cVgNX9Vz1HERcUcXJ94/fulgVdwqfnhXzGxO4bLrAnh/o5CPLy3IcYedogfV+Ns0Qg==}
- dom-accessibility-api@0.6.3:
- resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
+ '@shikijs/vscode-textmate@10.0.2':
+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
- dunder-proto@1.0.1:
- resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
- engines: {node: '>= 0.4'}
+ '@swc/helpers@0.5.15':
+ resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
- eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ '@swc/helpers@0.5.18':
+ resolution: {integrity: sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==}
- emoji-regex@10.4.0:
- resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
+ '@tailwindcss/node@4.3.0':
+ resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==}
- emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ '@tailwindcss/oxide-android-arm64@4.3.0':
+ resolution: {integrity: sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [android]
- emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ '@tailwindcss/oxide-darwin-arm64@4.3.0':
+ resolution: {integrity: sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [darwin]
- enhanced-resolve@5.18.0:
- resolution: {integrity: sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==}
- engines: {node: '>=10.13.0'}
+ '@tailwindcss/oxide-darwin-x64@4.3.0':
+ resolution: {integrity: sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [darwin]
- entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
+ '@tailwindcss/oxide-freebsd-x64@4.3.0':
+ resolution: {integrity: sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [freebsd]
- env-paths@3.0.0:
- resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0':
+ resolution: {integrity: sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==}
+ engines: {node: '>= 20'}
+ cpu: [arm]
+ os: [linux]
- environment@1.1.0:
- resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
- engines: {node: '>=18'}
+ '@tailwindcss/oxide-linux-arm64-gnu@4.3.0':
+ resolution: {integrity: sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [linux]
- es-abstract@1.23.7:
- resolution: {integrity: sha512-OygGC8kIcDhXX+6yAZRGLqwi2CmEXCbLQixeGUgYeR+Qwlppqmo7DIDr8XibtEBZp+fJcoYpoatp5qwLMEdcqQ==}
- engines: {node: '>= 0.4'}
+ '@tailwindcss/oxide-linux-arm64-musl@4.3.0':
+ resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [linux]
- es-define-property@1.0.1:
- resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
- engines: {node: '>= 0.4'}
+ '@tailwindcss/oxide-linux-x64-gnu@4.3.0':
+ resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [linux]
- es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
+ '@tailwindcss/oxide-linux-x64-musl@4.3.0':
+ resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [linux]
- es-module-lexer@1.6.0:
- resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==}
+ '@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
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.3.0':
+ resolution: {integrity: sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [win32]
- es-object-atoms@1.0.0:
- resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
- engines: {node: '>= 0.4'}
+ '@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]
- es-set-tostringtag@2.0.3:
- resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
- engines: {node: '>= 0.4'}
+ '@tailwindcss/oxide@4.3.0':
+ resolution: {integrity: sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==}
+ engines: {node: '>= 20'}
- es-shim-unscopables@1.0.2:
- resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+ '@tailwindcss/postcss@4.3.0':
+ resolution: {integrity: sha512-Jm05Tjx+9yCLGv5qw1c+84Psds8MnyrEQYCB+FFk2lgGiUjlRqdxke4mVTuYrj2xnVZqKim2Apr5ySuQRYAw/w==}
- es-to-primitive@1.3.0:
- resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
- engines: {node: '>= 0.4'}
+ '@tanstack/react-virtual@3.13.12':
+ resolution: {integrity: sha512-Gd13QdxPSukP8ZrkbgS2RwoZseTTbQPLnQEn7HY/rqtM+8Zt95f7xKC7N0EsKs7aoz0WzZ+fditZux+F8EzYxA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- esbuild@0.21.5:
- resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
- engines: {node: '>=12'}
- hasBin: true
+ '@tanstack/virtual-core@3.13.12':
+ resolution: {integrity: sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==}
- esbuild@0.24.2:
- resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
+ '@testing-library/dom@10.4.0':
+ resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
engines: {node: '>=18'}
- hasBin: true
-
- escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
- eslint-import-resolver-node@0.3.9:
- resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+ '@testing-library/jest-dom@6.9.1':
+ resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==}
+ engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
- eslint-import-resolver-typescript@3.7.0:
- resolution: {integrity: sha512-Vrwyi8HHxY97K5ebydMtffsWAn1SCR9eol49eCd5fJS4O1WV7PaAjbcjmbfJJSMz/t4Mal212Uz/fQZrOB8mow==}
- engines: {node: ^14.18.0 || >=16.0.0}
+ '@testing-library/react@16.3.2':
+ resolution: {integrity: sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==}
+ engines: {node: '>=18'}
peerDependencies:
- eslint: '*'
- eslint-plugin-import: '*'
- eslint-plugin-import-x: '*'
+ '@testing-library/dom': ^10.0.0
+ '@types/react': ^18.0.0 || ^19.0.0
+ '@types/react-dom': ^18.0.0 || ^19.0.0
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
peerDependenciesMeta:
- eslint-plugin-import:
+ '@types/react':
optional: true
- eslint-plugin-import-x:
+ '@types/react-dom':
optional: true
- eslint-module-utils@2.12.0:
- resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==}
- engines: {node: '>=4'}
+ '@testing-library/user-event@14.6.1':
+ resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==}
+ engines: {node: '>=12', npm: '>=6'}
peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: '*'
- eslint-import-resolver-node: '*'
- eslint-import-resolver-typescript: '*'
- eslint-import-resolver-webpack: '*'
- peerDependenciesMeta:
- '@typescript-eslint/parser':
- optional: true
- eslint:
- optional: true
- eslint-import-resolver-node:
- optional: true
- eslint-import-resolver-typescript:
- optional: true
- eslint-import-resolver-webpack:
- optional: true
+ '@testing-library/dom': '>=7.21.4'
- eslint-plugin-import@2.31.0:
- resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==}
- engines: {node: '>=4'}
+ '@theguild/remark-mermaid@0.3.0':
+ resolution: {integrity: sha512-Fy1J4FSj8totuHsHFpaeWyWRaRSIvpzGTRoEfnNJc1JmLV9uV70sYE3zcT+Jj5Yw20Xq4iCsiT+3Ho49BBZcBQ==}
peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9
- peerDependenciesMeta:
- '@typescript-eslint/parser':
- optional: true
+ react: ^18.2.0 || ^19.0.0
- eslint-plugin-react-debug@1.22.1:
- resolution: {integrity: sha512-dtXr9UTiWWSVkwNkaYkA04khR6xebqLeX3O8/ZJfIeFaA+58DRhwWGqzywLDjjLIM7s0V7UmuuvAGff8CVS9fA==}
- engines: {bun: '>=1.0.15', node: '>=18.18.0'}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: ^4.9.5 || ^5.3.3
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@theguild/remark-npm2yarn@0.3.3':
+ resolution: {integrity: sha512-ma6DvR03gdbvwqfKx1omqhg9May/VYGdMHvTzB4VuxkyS7KzfZ/lzrj43hmcsggpMje0x7SADA/pcMph0ejRnA==}
- eslint-plugin-react-dom@1.22.1:
- resolution: {integrity: sha512-uQg81POQCR1rDlOfvzRZQ0KoJeLkSmpsmGLU0r5unsCNJFF6hCEcqhYHapmn7oLV/6MebLF2exptsXjNc+L7rQ==}
- engines: {bun: '>=1.0.15', node: '>=18.18.0'}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: ^4.9.5 || ^5.3.3
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@ts-morph/common@0.28.1':
+ resolution: {integrity: sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==}
- eslint-plugin-react-hooks-extra@1.22.1:
- resolution: {integrity: sha512-9g+Cxf76nne6n9cPOzQpj4S6f8XgSqRwkDO/XbHzuU6xgaxc2Y/9lD9YX1N9Tm3d86XtdLHkWfDFBD4SigSC2Q==}
- engines: {bun: '>=1.0.15', node: '>=18.18.0'}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: ^4.9.5 || ^5.3.3
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@turbo/darwin-64@2.9.12':
+ resolution: {integrity: sha512-eu3eFRmE9NjgZ0wPdRJ44l+LGSeIky+tz5ZQd8zQkw/Yqi+BM7wq+8nbabeoiVUcICi/IZweMOKl/MCmkrd1+g==}
+ cpu: [x64]
+ os: [darwin]
- eslint-plugin-react-hooks@5.1.0:
- resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==}
- engines: {node: '>=10'}
- peerDependencies:
- eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
+ '@turbo/darwin-arm64@2.9.12':
+ resolution: {integrity: sha512-RUkAE404z/J8NsyrUosMcBaXT6M4bRFxTQrmkDQBLQVXaC8Jl0e9bMvYDSX0GW7Ffm2m3j9y7RXgR1foeUAM9w==}
+ cpu: [arm64]
+ os: [darwin]
- eslint-plugin-react-naming-convention@1.22.1:
- resolution: {integrity: sha512-KXsHYBk9x9+UYoXfLHbKrc1ntXu+TYIB5nmwEUP5PrjcmUO4GuFNFDzWSqUVileQbJPAXWBUwEBGfwCePGwJrg==}
- engines: {bun: '>=1.0.15', node: '>=18.18.0'}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: ^4.9.5 || ^5.3.3
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@turbo/linux-64@2.9.12':
+ resolution: {integrity: sha512-InIUtH7cw/vqXNX1Gr7QgWfmw3ct08pV5CpfdEOR48z2u2rzdmpIuk00B/Q2xCb0PMWtKgiMQynfuphmEuUyTQ==}
+ cpu: [x64]
+ os: [linux]
- eslint-plugin-react-web-api@1.22.1:
- resolution: {integrity: sha512-g/m8c61PWqVmF2P5P9nrL7jobTCbBRdChTfL1fSMXmI9Ax3Ggl+7dWLhIFSRffEUIOOE6aAHrMT3EBWXM25uYQ==}
- engines: {bun: '>=1.0.15', node: '>=18.18.0'}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: ^4.9.5 || ^5.3.3
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@turbo/linux-arm64@2.9.12':
+ resolution: {integrity: sha512-lC6nD//Xh67fmJM0LKaLsg74Wry0aYrgMklpiNgCbUaMdPIOqj0A00iri3NU7Lb7pZHx8ViisgpeDKlpSgFUCA==}
+ cpu: [arm64]
+ os: [linux]
- eslint-plugin-react-x@1.22.1:
- resolution: {integrity: sha512-+YoMnr/JLoXIhviecNYsY7kcjHaOQBOyT7wQjyaxxNrqGeTKPJI6rtk+Sb7ZGXDXVg3L8S+gyzS2VQTt9KS9gQ==}
- engines: {bun: '>=1.0.15', node: '>=18.18.0'}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: ^4.9.5 || ^5.3.3
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@turbo/windows-64@2.9.12':
+ resolution: {integrity: sha512-conYri8VUl72JOdYnLDPYwzqbPcY5ECoHmo9FWoKznemhaAIilj4maHqs9Uar0aKfNoZIULniy+6iWaLtLO34A==}
+ cpu: [x64]
+ os: [win32]
- eslint-scope@8.2.0:
- resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@turbo/windows-arm64@2.9.12':
+ resolution: {integrity: sha512-XoR4bsg62/L/esRVcmoMESEiNZ36+YmyjYGLpoqk8nwMgXzzVjNOgX0lRSz5w/U/ajLGv3nhMsS0Q2QOdvp2AQ==}
+ cpu: [arm64]
+ os: [win32]
- eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@tybys/wasm-util@0.10.2':
+ resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==}
- eslint-visitor-keys@4.2.0:
- resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@types/aria-query@5.0.4':
+ resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
- eslint@9.17.0:
- resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- hasBin: true
- peerDependencies:
- jiti: '*'
- peerDependenciesMeta:
- jiti:
- optional: true
+ '@types/d3-array@3.2.1':
+ resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==}
- espree@10.3.0:
- resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@types/d3-axis@3.0.6':
+ resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
- esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
- hasBin: true
+ '@types/d3-brush@3.0.6':
+ resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
- esquery@1.6.0:
- resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
- engines: {node: '>=0.10'}
+ '@types/d3-chord@3.0.6':
+ resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
- esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
+ '@types/d3-color@3.1.3':
+ resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
- estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
+ '@types/d3-contour@3.0.6':
+ resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
- estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ '@types/d3-delaunay@6.0.4':
+ resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
- esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
+ '@types/d3-dispatch@3.0.7':
+ resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==}
- eventemitter3@5.0.1:
- resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
+ '@types/d3-drag@3.0.7':
+ resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
- execa@8.0.1:
- resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
- engines: {node: '>=16.17'}
+ '@types/d3-dsv@3.0.7':
+ resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
- expect-type@1.1.0:
- resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==}
- engines: {node: '>=12.0.0'}
+ '@types/d3-ease@3.0.2':
+ resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
- fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ '@types/d3-fetch@3.0.7':
+ resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
- fast-equals@5.0.1:
- resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==}
- engines: {node: '>=6.0.0'}
+ '@types/d3-force@3.0.10':
+ resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==}
- fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
+ '@types/d3-format@3.0.4':
+ resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
- fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ '@types/d3-geo@3.1.0':
+ resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
- fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ '@types/d3-hierarchy@3.1.7':
+ resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==}
- fastq@1.18.0:
- resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==}
+ '@types/d3-interpolate@3.0.4':
+ resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
- fdir@6.4.2:
- resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==}
- peerDependencies:
- picomatch: ^3 || ^4
- peerDependenciesMeta:
- picomatch:
- optional: true
+ '@types/d3-path@3.1.1':
+ resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==}
- fflate@0.8.2:
- resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
+ '@types/d3-polygon@3.0.2':
+ resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
- file-entry-cache@8.0.0:
- resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
- engines: {node: '>=16.0.0'}
+ '@types/d3-quadtree@3.0.6':
+ resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
- fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
+ '@types/d3-random@3.0.3':
+ resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
- find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
+ '@types/d3-scale-chromatic@3.1.0':
+ resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==}
- flat-cache@4.0.1:
- resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
- engines: {node: '>=16'}
+ '@types/d3-scale@4.0.9':
+ resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==}
- flatted@3.3.2:
- resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
+ '@types/d3-selection@3.0.11':
+ resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==}
- for-each@0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ '@types/d3-shape@3.1.7':
+ resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==}
- foreground-child@3.3.0:
- resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
- engines: {node: '>=14'}
+ '@types/d3-time-format@4.0.3':
+ resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
- form-data@4.0.1:
- resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==}
- engines: {node: '>= 6'}
+ '@types/d3-time@3.0.4':
+ resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
- fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
+ '@types/d3-timer@3.0.2':
+ resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
- function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ '@types/d3-transition@3.0.9':
+ resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==}
- function.prototype.name@1.1.8:
- resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
- engines: {node: '>= 0.4'}
+ '@types/d3-zoom@3.0.8':
+ resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
- functions-have-names@1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ '@types/d3@7.4.3':
+ resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
- gensequence@7.0.0:
- resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==}
- engines: {node: '>=18'}
+ '@types/debug@4.1.12':
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
- get-east-asian-width@1.3.0:
- resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==}
- engines: {node: '>=18'}
+ '@types/eslint@9.6.1':
+ resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
- get-intrinsic@1.2.6:
- resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==}
- engines: {node: '>= 0.4'}
+ '@types/esrecurse@4.3.1':
+ resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==}
- get-stream@8.0.1:
- resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
- engines: {node: '>=16'}
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
- get-symbol-description@1.1.0:
- resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
- engines: {node: '>= 0.4'}
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
- get-tsconfig@4.8.1:
- resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==}
+ '@types/geojson@7946.0.16':
+ resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
+ '@types/hast@3.0.4':
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
- glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- glob@10.4.5:
- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
- hasBin: true
+ '@types/json5@0.0.29':
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
- global-directory@4.0.1:
- resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
- engines: {node: '>=18'}
+ '@types/katex@0.16.7':
+ resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
- globals@14.0.0:
- resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
- engines: {node: '>=18'}
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
- globalthis@1.0.4:
- resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
- engines: {node: '>= 0.4'}
+ '@types/mdx@2.0.13':
+ resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
- gopd@1.2.0:
- resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
- engines: {node: '>= 0.4'}
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
- graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ '@types/nlcst@2.0.3':
+ resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
- graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ '@types/node@20.19.41':
+ resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==}
- has-bigints@1.1.0:
- resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
- engines: {node: '>= 0.4'}
+ '@types/node@25.7.0':
+ resolution: {integrity: sha512-z+pdZyxE+RTQE9AcboAZCb4otwcrvgHD+GlBpPgn0emDVt0ohrTMhAwlr2Wd9nZ+nihhYFxO2pThz3C5qSu2Eg==}
- has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
+ '@types/react-dom@19.2.3':
+ resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
+ peerDependencies:
+ '@types/react': ^19.2.0
- has-own-prop@2.0.0:
- resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==}
- engines: {node: '>=8'}
+ '@types/react@19.2.14':
+ resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
- has-property-descriptors@1.0.2:
- resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+ '@types/trusted-types@2.0.7':
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
- has-proto@1.2.0:
- resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
- engines: {node: '>= 0.4'}
+ '@types/unist@2.0.11':
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
- has-symbols@1.1.0:
- resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
- engines: {node: '>= 0.4'}
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
- has-tostringtag@1.0.2:
- resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
- engines: {node: '>= 0.4'}
+ '@types/zen-observable@0.8.3':
+ resolution: {integrity: sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==}
- hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
+ '@typescript-eslint/eslint-plugin@8.59.3':
+ resolution: {integrity: sha512-PwFvSKsXGShKGW6n5bZOhGHEcCZXM8HofLK9fNsEwZXzFRjoY+XT1Vsf1zgyXdwTr0ZYz1/2tkZ0DBTT9jZjhw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^8.59.3
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
- html-encoding-sniffer@4.0.0:
- resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
- engines: {node: '>=18'}
+ '@typescript-eslint/parser@8.59.3':
+ resolution: {integrity: sha512-HPwA+hVkfcriajbNvTmZv4VRauibay+cWArYUYq7u7W7PmGShMxbPxLvrwDme55a6d5alG3nrYfhyJ/G28XlLg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
- http-proxy-agent@7.0.2:
- resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
- engines: {node: '>= 14'}
+ '@typescript-eslint/project-service@8.59.3':
+ resolution: {integrity: sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.1.0'
- https-proxy-agent@7.0.6:
- resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
- engines: {node: '>= 14'}
+ '@typescript-eslint/scope-manager@8.59.3':
+ resolution: {integrity: sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- human-signals@5.0.0:
- resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
- engines: {node: '>=16.17.0'}
+ '@typescript-eslint/tsconfig-utils@8.59.3':
+ resolution: {integrity: sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.1.0'
- husky@9.1.7:
- resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
- engines: {node: '>=18'}
- hasBin: true
+ '@typescript-eslint/type-utils@8.59.3':
+ resolution: {integrity: sha512-g71d8QD8UaiHGvrJwyIS1hCX5r63w6Jll+4VEYhEAHXTDIqX1JgxhTAbEHtKntL9kuc4jRo7/GWw5xfCepSccQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
- iconv-lite@0.6.3:
- resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
- engines: {node: '>=0.10.0'}
+ '@typescript-eslint/types@8.59.3':
+ resolution: {integrity: sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- ignore@5.3.2:
- resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
- engines: {node: '>= 4'}
+ '@typescript-eslint/typescript-estree@8.59.3':
+ resolution: {integrity: sha512-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.1.0'
- import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
+ '@typescript-eslint/utils@8.59.3':
+ resolution: {integrity: sha512-JAvT14goBzRzzzZyqq3P9BLArIxTtQURUtFgQ/V7FO+eU+Gg6ES+5ymOPP1wRxXcxAYeivCk4uS3jCKWI1K8Zg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
- import-meta-resolve@4.1.0:
- resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
+ '@typescript-eslint/visitor-keys@8.59.3':
+ resolution: {integrity: sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
+ '@typescript/vfs@1.6.1':
+ resolution: {integrity: sha512-JwoxboBh7Oz1v38tPbkrZ62ZXNHAk9bJ7c9x0eI5zBfBnBYGhURdbnh7Z4smN/MV48Y5OCcZb58n972UtbazsA==}
+ peerDependencies:
+ typescript: '*'
- indent-string@4.0.0:
- resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
- engines: {node: '>=8'}
+ '@uidotdev/usehooks@2.4.1':
+ resolution: {integrity: sha512-1I+RwWyS+kdv3Mv0Vmc+p0dPYH0DTRAo04HLyXReYBL9AeseDWUJyi4THuksBJcu9F0Pih69Ak150VDnqbVnXg==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ react: '>=18.0.0'
+ react-dom: '>=18.0.0'
- ini@4.1.1:
- resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@ungap/structured-clone@1.3.0':
+ resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+ deprecated: Potential CWE-502 - Update to 1.3.1 or higher
- internal-slot@1.1.0:
- resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
- engines: {node: '>= 0.4'}
+ '@unrs/resolver-binding-android-arm-eabi@1.11.1':
+ resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==}
+ cpu: [arm]
+ os: [android]
- is-array-buffer@3.0.5:
- resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
- engines: {node: '>= 0.4'}
+ '@unrs/resolver-binding-android-arm64@1.11.1':
+ resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==}
+ cpu: [arm64]
+ os: [android]
- is-async-function@2.0.0:
- resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
- engines: {node: '>= 0.4'}
+ '@unrs/resolver-binding-darwin-arm64@1.11.1':
+ resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==}
+ cpu: [arm64]
+ os: [darwin]
- is-bigint@1.1.0:
- resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
- engines: {node: '>= 0.4'}
+ '@unrs/resolver-binding-darwin-x64@1.11.1':
+ resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==}
+ cpu: [x64]
+ os: [darwin]
- is-boolean-object@1.2.1:
- resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==}
- engines: {node: '>= 0.4'}
+ '@unrs/resolver-binding-freebsd-x64@1.11.1':
+ resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==}
+ cpu: [x64]
+ os: [freebsd]
- is-bun-module@1.3.0:
- resolution: {integrity: sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==}
+ '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1':
+ resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==}
+ cpu: [arm]
+ os: [linux]
- is-callable@1.2.7:
- resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
- engines: {node: '>= 0.4'}
+ '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1':
+ resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==}
+ cpu: [arm]
+ os: [linux]
- is-core-module@2.16.1:
- resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
- engines: {node: '>= 0.4'}
+ '@unrs/resolver-binding-linux-arm64-gnu@1.11.1':
+ resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==}
+ cpu: [arm64]
+ os: [linux]
- is-data-view@1.0.2:
- resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
- engines: {node: '>= 0.4'}
+ '@unrs/resolver-binding-linux-arm64-musl@1.11.1':
+ resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==}
+ cpu: [arm64]
+ os: [linux]
- is-date-object@1.1.0:
- resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
- engines: {node: '>= 0.4'}
+ '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
+ resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==}
+ cpu: [ppc64]
+ os: [linux]
- is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
+ '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
+ resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==}
+ cpu: [riscv64]
+ os: [linux]
- is-finalizationregistry@1.1.1:
- resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
- engines: {node: '>= 0.4'}
+ '@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
+ resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
+ resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-x64-gnu@1.11.1':
+ resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==}
+ cpu: [x64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-x64-musl@1.11.1':
+ resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==}
+ cpu: [x64]
+ os: [linux]
+
+ '@unrs/resolver-binding-wasm32-wasi@1.11.1':
+ resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@unrs/resolver-binding-win32-arm64-msvc@1.11.1':
+ resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@unrs/resolver-binding-win32-ia32-msvc@1.11.1':
+ resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@unrs/resolver-binding-win32-x64-msvc@1.11.1':
+ resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==}
+ cpu: [x64]
+ os: [win32]
+
+ '@vitest/expect@2.1.9':
+ resolution: {integrity: sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==}
+
+ '@vitest/mocker@2.1.9':
+ resolution: {integrity: sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==}
+ peerDependencies:
+ msw: ^2.4.9
+ vite: ^5.0.0
+ peerDependenciesMeta:
+ msw:
+ optional: true
+ vite:
+ optional: true
+
+ '@vitest/pretty-format@2.1.9':
+ resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==}
+
+ '@vitest/runner@2.1.9':
+ resolution: {integrity: sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==}
+
+ '@vitest/snapshot@2.1.9':
+ resolution: {integrity: sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==}
+
+ '@vitest/spy@2.1.9':
+ resolution: {integrity: sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==}
+
+ '@vitest/utils@2.1.9':
+ resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==}
+
+ '@xmldom/xmldom@0.9.8':
+ resolution: {integrity: sha512-p96FSY54r+WJ50FIOsCOjyj/wavs8921hG5+kVMmZgKcvIKxMXHTrjNJvRgWa/zuX3B6t2lijLNFaOyuxUH+2A==}
+ engines: {node: '>=14.6'}
+ deprecated: this version has critical issues, please update to the latest version
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn@8.14.0:
+ resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ acorn@8.16.0:
+ resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ agent-base@7.1.4:
+ resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
+ engines: {node: '>= 14'}
+
+ ajv@6.15.0:
+ resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==}
+
+ ansi-escapes@7.3.0:
+ resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==}
+ engines: {node: '>=18'}
- is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
- is-fullwidth-code-point@4.0.0:
- resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
engines: {node: '>=12'}
- is-fullwidth-code-point@5.0.0:
- resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
- engines: {node: '>=18'}
+ ansi-sequence-parser@1.1.1:
+ resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==}
- is-generator-function@1.0.10:
- resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
- engines: {node: '>= 0.4'}
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
- is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
+ ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
- is-immutable-type@5.0.0:
- resolution: {integrity: sha512-mcvHasqbRBWJznuPqqHRKiJgYAz60sZ0mvO3bN70JbkuK7ksfmgc489aKZYxMEjIbRvyOseaTjaRZLRF/xFeRA==}
- peerDependencies:
- eslint: '*'
- typescript: '>=4.7.4'
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
+ engines: {node: '>=12'}
- is-map@2.0.3:
- resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+ ansis@4.2.0:
+ resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==}
+ engines: {node: '>=14'}
+
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ aria-query@5.3.0:
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+
+ aria-query@5.3.2:
+ resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
engines: {node: '>= 0.4'}
- is-number-object@1.1.1:
- resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
+ array-buffer-byte-length@1.0.2:
+ resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
engines: {node: '>= 0.4'}
- is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
+ array-includes@3.1.9:
+ resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==}
+ engines: {node: '>= 0.4'}
- is-potential-custom-element-name@1.0.1:
- resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+ array-iterate@2.0.1:
+ resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
- is-regex@1.2.1:
- resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
+ array-timsort@1.0.3:
+ resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==}
+
+ array.prototype.findlast@1.2.5:
+ resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
engines: {node: '>= 0.4'}
- is-set@2.0.3:
- resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+ array.prototype.findlastindex@1.2.6:
+ resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==}
engines: {node: '>= 0.4'}
- is-shared-array-buffer@1.0.4:
- resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
+ array.prototype.flat@1.3.3:
+ resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
engines: {node: '>= 0.4'}
- is-stream@3.0.0:
- resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ array.prototype.flatmap@1.3.3:
+ resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
+ engines: {node: '>= 0.4'}
- is-string@1.1.1:
- resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
+ array.prototype.tosorted@1.1.4:
+ resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
engines: {node: '>= 0.4'}
- is-symbol@1.1.1:
- resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
+ arraybuffer.prototype.slice@1.0.4:
+ resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
engines: {node: '>= 0.4'}
- is-typed-array@1.1.15:
- resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
+ assertion-error@2.0.1:
+ resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
+ engines: {node: '>=12'}
+
+ ast-kit@2.2.0:
+ resolution: {integrity: sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==}
+ engines: {node: '>=20.19.0'}
+
+ ast-types-flow@0.0.8:
+ resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
+
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
+ hasBin: true
+
+ async-function@1.0.0:
+ resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
engines: {node: '>= 0.4'}
- is-weakmap@2.0.2:
- resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
+ available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
- is-weakref@1.1.0:
- resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==}
+ axe-core@4.10.3:
+ resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==}
+ engines: {node: '>=4'}
+
+ axobject-query@4.1.0:
+ resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
engines: {node: '>= 0.4'}
- is-weakset@2.0.4:
- resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
+ bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ balanced-match@4.0.4:
+ resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
+ engines: {node: 18 || 20 || >=22}
+
+ baseline-browser-mapping@2.10.29:
+ resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ better-react-mathjax@2.3.0:
+ resolution: {integrity: sha512-K0ceQC+jQmB+NLDogO5HCpqmYf18AU2FxDbLdduYgkHYWZApFggkHE4dIaXCV1NqeoscESYXXo1GSkY6fA295w==}
+ peerDependencies:
+ react: '>=16.8'
+
+ birecord@0.1.1:
+ resolution: {integrity: sha512-VUpsf/qykW0heRlC8LooCq28Kxn3mAqKohhDG/49rrsQ1dT1CXyj/pgXS+5BSRzFTR/3DyIBOqQOrGyZOh71Aw==}
+
+ birpc@4.0.0:
+ resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==}
+
+ brace-expansion@1.1.12:
+ resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
+
+ brace-expansion@1.1.14:
+ resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==}
+
+ 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'}
+
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
- isarray@2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ call-bind@1.0.8:
+ resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
+ engines: {node: '>= 0.4'}
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ call-bound@1.0.4:
+ resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
+ engines: {node: '>= 0.4'}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ caniuse-lite@1.0.30001792:
+ resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==}
- jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
+ ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
- joycon@3.1.1:
- resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
+ chai@5.3.3:
+ resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==}
+ engines: {node: '>=18'}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
- js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ chalk@5.6.2:
+ resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
+ character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+
+ character-entities-legacy@3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+
+ character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+
+ character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+
+ check-error@2.1.3:
+ resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==}
+ engines: {node: '>= 16'}
+
+ chevrotain-allstar@0.3.1:
+ resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==}
+ peerDependencies:
+ chevrotain: ^11.0.0
+
+ chevrotain@11.0.3:
+ resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==}
+
+ clear-module@4.1.3:
+ resolution: {integrity: sha512-XdLrg7BnbXKntyrbs2dNjDN9CVoTQ+WV0i7jT5/r9ahzAaSDSzC9e2OVZB/QVwbxBb1/1AeObzjlxsYk5HFvww==}
+ engines: {node: '>=8'}
+
+ cli-cursor@5.0.0:
+ resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
+ engines: {node: '>=18'}
+
+ cli-truncate@4.0.0:
+ resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
+ engines: {node: '>=18'}
+
+ client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+
+ clipboardy@4.0.0:
+ resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==}
+ engines: {node: '>=18'}
+
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ code-block-writer@13.0.3:
+ resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==}
+
+ codehike@1.1.0:
+ resolution: {integrity: sha512-hOxqmTHjiOxhlcVEuDTCoAQ8TW358HVrNKlOwuKcnbwkuTpbGtwj5TnQ7AZjnZiQvJ3LeXohrd1E7qfYYN0Rdg==}
+
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
+ comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+
+ commander@13.1.0:
+ resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
+ engines: {node: '>=18'}
+
+ 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'}
+
+ comment-json@4.6.2:
+ resolution: {integrity: sha512-R2rze/hDX30uul4NZoIZ76ImSJLFxn/1/ZxtKC1L77y2X1k+yYu1joKbAtMA2Fg3hZrTOiw0I5mwVMo0cf250w==}
+ engines: {node: '>= 6'}
+
+ compare-versions@6.1.1:
+ resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==}
+
+ compute-scroll-into-view@3.1.1:
+ resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ confbox@0.1.8:
+ resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
+
+ confbox@0.2.2:
+ resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
+
+ cose-base@1.0.3:
+ resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
+
+ cose-base@2.2.0:
+ resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==}
+
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
+ cspell-config-lib@8.19.4:
+ resolution: {integrity: sha512-LtFNZEWVrnpjiTNgEDsVN05UqhhJ1iA0HnTv4jsascPehlaUYVoyucgNbFeRs6UMaClJnqR0qT9lnPX+KO1OLg==}
+ engines: {node: '>=18'}
+
+ cspell-dictionary@8.19.4:
+ resolution: {integrity: sha512-lr8uIm7Wub8ToRXO9f6f7in429P1Egm3I+Ps3ZGfWpwLTCUBnHvJdNF/kQqF7PL0Lw6acXcjVWFYT7l2Wdst2g==}
+ engines: {node: '>=18'}
+
+ cspell-glob@8.19.4:
+ resolution: {integrity: sha512-042uDU+RjAz882w+DXKuYxI2rrgVPfRQDYvIQvUrY1hexH4sHbne78+OMlFjjzOCEAgyjnm1ktWUCCmh08pQUw==}
+ engines: {node: '>=18'}
+
+ cspell-grammar@8.19.4:
+ resolution: {integrity: sha512-lzWgZYTu/L7DNOHjxuKf8H7DCXvraHMKxtFObf8bAzgT+aBmey5fW2LviXUkZ2Lb2R0qQY+TJ5VIGoEjNf55ow==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ cspell-io@8.19.4:
+ resolution: {integrity: sha512-W48egJqZ2saEhPWf5ftyighvm4mztxEOi45ILsKgFikXcWFs0H0/hLwqVFeDurgELSzprr12b6dXsr67dV8amg==}
+ engines: {node: '>=18'}
+
+ cspell-lib@8.19.4:
+ resolution: {integrity: sha512-NwfdCCYtIBNQuZcoMlMmL3HSv2olXNErMi/aOTI9BBAjvCHjhgX5hbHySMZ0NFNynnN+Mlbu5kooJ5asZeB3KA==}
+ engines: {node: '>=18'}
+
+ cspell-trie-lib@8.19.4:
+ resolution: {integrity: sha512-yIPlmGSP3tT3j8Nmu+7CNpkPh/gBO2ovdnqNmZV+LNtQmVxqFd2fH7XvR1TKjQyctSH1ip0P5uIdJmzY1uhaYg==}
+ engines: {node: '>=18'}
+
+ css.escape@1.5.1:
+ resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
+
+ cssstyle@4.6.0:
+ resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==}
+ engines: {node: '>=18'}
+
+ csstype@3.2.3:
+ resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
+
+ cytoscape-cose-bilkent@4.1.0:
+ resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
+ peerDependencies:
+ cytoscape: ^3.2.0
+
+ cytoscape-fcose@2.2.0:
+ resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==}
+ peerDependencies:
+ cytoscape: ^3.2.0
+
+ cytoscape@3.33.0:
+ resolution: {integrity: sha512-2d2EwwhaxLWC8ahkH1PpQwCyu6EY3xDRdcEJXrLTb4fOUtVc+YWQalHU67rFS1a6ngj1fgv9dQLtJxP/KAFZEw==}
+ engines: {node: '>=0.10'}
+
+ d3-array@2.12.1:
+ resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
+
+ d3-array@3.2.4:
+ resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
+ engines: {node: '>=12'}
+
+ d3-axis@3.0.0:
+ resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
+ engines: {node: '>=12'}
+
+ d3-brush@3.0.0:
+ resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
+ engines: {node: '>=12'}
+
+ d3-chord@3.0.1:
+ resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
+ engines: {node: '>=12'}
+
+ d3-color@3.1.0:
+ resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
+ engines: {node: '>=12'}
+
+ d3-contour@4.0.2:
+ resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
+ engines: {node: '>=12'}
+
+ d3-delaunay@6.0.4:
+ resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
+ engines: {node: '>=12'}
+
+ d3-dispatch@3.0.1:
+ resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
+ engines: {node: '>=12'}
+
+ d3-drag@3.0.0:
+ resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
+ engines: {node: '>=12'}
+
+ d3-dsv@3.0.1:
+ resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ d3-ease@3.0.1:
+ resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
+ engines: {node: '>=12'}
+
+ d3-fetch@3.0.1:
+ resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
+ engines: {node: '>=12'}
+
+ d3-force@3.0.0:
+ resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
+ engines: {node: '>=12'}
+
+ d3-format@3.1.0:
+ resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
+ engines: {node: '>=12'}
+
+ d3-geo@3.1.1:
+ resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==}
+ engines: {node: '>=12'}
+
+ d3-hierarchy@3.1.2:
+ resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
+ engines: {node: '>=12'}
+
+ d3-interpolate@3.0.1:
+ resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
+ engines: {node: '>=12'}
+
+ d3-path@1.0.9:
+ resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
+
+ d3-path@3.1.0:
+ resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
+ engines: {node: '>=12'}
+
+ d3-polygon@3.0.1:
+ resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
+ engines: {node: '>=12'}
+
+ d3-quadtree@3.0.1:
+ resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
+ engines: {node: '>=12'}
+
+ d3-random@3.0.1:
+ resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
+ engines: {node: '>=12'}
+
+ d3-sankey@0.12.3:
+ resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
+
+ d3-scale-chromatic@3.1.0:
+ resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==}
+ engines: {node: '>=12'}
+
+ d3-scale@4.0.2:
+ resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
+ engines: {node: '>=12'}
+
+ d3-selection@3.0.0:
+ resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
+ engines: {node: '>=12'}
+
+ d3-shape@1.3.7:
+ resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
+
+ d3-shape@3.2.0:
+ resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
+ engines: {node: '>=12'}
+
+ d3-time-format@4.1.0:
+ resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
+ engines: {node: '>=12'}
+
+ d3-time@3.1.0:
+ resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
+ engines: {node: '>=12'}
+
+ d3-timer@3.0.1:
+ resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
+ engines: {node: '>=12'}
+
+ d3-transition@3.0.1:
+ resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ d3-selection: 2 - 3
+
+ d3-zoom@3.0.0:
+ resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
+ engines: {node: '>=12'}
+
+ d3@7.9.0:
+ resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
+ engines: {node: '>=12'}
+
+ dagre-d3-es@7.0.11:
+ resolution: {integrity: sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==}
+
+ damerau-levenshtein@1.0.8:
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+
+ data-urls@5.0.0:
+ resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
+ engines: {node: '>=18'}
+
+ data-view-buffer@1.0.2:
+ resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-length@1.0.2:
+ resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-offset@1.0.1:
+ resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
+ engines: {node: '>= 0.4'}
+
+ dayjs@1.11.13:
+ resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
+
+ debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.4.1:
+ resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decimal.js@10.6.0:
+ resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
+
+ decode-named-character-reference@1.2.0:
+ resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==}
+
+ deep-eql@5.0.2:
+ resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
+ engines: {node: '>=6'}
+
+ deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+
+ define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+
+ defu@6.1.7:
+ resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==}
+
+ delaunator@5.0.1:
+ resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
+
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+
+ diff@5.2.0:
+ resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==}
+ engines: {node: '>=0.3.1'}
+
+ doctrine@2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+ engines: {node: '>=0.10.0'}
+
+ dom-accessibility-api@0.5.16:
+ resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
+
+ dom-accessibility-api@0.6.3:
+ resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
+
+ dompurify@3.2.6:
+ resolution: {integrity: sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==}
+
+ dts-resolver@2.1.3:
+ resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ oxc-resolver: '>=11.0.0'
+ peerDependenciesMeta:
+ oxc-resolver:
+ optional: true
+
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
+
+ emoji-regex@10.6.0:
+ resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ empathic@2.0.0:
+ resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==}
+ engines: {node: '>=14'}
+
+ enhanced-resolve@5.21.3:
+ resolution: {integrity: sha512-QyL119InA+XXEkNLNTPCXPugSvOfhwv0JOlGNzvxs0hZaiHLNvXSpudUWsOlsXGWJh8G6ckCScEkVHfX3kw/2Q==}
+ engines: {node: '>=10.13.0'}
+
+ entities@6.0.1:
+ resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
+ engines: {node: '>=0.12'}
+
+ env-paths@3.0.0:
+ resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ environment@1.1.0:
+ resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
+ engines: {node: '>=18'}
+
+ es-abstract@1.24.1:
+ resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==}
+ engines: {node: '>= 0.4'}
+
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-iterator-helpers@1.2.1:
+ resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==}
+ engines: {node: '>= 0.4'}
+
+ es-module-lexer@1.7.0:
+ resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+ engines: {node: '>= 0.4'}
+
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
+ engines: {node: '>= 0.4'}
+
+ es-shim-unscopables@1.1.0:
+ resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==}
+ engines: {node: '>= 0.4'}
+
+ es-to-primitive@1.3.0:
+ resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
+ engines: {node: '>= 0.4'}
+
+ esast-util-from-estree@2.0.0:
+ resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
+
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
+
+ esbuild@0.21.5:
+ resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ eslint-config-next@15.3.5:
+ resolution: {integrity: sha512-oQdvnIgP68wh2RlR3MdQpvaJ94R6qEFl+lnu8ZKxPj5fsAHrSF/HlAOZcsimLw3DT6bnEQIUdbZC2Ab6sWyptg==}
+ peerDependencies:
+ eslint: ^7.23.0 || ^8.0.0 || ^9.0.0
+ typescript: '>=3.3.1'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+
+ eslint-import-resolver-typescript@3.10.1:
+ resolution: {integrity: sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ eslint-plugin-import-x: '*'
+ peerDependenciesMeta:
+ eslint-plugin-import:
+ optional: true
+ eslint-plugin-import-x:
+ optional: true
+
+ eslint-module-utils@2.12.1:
+ resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+
+ eslint-plugin-import@2.32.0:
+ resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+
+ eslint-plugin-jsx-a11y@6.10.2:
+ resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9
+
+ eslint-plugin-react-debug@1.53.1:
+ resolution: {integrity: sha512-WNOiQ6jhodJE88VjBU/IVDM+2Zr9gKHlBFDUSA3fQ0dMB5RiBVj5wMtxbxRuipK/GqNJbteqHcZoYEod7nfddg==}
+ engines: {node: '>=18.18.0'}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ^4.9.5 || ^5.3.3
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ eslint-plugin-react-dom@1.53.1:
+ resolution: {integrity: sha512-UYrWJ2cS4HpJ1A5XBuf1HfMpPoLdfGil+27g/ldXfGemb4IXqlxHt4ANLyC8l2CWcE3SXGJW7mTslL34MG0qTQ==}
+ engines: {node: '>=18.18.0'}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ^4.9.5 || ^5.3.3
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ eslint-plugin-react-hooks-extra@1.53.1:
+ resolution: {integrity: sha512-fshTnMWNn9NjFLIuy7HzkRgGK29vKv4ZBO9UMr+kltVAfKLMeXXP6021qVKk66i/XhQjbktiS+vQsu1Rd3ZKvg==}
+ engines: {node: '>=18.18.0'}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ^4.9.5 || ^5.3.3
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ eslint-plugin-react-hooks@5.2.0:
+ resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
+
+ eslint-plugin-react-naming-convention@1.53.1:
+ resolution: {integrity: sha512-rvZ/B/CSVF8d34HQ4qIt90LRuxotVx+KUf3i1OMXAyhsagEFMRe4gAlPJiRufZ+h9lnuu279bEdd+NINsXOteA==}
+ engines: {node: '>=18.18.0'}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ^4.9.5 || ^5.3.3
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ eslint-plugin-react-web-api@1.53.1:
+ resolution: {integrity: sha512-INVZ3Cbl9/b+sizyb43ChzEPXXYuDsBGU9BIg7OVTNPyDPloCXdI+dQFAcSlDocZhPrLxhPV3eT6+gXbygzYXg==}
+ engines: {node: '>=18.18.0'}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ^4.9.5 || ^5.3.3
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ eslint-plugin-react-x@1.53.1:
+ resolution: {integrity: sha512-MwMNnVwiPem0U6SlejDF/ddA4h/lmP6imL1RDZ2m3pUBrcdcOwOx0gyiRVTA3ENnhRlWfHljHf5y7m8qDSxMEg==}
+ engines: {node: '>=18.18.0'}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ ts-api-utils: ^2.1.0
+ typescript: ^4.9.5 || ^5.3.3
+ peerDependenciesMeta:
+ ts-api-utils:
+ optional: true
+ typescript:
+ optional: true
+
+ eslint-plugin-react@7.37.5:
+ resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
+
+ eslint-scope@8.4.0:
+ resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint-scope@9.1.2:
+ resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+
+ eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint-visitor-keys@4.2.1:
+ resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint-visitor-keys@5.0.1:
+ resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+
+ eslint@10.3.0:
+ resolution: {integrity: sha512-XbEXaRva5cF0ZQB8w6MluHA0kZZfV2DuCMJ3ozyEOHLwDpZX2Lmm/7Pp0xdJmI0GL1W05VH5VwIFHEm1Vcw2gw==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+ hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+
+ eslint@9.39.4:
+ resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+
+ esm@3.2.25:
+ resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==}
+ engines: {node: '>=6'}
+
+ espree@10.3.0:
+ resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ espree@10.4.0:
+ resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ espree@11.2.0:
+ resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+
+ esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ esquery@1.7.0:
+ resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
+ engines: {node: '>=0.10'}
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ 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==}
+
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+
+ estree-util-is-identifier-name@2.1.0:
+ resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==}
+
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+
+ estree-util-scope@1.0.0:
+ resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==}
+
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+
+ estree-util-value-to-estree@3.4.0:
+ resolution: {integrity: sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ==}
+
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ eventemitter3@5.0.4:
+ resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
+
+ execa@8.0.1:
+ resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
+ engines: {node: '>=16.17'}
+
+ expect-type@1.3.0:
+ resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
+ engines: {node: '>=12.0.0'}
+
+ exsolve@1.0.7:
+ resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==}
+
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-equals@5.4.0:
+ resolution: {integrity: sha512-jt2DW/aNFNwke7AUd+Z+e6pz39KO5rzdbbFCg2sGafS4mk13MI7Z8O5z9cADNn5lhGODIgLwug6TZO2ctf7kcw==}
+ engines: {node: '>=6.0.0'}
+
+ fast-glob@3.3.1:
+ resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
+ engines: {node: '>=8.6.0'}
+
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ fastq@1.18.0:
+ resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==}
+
+ fault@2.0.1:
+ resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
+
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
+
+ flatted@3.3.3:
+ resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+
+ for-each@0.3.5:
+ resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
+ engines: {node: '>= 0.4'}
+
+ form-data@4.0.5:
+ resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
+ engines: {node: '>= 6'}
+
+ format@0.2.2:
+ resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
+ engines: {node: '>=0.4.x'}
+
+ framer-motion@12.38.0:
+ resolution: {integrity: sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==}
+ 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
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ function.prototype.name@1.1.8:
+ resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
+ engines: {node: '>= 0.4'}
+
+ functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+
+ generator-function@2.0.1:
+ resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==}
+ engines: {node: '>= 0.4'}
+
+ gensequence@7.0.0:
+ resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==}
+ engines: {node: '>=18'}
+
+ get-east-asian-width@1.6.0:
+ resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==}
+ engines: {node: '>=18'}
+
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+ engines: {node: '>= 0.4'}
+
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+ engines: {node: '>= 0.4'}
+
+ get-stream@8.0.1:
+ resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
+ engines: {node: '>=16'}
+
+ get-symbol-description@1.1.0:
+ resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
+ engines: {node: '>= 0.4'}
+
+ get-tsconfig@4.13.0:
+ resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==}
+
+ 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@13.0.6:
+ resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==}
+ engines: {node: 18 || 20 || >=22}
+
+ global-directory@4.0.1:
+ resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
+ engines: {node: '>=18'}
+
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
+
+ globals@15.15.0:
+ resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
+ engines: {node: '>=18'}
+
+ globalthis@1.0.4:
+ resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
+ engines: {node: '>= 0.4'}
+
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ hachure-fill@0.5.2:
+ resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==}
+
+ has-bigints@1.1.0:
+ resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
+ engines: {node: '>= 0.4'}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
+ has-proto@1.2.0:
+ resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
+ engines: {node: '>= 0.4'}
+
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
+
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
+ hast-util-from-dom@5.0.1:
+ resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==}
+
+ hast-util-from-html-isomorphic@2.0.0:
+ resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==}
+
+ hast-util-from-html@2.0.3:
+ resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
+
+ hast-util-from-parse5@8.0.3:
+ resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==}
+
+ hast-util-is-element@3.0.0:
+ resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
+
+ hast-util-parse-selector@4.0.0:
+ resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
+
+ hast-util-raw@9.1.0:
+ resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==}
+
+ 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==}
+
+ hast-util-to-parse5@8.0.0:
+ resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==}
+
+ hast-util-to-string@3.0.1:
+ resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
+
+ hast-util-to-text@4.0.2:
+ resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
+
+ hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+
+ hastscript@9.0.1:
+ resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
+
+ hookable@6.1.1:
+ resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==}
+
+ html-encoding-sniffer@4.0.0:
+ resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
+ engines: {node: '>=18'}
+
+ html-void-elements@3.0.0:
+ resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+
+ http-proxy-agent@7.0.2:
+ resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
+ engines: {node: '>= 14'}
+
+ https-proxy-agent@7.0.6:
+ resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
+ engines: {node: '>= 14'}
+
+ human-signals@5.0.0:
+ resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
+ engines: {node: '>=16.17.0'}
+
+ husky@9.1.7:
+ resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+
+ ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
+ engines: {node: '>= 4'}
+
+ ignore@7.0.5:
+ resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
+ engines: {node: '>= 4'}
+
+ import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
+ engines: {node: '>=6'}
+
+ import-meta-resolve@4.2.0:
+ resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==}
+
+ import-without-cache@0.2.5:
+ resolution: {integrity: sha512-B6Lc2s6yApwnD2/pMzFh/d5AVjdsDXjgkeJ766FmFuJELIGHNycKRj+l3A39yZPM4CchqNCB4RITEAYB1KUM6A==}
+ engines: {node: '>=20.19.0'}
+
+ imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+
+ ini@4.1.1:
+ resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ inline-style-parser@0.2.4:
+ resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
+
+ internal-slot@1.1.0:
+ resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
+ engines: {node: '>= 0.4'}
+
+ internmap@1.0.1:
+ resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
+
+ internmap@2.0.3:
+ resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
+ engines: {node: '>=12'}
+
+ is-alphabetical@2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
+
+ is-alphanumerical@2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
+
+ is-array-buffer@3.0.5:
+ resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
+ engines: {node: '>= 0.4'}
+
+ is-async-function@2.1.1:
+ resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
+ engines: {node: '>= 0.4'}
+
+ is-bigint@1.1.0:
+ resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
+ engines: {node: '>= 0.4'}
+
+ is-boolean-object@1.2.2:
+ resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
+ engines: {node: '>= 0.4'}
+
+ is-bun-module@2.0.0:
+ resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==}
+
+ is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+
+ is-core-module@2.16.1:
+ resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
+ engines: {node: '>= 0.4'}
+
+ is-data-view@1.0.2:
+ resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
+ engines: {node: '>= 0.4'}
+
+ is-date-object@1.1.0:
+ resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
+ engines: {node: '>= 0.4'}
+
+ is-decimal@2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
+
+ is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-finalizationregistry@1.1.1:
+ resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
+ engines: {node: '>= 0.4'}
+
+ is-fullwidth-code-point@4.0.0:
+ resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
+ engines: {node: '>=12'}
+
+ is-fullwidth-code-point@5.1.0:
+ resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==}
+ engines: {node: '>=18'}
+
+ is-generator-function@1.1.2:
+ resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==}
+ engines: {node: '>= 0.4'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-hexadecimal@2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+
+ is-immutable-type@5.0.1:
+ resolution: {integrity: sha512-LkHEOGVZZXxGl8vDs+10k3DvP++SEoYEAJLRk6buTFi6kD7QekThV7xHS0j6gpnUCQ0zpud/gMDGiV4dQneLTg==}
+ peerDependencies:
+ eslint: '*'
+ typescript: '>=4.7.4'
+
+ is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+
+ is-map@2.0.3:
+ resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+ engines: {node: '>= 0.4'}
+
+ is-negative-zero@2.0.3:
+ resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+ engines: {node: '>= 0.4'}
+
+ is-number-object@1.1.1:
+ resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
+ engines: {node: '>= 0.4'}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+
+ is-potential-custom-element-name@1.0.1:
+ resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+
+ is-regex@1.2.1:
+ resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
+ engines: {node: '>= 0.4'}
+
+ is-set@2.0.3:
+ resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+ engines: {node: '>= 0.4'}
+
+ is-shared-array-buffer@1.0.4:
+ resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
+ engines: {node: '>= 0.4'}
+
+ is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ is-string@1.1.1:
+ resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
+ engines: {node: '>= 0.4'}
+
+ is-symbol@1.1.1:
+ resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
+ engines: {node: '>= 0.4'}
+
+ is-typed-array@1.1.15:
+ resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
+ engines: {node: '>= 0.4'}
+
+ is-weakmap@2.0.2:
+ resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ engines: {node: '>= 0.4'}
+
+ is-weakref@1.1.1:
+ resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==}
+ engines: {node: '>= 0.4'}
+
+ is-weakset@2.0.4:
+ resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
+ engines: {node: '>= 0.4'}
+
+ is-wsl@3.1.0:
+ resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
+ engines: {node: '>=16'}
+
+ is64bit@2.0.0:
+ resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==}
+ engines: {node: '>=18'}
+
+ isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ iterator.prototype@1.1.5:
+ resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
+ engines: {node: '>= 0.4'}
+
+ jiti@2.6.1:
+ resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
+ hasBin: true
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-yaml@4.1.1:
+ resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
+ hasBin: true
+
+ jsdom@25.0.1:
+ resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ canvas: ^2.11.2
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ json5@1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ hasBin: true
+
+ jsx-ast-utils@3.3.5:
+ resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
+ engines: {node: '>=4.0'}
+
+ katex@0.16.22:
+ resolution: {integrity: sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==}
+ hasBin: true
+
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+ khroma@2.1.0:
+ resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
+
+ kolorist@1.8.0:
+ resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+
+ langium@3.3.1:
+ resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==}
+ engines: {node: '>=16.0.0'}
+
+ language-subtag-registry@0.3.23:
+ resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
+
+ language-tags@1.0.9:
+ resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
+ engines: {node: '>=0.10'}
+
+ layout-base@1.0.2:
+ resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
+
+ layout-base@2.0.1:
+ resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==}
+
+ levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+
+ lightningcss-android-arm64@1.32.0:
+ resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ lightningcss-darwin-arm64@1.32.0:
+ resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.32.0:
+ resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-freebsd-x64@1.32.0:
+ resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.32.0:
+ resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-arm64-musl@1.32.0:
+ resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-x64-gnu@1.32.0:
+ resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ 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]
+
+ lightningcss-win32-arm64-msvc@1.32.0:
+ resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.32.0:
+ resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ lightningcss@1.32.0:
+ resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
+ engines: {node: '>= 12.0.0'}
+
+ lilconfig@3.1.3:
+ resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
+ engines: {node: '>=14'}
+
+ lint-staged@15.5.2:
+ resolution: {integrity: sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==}
+ engines: {node: '>=18.12.0'}
+ hasBin: true
+
+ listr2@8.3.3:
+ resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==}
+ engines: {node: '>=18.0.0'}
+
+ local-pkg@1.1.1:
+ resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==}
+ engines: {node: '>=14'}
+
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+ lodash-es@4.17.21:
+ resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ log-update@6.1.0:
+ resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
+ engines: {node: '>=18'}
+
+ longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+
+ loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+
+ loupe@3.2.1:
+ resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==}
+
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ lru-cache@11.3.6:
+ resolution: {integrity: sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==}
+ engines: {node: 20 || >=22}
+
+ lucide-react@0.525.0:
+ resolution: {integrity: sha512-Tm1txJ2OkymCGkvwoHt33Y2JpN5xucVq1slHcgE6Lk0WjDfjgKWor5CdVER8U6DvcfMwh4M8XxmpTiyzfmfDYQ==}
+ peerDependencies:
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ lz-string@1.5.0:
+ resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
+ hasBin: true
+
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
+
+ markdown-table@3.0.4:
+ resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+
+ marked@16.1.1:
+ resolution: {integrity: sha512-ij/2lXfCRT71L6u0M29tJPhP0bM5shLL3u5BePhFwPELj2blMJ6GDtD7PfJhRLhJ/c2UwrK17ySVcDzy2YHjHQ==}
+ engines: {node: '>= 20'}
+ hasBin: true
+
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
+
+ mathjax-full@3.2.2:
+ resolution: {integrity: sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==}
+ deprecated: Version 4 replaces this package with the scoped package @mathjax/src
+
+ mdast-util-find-and-replace@3.0.2:
+ resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
+
+ mdast-util-from-markdown@2.0.2:
+ resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
+
+ 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==}
+
+ mdast-util-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
+
+ mdast-util-gfm-table@2.0.0:
+ resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
+
+ mdast-util-gfm@3.1.0:
+ resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
+
+ mdast-util-math@3.0.0:
+ resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==}
+
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
+
+ mdast-util-mdx-jsx@3.2.0:
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
+
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+
+ mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+
+ mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
+
+ mdast-util-to-hast@13.2.0:
+ resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
+
+ mdast-util-to-markdown@2.1.2:
+ resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
+
+ mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+
+ merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ mermaid@11.9.0:
+ resolution: {integrity: sha512-YdPXn9slEwO0omQfQIsW6vS84weVQftIyyTGAZCwM//MGhPzL1+l6vO6bkf0wnP4tHigH1alZ5Ooy3HXI2gOag==}
+
+ mhchemparser@4.2.1:
+ resolution: {integrity: sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==}
+
+ micromark-core-commonmark@2.0.3:
+ resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
+
+ micromark-extension-frontmatter@2.0.0:
+ resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
+
+ micromark-extension-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
+
+ micromark-extension-gfm-table@2.1.1:
+ resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
+
+ micromark-extension-gfm@3.0.0:
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+
+ micromark-extension-math@3.1.0:
+ resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==}
+
+ micromark-extension-mdx-expression@3.0.1:
+ resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==}
+
+ micromark-extension-mdx-jsx@3.0.2:
+ resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==}
+
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
+
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+
+ micromark-factory-destination@2.0.1:
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
+
+ micromark-factory-label@2.0.1:
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
+
+ micromark-factory-mdx-expression@2.0.3:
+ resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==}
+
+ micromark-factory-space@2.0.1:
+ resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
+
+ micromark-factory-title@2.0.1:
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
+
+ micromark-factory-whitespace@2.0.1:
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
+
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
+
+ micromark-util-classify-character@2.0.1:
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
+
+ micromark-util-combine-extensions@2.0.1:
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
+
+ micromark-util-decode-string@2.0.1:
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
+
+ micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+
+ micromark-util-events-to-acorn@2.0.3:
+ resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==}
+
+ micromark-util-html-tag-name@2.0.1:
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
+
+ micromark-util-normalize-identifier@2.0.1:
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
+
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
+
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+
+ micromark-util-subtokenize@2.1.0:
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
+
+ micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
+
+ micromark-util-types@2.0.2:
+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
+
+ micromark@4.0.2:
+ resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
+
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+
+ mimic-function@5.0.1:
+ resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
+ engines: {node: '>=18'}
+
+ min-indent@1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+
+ minimatch@10.2.5:
+ resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
+ engines: {node: 18 || 20 || >=22}
+
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+ minimatch@3.1.5:
+ resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ minipass@7.1.3:
+ resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ mj-context-menu@0.6.1:
+ resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==}
+
+ mlly@1.7.4:
+ resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
+
+ motion-dom@12.38.0:
+ resolution: {integrity: sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==}
+
+ motion-utils@12.36.0:
+ resolution: {integrity: sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==}
+
+ motion@12.38.0:
+ resolution: {integrity: sha512-uYfXzeHlgThchzwz5Te47dlv5JOUC7OB4rjJ/7XTUgtBZD8CchMN8qEJ4ZVsUmTyYA44zjV0fBwsiktRuFnn+w==}
+ 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.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ nanoid@3.3.12:
+ resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ napi-postinstall@0.3.4:
+ resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ hasBin: true
+
+ natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ negotiator@1.0.0:
+ resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}
+ engines: {node: '>= 0.6'}
+
+ 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
+
+ nextra-theme-docs@4.6.1:
+ resolution: {integrity: sha512-u5Hh8erVcGOXO1FVrwYBgrEjyzdYQY0k/iAhLd8RofKp+Bru3fyLy9V9W34mfJ0KHKHjv/ldlDTlb4KlL4eIuQ==}
+ peerDependencies:
+ next: '>=14'
+ nextra: 4.6.1
+ react: '>=18'
+ react-dom: '>=18'
+
+ nextra@4.6.1:
+ resolution: {integrity: sha512-yz5WMJFZ5c58y14a6Rmwt+SJUYDdIgzWSxwtnpD4XAJTq3mbOqOg3VTaJqLiJjwRSxoFRHNA1yAhnhbvbw9zSg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ next: '>=14'
+ react: '>=18'
+ react-dom: '>=18'
+
+ nlcst-to-string@4.0.0:
+ resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==}
+
+ npm-run-path@5.3.0:
+ resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ npm-to-yarn@3.0.1:
+ resolution: {integrity: sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ nwsapi@2.2.23:
+ resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==}
+
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ object-inspect@1.13.4:
+ resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
+ engines: {node: '>= 0.4'}
+
+ object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+
+ object.assign@4.1.7:
+ resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
+ engines: {node: '>= 0.4'}
+
+ object.entries@1.1.9:
+ resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==}
+ engines: {node: '>= 0.4'}
+
+ object.fromentries@2.0.8:
+ resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
+ engines: {node: '>= 0.4'}
+
+ object.groupby@1.0.3:
+ resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
+ engines: {node: '>= 0.4'}
+
+ object.values@1.2.1:
+ resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
+ engines: {node: '>= 0.4'}
+
+ obug@2.1.1:
+ resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==}
+
+ onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+
+ onetime@7.0.0:
+ resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
+ engines: {node: '>=18'}
+
+ oniguruma-parser@0.12.1:
+ resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
+
+ oniguruma-to-es@4.3.3:
+ resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==}
+
+ optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
+ engines: {node: '>= 0.8.0'}
+
+ own-keys@1.0.1:
+ resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
+ engines: {node: '>= 0.4'}
+
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ package-json-from-dist@1.0.1:
+ resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
+ package-manager-detector@1.3.0:
+ resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==}
+
+ pagefind@1.5.2:
+ resolution: {integrity: sha512-XTUaK0hXMCu2jszWE584JGQT7y284TmMV9l/HX3rnG5uo3rHI/uHU56XTyyyPFjeWEBxECbAi0CaFDJOONtG0Q==}
+ hasBin: true
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ parent-module@2.0.0:
+ resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==}
+ engines: {node: '>=8'}
+
+ parse-entities@4.0.2:
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
+
+ parse-latin@7.0.0:
+ resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==}
+
+ parse-numeric-range@1.3.0:
+ resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==}
+
+ parse5@7.3.0:
+ resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
+
+ path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+
+ path-data-parser@0.1.0:
+ resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ path-scurry@2.0.2:
+ resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
+ engines: {node: 18 || 20 || >=22}
+
+ pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
+ pathval@2.0.1:
+ resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
+ engines: {node: '>= 14.16'}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@2.3.2:
+ resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==}
+ engines: {node: '>=8.6'}
+
+ 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'}
+ hasBin: true
+
+ pkg-types@1.3.1:
+ resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
+
+ pkg-types@2.2.0:
+ resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==}
+
+ points-on-curve@0.2.0:
+ resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==}
+
+ points-on-path@0.2.1:
+ resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==}
+
+ possible-typed-array-names@1.1.0:
+ resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
+ engines: {node: '>= 0.4'}
+
+ postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ postcss@8.5.14:
+ resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ prettier-plugin-tailwindcss@0.6.14:
+ resolution: {integrity: sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==}
+ engines: {node: '>=14.21.3'}
+ peerDependencies:
+ '@ianvs/prettier-plugin-sort-imports': '*'
+ '@prettier/plugin-hermes': '*'
+ '@prettier/plugin-oxc': '*'
+ '@prettier/plugin-pug': '*'
+ '@shopify/prettier-plugin-liquid': '*'
+ '@trivago/prettier-plugin-sort-imports': '*'
+ '@zackad/prettier-plugin-twig': '*'
+ prettier: ^3.0
+ prettier-plugin-astro: '*'
+ prettier-plugin-css-order: '*'
+ prettier-plugin-import-sort: '*'
+ prettier-plugin-jsdoc: '*'
+ prettier-plugin-marko: '*'
+ prettier-plugin-multiline-arrays: '*'
+ prettier-plugin-organize-attributes: '*'
+ prettier-plugin-organize-imports: '*'
+ prettier-plugin-sort-imports: '*'
+ prettier-plugin-style-order: '*'
+ prettier-plugin-svelte: '*'
+ peerDependenciesMeta:
+ '@ianvs/prettier-plugin-sort-imports':
+ optional: true
+ '@prettier/plugin-hermes':
+ optional: true
+ '@prettier/plugin-oxc':
+ optional: true
+ '@prettier/plugin-pug':
+ optional: true
+ '@shopify/prettier-plugin-liquid':
+ optional: true
+ '@trivago/prettier-plugin-sort-imports':
+ optional: true
+ '@zackad/prettier-plugin-twig':
+ optional: true
+ prettier-plugin-astro:
+ optional: true
+ prettier-plugin-css-order:
+ optional: true
+ prettier-plugin-import-sort:
+ optional: true
+ prettier-plugin-jsdoc:
+ optional: true
+ prettier-plugin-marko:
+ optional: true
+ prettier-plugin-multiline-arrays:
+ optional: true
+ prettier-plugin-organize-attributes:
+ optional: true
+ prettier-plugin-organize-imports:
+ optional: true
+ prettier-plugin-sort-imports:
+ optional: true
+ prettier-plugin-style-order:
+ optional: true
+ prettier-plugin-svelte:
+ optional: true
+
+ prettier@3.8.3:
+ resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ pretty-format@27.5.1:
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ prop-types@15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+
+ property-information@6.5.0:
+ resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
+
+ property-information@7.1.0:
+ resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
+
+ punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+
+ quansync@0.2.11:
+ resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==}
+
+ quansync@1.0.0:
+ resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==}
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ react-compiler-runtime@19.1.0-rc.2:
+ resolution: {integrity: sha512-852AwyIsbWJ5o1LkQVAZsVK3iLjMxOfKZuxqeGd/RfD+j1GqHb6j3DSHLtpu4HhFbQHsP2DzxjJyKR6luv4D8w==}
+ peerDependencies:
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0 || ^0.0.0-experimental
+
+ react-dom@19.2.6:
+ resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==}
+ peerDependencies:
+ react: ^19.2.6
+
+ react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+
+ react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+
+ react-medium-image-zoom@5.3.0:
+ resolution: {integrity: sha512-RCIzVlsKqy3BYgGgYbolUfuvx0aSKC7YhX/IJGEp+WJxsqdIVYJHkBdj++FAj6VD7RiWj6VVmdCfa/9vJE9hZg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ react@19.2.6:
+ resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==}
+ engines: {node: '>=0.10.0'}
+
+ reading-time@1.5.0:
+ resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==}
+
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
+
+ recma-jsx@1.0.1:
+ resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
+
+ recma-stringify@1.0.0:
+ resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
+
+ redent@3.0.0:
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
+ engines: {node: '>=8'}
+
+ reflect.getprototypeof@1.0.10:
+ resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
+ engines: {node: '>= 0.4'}
+
+ regex-recursion@6.0.2:
+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
+
+ regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+
+ regex@6.0.1:
+ resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
+
+ regexp.prototype.flags@1.5.4:
+ resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
+ engines: {node: '>= 0.4'}
+
+ rehype-katex@7.0.1:
+ resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==}
+
+ rehype-parse@9.0.1:
+ resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==}
+
+ rehype-pretty-code@0.14.1:
+ resolution: {integrity: sha512-IpG4OL0iYlbx78muVldsK86hdfNoht0z63AP7sekQNW2QOTmjxB7RbTO+rhIYNGRljgHxgVZoPwUl6bIC9SbjA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ shiki: ^1.0.0 || ^2.0.0 || ^3.0.0
+
+ rehype-raw@7.0.0:
+ resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
+
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
+
+ remark-frontmatter@5.0.0:
+ resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
+
+ remark-gfm@4.0.1:
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
+
+ remark-math@6.0.0:
+ resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==}
+
+ remark-mdx@3.1.0:
+ resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==}
+
+ remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+
+ remark-reading-time@2.0.2:
+ resolution: {integrity: sha512-ILjIuR0dQQ8pELPgaFvz7ralcSN62rD/L1pTUJgWb4gfua3ZwYEI8mnKGxEQCbrXSUF/OvycTkcUbifGOtOn5A==}
+
+ remark-rehype@11.1.2:
+ resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
+
+ remark-smartypants@3.0.2:
+ resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==}
+ engines: {node: '>=16.0.0'}
+
+ remark-stringify@11.0.0:
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
+ resolve@1.22.11:
+ resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
+ engines: {node: '>= 0.4'}
+ hasBin: true
+
+ resolve@2.0.0-next.5:
+ resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+ hasBin: true
+
+ restore-cursor@5.1.0:
+ resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
+ engines: {node: '>=18'}
+
+ retext-latin@4.0.0:
+ resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==}
+
+ retext-smartypants@6.2.0:
+ resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==}
+
+ retext-stringify@4.0.0:
+ resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==}
+
+ retext@9.0.0:
+ resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==}
+
+ reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rfdc@1.4.1:
+ resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+
+ rimraf@6.1.3:
+ resolution: {integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==}
+ engines: {node: 20 || >=22}
+ hasBin: true
+
+ robust-predicates@3.0.2:
+ resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
+
+ rolldown-plugin-dts@0.20.0:
+ resolution: {integrity: sha512-cLAY1kN2ilTYMfZcFlGWbXnu6Nb+8uwUBsi+Mjbh4uIx7IN8uMOmJ7RxrrRgPsO4H7eSz3E+JwGoL1gyugiyUA==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@ts-macro/tsc': ^0.3.6
+ '@typescript/native-preview': '>=7.0.0-dev.20250601.1'
+ rolldown: ^1.0.0-beta.57
+ typescript: ^5.0.0
+ vue-tsc: ~3.2.0
+ peerDependenciesMeta:
+ '@ts-macro/tsc':
+ optional: true
+ '@typescript/native-preview':
+ optional: true
+ typescript:
+ optional: true
+ vue-tsc:
+ optional: true
+
+ rolldown@1.0.0-beta.57:
+ resolution: {integrity: sha512-lMMxcNN71GMsSko8RyeTaFoATHkCh4IWU7pYF73ziMYjhHZWfVesC6GQ+iaJCvZmVjvgSks9Ks1aaqEkBd8udg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
+ rollup@4.60.3:
+ resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ roughjs@4.6.6:
+ resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==}
+
+ rrweb-cssom@0.7.1:
+ resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==}
+
+ rrweb-cssom@0.8.0:
+ resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==}
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ rw@1.3.3:
+ resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
+
+ safe-array-concat@1.1.3:
+ resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
+ engines: {node: '>=0.4'}
+
+ safe-json-stringify@1.2.0:
+ resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==}
+
+ safe-push-apply@1.0.0:
+ resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
+ engines: {node: '>= 0.4'}
+
+ safe-regex-test@1.1.0:
+ resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
+ engines: {node: '>= 0.4'}
+
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ saxes@6.0.0:
+ resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
+ engines: {node: '>=v12.22.7'}
+
+ scheduler@0.27.0:
+ resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
+
+ scroll-into-view-if-needed@3.1.0:
+ resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==}
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.8.0:
+ resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ server-only@0.0.1:
+ resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
+
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+
+ set-function-name@2.0.2:
+ resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
+ engines: {node: '>= 0.4'}
+
+ set-proto@1.0.0:
+ resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
+ engines: {node: '>= 0.4'}
+
+ 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==}
+ engines: {node: '>=8'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ shiki@3.9.1:
+ resolution: {integrity: sha512-HogZ8nMnv9VAQMrG+P7BleJFhrKHm3fi6CYyHRbUu61gJ0lpqLr6ecYEui31IYG1Cn9Bad7N2vf332iXHnn0bQ==}
+
+ side-channel-list@1.0.0:
+ resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-map@1.0.1:
+ resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-weakmap@1.0.2:
+ resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
+ engines: {node: '>= 0.4'}
+
+ side-channel@1.1.0:
+ resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
+ engines: {node: '>= 0.4'}
+
+ siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ slash@5.1.0:
+ resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
+ engines: {node: '>=14.16'}
+
+ slice-ansi@5.0.0:
+ resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
+ engines: {node: '>=12'}
+
+ slice-ansi@7.1.2:
+ resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==}
+ engines: {node: '>=18'}
+
+ sonner@2.0.7:
+ resolution: {integrity: sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
+
+ space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+
+ speech-rule-engine@4.1.2:
+ resolution: {integrity: sha512-S6ji+flMEga+1QU79NDbwZ8Ivf0S/MpupQQiIC0rTpU/ZTKgcajijJJb1OcByBQDjrXCN1/DJtGz4ZJeBMPGJw==}
+ hasBin: true
+
+ stable-hash@0.0.5:
+ resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==}
+
+ stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+
+ std-env@3.10.0:
+ resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==}
+
+ stop-iteration-iterator@1.1.0:
+ resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
+ engines: {node: '>= 0.4'}
+
+ string-argv@0.3.2:
+ resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
+ engines: {node: '>=0.6.19'}
+
+ string-ts@2.3.1:
+ resolution: {integrity: sha512-xSJq+BS52SaFFAVxuStmx6n5aYZU571uYUnUrPXkPFCfdHyZMMlbP2v2Wx5sNBnAVzq/2+0+mcBLBa3Xa5ubYw==}
+
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
+
+ string.prototype.includes@2.0.1:
+ resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.matchall@4.0.12:
+ resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.repeat@1.0.0:
+ resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
+
+ string.prototype.trim@1.2.10:
+ resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trimend@1.0.9:
+ resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trimstart@1.0.8:
+ resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
+ engines: {node: '>= 0.4'}
+
+ stringify-entities@4.0.4:
+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
+
+ strip-ansi@7.2.0:
+ resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
+ engines: {node: '>=12'}
+
+ strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+
+ strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
+
+ strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
+
+ strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ style-to-js@1.1.17:
+ resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==}
+
+ style-to-object@1.0.9:
+ resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==}
+
+ styled-jsx@5.1.6:
+ resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
+ engines: {node: '>= 12.0.0'}
+ peerDependencies:
+ '@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
+
+ stylis@4.3.6:
+ resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==}
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ symbol-tree@3.2.4:
+ resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+
+ synckit@0.11.12:
+ resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+
+ system-architecture@0.1.0:
+ resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==}
+ engines: {node: '>=18'}
+
+ tabbable@6.2.0:
+ resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
+
+ tailwindcss@4.3.0:
+ resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==}
+
+ tapable@2.3.3:
+ resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
+ engines: {node: '>=6'}
+
+ tinybench@2.9.0:
+ resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+
+ tinyexec@0.3.2:
+ resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
+
+ tinyexec@1.1.2:
+ resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==}
+ engines: {node: '>=18'}
+
+ tinyglobby@0.2.16:
+ resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
+ engines: {node: '>=12.0.0'}
+
+ tinypool@1.1.1:
+ resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+
+ tinyrainbow@1.2.0:
+ resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
+ engines: {node: '>=14.0.0'}
+
+ tinyspy@3.0.2:
+ resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
+ engines: {node: '>=14.0.0'}
+
+ title@4.0.1:
+ resolution: {integrity: sha512-xRnPkJx9nvE5MF6LkB5e8QJjE2FW8269wTu/LQdf7zZqBgPly0QJPf/CWAo7srj5so4yXfoLEdCFgurlpi47zg==}
+ hasBin: true
+
+ tldts-core@6.1.86:
+ resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==}
+
+ tldts@6.1.86:
+ resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==}
+ hasBin: true
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ tough-cookie@5.1.2:
+ resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==}
+ engines: {node: '>=16'}
+
+ tr46@5.1.1:
+ resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==}
+ engines: {node: '>=18'}
+
+ tree-kill@1.2.2:
+ resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
+ hasBin: true
+
+ trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+
+ trough@2.2.0:
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+
+ ts-api-utils@2.5.0:
+ resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==}
+ engines: {node: '>=18.12'}
+ peerDependencies:
+ typescript: '>=4.8.4'
+
+ ts-declaration-location@1.0.7:
+ resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==}
+ peerDependencies:
+ typescript: '>=4.0.0'
+
+ ts-dedent@2.2.0:
+ resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
+ engines: {node: '>=6.10'}
+
+ ts-morph@27.0.2:
+ resolution: {integrity: sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==}
+
+ ts-pattern@5.9.0:
+ resolution: {integrity: sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg==}
+
+ tsconfig-paths@3.15.0:
+ resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+
+ tsdown@0.18.4:
+ resolution: {integrity: sha512-J/tRS6hsZTkvqmt4+xdELUCkQYDuUCXgBv0fw3ImV09WPGbEKfsPD65E+WUjSu3E7Z6tji9XZ1iWs8rbGqB/ZA==}
+ engines: {node: '>=20.19.0'}
+ hasBin: true
+ peerDependencies:
+ '@arethetypeswrong/core': ^0.18.1
+ '@vitejs/devtools': '*'
+ publint: ^0.3.0
+ typescript: ^5.0.0
+ unplugin-lightningcss: ^0.4.0
+ unplugin-unused: ^0.5.0
+ peerDependenciesMeta:
+ '@arethetypeswrong/core':
+ optional: true
+ '@vitejs/devtools':
+ optional: true
+ publint:
+ optional: true
+ typescript:
+ optional: true
+ unplugin-lightningcss:
+ optional: true
+ unplugin-unused:
+ optional: true
+
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ turbo@2.9.12:
+ resolution: {integrity: sha512-lCPgus1NuTiBdaITWqzSH/Ff6HVL8HHGBtOXHg1dHRfcshN79XkygSdh0M6g8b0td91ILLG5MTkLOkp5UvyPJw==}
+ hasBin: true
+
+ twoslash-protocol@0.3.3:
+ resolution: {integrity: sha512-26NXjXEj+2NgytwOjjhFtNpQI7Zgct6PTyLg6JO7fIbO7MIm+kx89IxvBustgBOSKxoWjNBN2LXjNHHMD7+k0g==}
+
+ twoslash@0.3.3:
+ resolution: {integrity: sha512-Yen1RBSYh/NUR6tfK6xT7DsXkBYby7lfp078Q7XoJR5dtAeG9jB5PVL1oF2sZwHapLjaqcZNlw7GSB8himZNsQ==}
+ peerDependencies:
+ typescript: ^5.5.0
+
+ type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+
+ typed-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-length@1.0.3:
+ resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-offset@1.0.4:
+ resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-length@1.0.7:
+ resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
+ engines: {node: '>= 0.4'}
+
+ typescript-eslint@8.59.3:
+ resolution: {integrity: sha512-KgusgyDgG4LI8Ih/sWaCtZ06tckLAS5CvT5A4D1Q7bYVoAAyzwiZvE4BmwDHkhRVkvhRBepKeASoFzQetha7Fg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ ufo@1.6.1:
+ resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
+
+ unbox-primitive@1.1.0:
+ resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
+ engines: {node: '>= 0.4'}
+
+ unconfig-core@7.5.0:
+ resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==}
+
+ undici-types@6.21.0:
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+
+ undici-types@7.21.0:
+ resolution: {integrity: sha512-w9IMgQrz4O0YN1LtB7K5P63vhlIOvC7opSmouCJ+ZywlPAlO9gIkJ+otk6LvGpAs2wg4econaCz3TvQ9xPoyuQ==}
+
+ unified@11.0.5:
+ resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
+
+ unist-util-find-after@5.0.0:
+ resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
+
+ unist-util-is@5.2.1:
+ resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
+
+ unist-util-is@6.0.0:
+ resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
+
+ unist-util-modify-children@4.0.0:
+ resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==}
+
+ unist-util-position-from-estree@2.0.0:
+ resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
+
+ unist-util-position@5.0.0:
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+
+ unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+
+ unist-util-remove@4.0.0:
+ resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==}
+
+ unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+
+ unist-util-visit-children@3.0.0:
+ resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==}
+
+ unist-util-visit-parents@4.1.1:
+ resolution: {integrity: sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==}
+
+ unist-util-visit-parents@6.0.1:
+ resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
+
+ unist-util-visit@3.1.0:
+ resolution: {integrity: sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==}
+
+ unist-util-visit@5.0.0:
+ resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
+
+ unrs-resolver@1.11.1:
+ resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==}
+
+ unrun@0.2.21:
+ resolution: {integrity: sha512-VuwI4YKtwBpDvM7hCEop2Im/ezS82dliqJpkh9pvS6ve8HcUsBDvESHxMmUfImXR03GkmfdDynyrh/pUJnlguw==}
+ engines: {node: '>=20.19.0'}
+ hasBin: true
+ peerDependencies:
+ synckit: ^0.11.11
+ peerDependenciesMeta:
+ synckit:
+ optional: true
+
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+ use-sync-external-store@1.5.0:
+ resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ uuid@11.1.0:
+ resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==}
+ hasBin: true
+
+ vfile-location@5.0.3:
+ resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
+
+ vfile-message@4.0.3:
+ resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
+
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+
+ vite-node@2.1.9:
+ resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+
+ vite@5.4.21:
+ resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ sass-embedded: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+
+ vitest@2.1.9:
+ resolution: {integrity: sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@types/node': ^18.0.0 || >=20.0.0
+ '@vitest/browser': 2.1.9
+ '@vitest/ui': 2.1.9
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+
+ vscode-jsonrpc@8.2.0:
+ resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
+ engines: {node: '>=14.0.0'}
+
+ vscode-languageserver-protocol@3.17.5:
+ resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
+
+ vscode-languageserver-textdocument@1.0.12:
+ resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==}
+
+ vscode-languageserver-types@3.17.5:
+ resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
+
+ vscode-languageserver@9.0.1:
+ resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==}
+ hasBin: true
+
+ vscode-uri@3.0.8:
+ resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
+
+ vscode-uri@3.1.0:
+ resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
+
+ w3c-xmlserializer@5.0.0:
+ resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
+ engines: {node: '>=18'}
+
+ web-namespaces@2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+
+ web-vitals@5.1.0:
+ resolution: {integrity: sha512-ArI3kx5jI0atlTtmV0fWU3fjpLmq/nD3Zr1iFFlJLaqa5wLBkUSzINwBPySCX/8jRyjlmy1Volw1kz1g9XE4Jg==}
+
+ webidl-conversions@7.0.0:
+ resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
+ engines: {node: '>=12'}
+
+ whatwg-encoding@3.1.1:
+ resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
+ engines: {node: '>=18'}
+ deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation
+
+ whatwg-mimetype@4.0.0:
+ resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
+ engines: {node: '>=18'}
+
+ whatwg-url@14.2.0:
+ resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==}
+ engines: {node: '>=18'}
+
+ which-boxed-primitive@1.1.1:
+ resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
+ engines: {node: '>= 0.4'}
+
+ which-builtin-type@1.2.1:
+ resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
+ engines: {node: '>= 0.4'}
+
+ which-collection@1.0.2:
+ resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+ engines: {node: '>= 0.4'}
+
+ which-typed-array@1.1.19:
+ resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
+ engines: {node: '>= 0.4'}
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
- js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ why-is-node-running@2.3.0:
+ resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
+ engines: {node: '>=8'}
hasBin: true
- jsdom@25.0.1:
- resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==}
+ wicked-good-xpath@1.3.0:
+ resolution: {integrity: sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==}
+
+ word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+
+ wrap-ansi@9.0.2:
+ resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
engines: {node: '>=18'}
+
+ ws@8.20.1:
+ resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==}
+ engines: {node: '>=10.0.0'}
peerDependencies:
- canvas: ^2.11.2
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
peerDependenciesMeta:
- canvas:
+ bufferutil:
+ optional: true
+ utf-8-validate:
optional: true
- json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ xdg-basedir@5.1.0:
+ resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
+ engines: {node: '>=12'}
- json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ xml-name-validator@5.0.0:
+ resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
+ engines: {node: '>=18'}
- json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ xmlchars@2.2.0:
+ resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
- json5@1.0.2:
- resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ yaml@2.6.1:
+ resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==}
+ engines: {node: '>= 14'}
hasBin: true
- keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
-
- levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
-
- lilconfig@3.1.3:
- resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
- engines: {node: '>=14'}
-
- lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
-
- lint-staged@15.3.0:
- resolution: {integrity: sha512-vHFahytLoF2enJklgtOtCtIjZrKD/LoxlaUusd5nh7dWv/dkKQJY74ndFSzxCdv7g0ueGg1ORgTSt4Y9LPZn9A==}
- engines: {node: '>=18.12.0'}
+ yaml@2.9.0:
+ resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
+ engines: {node: '>= 14.6'}
hasBin: true
- listr2@8.2.5:
- resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==}
- engines: {node: '>=18.0.0'}
-
- load-tsconfig@0.2.5:
- resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
- lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ zen-observable@0.10.0:
+ resolution: {integrity: sha512-iI3lT0iojZhKwT5DaFy2Ce42n3yFcLdFyOh01G7H0flMY60P8MJuVFEoJoNwXlmAyQ45GrjL6AcZmmlv8A5rbw==}
- lodash.sortby@4.7.0:
- resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
+ zod@4.2.1:
+ resolution: {integrity: sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==}
- lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ zod@4.4.3:
+ resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==}
- log-update@6.1.0:
- resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
- engines: {node: '>=18'}
+ zustand@5.0.7:
+ resolution: {integrity: sha512-Ot6uqHDW/O2VdYsKLLU8GQu8sCOM1LcoE8RwvLv9uuRT9s6SOHCKs0ZEOhxg+I1Ld+A1Q5lwx+UlKXXUoCZITg==}
+ engines: {node: '>=12.20.0'}
+ peerDependencies:
+ '@types/react': '>=18.0.0'
+ immer: '>=9.0.6'
+ react: '>=18.0.0'
+ use-sync-external-store: '>=1.2.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ immer:
+ optional: true
+ react:
+ optional: true
+ use-sync-external-store:
+ optional: true
- loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
- hasBin: true
+ zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
- loupe@3.1.2:
- resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==}
+snapshots:
- lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+ '@adobe/css-tools@4.4.4': {}
- lz-string@1.5.0:
- resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
- hasBin: true
+ '@alloc/quick-lru@5.2.0': {}
- magic-string@0.30.17:
- resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
+ '@amplitude/analytics-browser@2.42.3':
+ dependencies:
+ '@amplitude/analytics-core': 2.48.1
+ '@amplitude/plugin-autocapture-browser': 1.27.1
+ '@amplitude/plugin-custom-enrichment-browser': 0.1.8
+ '@amplitude/plugin-event-property-attribution-browser': 0.2.0
+ '@amplitude/plugin-network-capture-browser': 1.10.0
+ '@amplitude/plugin-page-url-enrichment-browser': 0.7.10
+ '@amplitude/plugin-page-view-tracking-browser': 2.11.0
+ '@amplitude/plugin-web-vitals-browser': 1.1.32
+ tslib: 2.8.1
- math-intrinsics@1.1.0:
- resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
- engines: {node: '>= 0.4'}
+ '@amplitude/analytics-connector@1.6.4': {}
- merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+ '@amplitude/analytics-core@2.48.0':
+ dependencies:
+ '@amplitude/analytics-connector': 1.6.4
+ '@types/zen-observable': 0.8.3
+ safe-json-stringify: 1.2.0
+ tslib: 2.8.1
+ zen-observable: 0.10.0
- merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
+ '@amplitude/analytics-core@2.48.1':
+ dependencies:
+ '@amplitude/analytics-connector': 1.6.4
+ '@types/zen-observable': 0.8.3
+ safe-json-stringify: 1.2.0
+ tslib: 2.8.1
+ zen-observable: 0.10.0
- micro-memoize@4.1.2:
- resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==}
+ '@amplitude/plugin-autocapture-browser@1.27.1':
+ dependencies:
+ '@amplitude/analytics-core': 2.48.1
+ tslib: 2.8.1
- micromatch@4.0.8:
- resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
- engines: {node: '>=8.6'}
+ '@amplitude/plugin-custom-enrichment-browser@0.1.8':
+ dependencies:
+ '@amplitude/analytics-core': 2.48.0
+ tslib: 2.8.1
- mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
+ '@amplitude/plugin-event-property-attribution-browser@0.2.0':
+ dependencies:
+ '@amplitude/analytics-core': 2.48.0
+ tslib: 2.8.1
- mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
+ '@amplitude/plugin-network-capture-browser@1.10.0':
+ dependencies:
+ '@amplitude/analytics-core': 2.48.0
+ tslib: 2.8.1
- mimic-fn@4.0.0:
- resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
- engines: {node: '>=12'}
+ '@amplitude/plugin-page-url-enrichment-browser@0.7.10':
+ dependencies:
+ '@amplitude/analytics-core': 2.48.1
+ tslib: 2.8.1
- mimic-function@5.0.1:
- resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
- engines: {node: '>=18'}
+ '@amplitude/plugin-page-view-tracking-browser@2.11.0':
+ dependencies:
+ '@amplitude/analytics-core': 2.48.0
+ tslib: 2.8.1
- min-indent@1.0.1:
- resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
- engines: {node: '>=4'}
+ '@amplitude/plugin-web-vitals-browser@1.1.32':
+ dependencies:
+ '@amplitude/analytics-core': 2.48.0
+ tslib: 2.8.1
+ web-vitals: 5.1.0
- minimatch@10.0.1:
- resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==}
- engines: {node: 20 || >=22}
+ '@antfu/install-pkg@1.1.0':
+ dependencies:
+ package-manager-detector: 1.3.0
+ tinyexec: 1.1.2
- minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ '@antfu/utils@8.1.1': {}
- minimatch@9.0.5:
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
- engines: {node: '>=16 || 14 >=14.17'}
+ '@asamuzakjp/css-color@3.2.0':
+ 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-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
+ lru-cache: 10.4.3
- minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ '@babel/code-frame@7.29.0':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.28.5
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
- minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
- engines: {node: '>=16 || 14 >=14.17'}
+ '@babel/generator@7.29.1':
+ dependencies:
+ '@babel/parser': 7.29.3
+ '@babel/types': 7.29.0
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ jsesc: 3.1.0
- mrmime@2.0.0:
- resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
- engines: {node: '>=10'}
+ '@babel/helper-string-parser@7.27.1': {}
- ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ '@babel/helper-validator-identifier@7.28.5': {}
- mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ '@babel/parser@7.29.3':
+ dependencies:
+ '@babel/types': 7.29.0
- nanoid@3.3.8:
- resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
+ '@babel/runtime@7.28.4': {}
- natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ '@babel/runtime@7.29.2': {}
- npm-run-path@5.3.0:
- resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ '@babel/types@7.29.0':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
- nwsapi@2.2.16:
- resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==}
+ '@braintree/sanitize-url@7.1.1': {}
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
+ '@chevrotain/cst-dts-gen@11.0.3':
+ dependencies:
+ '@chevrotain/gast': 11.0.3
+ '@chevrotain/types': 11.0.3
+ lodash-es: 4.17.21
- object-inspect@1.13.3:
- resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==}
- engines: {node: '>= 0.4'}
+ '@chevrotain/gast@11.0.3':
+ dependencies:
+ '@chevrotain/types': 11.0.3
+ lodash-es: 4.17.21
- object-keys@1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
- engines: {node: '>= 0.4'}
+ '@chevrotain/regexp-to-ast@11.0.3': {}
- object.assign@4.1.7:
- resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
- engines: {node: '>= 0.4'}
+ '@chevrotain/types@11.0.3': {}
- object.fromentries@2.0.8:
- resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
- engines: {node: '>= 0.4'}
+ '@chevrotain/utils@11.0.3': {}
- object.groupby@1.0.3:
- resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
- engines: {node: '>= 0.4'}
+ '@code-hike/lighter@1.0.1':
+ dependencies:
+ ansi-sequence-parser: 1.1.1
- object.values@1.2.1:
- resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
- engines: {node: '>= 0.4'}
+ '@cspell/cspell-bundled-dicts@8.19.4':
+ dependencies:
+ '@cspell/dict-ada': 4.1.1
+ '@cspell/dict-al': 1.1.1
+ '@cspell/dict-aws': 4.0.17
+ '@cspell/dict-bash': 4.2.2
+ '@cspell/dict-companies': 3.2.11
+ '@cspell/dict-cpp': 6.0.15
+ '@cspell/dict-cryptocurrencies': 5.0.5
+ '@cspell/dict-csharp': 4.0.8
+ '@cspell/dict-css': 4.1.1
+ '@cspell/dict-dart': 2.3.2
+ '@cspell/dict-data-science': 2.0.13
+ '@cspell/dict-django': 4.1.6
+ '@cspell/dict-docker': 1.1.17
+ '@cspell/dict-dotnet': 5.0.13
+ '@cspell/dict-elixir': 4.0.8
+ '@cspell/dict-en-common-misspellings': 2.1.12
+ '@cspell/dict-en-gb': 1.1.33
+ '@cspell/dict-en_us': 4.4.33
+ '@cspell/dict-filetypes': 3.0.18
+ '@cspell/dict-flutter': 1.1.1
+ '@cspell/dict-fonts': 4.0.6
+ '@cspell/dict-fsharp': 1.1.1
+ '@cspell/dict-fullstack': 3.2.9
+ '@cspell/dict-gaming-terms': 1.1.2
+ '@cspell/dict-git': 3.1.0
+ '@cspell/dict-golang': 6.0.26
+ '@cspell/dict-google': 1.0.9
+ '@cspell/dict-haskell': 4.0.6
+ '@cspell/dict-html': 4.0.15
+ '@cspell/dict-html-symbol-entities': 4.0.5
+ '@cspell/dict-java': 5.0.12
+ '@cspell/dict-julia': 1.1.1
+ '@cspell/dict-k8s': 1.0.12
+ '@cspell/dict-kotlin': 1.1.1
+ '@cspell/dict-latex': 4.0.4
+ '@cspell/dict-lorem-ipsum': 4.0.5
+ '@cspell/dict-lua': 4.0.8
+ '@cspell/dict-makefile': 1.0.5
+ '@cspell/dict-markdown': 2.0.16(@cspell/dict-css@4.1.1)(@cspell/dict-html-symbol-entities@4.0.5)(@cspell/dict-html@4.0.15)(@cspell/dict-typescript@3.2.3)
+ '@cspell/dict-monkeyc': 1.0.12
+ '@cspell/dict-node': 5.0.9
+ '@cspell/dict-npm': 5.2.38
+ '@cspell/dict-php': 4.1.1
+ '@cspell/dict-powershell': 5.0.15
+ '@cspell/dict-public-licenses': 2.0.16
+ '@cspell/dict-python': 4.2.26
+ '@cspell/dict-r': 2.1.1
+ '@cspell/dict-ruby': 5.1.1
+ '@cspell/dict-rust': 4.1.2
+ '@cspell/dict-scala': 5.0.9
+ '@cspell/dict-shell': 1.1.2
+ '@cspell/dict-software-terms': 5.2.2
+ '@cspell/dict-sql': 2.2.1
+ '@cspell/dict-svelte': 1.0.7
+ '@cspell/dict-swift': 2.0.6
+ '@cspell/dict-terraform': 1.1.3
+ '@cspell/dict-typescript': 3.2.3
+ '@cspell/dict-vue': 3.0.5
+
+ '@cspell/cspell-pipe@8.19.4': {}
+
+ '@cspell/cspell-resolver@8.19.4':
+ dependencies:
+ global-directory: 4.0.1
- onetime@6.0.0:
- resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
- engines: {node: '>=12'}
+ '@cspell/cspell-service-bus@8.19.4': {}
- onetime@7.0.0:
- resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
- engines: {node: '>=18'}
+ '@cspell/cspell-types@8.19.4': {}
- optionator@0.9.4:
- resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
- engines: {node: '>= 0.8.0'}
+ '@cspell/dict-ada@4.1.1': {}
- p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
+ '@cspell/dict-al@1.1.1': {}
- p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
+ '@cspell/dict-aws@4.0.17': {}
- package-json-from-dist@1.0.1:
- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+ '@cspell/dict-bash@4.2.2':
+ dependencies:
+ '@cspell/dict-shell': 1.1.2
- parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
+ '@cspell/dict-companies@3.2.11': {}
- parent-module@2.0.0:
- resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==}
- engines: {node: '>=8'}
+ '@cspell/dict-cpp@6.0.15': {}
- parse5@7.2.1:
- resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
+ '@cspell/dict-cryptocurrencies@5.0.5': {}
- path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
+ '@cspell/dict-csharp@4.0.8': {}
- path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
+ '@cspell/dict-css@4.1.1': {}
- path-key@4.0.0:
- resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
- engines: {node: '>=12'}
+ '@cspell/dict-dart@2.3.2': {}
- path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ '@cspell/dict-data-science@2.0.13': {}
- path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
+ '@cspell/dict-django@4.1.6': {}
- pathe@1.1.2:
- resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+ '@cspell/dict-docker@1.1.17': {}
- pathval@2.0.0:
- resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
- engines: {node: '>= 14.16'}
+ '@cspell/dict-dotnet@5.0.13': {}
- picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+ '@cspell/dict-elixir@4.0.8': {}
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
+ '@cspell/dict-en-common-misspellings@2.1.12': {}
- picomatch@4.0.2:
- resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
- engines: {node: '>=12'}
+ '@cspell/dict-en-gb@1.1.33': {}
- pidtree@0.6.0:
- resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
- engines: {node: '>=0.10'}
- hasBin: true
+ '@cspell/dict-en_us@4.4.33': {}
- pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
+ '@cspell/dict-filetypes@3.0.18': {}
- possible-typed-array-names@1.0.0:
- resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
- engines: {node: '>= 0.4'}
+ '@cspell/dict-flutter@1.1.1': {}
- postcss-load-config@6.0.1:
- resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==}
- engines: {node: '>= 18'}
- peerDependencies:
- jiti: '>=1.21.0'
- postcss: '>=8.0.9'
- tsx: ^4.8.1
- yaml: ^2.4.2
- peerDependenciesMeta:
- jiti:
- optional: true
- postcss:
- optional: true
- tsx:
- optional: true
- yaml:
- optional: true
+ '@cspell/dict-fonts@4.0.6': {}
- postcss@8.4.49:
- resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
- engines: {node: ^10 || ^12 || >=14}
+ '@cspell/dict-fsharp@1.1.1': {}
- prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
+ '@cspell/dict-fullstack@3.2.9': {}
- prettier@3.4.2:
- resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==}
- engines: {node: '>=14'}
- hasBin: true
+ '@cspell/dict-gaming-terms@1.1.2': {}
- pretty-format@27.5.1:
- resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ '@cspell/dict-git@3.1.0': {}
- punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
+ '@cspell/dict-golang@6.0.26': {}
- queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ '@cspell/dict-google@1.0.9': {}
- react-dom@18.3.1:
- resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
- peerDependencies:
- react: ^18.3.1
+ '@cspell/dict-haskell@4.0.6': {}
- react-is@17.0.2:
- resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+ '@cspell/dict-html-symbol-entities@4.0.5': {}
- react@18.3.1:
- resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
- engines: {node: '>=0.10.0'}
+ '@cspell/dict-html@4.0.15': {}
- readdirp@4.1.1:
- resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==}
- engines: {node: '>= 14.18.0'}
+ '@cspell/dict-java@5.0.12': {}
- redent@3.0.0:
- resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
- engines: {node: '>=8'}
+ '@cspell/dict-julia@1.1.1': {}
- reflect.getprototypeof@1.0.9:
- resolution: {integrity: sha512-r0Ay04Snci87djAsI4U+WNRcSw5S4pOH7qFjd/veA5gC7TbqESR3tcj28ia95L/fYUDw11JKP7uqUKUAfVvV5Q==}
- engines: {node: '>= 0.4'}
+ '@cspell/dict-k8s@1.0.12': {}
- regenerator-runtime@0.14.1:
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+ '@cspell/dict-kotlin@1.1.1': {}
- regexp.prototype.flags@1.5.3:
- resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==}
- engines: {node: '>= 0.4'}
+ '@cspell/dict-latex@4.0.4': {}
- repeat-string@1.6.1:
- resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
- engines: {node: '>=0.10'}
+ '@cspell/dict-lorem-ipsum@4.0.5': {}
- resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
+ '@cspell/dict-lua@4.0.8': {}
- resolve-from@5.0.0:
- resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
- engines: {node: '>=8'}
+ '@cspell/dict-makefile@1.0.5': {}
- resolve-pkg-maps@1.0.0:
- resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+ '@cspell/dict-markdown@2.0.16(@cspell/dict-css@4.1.1)(@cspell/dict-html-symbol-entities@4.0.5)(@cspell/dict-html@4.0.15)(@cspell/dict-typescript@3.2.3)':
+ dependencies:
+ '@cspell/dict-css': 4.1.1
+ '@cspell/dict-html': 4.0.15
+ '@cspell/dict-html-symbol-entities': 4.0.5
+ '@cspell/dict-typescript': 3.2.3
- resolve@1.22.10:
- resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
- engines: {node: '>= 0.4'}
- hasBin: true
+ '@cspell/dict-monkeyc@1.0.12': {}
- restore-cursor@5.1.0:
- resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
- engines: {node: '>=18'}
+ '@cspell/dict-node@5.0.9': {}
- reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ '@cspell/dict-npm@5.2.38': {}
- rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+ '@cspell/dict-php@4.1.1': {}
- rollup@4.29.1:
- resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
+ '@cspell/dict-powershell@5.0.15': {}
- rrweb-cssom@0.7.1:
- resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==}
+ '@cspell/dict-public-licenses@2.0.16': {}
- run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ '@cspell/dict-python@4.2.26':
+ dependencies:
+ '@cspell/dict-data-science': 2.0.13
- safe-array-concat@1.1.3:
- resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
- engines: {node: '>=0.4'}
+ '@cspell/dict-r@2.1.1': {}
- safe-regex-test@1.1.0:
- resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
- engines: {node: '>= 0.4'}
+ '@cspell/dict-ruby@5.1.1': {}
- safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ '@cspell/dict-rust@4.1.2': {}
- saxes@6.0.0:
- resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
- engines: {node: '>=v12.22.7'}
+ '@cspell/dict-scala@5.0.9': {}
- scheduler@0.23.2:
- resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+ '@cspell/dict-shell@1.1.2': {}
- semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
- hasBin: true
+ '@cspell/dict-software-terms@5.2.2': {}
- semver@7.6.3:
- resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
- engines: {node: '>=10'}
- hasBin: true
+ '@cspell/dict-sql@2.2.1': {}
- set-function-length@1.2.2:
- resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
- engines: {node: '>= 0.4'}
+ '@cspell/dict-svelte@1.0.7': {}
- set-function-name@2.0.2:
- resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
- engines: {node: '>= 0.4'}
+ '@cspell/dict-swift@2.0.6': {}
- shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
+ '@cspell/dict-terraform@1.1.3': {}
- shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
+ '@cspell/dict-typescript@3.2.3': {}
- short-unique-id@5.2.0:
- resolution: {integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==}
- hasBin: true
+ '@cspell/dict-vue@3.0.5': {}
- side-channel-list@1.0.0:
- resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
- engines: {node: '>= 0.4'}
+ '@cspell/dynamic-import@8.19.4':
+ dependencies:
+ '@cspell/url': 8.19.4
+ import-meta-resolve: 4.2.0
- side-channel-map@1.0.1:
- resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
- engines: {node: '>= 0.4'}
+ '@cspell/eslint-plugin@8.19.4(eslint@9.39.4(jiti@2.6.1))':
+ dependencies:
+ '@cspell/cspell-types': 8.19.4
+ '@cspell/url': 8.19.4
+ cspell-lib: 8.19.4
+ eslint: 9.39.4(jiti@2.6.1)
+ synckit: 0.11.12
- side-channel-weakmap@1.0.2:
- resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
- engines: {node: '>= 0.4'}
+ '@cspell/filetypes@8.19.4': {}
- side-channel@1.1.0:
- resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
- engines: {node: '>= 0.4'}
+ '@cspell/strong-weak-map@8.19.4': {}
- siginfo@2.0.0:
- resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+ '@cspell/url@8.19.4': {}
- signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
+ '@csstools/color-helpers@5.1.0': {}
- sirv@3.0.0:
- resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==}
- engines: {node: '>=18'}
+ '@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
- slice-ansi@5.0.0:
- resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
- engines: {node: '>=12'}
+ '@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
- slice-ansi@7.1.0:
- resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
- engines: {node: '>=18'}
+ '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
+ dependencies:
+ '@csstools/css-tokenizer': 3.0.4
- source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
- engines: {node: '>=0.10.0'}
+ '@csstools/css-tokenizer@3.0.4': {}
- source-map@0.8.0-beta.0:
- resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
- engines: {node: '>= 8'}
+ '@emnapi/core@1.10.0':
+ dependencies:
+ '@emnapi/wasi-threads': 1.2.1
+ tslib: 2.8.1
+ optional: true
- stable-hash@0.0.4:
- resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==}
+ '@emnapi/runtime@1.10.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
- stackback@0.0.2:
- resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ '@emnapi/wasi-threads@1.2.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
- std-env@3.8.0:
- resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==}
+ '@esbuild/aix-ppc64@0.21.5':
+ optional: true
- string-argv@0.3.2:
- resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
- engines: {node: '>=0.6.19'}
+ '@esbuild/android-arm64@0.21.5':
+ optional: true
- string-ts@2.2.0:
- resolution: {integrity: sha512-VTP0LLZo4Jp9Gz5IiDVMS9WyLx/3IeYh0PXUn0NdPqusUFNgkHPWiEdbB9TU2Iv3myUskraD5WtYEdHUrQEIlQ==}
+ '@esbuild/android-arm@0.21.5':
+ optional: true
- string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
+ '@esbuild/android-x64@0.21.5':
+ optional: true
- string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
+ '@esbuild/darwin-arm64@0.21.5':
+ optional: true
- string-width@7.2.0:
- resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
- engines: {node: '>=18'}
+ '@esbuild/darwin-x64@0.21.5':
+ optional: true
- string.prototype.trim@1.2.10:
- resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
- engines: {node: '>= 0.4'}
+ '@esbuild/freebsd-arm64@0.21.5':
+ optional: true
- string.prototype.trimend@1.0.9:
- resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
- engines: {node: '>= 0.4'}
+ '@esbuild/freebsd-x64@0.21.5':
+ optional: true
- string.prototype.trimstart@1.0.8:
- resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
- engines: {node: '>= 0.4'}
+ '@esbuild/linux-arm64@0.21.5':
+ optional: true
- strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
+ '@esbuild/linux-arm@0.21.5':
+ optional: true
- strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
+ '@esbuild/linux-ia32@0.21.5':
+ optional: true
- strip-bom@3.0.0:
- resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
- engines: {node: '>=4'}
+ '@esbuild/linux-loong64@0.21.5':
+ optional: true
- strip-final-newline@3.0.0:
- resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
- engines: {node: '>=12'}
+ '@esbuild/linux-mips64el@0.21.5':
+ optional: true
- strip-indent@3.0.0:
- resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
- engines: {node: '>=8'}
+ '@esbuild/linux-ppc64@0.21.5':
+ optional: true
- strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
+ '@esbuild/linux-riscv64@0.21.5':
+ optional: true
- sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
+ '@esbuild/linux-s390x@0.21.5':
+ optional: true
- supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
+ '@esbuild/linux-x64@0.21.5':
+ optional: true
- supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
+ '@esbuild/netbsd-x64@0.21.5':
+ optional: true
- symbol-tree@3.2.4:
- resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+ '@esbuild/openbsd-x64@0.21.5':
+ optional: true
- synckit@0.9.2:
- resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
- engines: {node: ^14.18.0 || >=16.0.0}
+ '@esbuild/sunos-x64@0.21.5':
+ optional: true
- tapable@2.2.1:
- resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
- engines: {node: '>=6'}
+ '@esbuild/win32-arm64@0.21.5':
+ optional: true
- thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
+ '@esbuild/win32-ia32@0.21.5':
+ optional: true
- thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ '@esbuild/win32-x64@0.21.5':
+ optional: true
- tinybench@2.9.0:
- resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+ '@eslint-community/eslint-utils@4.9.1(eslint@10.3.0(jiti@2.6.1))':
+ dependencies:
+ eslint: 10.3.0(jiti@2.6.1)
+ eslint-visitor-keys: 3.4.3
- tinyexec@0.3.1:
- resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==}
+ '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.6.1))':
+ dependencies:
+ eslint: 9.39.4(jiti@2.6.1)
+ eslint-visitor-keys: 3.4.3
- tinyglobby@0.2.10:
- resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==}
- engines: {node: '>=12.0.0'}
+ '@eslint-community/regexpp@4.12.2': {}
- tinypool@1.0.2:
- resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ '@eslint-react/ast@1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-react/eff': 1.53.1
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/typescript-estree': 8.59.3(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ string-ts: 2.3.1
+ ts-pattern: 5.9.0
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
+ - typescript
- tinyrainbow@1.2.0:
- resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
- engines: {node: '>=14.0.0'}
+ '@eslint-react/core@1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-react/ast': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/eff': 1.53.1
+ '@eslint-react/kit': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/shared': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/var': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/type-utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ birecord: 0.1.1
+ ts-pattern: 5.9.0
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
+ - typescript
- tinyspy@3.0.2:
- resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
- engines: {node: '>=14.0.0'}
+ '@eslint-react/eff@1.53.1': {}
+
+ '@eslint-react/eslint-plugin@1.53.1(eslint@9.39.4(jiti@2.6.1))(ts-api-utils@2.5.0(typescript@5.9.3))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-react/eff': 1.53.1
+ '@eslint-react/kit': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/shared': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/type-utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.6.1)
+ eslint-plugin-react-debug: 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint-plugin-react-dom: 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint-plugin-react-hooks-extra: 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint-plugin-react-naming-convention: 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint-plugin-react-web-api: 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint-plugin-react-x: 1.53.1(eslint@9.39.4(jiti@2.6.1))(ts-api-utils@2.5.0(typescript@5.9.3))(typescript@5.9.3)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+ - ts-api-utils
- tldts-core@6.1.70:
- resolution: {integrity: sha512-RNnIXDB1FD4T9cpQRErEqw6ZpjLlGdMOitdV+0xtbsnwr4YFka1zpc7D4KD+aAn8oSG5JyFrdasZTE04qDE9Yg==}
+ '@eslint-react/kit@1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-react/eff': 1.53.1
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ ts-pattern: 5.9.0
+ zod: 4.4.3
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
+ - typescript
- tldts@6.1.70:
- resolution: {integrity: sha512-/W1YVgYVJd9ZDjey5NXadNh0mJXkiUMUue9Zebd0vpdo1sU+H4zFFTaJ1RKD4N6KFoHfcXy6l+Vu7bh+bdWCzA==}
- hasBin: true
+ '@eslint-react/shared@1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-react/eff': 1.53.1
+ '@eslint-react/kit': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ ts-pattern: 5.9.0
+ zod: 4.4.3
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
+ - typescript
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
+ '@eslint-react/var@1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-react/ast': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/eff': 1.53.1
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ string-ts: 2.3.1
+ ts-pattern: 5.9.0
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
+ - typescript
- totalist@3.0.1:
- resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
- engines: {node: '>=6'}
+ '@eslint/config-array@0.21.2':
+ dependencies:
+ '@eslint/object-schema': 2.1.7
+ debug: 4.4.3
+ minimatch: 3.1.5
+ transitivePeerDependencies:
+ - supports-color
- tough-cookie@5.0.0:
- resolution: {integrity: sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==}
- engines: {node: '>=16'}
+ '@eslint/config-array@0.23.5':
+ dependencies:
+ '@eslint/object-schema': 3.0.5
+ debug: 4.4.3
+ minimatch: 10.2.5
+ transitivePeerDependencies:
+ - supports-color
- tr46@1.0.1:
- resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
+ '@eslint/config-helpers@0.4.2':
+ dependencies:
+ '@eslint/core': 0.17.0
- tr46@5.0.0:
- resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==}
- engines: {node: '>=18'}
+ '@eslint/config-helpers@0.5.5':
+ dependencies:
+ '@eslint/core': 1.2.1
- tree-kill@1.2.2:
- resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
- hasBin: true
+ '@eslint/core@0.17.0':
+ dependencies:
+ '@types/json-schema': 7.0.15
- ts-api-utils@1.4.3:
- resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==}
- engines: {node: '>=16'}
- peerDependencies:
- typescript: '>=4.2.0'
+ '@eslint/core@1.2.1':
+ dependencies:
+ '@types/json-schema': 7.0.15
- ts-api-utils@2.0.0:
- resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==}
- engines: {node: '>=18.12'}
- peerDependencies:
- typescript: '>=4.8.4'
+ '@eslint/eslintrc@3.3.5':
+ dependencies:
+ ajv: 6.15.0
+ debug: 4.4.1
+ espree: 10.3.0
+ globals: 14.0.0
+ ignore: 5.3.2
+ import-fresh: 3.3.0
+ js-yaml: 4.1.1
+ minimatch: 3.1.5
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
- ts-declaration-location@1.0.5:
- resolution: {integrity: sha512-WqmlO9IoeYwCqJ2E9kHMcY9GZhhfLYItC3VnHDlPOrg6nNdUWS4wn4hhDZUPt60m1EvtjPIZyprTjpI992Bgzw==}
- peerDependencies:
- typescript: '>=4.0.0'
+ '@eslint/js@9.39.4': {}
- ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+ '@eslint/object-schema@2.1.7': {}
- ts-pattern@5.6.0:
- resolution: {integrity: sha512-SL8u60X5+LoEy9tmQHWCdPc2hhb2pKI6I1tU5Jue3v8+iRqZdcT3mWPwKKJy1fMfky6uha82c8ByHAE8PMhKHw==}
+ '@eslint/object-schema@3.0.5': {}
- tsconfig-paths@3.15.0:
- resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+ '@eslint/plugin-kit@0.4.1':
+ dependencies:
+ '@eslint/core': 0.17.0
+ levn: 0.4.1
- tslib@2.8.1:
- resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+ '@eslint/plugin-kit@0.7.1':
+ dependencies:
+ '@eslint/core': 1.2.1
+ levn: 0.4.1
- tsup@8.3.5:
- resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==}
- engines: {node: '>=18'}
- hasBin: true
- peerDependencies:
- '@microsoft/api-extractor': ^7.36.0
- '@swc/core': ^1
- postcss: ^8.4.12
- typescript: '>=4.5.0'
- peerDependenciesMeta:
- '@microsoft/api-extractor':
- optional: true
- '@swc/core':
- optional: true
- postcss:
- optional: true
- typescript:
- optional: true
+ '@floating-ui/core@1.7.3':
+ dependencies:
+ '@floating-ui/utils': 0.2.10
- type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
+ '@floating-ui/dom@1.7.3':
+ dependencies:
+ '@floating-ui/core': 1.7.3
+ '@floating-ui/utils': 0.2.10
- typed-array-buffer@1.0.3:
- resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
- engines: {node: '>= 0.4'}
+ '@floating-ui/react-dom@2.1.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ dependencies:
+ '@floating-ui/dom': 1.7.3
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
- typed-array-byte-length@1.0.3:
- resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
- engines: {node: '>= 0.4'}
+ '@floating-ui/react@0.26.28(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@floating-ui/utils': 0.2.10
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+ tabbable: 6.2.0
- typed-array-byte-offset@1.0.4:
- resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
- engines: {node: '>= 0.4'}
+ '@floating-ui/utils@0.2.10': {}
- typed-array-length@1.0.7:
- resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
- engines: {node: '>= 0.4'}
+ '@formatjs/intl-localematcher@0.6.1':
+ dependencies:
+ tslib: 2.8.1
- typescript-eslint@8.18.2:
- resolution: {integrity: sha512-KuXezG6jHkvC3MvizeXgupZzaG5wjhU3yE8E7e6viOvAvD9xAWYp8/vy0WULTGe9DYDWcQu7aW03YIV3mSitrQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
+ '@headlessui/react@2.2.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ dependencies:
+ '@floating-ui/react': 0.26.28(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@react-aria/focus': 3.21.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@react-aria/interactions': 3.25.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@tanstack/react-virtual': 3.13.12(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+ use-sync-external-store: 1.5.0(react@19.2.6)
- typescript@5.7.2:
- resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==}
- engines: {node: '>=14.17'}
- hasBin: true
+ '@humanfs/core@0.19.1': {}
- unbox-primitive@1.1.0:
- resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
- engines: {node: '>= 0.4'}
+ '@humanfs/node@0.16.7':
+ dependencies:
+ '@humanfs/core': 0.19.1
+ '@humanwhocodes/retry': 0.4.3
- uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ '@humanwhocodes/module-importer@1.0.1': {}
- valibot@1.0.0-beta.9:
- resolution: {integrity: sha512-yEX8gMAZ2R1yI2uwOO4NCtVnJQx36zn3vD0omzzj9FhcoblvPukENIiRZXKZwCnqSeV80bMm8wNiGhQ0S8fiww==}
- peerDependencies:
- typescript: '>=5'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@humanwhocodes/retry@0.4.3': {}
- vite-node@2.1.8:
- resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
+ '@iconify/types@2.0.0': {}
- vite@5.4.11:
- resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- sass-embedded: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- sass-embedded:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
+ '@iconify/utils@2.3.0':
+ dependencies:
+ '@antfu/install-pkg': 1.1.0
+ '@antfu/utils': 8.1.1
+ '@iconify/types': 2.0.0
+ debug: 4.4.3
+ globals: 15.15.0
+ kolorist: 1.8.0
+ local-pkg: 1.1.1
+ mlly: 1.7.4
+ transitivePeerDependencies:
+ - supports-color
- vitest@2.1.8:
- resolution: {integrity: sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@edge-runtime/vm': '*'
- '@types/node': ^18.0.0 || >=20.0.0
- '@vitest/browser': 2.1.8
- '@vitest/ui': 2.1.8
- happy-dom: '*'
- jsdom: '*'
- peerDependenciesMeta:
- '@edge-runtime/vm':
- optional: true
- '@types/node':
- optional: true
- '@vitest/browser':
- optional: true
- '@vitest/ui':
- optional: true
- happy-dom:
- optional: true
- jsdom:
- optional: true
+ '@img/colour@1.1.0':
+ optional: true
- vscode-languageserver-textdocument@1.0.12:
- resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==}
+ '@img/sharp-darwin-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.2.4
+ optional: true
- vscode-uri@3.0.8:
- resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
+ '@img/sharp-darwin-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.2.4
+ optional: true
- w3c-xmlserializer@5.0.0:
- resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
- engines: {node: '>=18'}
+ '@img/sharp-libvips-darwin-arm64@1.2.4':
+ optional: true
- webidl-conversions@4.0.2:
- resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
+ '@img/sharp-libvips-darwin-x64@1.2.4':
+ optional: true
- webidl-conversions@7.0.0:
- resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
- engines: {node: '>=12'}
+ '@img/sharp-libvips-linux-arm64@1.2.4':
+ optional: true
- whatwg-encoding@3.1.1:
- resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
- engines: {node: '>=18'}
+ '@img/sharp-libvips-linux-arm@1.2.4':
+ optional: true
- whatwg-mimetype@4.0.0:
- resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
- engines: {node: '>=18'}
+ '@img/sharp-libvips-linux-ppc64@1.2.4':
+ optional: true
- whatwg-url@14.1.0:
- resolution: {integrity: sha512-jlf/foYIKywAt3x/XWKZ/3rz8OSJPiWktjmk891alJUEjiVxKX9LEO92qH3hv4aJ0mN3MWPvGMCy8jQi95xK4w==}
- engines: {node: '>=18'}
+ '@img/sharp-libvips-linux-riscv64@1.2.4':
+ optional: true
- whatwg-url@7.1.0:
- resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
+ '@img/sharp-libvips-linux-s390x@1.2.4':
+ optional: true
- which-boxed-primitive@1.1.1:
- resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
- engines: {node: '>= 0.4'}
+ '@img/sharp-libvips-linux-x64@1.2.4':
+ optional: true
- which-builtin-type@1.2.1:
- resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
- engines: {node: '>= 0.4'}
+ '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
+ optional: true
- which-collection@1.0.2:
- resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
- engines: {node: '>= 0.4'}
+ '@img/sharp-libvips-linuxmusl-x64@1.2.4':
+ optional: true
- which-typed-array@1.1.18:
- resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==}
- engines: {node: '>= 0.4'}
+ '@img/sharp-linux-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.2.4
+ optional: true
- which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
+ '@img/sharp-linux-arm@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.2.4
+ optional: true
- why-is-node-running@2.3.0:
- resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
- engines: {node: '>=8'}
- hasBin: true
+ '@img/sharp-linux-ppc64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-ppc64': 1.2.4
+ optional: true
- word-wrap@1.2.5:
- resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
- engines: {node: '>=0.10.0'}
+ '@img/sharp-linux-riscv64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-riscv64': 1.2.4
+ optional: true
- wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
+ '@img/sharp-linux-s390x@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.2.4
+ optional: true
- wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
+ '@img/sharp-linux-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.2.4
+ optional: true
- wrap-ansi@9.0.0:
- resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
- engines: {node: '>=18'}
+ '@img/sharp-linuxmusl-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
+ optional: true
- ws@8.18.0:
- resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: '>=5.0.2'
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
+ '@img/sharp-linuxmusl-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.2.4
+ optional: true
- xdg-basedir@5.1.0:
- resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
- engines: {node: '>=12'}
+ '@img/sharp-wasm32@0.34.5':
+ dependencies:
+ '@emnapi/runtime': 1.10.0
+ optional: true
- xml-name-validator@5.0.0:
- resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
- engines: {node: '>=18'}
+ '@img/sharp-win32-arm64@0.34.5':
+ optional: true
- xmlchars@2.2.0:
- resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+ '@img/sharp-win32-ia32@0.34.5':
+ optional: true
- yaml@2.6.1:
- resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==}
- engines: {node: '>= 14'}
- hasBin: true
+ '@img/sharp-win32-x64@0.34.5':
+ optional: true
- yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
+ '@jridgewell/gen-mapping@0.3.13':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
- zod@3.24.1:
- resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==}
+ '@jridgewell/remapping@2.3.5':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
-snapshots:
+ '@jridgewell/resolve-uri@3.1.2': {}
- '@adobe/css-tools@4.4.1': {}
+ '@jridgewell/sourcemap-codec@1.5.5': {}
- '@babel/code-frame@7.26.2':
+ '@jridgewell/trace-mapping@0.3.31':
dependencies:
- '@babel/helper-validator-identifier': 7.25.9
- js-tokens: 4.0.0
- picocolors: 1.1.1
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ '@mdx-js/mdx@3.1.0(acorn@8.16.0)':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdx': 2.0.13
+ collapse-white-space: 2.1.0
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-util-scope: 1.0.0
+ estree-walker: 3.0.3
+ hast-util-to-jsx-runtime: 2.3.6
+ markdown-extensions: 2.0.0
+ recma-build-jsx: 1.0.0
+ recma-jsx: 1.0.1(acorn@8.16.0)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+ remark-mdx: 3.1.0
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ source-map: 0.7.6
+ unified: 11.0.5
+ unist-util-position-from-estree: 2.0.0
+ unist-util-stringify-position: 4.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - acorn
+ - supports-color
- '@babel/helper-validator-identifier@7.25.9': {}
-
- '@babel/runtime@7.26.0':
- dependencies:
- regenerator-runtime: 0.14.1
-
- '@cspell/cspell-bundled-dicts@8.17.1':
- dependencies:
- '@cspell/dict-ada': 4.0.5
- '@cspell/dict-al': 1.0.3
- '@cspell/dict-aws': 4.0.7
- '@cspell/dict-bash': 4.1.8
- '@cspell/dict-companies': 3.1.10
- '@cspell/dict-cpp': 6.0.2
- '@cspell/dict-cryptocurrencies': 5.0.3
- '@cspell/dict-csharp': 4.0.5
- '@cspell/dict-css': 4.0.16
- '@cspell/dict-dart': 2.2.4
- '@cspell/dict-django': 4.1.3
- '@cspell/dict-docker': 1.1.11
- '@cspell/dict-dotnet': 5.0.8
- '@cspell/dict-elixir': 4.0.6
- '@cspell/dict-en-common-misspellings': 2.0.7
- '@cspell/dict-en-gb': 1.1.33
- '@cspell/dict-en_us': 4.3.28
- '@cspell/dict-filetypes': 3.0.9
- '@cspell/dict-flutter': 1.0.3
- '@cspell/dict-fonts': 4.0.3
- '@cspell/dict-fsharp': 1.0.4
- '@cspell/dict-fullstack': 3.2.3
- '@cspell/dict-gaming-terms': 1.0.9
- '@cspell/dict-git': 3.0.3
- '@cspell/dict-golang': 6.0.17
- '@cspell/dict-google': 1.0.4
- '@cspell/dict-haskell': 4.0.4
- '@cspell/dict-html': 4.0.10
- '@cspell/dict-html-symbol-entities': 4.0.3
- '@cspell/dict-java': 5.0.10
- '@cspell/dict-julia': 1.0.4
- '@cspell/dict-k8s': 1.0.9
- '@cspell/dict-latex': 4.0.3
- '@cspell/dict-lorem-ipsum': 4.0.3
- '@cspell/dict-lua': 4.0.6
- '@cspell/dict-makefile': 1.0.3
- '@cspell/dict-markdown': 2.0.7(@cspell/dict-css@4.0.16)(@cspell/dict-html-symbol-entities@4.0.3)(@cspell/dict-html@4.0.10)(@cspell/dict-typescript@3.1.11)
- '@cspell/dict-monkeyc': 1.0.9
- '@cspell/dict-node': 5.0.5
- '@cspell/dict-npm': 5.1.20
- '@cspell/dict-php': 4.0.13
- '@cspell/dict-powershell': 5.0.13
- '@cspell/dict-public-licenses': 2.0.11
- '@cspell/dict-python': 4.2.13
- '@cspell/dict-r': 2.0.4
- '@cspell/dict-ruby': 5.0.7
- '@cspell/dict-rust': 4.0.10
- '@cspell/dict-scala': 5.0.6
- '@cspell/dict-software-terms': 4.2.0
- '@cspell/dict-sql': 2.1.8
- '@cspell/dict-svelte': 1.0.5
- '@cspell/dict-swift': 2.0.4
- '@cspell/dict-terraform': 1.0.7
- '@cspell/dict-typescript': 3.1.11
- '@cspell/dict-vue': 3.0.3
-
- '@cspell/cspell-pipe@8.17.1': {}
-
- '@cspell/cspell-resolver@8.17.1':
+ '@mermaid-js/parser@0.6.2':
dependencies:
- global-directory: 4.0.1
+ langium: 3.3.1
+
+ '@napi-rs/simple-git-android-arm-eabi@0.1.21':
+ optional: true
- '@cspell/cspell-service-bus@8.17.1': {}
+ '@napi-rs/simple-git-android-arm64@0.1.21':
+ optional: true
- '@cspell/cspell-types@8.17.1': {}
+ '@napi-rs/simple-git-darwin-arm64@0.1.21':
+ optional: true
- '@cspell/dict-ada@4.0.5': {}
+ '@napi-rs/simple-git-darwin-x64@0.1.21':
+ optional: true
- '@cspell/dict-al@1.0.3': {}
+ '@napi-rs/simple-git-freebsd-x64@0.1.21':
+ optional: true
- '@cspell/dict-aws@4.0.7': {}
+ '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.21':
+ optional: true
- '@cspell/dict-bash@4.1.8': {}
+ '@napi-rs/simple-git-linux-arm64-gnu@0.1.21':
+ optional: true
- '@cspell/dict-companies@3.1.10': {}
+ '@napi-rs/simple-git-linux-arm64-musl@0.1.21':
+ optional: true
- '@cspell/dict-cpp@6.0.2': {}
+ '@napi-rs/simple-git-linux-ppc64-gnu@0.1.21':
+ optional: true
- '@cspell/dict-cryptocurrencies@5.0.3': {}
+ '@napi-rs/simple-git-linux-s390x-gnu@0.1.21':
+ optional: true
- '@cspell/dict-csharp@4.0.5': {}
+ '@napi-rs/simple-git-linux-x64-gnu@0.1.21':
+ optional: true
- '@cspell/dict-css@4.0.16': {}
+ '@napi-rs/simple-git-linux-x64-musl@0.1.21':
+ optional: true
- '@cspell/dict-dart@2.2.4': {}
+ '@napi-rs/simple-git-win32-arm64-msvc@0.1.21':
+ optional: true
- '@cspell/dict-data-science@2.0.5': {}
+ '@napi-rs/simple-git-win32-ia32-msvc@0.1.21':
+ optional: true
- '@cspell/dict-django@4.1.3': {}
+ '@napi-rs/simple-git-win32-x64-msvc@0.1.21':
+ optional: true
- '@cspell/dict-docker@1.1.11': {}
+ '@napi-rs/simple-git@0.1.21':
+ optionalDependencies:
+ '@napi-rs/simple-git-android-arm-eabi': 0.1.21
+ '@napi-rs/simple-git-android-arm64': 0.1.21
+ '@napi-rs/simple-git-darwin-arm64': 0.1.21
+ '@napi-rs/simple-git-darwin-x64': 0.1.21
+ '@napi-rs/simple-git-freebsd-x64': 0.1.21
+ '@napi-rs/simple-git-linux-arm-gnueabihf': 0.1.21
+ '@napi-rs/simple-git-linux-arm64-gnu': 0.1.21
+ '@napi-rs/simple-git-linux-arm64-musl': 0.1.21
+ '@napi-rs/simple-git-linux-ppc64-gnu': 0.1.21
+ '@napi-rs/simple-git-linux-s390x-gnu': 0.1.21
+ '@napi-rs/simple-git-linux-x64-gnu': 0.1.21
+ '@napi-rs/simple-git-linux-x64-musl': 0.1.21
+ '@napi-rs/simple-git-win32-arm64-msvc': 0.1.21
+ '@napi-rs/simple-git-win32-ia32-msvc': 0.1.21
+ '@napi-rs/simple-git-win32-x64-msvc': 0.1.21
+
+ '@napi-rs/wasm-runtime@0.2.12':
+ dependencies:
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@tybys/wasm-util': 0.10.2
+ optional: true
- '@cspell/dict-dotnet@5.0.8': {}
+ '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
+ dependencies:
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@tybys/wasm-util': 0.10.2
+ optional: true
- '@cspell/dict-elixir@4.0.6': {}
+ '@next/env@16.2.6': {}
- '@cspell/dict-en-common-misspellings@2.0.7': {}
+ '@next/eslint-plugin-next@15.3.5':
+ dependencies:
+ fast-glob: 3.3.1
- '@cspell/dict-en-gb@1.1.33': {}
+ '@next/swc-darwin-arm64@16.2.6':
+ optional: true
- '@cspell/dict-en_us@4.3.28': {}
+ '@next/swc-darwin-x64@16.2.6':
+ optional: true
- '@cspell/dict-filetypes@3.0.9': {}
+ '@next/swc-linux-arm64-gnu@16.2.6':
+ optional: true
- '@cspell/dict-flutter@1.0.3': {}
+ '@next/swc-linux-arm64-musl@16.2.6':
+ optional: true
- '@cspell/dict-fonts@4.0.3': {}
+ '@next/swc-linux-x64-gnu@16.2.6':
+ optional: true
- '@cspell/dict-fsharp@1.0.4': {}
+ '@next/swc-linux-x64-musl@16.2.6':
+ optional: true
- '@cspell/dict-fullstack@3.2.3': {}
+ '@next/swc-win32-arm64-msvc@16.2.6':
+ optional: true
- '@cspell/dict-gaming-terms@1.0.9': {}
+ '@next/swc-win32-x64-msvc@16.2.6':
+ optional: true
- '@cspell/dict-git@3.0.3': {}
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
- '@cspell/dict-golang@6.0.17': {}
+ '@nodelib/fs.stat@2.0.5': {}
- '@cspell/dict-google@1.0.4': {}
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.18.0
- '@cspell/dict-haskell@4.0.4': {}
+ '@nolyfill/is-core-module@1.0.39': {}
- '@cspell/dict-html-symbol-entities@4.0.3': {}
+ '@oxc-project/types@0.103.0': {}
- '@cspell/dict-html@4.0.10': {}
+ '@pagefind/darwin-arm64@1.5.2':
+ optional: true
- '@cspell/dict-java@5.0.10': {}
+ '@pagefind/darwin-x64@1.5.2':
+ optional: true
- '@cspell/dict-julia@1.0.4': {}
+ '@pagefind/freebsd-x64@1.5.2':
+ optional: true
- '@cspell/dict-k8s@1.0.9': {}
+ '@pagefind/linux-arm64@1.5.2':
+ optional: true
- '@cspell/dict-latex@4.0.3': {}
+ '@pagefind/linux-x64@1.5.2':
+ optional: true
- '@cspell/dict-lorem-ipsum@4.0.3': {}
+ '@pagefind/windows-arm64@1.5.2':
+ optional: true
- '@cspell/dict-lua@4.0.6': {}
+ '@pagefind/windows-x64@1.5.2':
+ optional: true
- '@cspell/dict-makefile@1.0.3': {}
+ '@pkgr/core@0.2.9': {}
- '@cspell/dict-markdown@2.0.7(@cspell/dict-css@4.0.16)(@cspell/dict-html-symbol-entities@4.0.3)(@cspell/dict-html@4.0.10)(@cspell/dict-typescript@3.1.11)':
+ '@quansync/fs@1.0.0':
dependencies:
- '@cspell/dict-css': 4.0.16
- '@cspell/dict-html': 4.0.10
- '@cspell/dict-html-symbol-entities': 4.0.3
- '@cspell/dict-typescript': 3.1.11
-
- '@cspell/dict-monkeyc@1.0.9': {}
-
- '@cspell/dict-node@5.0.5': {}
+ quansync: 1.0.0
- '@cspell/dict-npm@5.1.20': {}
+ '@react-aria/focus@3.21.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ dependencies:
+ '@react-aria/interactions': 3.25.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@react-aria/utils': 3.30.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@react-types/shared': 3.31.0(react@19.2.6)
+ '@swc/helpers': 0.5.18
+ clsx: 2.1.1
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
- '@cspell/dict-php@4.0.13': {}
+ '@react-aria/interactions@3.25.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ dependencies:
+ '@react-aria/ssr': 3.9.10(react@19.2.6)
+ '@react-aria/utils': 3.30.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@react-stately/flags': 3.1.2
+ '@react-types/shared': 3.31.0(react@19.2.6)
+ '@swc/helpers': 0.5.18
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
- '@cspell/dict-powershell@5.0.13': {}
+ '@react-aria/ssr@3.9.10(react@19.2.6)':
+ dependencies:
+ '@swc/helpers': 0.5.18
+ react: 19.2.6
- '@cspell/dict-public-licenses@2.0.11': {}
+ '@react-aria/utils@3.30.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ dependencies:
+ '@react-aria/ssr': 3.9.10(react@19.2.6)
+ '@react-stately/flags': 3.1.2
+ '@react-stately/utils': 3.10.8(react@19.2.6)
+ '@react-types/shared': 3.31.0(react@19.2.6)
+ '@swc/helpers': 0.5.18
+ clsx: 2.1.1
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
- '@cspell/dict-python@4.2.13':
+ '@react-stately/flags@3.1.2':
dependencies:
- '@cspell/dict-data-science': 2.0.5
+ '@swc/helpers': 0.5.18
- '@cspell/dict-r@2.0.4': {}
+ '@react-stately/utils@3.10.8(react@19.2.6)':
+ dependencies:
+ '@swc/helpers': 0.5.18
+ react: 19.2.6
- '@cspell/dict-ruby@5.0.7': {}
+ '@react-types/shared@3.31.0(react@19.2.6)':
+ dependencies:
+ react: 19.2.6
- '@cspell/dict-rust@4.0.10': {}
+ '@rolldown/binding-android-arm64@1.0.0-beta.57':
+ optional: true
- '@cspell/dict-scala@5.0.6': {}
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.57':
+ optional: true
- '@cspell/dict-software-terms@4.2.0': {}
+ '@rolldown/binding-darwin-x64@1.0.0-beta.57':
+ optional: true
- '@cspell/dict-sql@2.1.8': {}
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.57':
+ optional: true
- '@cspell/dict-svelte@1.0.5': {}
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.57':
+ optional: true
- '@cspell/dict-swift@2.0.4': {}
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.57':
+ optional: true
- '@cspell/dict-terraform@1.0.7': {}
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.57':
+ optional: true
- '@cspell/dict-typescript@3.1.11': {}
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.57':
+ optional: true
- '@cspell/dict-vue@3.0.3': {}
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.57':
+ optional: true
- '@cspell/dynamic-import@8.17.1':
- dependencies:
- '@cspell/url': 8.17.1
- import-meta-resolve: 4.1.0
+ '@rolldown/binding-openharmony-arm64@1.0.0-beta.57':
+ optional: true
- '@cspell/eslint-plugin@8.17.1(eslint@9.17.0)':
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
dependencies:
- '@cspell/cspell-types': 8.17.1
- '@cspell/url': 8.17.1
- cspell-lib: 8.17.1
- eslint: 9.17.0
- synckit: 0.9.2
+ '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ optional: true
- '@cspell/filetypes@8.17.1': {}
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.57':
+ optional: true
- '@cspell/strong-weak-map@8.17.1': {}
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.57':
+ optional: true
- '@cspell/url@8.17.1': {}
+ '@rolldown/pluginutils@1.0.0-beta.57': {}
- '@esbuild/aix-ppc64@0.21.5':
+ '@rollup/rollup-android-arm-eabi@4.60.3':
optional: true
- '@esbuild/aix-ppc64@0.24.2':
+ '@rollup/rollup-android-arm64@4.60.3':
optional: true
- '@esbuild/android-arm64@0.21.5':
+ '@rollup/rollup-darwin-arm64@4.60.3':
optional: true
- '@esbuild/android-arm64@0.24.2':
+ '@rollup/rollup-darwin-x64@4.60.3':
optional: true
- '@esbuild/android-arm@0.21.5':
+ '@rollup/rollup-freebsd-arm64@4.60.3':
optional: true
- '@esbuild/android-arm@0.24.2':
+ '@rollup/rollup-freebsd-x64@4.60.3':
optional: true
- '@esbuild/android-x64@0.21.5':
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.3':
optional: true
- '@esbuild/android-x64@0.24.2':
+ '@rollup/rollup-linux-arm-musleabihf@4.60.3':
optional: true
- '@esbuild/darwin-arm64@0.21.5':
+ '@rollup/rollup-linux-arm64-gnu@4.60.3':
optional: true
- '@esbuild/darwin-arm64@0.24.2':
+ '@rollup/rollup-linux-arm64-musl@4.60.3':
optional: true
- '@esbuild/darwin-x64@0.21.5':
+ '@rollup/rollup-linux-loong64-gnu@4.60.3':
optional: true
- '@esbuild/darwin-x64@0.24.2':
+ '@rollup/rollup-linux-loong64-musl@4.60.3':
optional: true
- '@esbuild/freebsd-arm64@0.21.5':
+ '@rollup/rollup-linux-ppc64-gnu@4.60.3':
optional: true
- '@esbuild/freebsd-arm64@0.24.2':
+ '@rollup/rollup-linux-ppc64-musl@4.60.3':
optional: true
- '@esbuild/freebsd-x64@0.21.5':
+ '@rollup/rollup-linux-riscv64-gnu@4.60.3':
optional: true
- '@esbuild/freebsd-x64@0.24.2':
+ '@rollup/rollup-linux-riscv64-musl@4.60.3':
optional: true
- '@esbuild/linux-arm64@0.21.5':
+ '@rollup/rollup-linux-s390x-gnu@4.60.3':
optional: true
- '@esbuild/linux-arm64@0.24.2':
+ '@rollup/rollup-linux-x64-gnu@4.60.3':
optional: true
- '@esbuild/linux-arm@0.21.5':
+ '@rollup/rollup-linux-x64-musl@4.60.3':
optional: true
- '@esbuild/linux-arm@0.24.2':
+ '@rollup/rollup-openbsd-x64@4.60.3':
optional: true
- '@esbuild/linux-ia32@0.21.5':
+ '@rollup/rollup-openharmony-arm64@4.60.3':
optional: true
- '@esbuild/linux-ia32@0.24.2':
+ '@rollup/rollup-win32-arm64-msvc@4.60.3':
optional: true
- '@esbuild/linux-loong64@0.21.5':
+ '@rollup/rollup-win32-ia32-msvc@4.60.3':
optional: true
- '@esbuild/linux-loong64@0.24.2':
+ '@rollup/rollup-win32-x64-gnu@4.60.3':
optional: true
- '@esbuild/linux-mips64el@0.21.5':
+ '@rollup/rollup-win32-x64-msvc@4.60.3':
optional: true
- '@esbuild/linux-mips64el@0.24.2':
- optional: true
+ '@rtsao/scc@1.1.0': {}
- '@esbuild/linux-ppc64@0.21.5':
- optional: true
+ '@rushstack/eslint-patch@1.16.1': {}
- '@esbuild/linux-ppc64@0.24.2':
- optional: true
+ '@shikijs/core@3.9.1':
+ dependencies:
+ '@shikijs/types': 3.9.1
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
- '@esbuild/linux-riscv64@0.21.5':
- optional: true
+ '@shikijs/engine-javascript@3.9.1':
+ dependencies:
+ '@shikijs/types': 3.9.1
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.3.3
+
+ '@shikijs/engine-oniguruma@3.9.1':
+ dependencies:
+ '@shikijs/types': 3.9.1
+ '@shikijs/vscode-textmate': 10.0.2
+
+ '@shikijs/langs@3.9.1':
+ dependencies:
+ '@shikijs/types': 3.9.1
+
+ '@shikijs/themes@3.9.1':
+ dependencies:
+ '@shikijs/types': 3.9.1
+
+ '@shikijs/twoslash@3.9.1(typescript@5.9.3)':
+ dependencies:
+ '@shikijs/core': 3.9.1
+ '@shikijs/types': 3.9.1
+ twoslash: 0.3.3(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@shikijs/types@3.9.1':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+ '@shikijs/vscode-textmate@10.0.2': {}
+
+ '@swc/helpers@0.5.15':
+ dependencies:
+ tslib: 2.8.1
+
+ '@swc/helpers@0.5.18':
+ dependencies:
+ tslib: 2.8.1
+
+ '@tailwindcss/node@4.3.0':
+ dependencies:
+ '@jridgewell/remapping': 2.3.5
+ enhanced-resolve: 5.21.3
+ jiti: 2.6.1
+ lightningcss: 1.32.0
+ magic-string: 0.30.21
+ source-map-js: 1.2.1
+ tailwindcss: 4.3.0
- '@esbuild/linux-riscv64@0.24.2':
+ '@tailwindcss/oxide-android-arm64@4.3.0':
optional: true
- '@esbuild/linux-s390x@0.21.5':
+ '@tailwindcss/oxide-darwin-arm64@4.3.0':
optional: true
- '@esbuild/linux-s390x@0.24.2':
+ '@tailwindcss/oxide-darwin-x64@4.3.0':
optional: true
- '@esbuild/linux-x64@0.21.5':
+ '@tailwindcss/oxide-freebsd-x64@4.3.0':
optional: true
- '@esbuild/linux-x64@0.24.2':
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0':
optional: true
- '@esbuild/netbsd-arm64@0.24.2':
+ '@tailwindcss/oxide-linux-arm64-gnu@4.3.0':
optional: true
- '@esbuild/netbsd-x64@0.21.5':
+ '@tailwindcss/oxide-linux-arm64-musl@4.3.0':
optional: true
- '@esbuild/netbsd-x64@0.24.2':
+ '@tailwindcss/oxide-linux-x64-gnu@4.3.0':
optional: true
- '@esbuild/openbsd-arm64@0.24.2':
+ '@tailwindcss/oxide-linux-x64-musl@4.3.0':
optional: true
- '@esbuild/openbsd-x64@0.21.5':
+ '@tailwindcss/oxide-wasm32-wasi@4.3.0':
optional: true
- '@esbuild/openbsd-x64@0.24.2':
+ '@tailwindcss/oxide-win32-arm64-msvc@4.3.0':
optional: true
- '@esbuild/sunos-x64@0.21.5':
+ '@tailwindcss/oxide-win32-x64-msvc@4.3.0':
optional: true
- '@esbuild/sunos-x64@0.24.2':
+ '@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.14
+ tailwindcss: 4.3.0
+
+ '@tanstack/react-virtual@3.13.12(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ dependencies:
+ '@tanstack/virtual-core': 3.13.12
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+
+ '@tanstack/virtual-core@3.13.12': {}
+
+ '@testing-library/dom@10.4.0':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/runtime': 7.29.2
+ '@types/aria-query': 5.0.4
+ aria-query: 5.3.0
+ chalk: 4.1.2
+ dom-accessibility-api: 0.5.16
+ lz-string: 1.5.0
+ pretty-format: 27.5.1
+
+ '@testing-library/jest-dom@6.9.1':
+ dependencies:
+ '@adobe/css-tools': 4.4.4
+ aria-query: 5.3.2
+ css.escape: 1.5.1
+ dom-accessibility-api: 0.6.3
+ picocolors: 1.1.1
+ redent: 3.0.0
+
+ '@testing-library/react@16.3.2(@testing-library/dom@10.4.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ dependencies:
+ '@babel/runtime': 7.28.4
+ '@testing-library/dom': 10.4.0
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)':
+ dependencies:
+ '@testing-library/dom': 10.4.0
+
+ '@theguild/remark-mermaid@0.3.0(react@19.2.6)':
+ dependencies:
+ mermaid: 11.9.0
+ react: 19.2.6
+ unist-util-visit: 5.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@theguild/remark-npm2yarn@0.3.3':
+ dependencies:
+ npm-to-yarn: 3.0.1
+ unist-util-visit: 5.0.0
+
+ '@ts-morph/common@0.28.1':
+ dependencies:
+ minimatch: 10.2.5
+ path-browserify: 1.0.1
+ tinyglobby: 0.2.16
+
+ '@turbo/darwin-64@2.9.12':
optional: true
- '@esbuild/win32-arm64@0.21.5':
+ '@turbo/darwin-arm64@2.9.12':
optional: true
- '@esbuild/win32-arm64@0.24.2':
+ '@turbo/linux-64@2.9.12':
optional: true
- '@esbuild/win32-ia32@0.21.5':
+ '@turbo/linux-arm64@2.9.12':
optional: true
- '@esbuild/win32-ia32@0.24.2':
+ '@turbo/windows-64@2.9.12':
optional: true
- '@esbuild/win32-x64@0.21.5':
+ '@turbo/windows-arm64@2.9.12':
optional: true
- '@esbuild/win32-x64@0.24.2':
+ '@tybys/wasm-util@0.10.2':
+ dependencies:
+ tslib: 2.8.1
optional: true
- '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0)':
+ '@types/aria-query@5.0.4': {}
+
+ '@types/d3-array@3.2.1': {}
+
+ '@types/d3-axis@3.0.6':
dependencies:
- eslint: 9.17.0
- eslint-visitor-keys: 3.4.3
+ '@types/d3-selection': 3.0.11
- '@eslint-community/regexpp@4.12.1': {}
+ '@types/d3-brush@3.0.6':
+ dependencies:
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-chord@3.0.6': {}
- '@eslint-react/ast@1.22.1(eslint@9.17.0)(typescript@5.7.2)':
+ '@types/d3-color@3.1.3': {}
+
+ '@types/d3-contour@3.0.6':
dependencies:
- '@eslint-react/eff': 1.22.1
- '@eslint-react/types': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2)
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- birecord: 0.1.1
- string-ts: 2.2.0
- ts-pattern: 5.6.0
- transitivePeerDependencies:
- - eslint
- - supports-color
- - typescript
+ '@types/d3-array': 3.2.1
+ '@types/geojson': 7946.0.16
- '@eslint-react/core@1.22.1(eslint@9.17.0)(typescript@5.7.2)':
- dependencies:
- '@eslint-react/ast': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/eff': 1.22.1
- '@eslint-react/jsx': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/shared': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/types': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/var': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/type-utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- birecord: 0.1.1
- short-unique-id: 5.2.0
- ts-pattern: 5.6.0
- transitivePeerDependencies:
- - eslint
- - supports-color
- - typescript
+ '@types/d3-delaunay@6.0.4': {}
- '@eslint-react/eff@1.22.1': {}
-
- '@eslint-react/eslint-plugin@1.22.1(eslint@9.17.0)(typescript@5.7.2)':
- dependencies:
- '@eslint-react/eff': 1.22.1
- '@eslint-react/shared': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/types': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/type-utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- eslint: 9.17.0
- eslint-plugin-react-debug: 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- eslint-plugin-react-dom: 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- eslint-plugin-react-hooks-extra: 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- eslint-plugin-react-naming-convention: 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- eslint-plugin-react-web-api: 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- eslint-plugin-react-x: 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- optionalDependencies:
- typescript: 5.7.2
- transitivePeerDependencies:
- - supports-color
+ '@types/d3-dispatch@3.0.7': {}
- '@eslint-react/jsx@1.22.1(eslint@9.17.0)(typescript@5.7.2)':
+ '@types/d3-drag@3.0.7':
dependencies:
- '@eslint-react/ast': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/eff': 1.22.1
- '@eslint-react/types': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/var': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- birecord: 0.1.1
- ts-pattern: 5.6.0
- transitivePeerDependencies:
- - eslint
- - supports-color
- - typescript
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-dsv@3.0.7': {}
- '@eslint-react/shared@1.22.1(eslint@9.17.0)(typescript@5.7.2)':
+ '@types/d3-ease@3.0.2': {}
+
+ '@types/d3-fetch@3.0.7':
dependencies:
- '@eslint-react/eff': 1.22.1
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- fast-equals: 5.0.1
- micro-memoize: 4.1.2
- picomatch: 4.0.2
- ts-pattern: 5.6.0
- valibot: 1.0.0-beta.9(typescript@5.7.2)
- transitivePeerDependencies:
- - eslint
- - supports-color
- - typescript
+ '@types/d3-dsv': 3.0.7
+
+ '@types/d3-force@3.0.10': {}
- '@eslint-react/types@1.22.1(eslint@9.17.0)(typescript@5.7.2)':
+ '@types/d3-format@3.0.4': {}
+
+ '@types/d3-geo@3.1.0':
dependencies:
- '@eslint-react/eff': 1.22.1
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- transitivePeerDependencies:
- - eslint
- - supports-color
- - typescript
+ '@types/geojson': 7946.0.16
+
+ '@types/d3-hierarchy@3.1.7': {}
- '@eslint-react/var@1.22.1(eslint@9.17.0)(typescript@5.7.2)':
+ '@types/d3-interpolate@3.0.4':
dependencies:
- '@eslint-react/ast': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/eff': 1.22.1
- '@eslint-react/types': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- string-ts: 2.2.0
- ts-pattern: 5.6.0
- transitivePeerDependencies:
- - eslint
- - supports-color
- - typescript
+ '@types/d3-color': 3.1.3
+
+ '@types/d3-path@3.1.1': {}
+
+ '@types/d3-polygon@3.0.2': {}
- '@eslint/config-array@0.19.1':
+ '@types/d3-quadtree@3.0.6': {}
+
+ '@types/d3-random@3.0.3': {}
+
+ '@types/d3-scale-chromatic@3.1.0': {}
+
+ '@types/d3-scale@4.0.9':
dependencies:
- '@eslint/object-schema': 2.1.5
- debug: 4.4.0
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
+ '@types/d3-time': 3.0.4
+
+ '@types/d3-selection@3.0.11': {}
+
+ '@types/d3-shape@3.1.7':
+ dependencies:
+ '@types/d3-path': 3.1.1
+
+ '@types/d3-time-format@4.0.3': {}
+
+ '@types/d3-time@3.0.4': {}
+
+ '@types/d3-timer@3.0.2': {}
+
+ '@types/d3-transition@3.0.9':
+ dependencies:
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-zoom@3.0.8':
+ dependencies:
+ '@types/d3-interpolate': 3.0.4
+ '@types/d3-selection': 3.0.11
- '@eslint/core@0.9.1':
+ '@types/d3@7.4.3':
dependencies:
+ '@types/d3-array': 3.2.1
+ '@types/d3-axis': 3.0.6
+ '@types/d3-brush': 3.0.6
+ '@types/d3-chord': 3.0.6
+ '@types/d3-color': 3.1.3
+ '@types/d3-contour': 3.0.6
+ '@types/d3-delaunay': 6.0.4
+ '@types/d3-dispatch': 3.0.7
+ '@types/d3-drag': 3.0.7
+ '@types/d3-dsv': 3.0.7
+ '@types/d3-ease': 3.0.2
+ '@types/d3-fetch': 3.0.7
+ '@types/d3-force': 3.0.10
+ '@types/d3-format': 3.0.4
+ '@types/d3-geo': 3.1.0
+ '@types/d3-hierarchy': 3.1.7
+ '@types/d3-interpolate': 3.0.4
+ '@types/d3-path': 3.1.1
+ '@types/d3-polygon': 3.0.2
+ '@types/d3-quadtree': 3.0.6
+ '@types/d3-random': 3.0.3
+ '@types/d3-scale': 4.0.9
+ '@types/d3-scale-chromatic': 3.1.0
+ '@types/d3-selection': 3.0.11
+ '@types/d3-shape': 3.1.7
+ '@types/d3-time': 3.0.4
+ '@types/d3-time-format': 4.0.3
+ '@types/d3-timer': 3.0.2
+ '@types/d3-transition': 3.0.9
+ '@types/d3-zoom': 3.0.8
+
+ '@types/debug@4.1.12':
+ dependencies:
+ '@types/ms': 2.1.0
+
+ '@types/eslint@9.6.1':
+ dependencies:
+ '@types/estree': 1.0.8
'@types/json-schema': 7.0.15
- '@eslint/eslintrc@3.2.0':
+ '@types/esrecurse@4.3.1': {}
+
+ '@types/estree-jsx@1.0.5':
dependencies:
- ajv: 6.12.6
- debug: 4.4.0
- espree: 10.3.0
- globals: 14.0.0
- ignore: 5.3.2
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
+ '@types/estree': 1.0.8
- '@eslint/js@9.17.0': {}
+ '@types/estree@1.0.8': {}
- '@eslint/object-schema@2.1.5': {}
+ '@types/geojson@7946.0.16': {}
- '@eslint/plugin-kit@0.2.4':
+ '@types/hast@3.0.4':
dependencies:
- levn: 0.4.1
+ '@types/unist': 3.0.3
- '@humanfs/core@0.19.1': {}
+ '@types/json-schema@7.0.15': {}
+
+ '@types/json5@0.0.29': {}
+
+ '@types/katex@0.16.7': {}
- '@humanfs/node@0.16.6':
+ '@types/mdast@4.0.4':
dependencies:
- '@humanfs/core': 0.19.1
- '@humanwhocodes/retry': 0.3.1
+ '@types/unist': 3.0.3
- '@humanwhocodes/module-importer@1.0.1': {}
+ '@types/mdx@2.0.13': {}
+
+ '@types/ms@2.1.0': {}
+
+ '@types/nlcst@2.0.3':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/node@20.19.41':
+ dependencies:
+ undici-types: 6.21.0
+
+ '@types/node@25.7.0':
+ dependencies:
+ undici-types: 7.21.0
+ optional: true
+
+ '@types/react-dom@19.2.3(@types/react@19.2.14)':
+ dependencies:
+ '@types/react': 19.2.14
+
+ '@types/react@19.2.14':
+ dependencies:
+ csstype: 3.2.3
+
+ '@types/trusted-types@2.0.7':
+ optional: true
+
+ '@types/unist@2.0.11': {}
+
+ '@types/unist@3.0.3': {}
+
+ '@types/zen-observable@0.8.3': {}
+
+ '@typescript-eslint/eslint-plugin@8.59.3(@typescript-eslint/parser@8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-community/regexpp': 4.12.2
+ '@typescript-eslint/parser': 8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/type-utils': 8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.59.3
+ eslint: 10.3.0(jiti@2.6.1)
+ ignore: 7.0.5
+ natural-compare: 1.4.0
+ ts-api-utils: 2.5.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/eslint-plugin@8.59.3(@typescript-eslint/parser@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-community/regexpp': 4.12.2
+ '@typescript-eslint/parser': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/type-utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.59.3
+ eslint: 9.39.4(jiti@2.6.1)
+ ignore: 7.0.5
+ natural-compare: 1.4.0
+ ts-api-utils: 2.5.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/parser@8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/typescript-estree': 8.59.3(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.59.3
+ debug: 4.4.3
+ eslint: 10.3.0(jiti@2.6.1)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
- '@humanwhocodes/retry@0.3.1': {}
+ '@typescript-eslint/parser@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/typescript-estree': 8.59.3(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.59.3
+ debug: 4.4.3
+ eslint: 9.39.4(jiti@2.6.1)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
- '@humanwhocodes/retry@0.4.1': {}
+ '@typescript-eslint/project-service@8.59.3(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/tsconfig-utils': 8.59.3(typescript@5.9.3)
+ '@typescript-eslint/types': 8.59.3
+ debug: 4.4.3
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
- '@isaacs/cliui@8.0.2':
+ '@typescript-eslint/scope-manager@8.59.3':
dependencies:
- string-width: 5.1.2
- string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.0
- strip-ansi-cjs: strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: wrap-ansi@7.0.0
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/visitor-keys': 8.59.3
- '@jridgewell/gen-mapping@0.3.8':
+ '@typescript-eslint/tsconfig-utils@8.59.3(typescript@5.9.3)':
dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
+ typescript: 5.9.3
- '@jridgewell/resolve-uri@3.1.2': {}
+ '@typescript-eslint/type-utils@8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/typescript-estree': 8.59.3(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)
+ debug: 4.4.3
+ eslint: 10.3.0(jiti@2.6.1)
+ ts-api-utils: 2.5.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
- '@jridgewell/set-array@1.2.1': {}
+ '@typescript-eslint/type-utils@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/typescript-estree': 8.59.3(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ debug: 4.4.3
+ eslint: 9.39.4(jiti@2.6.1)
+ ts-api-utils: 2.5.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
- '@jridgewell/sourcemap-codec@1.5.0': {}
+ '@typescript-eslint/types@8.59.3': {}
- '@jridgewell/trace-mapping@0.3.25':
+ '@typescript-eslint/typescript-estree@8.59.3(typescript@5.9.3)':
dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
+ '@typescript-eslint/project-service': 8.59.3(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.59.3(typescript@5.9.3)
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/visitor-keys': 8.59.3
+ debug: 4.4.3
+ minimatch: 10.2.5
+ semver: 7.8.0
+ tinyglobby: 0.2.16
+ ts-api-utils: 2.5.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
- '@nodelib/fs.scandir@2.1.5':
+ '@typescript-eslint/utils@8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
-
- '@nodelib/fs.stat@2.0.5': {}
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.3.0(jiti@2.6.1))
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/typescript-estree': 8.59.3(typescript@5.9.3)
+ eslint: 10.3.0(jiti@2.6.1)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
- '@nodelib/fs.walk@1.2.8':
+ '@typescript-eslint/utils@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.18.0
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1))
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/typescript-estree': 8.59.3(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.6.1)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
- '@nolyfill/is-core-module@1.0.39': {}
+ '@typescript-eslint/visitor-keys@8.59.3':
+ dependencies:
+ '@typescript-eslint/types': 8.59.3
+ eslint-visitor-keys: 5.0.1
- '@pkgjs/parseargs@0.11.0':
- optional: true
+ '@typescript/vfs@1.6.1(typescript@5.9.3)':
+ dependencies:
+ debug: 4.4.3
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
- '@pkgr/core@0.1.1': {}
+ '@uidotdev/usehooks@2.4.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ dependencies:
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
- '@polka/url@1.0.0-next.28':
- optional: true
+ '@ungap/structured-clone@1.3.0': {}
- '@rollup/rollup-android-arm-eabi@4.29.1':
+ '@unrs/resolver-binding-android-arm-eabi@1.11.1':
optional: true
- '@rollup/rollup-android-arm64@4.29.1':
+ '@unrs/resolver-binding-android-arm64@1.11.1':
optional: true
- '@rollup/rollup-darwin-arm64@4.29.1':
+ '@unrs/resolver-binding-darwin-arm64@1.11.1':
optional: true
- '@rollup/rollup-darwin-x64@4.29.1':
+ '@unrs/resolver-binding-darwin-x64@1.11.1':
optional: true
- '@rollup/rollup-freebsd-arm64@4.29.1':
+ '@unrs/resolver-binding-freebsd-x64@1.11.1':
optional: true
- '@rollup/rollup-freebsd-x64@4.29.1':
+ '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.29.1':
+ '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.29.1':
+ '@unrs/resolver-binding-linux-arm64-gnu@1.11.1':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.29.1':
+ '@unrs/resolver-binding-linux-arm64-musl@1.11.1':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.29.1':
+ '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
optional: true
- '@rollup/rollup-linux-loongarch64-gnu@4.29.1':
+ '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
optional: true
- '@rollup/rollup-linux-powerpc64le-gnu@4.29.1':
+ '@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.29.1':
+ '@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.29.1':
+ '@unrs/resolver-binding-linux-x64-gnu@1.11.1':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.29.1':
+ '@unrs/resolver-binding-linux-x64-musl@1.11.1':
optional: true
- '@rollup/rollup-linux-x64-musl@4.29.1':
+ '@unrs/resolver-binding-wasm32-wasi@1.11.1':
+ dependencies:
+ '@napi-rs/wasm-runtime': 0.2.12
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.29.1':
+ '@unrs/resolver-binding-win32-arm64-msvc@1.11.1':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.29.1':
+ '@unrs/resolver-binding-win32-ia32-msvc@1.11.1':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.29.1':
+ '@unrs/resolver-binding-win32-x64-msvc@1.11.1':
optional: true
- '@rtsao/scc@1.1.0': {}
-
- '@testing-library/dom@10.4.0':
- dependencies:
- '@babel/code-frame': 7.26.2
- '@babel/runtime': 7.26.0
- '@types/aria-query': 5.0.4
- aria-query: 5.3.0
- chalk: 4.1.2
- dom-accessibility-api: 0.5.16
- lz-string: 1.5.0
- pretty-format: 27.5.1
-
- '@testing-library/jest-dom@6.6.3':
- dependencies:
- '@adobe/css-tools': 4.4.1
- aria-query: 5.3.2
- chalk: 3.0.0
- css.escape: 1.5.1
- dom-accessibility-api: 0.6.3
- lodash: 4.17.21
- redent: 3.0.0
-
- '@testing-library/react@16.1.0(@testing-library/dom@10.4.0)(@types/react@19.0.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@babel/runtime': 7.26.0
- '@testing-library/dom': 10.4.0
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 19.0.2
-
- '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)':
- dependencies:
- '@testing-library/dom': 10.4.0
-
- '@types/aria-query@5.0.4': {}
-
- '@types/eslint@9.6.1':
- dependencies:
- '@types/estree': 1.0.6
- '@types/json-schema': 7.0.15
-
- '@types/estree@1.0.6': {}
-
- '@types/json-schema@7.0.15': {}
-
- '@types/json5@0.0.29': {}
-
- '@types/react@19.0.2':
- dependencies:
- csstype: 3.1.3
-
- '@typescript-eslint/eslint-plugin@8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)':
- dependencies:
- '@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/type-utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/visitor-keys': 8.18.2
- eslint: 9.17.0
- graphemer: 1.4.0
- ignore: 5.3.2
- natural-compare: 1.4.0
- ts-api-utils: 1.4.3(typescript@5.7.2)
- typescript: 5.7.2
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2)':
- dependencies:
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2)
- '@typescript-eslint/visitor-keys': 8.18.2
- debug: 4.4.0
- eslint: 9.17.0
- typescript: 5.7.2
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/scope-manager@8.18.2':
- dependencies:
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/visitor-keys': 8.18.2
-
- '@typescript-eslint/type-utils@8.18.2(eslint@9.17.0)(typescript@5.7.2)':
- dependencies:
- '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2)
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- debug: 4.4.0
- eslint: 9.17.0
- ts-api-utils: 1.4.3(typescript@5.7.2)
- typescript: 5.7.2
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/types@8.18.2': {}
-
- '@typescript-eslint/typescript-estree@8.18.2(typescript@5.7.2)':
- dependencies:
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/visitor-keys': 8.18.2
- debug: 4.4.0
- fast-glob: 3.3.2
- is-glob: 4.0.3
- minimatch: 9.0.5
- semver: 7.6.3
- ts-api-utils: 1.4.3(typescript@5.7.2)
- typescript: 5.7.2
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/utils@8.18.2(eslint@9.17.0)(typescript@5.7.2)':
- dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2)
- eslint: 9.17.0
- typescript: 5.7.2
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/visitor-keys@8.18.2':
- dependencies:
- '@typescript-eslint/types': 8.18.2
- eslint-visitor-keys: 4.2.0
-
- '@vitest/expect@2.1.8':
+ '@vitest/expect@2.1.9':
dependencies:
- '@vitest/spy': 2.1.8
- '@vitest/utils': 2.1.8
- chai: 5.1.2
+ '@vitest/spy': 2.1.9
+ '@vitest/utils': 2.1.9
+ chai: 5.3.3
tinyrainbow: 1.2.0
- '@vitest/mocker@2.1.8(vite@5.4.11)':
+ '@vitest/mocker@2.1.9(vite@5.4.21(@types/node@25.7.0)(lightningcss@1.32.0))':
dependencies:
- '@vitest/spy': 2.1.8
+ '@vitest/spy': 2.1.9
estree-walker: 3.0.3
- magic-string: 0.30.17
+ magic-string: 0.30.21
optionalDependencies:
- vite: 5.4.11
+ vite: 5.4.21(@types/node@25.7.0)(lightningcss@1.32.0)
- '@vitest/pretty-format@2.1.8':
+ '@vitest/pretty-format@2.1.9':
dependencies:
tinyrainbow: 1.2.0
- '@vitest/runner@2.1.8':
+ '@vitest/runner@2.1.9':
dependencies:
- '@vitest/utils': 2.1.8
+ '@vitest/utils': 2.1.9
pathe: 1.1.2
- '@vitest/snapshot@2.1.8':
+ '@vitest/snapshot@2.1.9':
dependencies:
- '@vitest/pretty-format': 2.1.8
- magic-string: 0.30.17
+ '@vitest/pretty-format': 2.1.9
+ magic-string: 0.30.21
pathe: 1.1.2
- '@vitest/spy@2.1.8':
+ '@vitest/spy@2.1.9':
dependencies:
tinyspy: 3.0.2
- '@vitest/ui@2.1.8(vitest@2.1.8)':
+ '@vitest/utils@2.1.9':
dependencies:
- '@vitest/utils': 2.1.8
- fflate: 0.8.2
- flatted: 3.3.2
- pathe: 1.1.2
- sirv: 3.0.0
- tinyglobby: 0.2.10
+ '@vitest/pretty-format': 2.1.9
+ loupe: 3.2.1
tinyrainbow: 1.2.0
- vitest: 2.1.8(@vitest/ui@2.1.8)(jsdom@25.0.1)
- optional: true
- '@vitest/utils@2.1.8':
- dependencies:
- '@vitest/pretty-format': 2.1.8
- loupe: 3.1.2
- tinyrainbow: 1.2.0
+ '@xmldom/xmldom@0.9.8': {}
acorn-jsx@5.3.2(acorn@8.14.0):
dependencies:
acorn: 8.14.0
+ acorn-jsx@5.3.2(acorn@8.16.0):
+ dependencies:
+ acorn: 8.16.0
+
acorn@8.14.0: {}
- agent-base@7.1.3: {}
+ acorn@8.16.0: {}
+
+ agent-base@7.1.4: {}
- ajv@6.12.6:
+ ajv@6.15.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
- ansi-escapes@7.0.0:
+ ansi-escapes@7.3.0:
dependencies:
environment: 1.1.0
ansi-regex@5.0.1: {}
- ansi-regex@6.1.0: {}
+ ansi-regex@6.2.2: {}
+
+ ansi-sequence-parser@1.1.1: {}
ansi-styles@4.3.0:
dependencies:
@@ -3635,9 +7054,11 @@ snapshots:
ansi-styles@5.2.0: {}
- ansi-styles@6.2.1: {}
+ ansi-styles@6.2.3: {}
+
+ ansis@4.2.0: {}
- any-promise@1.3.0: {}
+ arg@5.0.2: {}
argparse@2.0.1: {}
@@ -3649,283 +7070,582 @@ snapshots:
array-buffer-byte-length@1.0.2:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
is-array-buffer: 3.0.5
- array-includes@3.1.8:
+ array-includes@3.1.9:
dependencies:
call-bind: 1.0.8
+ call-bound: 1.0.4
define-properties: 1.2.1
- es-abstract: 1.23.7
- es-object-atoms: 1.0.0
- get-intrinsic: 1.2.6
+ es-abstract: 1.24.1
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.3.0
is-string: 1.1.1
+ math-intrinsics: 1.1.0
+
+ array-iterate@2.0.1: {}
array-timsort@1.0.3: {}
- array.prototype.findlastindex@1.2.5:
+ array.prototype.findlast@1.2.5:
+ dependencies:
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ es-shim-unscopables: 1.1.0
+
+ array.prototype.findlastindex@1.2.6:
dependencies:
call-bind: 1.0.8
+ call-bound: 1.0.4
define-properties: 1.2.1
- es-abstract: 1.23.7
+ es-abstract: 1.24.1
es-errors: 1.3.0
- es-object-atoms: 1.0.0
- es-shim-unscopables: 1.0.2
+ es-object-atoms: 1.1.1
+ es-shim-unscopables: 1.1.0
array.prototype.flat@1.3.3:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.7
- es-shim-unscopables: 1.0.2
+ es-abstract: 1.24.1
+ es-shim-unscopables: 1.1.0
array.prototype.flatmap@1.3.3:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.7
- es-shim-unscopables: 1.0.2
+ es-abstract: 1.24.1
+ es-shim-unscopables: 1.1.0
+
+ array.prototype.tosorted@1.1.4:
+ dependencies:
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.1
+ es-errors: 1.3.0
+ es-shim-unscopables: 1.1.0
arraybuffer.prototype.slice@1.0.4:
dependencies:
array-buffer-byte-length: 1.0.2
call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.7
+ es-abstract: 1.24.1
es-errors: 1.3.0
- get-intrinsic: 1.2.6
+ get-intrinsic: 1.3.0
is-array-buffer: 3.0.5
assertion-error@2.0.1: {}
+ ast-kit@2.2.0:
+ dependencies:
+ '@babel/parser': 7.29.3
+ pathe: 2.0.3
+
+ ast-types-flow@0.0.8: {}
+
+ astring@1.9.0: {}
+
+ async-function@1.0.0: {}
+
asynckit@0.4.0: {}
available-typed-arrays@1.0.7:
dependencies:
- possible-typed-array-names: 1.0.0
+ possible-typed-array-names: 1.1.0
+
+ axe-core@4.10.3: {}
+
+ axobject-query@4.1.0: {}
+
+ bail@2.0.2: {}
balanced-match@1.0.2: {}
+ balanced-match@4.0.4: {}
+
+ baseline-browser-mapping@2.10.29: {}
+
+ better-react-mathjax@2.3.0(react@19.2.6):
+ dependencies:
+ mathjax-full: 3.2.2
+ react: 19.2.6
+
birecord@0.1.1: {}
- brace-expansion@1.1.11:
+ birpc@4.0.0: {}
+
+ brace-expansion@1.1.12:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
- brace-expansion@2.0.1:
+ brace-expansion@1.1.14:
dependencies:
balanced-match: 1.0.2
+ concat-map: 0.0.1
- braces@3.0.3:
+ brace-expansion@5.0.6:
dependencies:
- fill-range: 7.1.1
+ balanced-match: 4.0.4
- bundle-require@5.1.0(esbuild@0.24.2):
+ braces@3.0.3:
dependencies:
- esbuild: 0.24.2
- load-tsconfig: 0.2.5
+ fill-range: 7.1.1
cac@6.7.14: {}
- call-bind-apply-helpers@1.0.1:
+ call-bind-apply-helpers@1.0.2:
dependencies:
es-errors: 1.3.0
function-bind: 1.1.2
call-bind@1.0.8:
dependencies:
- call-bind-apply-helpers: 1.0.1
+ call-bind-apply-helpers: 1.0.2
es-define-property: 1.0.1
- get-intrinsic: 1.2.6
+ get-intrinsic: 1.3.0
set-function-length: 1.2.2
- call-bound@1.0.3:
+ call-bound@1.0.4:
dependencies:
- call-bind-apply-helpers: 1.0.1
- get-intrinsic: 1.2.6
+ call-bind-apply-helpers: 1.0.2
+ get-intrinsic: 1.3.0
callsites@3.1.0: {}
- chai@5.1.2:
+ caniuse-lite@1.0.30001792: {}
+
+ ccount@2.0.1: {}
+
+ chai@5.3.3:
dependencies:
assertion-error: 2.0.1
- check-error: 2.1.1
+ check-error: 2.1.3
deep-eql: 5.0.2
- loupe: 3.1.2
- pathval: 2.0.0
+ loupe: 3.2.1
+ pathval: 2.0.1
+
+ chalk@4.1.2:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ chalk@5.6.2: {}
+
+ character-entities-html4@2.1.0: {}
+
+ character-entities-legacy@3.0.0: {}
+
+ character-entities@2.0.2: {}
+
+ character-reference-invalid@2.0.1: {}
+
+ check-error@2.1.3: {}
+
+ chevrotain-allstar@0.3.1(chevrotain@11.0.3):
+ dependencies:
+ chevrotain: 11.0.3
+ lodash-es: 4.17.21
+
+ chevrotain@11.0.3:
+ dependencies:
+ '@chevrotain/cst-dts-gen': 11.0.3
+ '@chevrotain/gast': 11.0.3
+ '@chevrotain/regexp-to-ast': 11.0.3
+ '@chevrotain/types': 11.0.3
+ '@chevrotain/utils': 11.0.3
+ lodash-es: 4.17.21
+
+ clear-module@4.1.3:
+ dependencies:
+ parent-module: 2.0.0
+ resolve-from: 5.0.0
+
+ cli-cursor@5.0.0:
+ dependencies:
+ restore-cursor: 5.1.0
+
+ cli-truncate@4.0.0:
+ dependencies:
+ slice-ansi: 5.0.0
+ string-width: 7.2.0
+
+ client-only@0.0.1: {}
+
+ clipboardy@4.0.0:
+ dependencies:
+ execa: 8.0.1
+ is-wsl: 3.1.0
+ is64bit: 2.0.0
+
+ clsx@2.1.1: {}
+
+ code-block-writer@13.0.3: {}
+
+ codehike@1.1.0:
+ dependencies:
+ '@code-hike/lighter': 1.0.1
+ diff: 5.2.0
+ estree-util-visit: 2.0.0
+ mdast-util-mdx-jsx: 3.2.0
+ unist-util-visit: 5.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ collapse-white-space@2.1.0: {}
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.4: {}
+
+ colorette@2.0.20: {}
+
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
+ comma-separated-tokens@2.0.3: {}
+
+ commander@13.1.0: {}
+
+ commander@7.2.0: {}
+
+ commander@8.3.0: {}
+
+ comment-json@4.6.2:
+ dependencies:
+ array-timsort: 1.0.3
+ esprima: 4.0.1
+
+ compare-versions@6.1.1: {}
+
+ compute-scroll-into-view@3.1.1: {}
+
+ concat-map@0.0.1: {}
+
+ confbox@0.1.8: {}
+
+ confbox@0.2.2: {}
+
+ cose-base@1.0.3:
+ dependencies:
+ layout-base: 1.0.2
+
+ cose-base@2.2.0:
+ dependencies:
+ layout-base: 2.0.1
+
+ cross-spawn@7.0.6:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ cspell-config-lib@8.19.4:
+ dependencies:
+ '@cspell/cspell-types': 8.19.4
+ comment-json: 4.6.2
+ yaml: 2.9.0
+
+ cspell-dictionary@8.19.4:
+ dependencies:
+ '@cspell/cspell-pipe': 8.19.4
+ '@cspell/cspell-types': 8.19.4
+ cspell-trie-lib: 8.19.4
+ fast-equals: 5.4.0
+
+ cspell-glob@8.19.4:
+ dependencies:
+ '@cspell/url': 8.19.4
+ picomatch: 4.0.4
+
+ cspell-grammar@8.19.4:
+ dependencies:
+ '@cspell/cspell-pipe': 8.19.4
+ '@cspell/cspell-types': 8.19.4
+
+ cspell-io@8.19.4:
+ dependencies:
+ '@cspell/cspell-service-bus': 8.19.4
+ '@cspell/url': 8.19.4
+
+ cspell-lib@8.19.4:
+ dependencies:
+ '@cspell/cspell-bundled-dicts': 8.19.4
+ '@cspell/cspell-pipe': 8.19.4
+ '@cspell/cspell-resolver': 8.19.4
+ '@cspell/cspell-types': 8.19.4
+ '@cspell/dynamic-import': 8.19.4
+ '@cspell/filetypes': 8.19.4
+ '@cspell/strong-weak-map': 8.19.4
+ '@cspell/url': 8.19.4
+ clear-module: 4.1.3
+ comment-json: 4.6.2
+ cspell-config-lib: 8.19.4
+ cspell-dictionary: 8.19.4
+ cspell-glob: 8.19.4
+ cspell-grammar: 8.19.4
+ cspell-io: 8.19.4
+ cspell-trie-lib: 8.19.4
+ env-paths: 3.0.0
+ fast-equals: 5.4.0
+ gensequence: 7.0.0
+ import-fresh: 3.3.1
+ resolve-from: 5.0.0
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-uri: 3.1.0
+ xdg-basedir: 5.1.0
+
+ cspell-trie-lib@8.19.4:
+ dependencies:
+ '@cspell/cspell-pipe': 8.19.4
+ '@cspell/cspell-types': 8.19.4
+ gensequence: 7.0.0
+
+ css.escape@1.5.1: {}
+
+ cssstyle@4.6.0:
+ dependencies:
+ '@asamuzakjp/css-color': 3.2.0
+ rrweb-cssom: 0.8.0
+
+ csstype@3.2.3: {}
+
+ cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.0):
+ dependencies:
+ cose-base: 1.0.3
+ cytoscape: 3.33.0
+
+ cytoscape-fcose@2.2.0(cytoscape@3.33.0):
+ dependencies:
+ cose-base: 2.2.0
+ cytoscape: 3.33.0
+
+ cytoscape@3.33.0: {}
+
+ d3-array@2.12.1:
+ dependencies:
+ internmap: 1.0.1
+
+ d3-array@3.2.4:
+ dependencies:
+ internmap: 2.0.3
+
+ d3-axis@3.0.0: {}
+
+ d3-brush@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-transition: 3.0.1(d3-selection@3.0.0)
+
+ d3-chord@3.0.1:
+ dependencies:
+ d3-path: 3.1.0
+
+ d3-color@3.1.0: {}
- chalk@3.0.0:
+ d3-contour@4.0.2:
dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
+ d3-array: 3.2.4
- chalk@4.1.2:
+ d3-delaunay@6.0.4:
dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
+ delaunator: 5.0.1
- chalk@5.4.1: {}
+ d3-dispatch@3.0.1: {}
- check-error@2.1.1: {}
+ d3-drag@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-selection: 3.0.0
- chokidar@4.0.3:
+ d3-dsv@3.0.1:
dependencies:
- readdirp: 4.1.1
+ commander: 7.2.0
+ iconv-lite: 0.6.3
+ rw: 1.3.3
+
+ d3-ease@3.0.1: {}
- clear-module@4.1.2:
+ d3-fetch@3.0.1:
dependencies:
- parent-module: 2.0.0
- resolve-from: 5.0.0
+ d3-dsv: 3.0.1
- cli-cursor@5.0.0:
+ d3-force@3.0.0:
dependencies:
- restore-cursor: 5.1.0
+ d3-dispatch: 3.0.1
+ d3-quadtree: 3.0.1
+ d3-timer: 3.0.1
- cli-truncate@4.0.0:
+ d3-format@3.1.0: {}
+
+ d3-geo@3.1.1:
dependencies:
- slice-ansi: 5.0.0
- string-width: 7.2.0
+ d3-array: 3.2.4
- color-convert@2.0.1:
+ d3-hierarchy@3.1.2: {}
+
+ d3-interpolate@3.0.1:
dependencies:
- color-name: 1.1.4
+ d3-color: 3.1.0
- color-name@1.1.4: {}
+ d3-path@1.0.9: {}
- colorette@2.0.20: {}
+ d3-path@3.1.0: {}
- combined-stream@1.0.8:
- dependencies:
- delayed-stream: 1.0.0
+ d3-polygon@3.0.1: {}
- commander@12.1.0: {}
+ d3-quadtree@3.0.1: {}
- commander@4.1.1: {}
+ d3-random@3.0.1: {}
- comment-json@4.2.5:
+ d3-sankey@0.12.3:
dependencies:
- array-timsort: 1.0.3
- core-util-is: 1.0.3
- esprima: 4.0.1
- has-own-prop: 2.0.0
- repeat-string: 1.6.1
-
- compare-versions@6.1.1: {}
+ d3-array: 2.12.1
+ d3-shape: 1.3.7
- concat-map@0.0.1: {}
+ d3-scale-chromatic@3.1.0:
+ dependencies:
+ d3-color: 3.1.0
+ d3-interpolate: 3.0.1
- consola@3.4.0: {}
+ d3-scale@4.0.2:
+ dependencies:
+ d3-array: 3.2.4
+ d3-format: 3.1.0
+ d3-interpolate: 3.0.1
+ d3-time: 3.1.0
+ d3-time-format: 4.1.0
- core-util-is@1.0.3: {}
+ d3-selection@3.0.0: {}
- cross-spawn@7.0.6:
+ d3-shape@1.3.7:
dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
+ d3-path: 1.0.9
- cspell-config-lib@8.17.1:
+ d3-shape@3.2.0:
dependencies:
- '@cspell/cspell-types': 8.17.1
- comment-json: 4.2.5
- yaml: 2.6.1
+ d3-path: 3.1.0
- cspell-dictionary@8.17.1:
+ d3-time-format@4.1.0:
dependencies:
- '@cspell/cspell-pipe': 8.17.1
- '@cspell/cspell-types': 8.17.1
- cspell-trie-lib: 8.17.1
- fast-equals: 5.0.1
+ d3-time: 3.1.0
- cspell-glob@8.17.1:
+ d3-time@3.1.0:
dependencies:
- '@cspell/url': 8.17.1
- micromatch: 4.0.8
+ d3-array: 3.2.4
- cspell-grammar@8.17.1:
- dependencies:
- '@cspell/cspell-pipe': 8.17.1
- '@cspell/cspell-types': 8.17.1
-
- cspell-io@8.17.1:
- dependencies:
- '@cspell/cspell-service-bus': 8.17.1
- '@cspell/url': 8.17.1
-
- cspell-lib@8.17.1:
- dependencies:
- '@cspell/cspell-bundled-dicts': 8.17.1
- '@cspell/cspell-pipe': 8.17.1
- '@cspell/cspell-resolver': 8.17.1
- '@cspell/cspell-types': 8.17.1
- '@cspell/dynamic-import': 8.17.1
- '@cspell/filetypes': 8.17.1
- '@cspell/strong-weak-map': 8.17.1
- '@cspell/url': 8.17.1
- clear-module: 4.1.2
- comment-json: 4.2.5
- cspell-config-lib: 8.17.1
- cspell-dictionary: 8.17.1
- cspell-glob: 8.17.1
- cspell-grammar: 8.17.1
- cspell-io: 8.17.1
- cspell-trie-lib: 8.17.1
- env-paths: 3.0.0
- fast-equals: 5.0.1
- gensequence: 7.0.0
- import-fresh: 3.3.0
- resolve-from: 5.0.0
- vscode-languageserver-textdocument: 1.0.12
- vscode-uri: 3.0.8
- xdg-basedir: 5.1.0
+ d3-timer@3.0.1: {}
- cspell-trie-lib@8.17.1:
+ d3-transition@3.0.1(d3-selection@3.0.0):
dependencies:
- '@cspell/cspell-pipe': 8.17.1
- '@cspell/cspell-types': 8.17.1
- gensequence: 7.0.0
+ d3-color: 3.1.0
+ d3-dispatch: 3.0.1
+ d3-ease: 3.0.1
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-timer: 3.0.1
- css.escape@1.5.1: {}
+ d3-zoom@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-transition: 3.0.1(d3-selection@3.0.0)
- cssstyle@4.1.0:
+ d3@7.9.0:
dependencies:
- rrweb-cssom: 0.7.1
+ d3-array: 3.2.4
+ d3-axis: 3.0.0
+ d3-brush: 3.0.0
+ d3-chord: 3.0.1
+ d3-color: 3.1.0
+ d3-contour: 4.0.2
+ d3-delaunay: 6.0.4
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-dsv: 3.0.1
+ d3-ease: 3.0.1
+ d3-fetch: 3.0.1
+ d3-force: 3.0.0
+ d3-format: 3.1.0
+ d3-geo: 3.1.1
+ d3-hierarchy: 3.1.2
+ d3-interpolate: 3.0.1
+ d3-path: 3.1.0
+ d3-polygon: 3.0.1
+ d3-quadtree: 3.0.1
+ d3-random: 3.0.1
+ d3-scale: 4.0.2
+ d3-scale-chromatic: 3.1.0
+ d3-selection: 3.0.0
+ d3-shape: 3.2.0
+ d3-time: 3.1.0
+ d3-time-format: 4.1.0
+ d3-timer: 3.0.1
+ d3-transition: 3.0.1(d3-selection@3.0.0)
+ d3-zoom: 3.0.0
- csstype@3.1.3: {}
+ dagre-d3-es@7.0.11:
+ dependencies:
+ d3: 7.9.0
+ lodash-es: 4.17.21
+
+ damerau-levenshtein@1.0.8: {}
data-urls@5.0.0:
dependencies:
whatwg-mimetype: 4.0.0
- whatwg-url: 14.1.0
+ whatwg-url: 14.2.0
data-view-buffer@1.0.2:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
es-errors: 1.3.0
is-data-view: 1.0.2
data-view-byte-length@1.0.2:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
es-errors: 1.3.0
is-data-view: 1.0.2
data-view-byte-offset@1.0.1:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
es-errors: 1.3.0
is-data-view: 1.0.2
+ dayjs@1.11.13: {}
+
debug@3.2.7:
dependencies:
ms: 2.1.3
- debug@4.4.0:
+ debug@4.4.1:
+ dependencies:
+ ms: 2.1.3
+
+ debug@4.4.3:
dependencies:
ms: 2.1.3
- decimal.js@10.4.3: {}
+ decimal.js@10.6.0: {}
+
+ decode-named-character-reference@1.2.0:
+ dependencies:
+ character-entities: 2.0.2
deep-eql@5.0.2: {}
@@ -3943,10 +7663,24 @@ snapshots:
has-property-descriptors: 1.0.2
object-keys: 1.1.1
+ defu@6.1.7: {}
+
+ delaunator@5.0.1:
+ dependencies:
+ robust-predicates: 3.0.2
+
delayed-stream@1.0.0: {}
dequal@2.0.3: {}
+ detect-libc@2.1.2: {}
+
+ devlop@1.1.0:
+ dependencies:
+ dequal: 2.0.3
+
+ diff@5.2.0: {}
+
doctrine@2.1.0:
dependencies:
esutils: 2.0.3
@@ -3955,48 +7689,53 @@ snapshots:
dom-accessibility-api@0.6.3: {}
+ dompurify@3.2.6:
+ optionalDependencies:
+ '@types/trusted-types': 2.0.7
+
+ dts-resolver@2.1.3: {}
+
dunder-proto@1.0.1:
dependencies:
- call-bind-apply-helpers: 1.0.1
+ call-bind-apply-helpers: 1.0.2
es-errors: 1.3.0
gopd: 1.2.0
- eastasianwidth@0.2.0: {}
-
- emoji-regex@10.4.0: {}
-
- emoji-regex@8.0.0: {}
+ emoji-regex@10.6.0: {}
emoji-regex@9.2.2: {}
- enhanced-resolve@5.18.0:
+ empathic@2.0.0: {}
+
+ enhanced-resolve@5.21.3:
dependencies:
graceful-fs: 4.2.11
- tapable: 2.2.1
+ tapable: 2.3.3
- entities@4.5.0: {}
+ entities@6.0.1: {}
env-paths@3.0.0: {}
environment@1.1.0: {}
- es-abstract@1.23.7:
+ es-abstract@1.24.1:
dependencies:
array-buffer-byte-length: 1.0.2
arraybuffer.prototype.slice: 1.0.4
available-typed-arrays: 1.0.7
call-bind: 1.0.8
- call-bound: 1.0.3
+ call-bound: 1.0.4
data-view-buffer: 1.0.2
data-view-byte-length: 1.0.2
data-view-byte-offset: 1.0.1
es-define-property: 1.0.1
es-errors: 1.3.0
- es-object-atoms: 1.0.0
- es-set-tostringtag: 2.0.3
+ es-object-atoms: 1.1.1
+ es-set-tostringtag: 2.1.0
es-to-primitive: 1.3.0
function.prototype.name: 1.1.8
- get-intrinsic: 1.2.6
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
get-symbol-description: 1.1.0
globalthis: 1.0.4
gopd: 1.2.0
@@ -4008,18 +7747,24 @@ snapshots:
is-array-buffer: 3.0.5
is-callable: 1.2.7
is-data-view: 1.0.2
+ is-negative-zero: 2.0.3
is-regex: 1.2.1
+ is-set: 2.0.3
is-shared-array-buffer: 1.0.4
is-string: 1.1.1
is-typed-array: 1.1.15
- is-weakref: 1.1.0
+ is-weakref: 1.1.1
math-intrinsics: 1.1.0
- object-inspect: 1.13.3
+ object-inspect: 1.13.4
object-keys: 1.1.1
object.assign: 4.1.7
- regexp.prototype.flags: 1.5.3
+ own-keys: 1.0.1
+ regexp.prototype.flags: 1.5.4
safe-array-concat: 1.1.3
+ safe-push-apply: 1.0.0
safe-regex-test: 1.1.0
+ set-proto: 1.0.0
+ stop-iteration-iterator: 1.1.0
string.prototype.trim: 1.2.10
string.prototype.trimend: 1.0.9
string.prototype.trimstart: 1.0.8
@@ -4028,25 +7773,45 @@ snapshots:
typed-array-byte-offset: 1.0.4
typed-array-length: 1.0.7
unbox-primitive: 1.1.0
- which-typed-array: 1.1.18
+ which-typed-array: 1.1.19
es-define-property@1.0.1: {}
es-errors@1.3.0: {}
- es-module-lexer@1.6.0: {}
+ es-iterator-helpers@1.2.1:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-abstract: 1.24.1
+ es-errors: 1.3.0
+ es-set-tostringtag: 2.1.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.3.0
+ globalthis: 1.0.4
+ gopd: 1.2.0
+ has-property-descriptors: 1.0.2
+ has-proto: 1.2.0
+ has-symbols: 1.1.0
+ internal-slot: 1.1.0
+ iterator.prototype: 1.1.5
+ safe-array-concat: 1.1.3
+
+ es-module-lexer@1.7.0: {}
- es-object-atoms@1.0.0:
+ es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
- es-set-tostringtag@2.0.3:
+ es-set-tostringtag@2.1.0:
dependencies:
- get-intrinsic: 1.2.6
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
has-tostringtag: 1.0.2
hasown: 2.0.2
- es-shim-unscopables@1.0.2:
+ es-shim-unscopables@1.1.0:
dependencies:
hasown: 2.0.2
@@ -4056,6 +7821,20 @@ snapshots:
is-date-object: 1.1.0
is-symbol: 1.1.1
+ esast-util-from-estree@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ unist-util-position-from-estree: 2.0.0
+
+ esast-util-from-js@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ acorn: 8.16.0
+ esast-util-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
esbuild@0.21.5:
optionalDependencies:
'@esbuild/aix-ppc64': 0.21.5
@@ -4082,83 +7861,131 @@ snapshots:
'@esbuild/win32-ia32': 0.21.5
'@esbuild/win32-x64': 0.21.5
- esbuild@0.24.2:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.24.2
- '@esbuild/android-arm': 0.24.2
- '@esbuild/android-arm64': 0.24.2
- '@esbuild/android-x64': 0.24.2
- '@esbuild/darwin-arm64': 0.24.2
- '@esbuild/darwin-x64': 0.24.2
- '@esbuild/freebsd-arm64': 0.24.2
- '@esbuild/freebsd-x64': 0.24.2
- '@esbuild/linux-arm': 0.24.2
- '@esbuild/linux-arm64': 0.24.2
- '@esbuild/linux-ia32': 0.24.2
- '@esbuild/linux-loong64': 0.24.2
- '@esbuild/linux-mips64el': 0.24.2
- '@esbuild/linux-ppc64': 0.24.2
- '@esbuild/linux-riscv64': 0.24.2
- '@esbuild/linux-s390x': 0.24.2
- '@esbuild/linux-x64': 0.24.2
- '@esbuild/netbsd-arm64': 0.24.2
- '@esbuild/netbsd-x64': 0.24.2
- '@esbuild/openbsd-arm64': 0.24.2
- '@esbuild/openbsd-x64': 0.24.2
- '@esbuild/sunos-x64': 0.24.2
- '@esbuild/win32-arm64': 0.24.2
- '@esbuild/win32-ia32': 0.24.2
- '@esbuild/win32-x64': 0.24.2
-
escape-string-regexp@4.0.0: {}
+ escape-string-regexp@5.0.0: {}
+
+ eslint-config-next@15.3.5(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3):
+ dependencies:
+ '@next/eslint-plugin-next': 15.3.5
+ '@rushstack/eslint-patch': 1.16.1
+ '@typescript-eslint/eslint-plugin': 8.59.3(@typescript-eslint/parser@8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 10.3.0(jiti@2.6.1)
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@10.3.0(jiti@2.6.1))
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1)))(eslint@10.3.0(jiti@2.6.1))
+ eslint-plugin-jsx-a11y: 6.10.2(eslint@10.3.0(jiti@2.6.1))
+ eslint-plugin-react: 7.37.5(eslint@10.3.0(jiti@2.6.1))
+ eslint-plugin-react-hooks: 5.2.0(eslint@10.3.0(jiti@2.6.1))
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - eslint-import-resolver-webpack
+ - eslint-plugin-import-x
+ - supports-color
+
eslint-import-resolver-node@0.3.9:
dependencies:
debug: 3.2.7
is-core-module: 2.16.1
- resolve: 1.22.10
+ resolve: 1.22.11
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.17.0):
+ eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@10.3.0(jiti@2.6.1)):
dependencies:
'@nolyfill/is-core-module': 1.0.39
- debug: 4.4.0
- enhanced-resolve: 5.18.0
- eslint: 9.17.0
- fast-glob: 3.3.2
- get-tsconfig: 4.8.1
- is-bun-module: 1.3.0
- is-glob: 4.0.3
- stable-hash: 0.0.4
+ debug: 4.4.3
+ eslint: 10.3.0(jiti@2.6.1)
+ get-tsconfig: 4.13.0
+ is-bun-module: 2.0.0
+ stable-hash: 0.0.5
+ tinyglobby: 0.2.16
+ unrs-resolver: 1.11.1
+ optionalDependencies:
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1)))(eslint@10.3.0(jiti@2.6.1))
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1)):
+ dependencies:
+ '@nolyfill/is-core-module': 1.0.39
+ debug: 4.4.3
+ eslint: 9.39.4(jiti@2.6.1)
+ get-tsconfig: 4.13.0
+ is-bun-module: 2.0.0
+ stable-hash: 0.0.5
+ tinyglobby: 0.2.16
+ unrs-resolver: 1.11.1
+ optionalDependencies:
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.6.1))
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1)))(eslint@10.3.0(jiti@2.6.1)):
+ dependencies:
+ debug: 3.2.7
optionalDependencies:
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0)
+ '@typescript-eslint/parser': 8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 10.3.0(jiti@2.6.1)
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1))
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.0(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.6.1)):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- eslint: 9.17.0
+ '@typescript-eslint/parser': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.6.1)
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1))
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1)))(eslint@10.3.0(jiti@2.6.1)):
+ dependencies:
+ '@rtsao/scc': 1.1.0
+ array-includes: 3.1.9
+ array.prototype.findlastindex: 1.2.6
+ array.prototype.flat: 1.3.3
+ array.prototype.flatmap: 1.3.3
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 10.3.0(jiti@2.6.1)
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.17.0)
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1)))(eslint@10.3.0(jiti@2.6.1))
+ hasown: 2.0.2
+ is-core-module: 2.16.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.8
+ object.groupby: 1.0.3
+ object.values: 1.2.1
+ semver: 6.3.1
+ string.prototype.trimend: 1.0.9
+ tsconfig-paths: 3.15.0
+ optionalDependencies:
+ '@typescript-eslint/parser': 8.59.3(eslint@10.3.0(jiti@2.6.1))(typescript@5.9.3)
transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
- supports-color
- eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.6.1)):
dependencies:
'@rtsao/scc': 1.1.0
- array-includes: 3.1.8
- array.prototype.findlastindex: 1.2.5
+ array-includes: 3.1.9
+ array.prototype.findlastindex: 1.2.6
array.prototype.flat: 1.3.3
array.prototype.flatmap: 1.3.3
debug: 3.2.7
doctrine: 2.1.0
- eslint: 9.17.0
+ eslint: 9.39.4(jiti@2.6.1)
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0)
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.6.1))
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -4170,176 +7997,261 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
+ '@typescript-eslint/parser': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-react-debug@1.22.1(eslint@9.17.0)(typescript@5.7.2):
- dependencies:
- '@eslint-react/ast': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/core': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/eff': 1.22.1
- '@eslint-react/jsx': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/shared': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/types': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/var': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/type-utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- eslint: 9.17.0
- string-ts: 2.2.0
- ts-pattern: 5.6.0
+ eslint-plugin-jsx-a11y@6.10.2(eslint@10.3.0(jiti@2.6.1)):
+ dependencies:
+ aria-query: 5.3.2
+ array-includes: 3.1.9
+ array.prototype.flatmap: 1.3.3
+ ast-types-flow: 0.0.8
+ axe-core: 4.10.3
+ axobject-query: 4.1.0
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ eslint: 10.3.0(jiti@2.6.1)
+ hasown: 2.0.2
+ jsx-ast-utils: 3.3.5
+ language-tags: 1.0.9
+ minimatch: 3.1.5
+ object.fromentries: 2.0.8
+ safe-regex-test: 1.1.0
+ string.prototype.includes: 2.0.1
+
+ eslint-plugin-react-debug@1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3):
+ dependencies:
+ '@eslint-react/ast': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/core': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/eff': 1.53.1
+ '@eslint-react/kit': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/shared': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/var': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/type-utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.6.1)
+ string-ts: 2.3.1
+ ts-pattern: 5.9.0
optionalDependencies:
- typescript: 5.7.2
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- eslint-plugin-react-dom@1.22.1(eslint@9.17.0)(typescript@5.7.2):
- dependencies:
- '@eslint-react/ast': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/core': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/eff': 1.22.1
- '@eslint-react/jsx': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/shared': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/types': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/var': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
+ eslint-plugin-react-dom@1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3):
+ dependencies:
+ '@eslint-react/ast': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/core': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/eff': 1.53.1
+ '@eslint-react/kit': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/shared': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/var': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
compare-versions: 6.1.1
- eslint: 9.17.0
- string-ts: 2.2.0
- ts-pattern: 5.6.0
+ eslint: 9.39.4(jiti@2.6.1)
+ string-ts: 2.3.1
+ ts-pattern: 5.9.0
optionalDependencies:
- typescript: 5.7.2
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- eslint-plugin-react-hooks-extra@1.22.1(eslint@9.17.0)(typescript@5.7.2):
- dependencies:
- '@eslint-react/ast': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/core': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/eff': 1.22.1
- '@eslint-react/jsx': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/shared': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/types': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/var': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/type-utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- eslint: 9.17.0
- string-ts: 2.2.0
- ts-pattern: 5.6.0
+ eslint-plugin-react-hooks-extra@1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3):
+ dependencies:
+ '@eslint-react/ast': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/core': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/eff': 1.53.1
+ '@eslint-react/kit': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/shared': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/var': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/type-utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.6.1)
+ string-ts: 2.3.1
+ ts-pattern: 5.9.0
optionalDependencies:
- typescript: 5.7.2
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- eslint-plugin-react-hooks@5.1.0(eslint@9.17.0):
- dependencies:
- eslint: 9.17.0
-
- eslint-plugin-react-naming-convention@1.22.1(eslint@9.17.0)(typescript@5.7.2):
- dependencies:
- '@eslint-react/ast': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/core': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/eff': 1.22.1
- '@eslint-react/jsx': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/shared': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/types': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/type-utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- eslint: 9.17.0
- string-ts: 2.2.0
- ts-pattern: 5.6.0
+ eslint-plugin-react-hooks@5.2.0(eslint@10.3.0(jiti@2.6.1)):
+ dependencies:
+ eslint: 10.3.0(jiti@2.6.1)
+
+ eslint-plugin-react-hooks@5.2.0(eslint@9.39.4(jiti@2.6.1)):
+ dependencies:
+ eslint: 9.39.4(jiti@2.6.1)
+
+ eslint-plugin-react-naming-convention@1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3):
+ dependencies:
+ '@eslint-react/ast': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/core': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/eff': 1.53.1
+ '@eslint-react/kit': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/shared': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/var': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/type-utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.6.1)
+ string-ts: 2.3.1
+ ts-pattern: 5.9.0
optionalDependencies:
- typescript: 5.7.2
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- eslint-plugin-react-web-api@1.22.1(eslint@9.17.0)(typescript@5.7.2):
- dependencies:
- '@eslint-react/ast': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/core': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/eff': 1.22.1
- '@eslint-react/jsx': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/shared': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/types': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/var': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- birecord: 0.1.1
- eslint: 9.17.0
- string-ts: 2.2.0
- ts-pattern: 5.6.0
+ eslint-plugin-react-web-api@1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3):
+ dependencies:
+ '@eslint-react/ast': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/core': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/eff': 1.53.1
+ '@eslint-react/kit': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/shared': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/var': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.6.1)
+ string-ts: 2.3.1
+ ts-pattern: 5.9.0
optionalDependencies:
- typescript: 5.7.2
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- eslint-plugin-react-x@1.22.1(eslint@9.17.0)(typescript@5.7.2):
- dependencies:
- '@eslint-react/ast': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/core': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/eff': 1.22.1
- '@eslint-react/jsx': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/shared': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/types': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@eslint-react/var': 1.22.1(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.18.2
- '@typescript-eslint/type-utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/types': 8.18.2
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
+ eslint-plugin-react-x@1.53.1(eslint@9.39.4(jiti@2.6.1))(ts-api-utils@2.5.0(typescript@5.9.3))(typescript@5.9.3):
+ dependencies:
+ '@eslint-react/ast': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/core': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/eff': 1.53.1
+ '@eslint-react/kit': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/shared': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@eslint-react/var': 1.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.59.3
+ '@typescript-eslint/type-utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.59.3
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
compare-versions: 6.1.1
- eslint: 9.17.0
- is-immutable-type: 5.0.0(eslint@9.17.0)(typescript@5.7.2)
- string-ts: 2.2.0
- ts-api-utils: 2.0.0(typescript@5.7.2)
- ts-pattern: 5.6.0
+ eslint: 9.39.4(jiti@2.6.1)
+ is-immutable-type: 5.0.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ string-ts: 2.3.1
+ ts-pattern: 5.9.0
optionalDependencies:
- typescript: 5.7.2
+ ts-api-utils: 2.5.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- eslint-scope@8.2.0:
+ eslint-plugin-react@7.37.5(eslint@10.3.0(jiti@2.6.1)):
+ dependencies:
+ array-includes: 3.1.9
+ array.prototype.findlast: 1.2.5
+ array.prototype.flatmap: 1.3.3
+ array.prototype.tosorted: 1.1.4
+ doctrine: 2.1.0
+ es-iterator-helpers: 1.2.1
+ eslint: 10.3.0(jiti@2.6.1)
+ estraverse: 5.3.0
+ hasown: 2.0.2
+ jsx-ast-utils: 3.3.5
+ minimatch: 3.1.5
+ object.entries: 1.1.9
+ object.fromentries: 2.0.8
+ object.values: 1.2.1
+ prop-types: 15.8.1
+ resolve: 2.0.0-next.5
+ semver: 6.3.1
+ string.prototype.matchall: 4.0.12
+ string.prototype.repeat: 1.0.0
+
+ eslint-scope@8.4.0:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
+ eslint-scope@9.1.2:
dependencies:
+ '@types/esrecurse': 4.3.1
+ '@types/estree': 1.0.8
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-visitor-keys@3.4.3: {}
- eslint-visitor-keys@4.2.0: {}
+ eslint-visitor-keys@4.2.1: {}
- eslint@9.17.0:
+ eslint-visitor-keys@5.0.1: {}
+
+ eslint@10.3.0(jiti@2.6.1):
dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0)
- '@eslint-community/regexpp': 4.12.1
- '@eslint/config-array': 0.19.1
- '@eslint/core': 0.9.1
- '@eslint/eslintrc': 3.2.0
- '@eslint/js': 9.17.0
- '@eslint/plugin-kit': 0.2.4
- '@humanfs/node': 0.16.6
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.3.0(jiti@2.6.1))
+ '@eslint-community/regexpp': 4.12.2
+ '@eslint/config-array': 0.23.5
+ '@eslint/config-helpers': 0.5.5
+ '@eslint/core': 1.2.1
+ '@eslint/plugin-kit': 0.7.1
+ '@humanfs/node': 0.16.7
'@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.4.1
- '@types/estree': 1.0.6
- '@types/json-schema': 7.0.15
- ajv: 6.12.6
+ '@humanwhocodes/retry': 0.4.3
+ '@types/estree': 1.0.8
+ ajv: 6.15.0
+ cross-spawn: 7.0.6
+ debug: 4.4.3
+ escape-string-regexp: 4.0.0
+ eslint-scope: 9.1.2
+ eslint-visitor-keys: 5.0.1
+ espree: 11.2.0
+ esquery: 1.7.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 8.0.0
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ ignore: 5.3.2
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ json-stable-stringify-without-jsonify: 1.0.1
+ minimatch: 10.2.5
+ natural-compare: 1.4.0
+ optionator: 0.9.4
+ optionalDependencies:
+ jiti: 2.6.1
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint@9.39.4(jiti@2.6.1):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1))
+ '@eslint-community/regexpp': 4.12.2
+ '@eslint/config-array': 0.21.2
+ '@eslint/config-helpers': 0.4.2
+ '@eslint/core': 0.17.0
+ '@eslint/eslintrc': 3.3.5
+ '@eslint/js': 9.39.4
+ '@eslint/plugin-kit': 0.4.1
+ '@humanfs/node': 0.16.7
+ '@humanwhocodes/module-importer': 1.0.1
+ '@humanwhocodes/retry': 0.4.3
+ '@types/estree': 1.0.8
+ ajv: 6.15.0
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.4.0
+ debug: 4.4.3
escape-string-regexp: 4.0.0
- eslint-scope: 8.2.0
- eslint-visitor-keys: 4.2.0
- espree: 10.3.0
- esquery: 1.6.0
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
+ esquery: 1.7.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 8.0.0
@@ -4350,21 +8262,37 @@ snapshots:
is-glob: 4.0.3
json-stable-stringify-without-jsonify: 1.0.1
lodash.merge: 4.6.2
- minimatch: 3.1.2
+ minimatch: 3.1.5
natural-compare: 1.4.0
optionator: 0.9.4
+ optionalDependencies:
+ jiti: 2.6.1
transitivePeerDependencies:
- supports-color
+ esm@3.2.25: {}
+
espree@10.3.0:
dependencies:
acorn: 8.14.0
acorn-jsx: 5.3.2(acorn@8.14.0)
- eslint-visitor-keys: 4.2.0
+ eslint-visitor-keys: 4.2.1
+
+ espree@10.4.0:
+ dependencies:
+ acorn: 8.16.0
+ acorn-jsx: 5.3.2(acorn@8.16.0)
+ eslint-visitor-keys: 4.2.1
+
+ espree@11.2.0:
+ dependencies:
+ acorn: 8.16.0
+ acorn-jsx: 5.3.2(acorn@8.16.0)
+ eslint-visitor-keys: 5.0.1
esprima@4.0.1: {}
- esquery@1.6.0:
+ esquery@1.7.0:
dependencies:
estraverse: 5.3.0
@@ -4374,13 +8302,48 @@ snapshots:
estraverse@5.3.0: {}
+ estree-util-attach-comments@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+
+ estree-util-build-jsx@3.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-walker: 3.0.3
+
+ estree-util-is-identifier-name@2.1.0: {}
+
+ estree-util-is-identifier-name@3.0.0: {}
+
+ estree-util-scope@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+
+ estree-util-to-js@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ astring: 1.9.0
+ source-map: 0.7.6
+
+ estree-util-value-to-estree@3.4.0:
+ dependencies:
+ '@types/estree': 1.0.8
+
+ estree-util-visit@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/unist': 3.0.3
+
estree-walker@3.0.3:
dependencies:
- '@types/estree': 1.0.6
+ '@types/estree': 1.0.8
esutils@2.0.3: {}
- eventemitter3@5.0.1: {}
+ eventemitter3@5.0.4: {}
execa@8.0.1:
dependencies:
@@ -4394,13 +8357,25 @@ snapshots:
signal-exit: 4.1.0
strip-final-newline: 3.0.0
- expect-type@1.1.0: {}
+ expect-type@1.3.0: {}
+
+ exsolve@1.0.7: {}
+
+ extend@3.0.2: {}
fast-deep-equal@3.1.3: {}
- fast-equals@5.0.1: {}
+ fast-equals@5.4.0: {}
+
+ fast-glob@3.3.1:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
- fast-glob@3.3.2:
+ fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
@@ -4416,12 +8391,13 @@ snapshots:
dependencies:
reusify: 1.0.4
- fdir@6.4.2(picomatch@4.0.2):
- optionalDependencies:
- picomatch: 4.0.2
+ fault@2.0.1:
+ dependencies:
+ format: 0.2.2
- fflate@0.8.2:
- optional: true
+ fdir@6.5.0(picomatch@4.0.4):
+ optionalDependencies:
+ picomatch: 4.0.4
file-entry-cache@8.0.0:
dependencies:
@@ -4438,26 +8414,34 @@ snapshots:
flat-cache@4.0.1:
dependencies:
- flatted: 3.3.2
+ flatted: 3.3.3
keyv: 4.5.4
- flatted@3.3.2: {}
+ flatted@3.3.3: {}
- for-each@0.3.3:
+ for-each@0.3.5:
dependencies:
is-callable: 1.2.7
- foreground-child@3.3.0:
- dependencies:
- cross-spawn: 7.0.6
- signal-exit: 4.1.0
-
- form-data@4.0.1:
+ form-data@4.0.5:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ hasown: 2.0.2
mime-types: 2.1.35
+ format@0.2.2: {}
+
+ framer-motion@12.38.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
+ dependencies:
+ motion-dom: 12.38.0
+ motion-utils: 12.36.0
+ tslib: 2.8.1
+ optionalDependencies:
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+
fsevents@2.3.3:
optional: true
@@ -4466,7 +8450,7 @@ snapshots:
function.prototype.name@1.1.8:
dependencies:
call-bind: 1.0.8
- call-bound: 1.0.3
+ call-bound: 1.0.4
define-properties: 1.2.1
functions-have-names: 1.2.3
hasown: 2.0.2
@@ -4474,35 +8458,44 @@ snapshots:
functions-have-names@1.2.3: {}
+ generator-function@2.0.1: {}
+
gensequence@7.0.0: {}
- get-east-asian-width@1.3.0: {}
+ get-east-asian-width@1.6.0: {}
- get-intrinsic@1.2.6:
+ get-intrinsic@1.3.0:
dependencies:
- call-bind-apply-helpers: 1.0.1
- dunder-proto: 1.0.1
+ call-bind-apply-helpers: 1.0.2
es-define-property: 1.0.1
es-errors: 1.3.0
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
function-bind: 1.1.2
+ get-proto: 1.0.1
gopd: 1.2.0
has-symbols: 1.1.0
hasown: 2.0.2
math-intrinsics: 1.1.0
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
+
get-stream@8.0.1: {}
get-symbol-description@1.1.0:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
es-errors: 1.3.0
- get-intrinsic: 1.2.6
+ get-intrinsic: 1.3.0
- get-tsconfig@4.8.1:
+ get-tsconfig@4.13.0:
dependencies:
resolve-pkg-maps: 1.0.0
+ github-slugger@2.0.0: {}
+
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
@@ -4511,14 +8504,11 @@ snapshots:
dependencies:
is-glob: 4.0.3
- glob@10.4.5:
+ glob@13.0.6:
dependencies:
- foreground-child: 3.3.0
- jackspeak: 3.4.3
- minimatch: 9.0.5
- minipass: 7.1.2
- package-json-from-dist: 1.0.1
- path-scurry: 1.11.1
+ minimatch: 10.2.5
+ minipass: 7.1.3
+ path-scurry: 2.0.2
global-directory@4.0.1:
dependencies:
@@ -4526,6 +8516,8 @@ snapshots:
globals@14.0.0: {}
+ globals@15.15.0: {}
+
globalthis@1.0.4:
dependencies:
define-properties: 1.2.1
@@ -4535,14 +8527,12 @@ snapshots:
graceful-fs@4.2.11: {}
- graphemer@1.4.0: {}
+ hachure-fill@0.5.2: {}
has-bigints@1.1.0: {}
has-flag@4.0.0: {}
- has-own-prop@2.0.0: {}
-
has-property-descriptors@1.0.2:
dependencies:
es-define-property: 1.0.1
@@ -4555,27 +8545,176 @@ snapshots:
has-tostringtag@1.0.2:
dependencies:
- has-symbols: 1.1.0
+ has-symbols: 1.1.0
+
+ hasown@2.0.2:
+ dependencies:
+ function-bind: 1.1.2
+
+ hast-util-from-dom@5.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hastscript: 9.0.1
+ web-namespaces: 2.0.1
+
+ hast-util-from-html-isomorphic@2.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-from-dom: 5.0.1
+ hast-util-from-html: 2.0.3
+ unist-util-remove-position: 5.0.0
+
+ hast-util-from-html@2.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ devlop: 1.1.0
+ hast-util-from-parse5: 8.0.3
+ parse5: 7.3.0
+ vfile: 6.0.3
+ vfile-message: 4.0.3
+
+ hast-util-from-parse5@8.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ hastscript: 9.0.1
+ property-information: 7.1.0
+ vfile: 6.0.3
+ vfile-location: 5.0.3
+ web-namespaces: 2.0.1
+
+ hast-util-is-element@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-parse-selector@4.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-raw@9.1.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ '@ungap/structured-clone': 1.3.0
+ hast-util-from-parse5: 8.0.3
+ hast-util-to-parse5: 8.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.0
+ parse5: 7.3.0
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+
+ hast-util-to-estree@3.1.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-attach-comments: 3.0.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.17
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
+ 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.0
+ 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
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.17
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-parse5@8.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+
+ hast-util-to-string@3.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-to-text@4.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ hast-util-is-element: 3.0.0
+ unist-util-find-after: 5.0.0
+
+ hast-util-whitespace@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
- hasown@2.0.2:
+ hastscript@9.0.1:
dependencies:
- function-bind: 1.1.2
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ hast-util-parse-selector: 4.0.0
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+
+ hookable@6.1.1: {}
html-encoding-sniffer@4.0.0:
dependencies:
whatwg-encoding: 3.1.1
+ html-void-elements@3.0.0: {}
+
http-proxy-agent@7.0.2:
dependencies:
- agent-base: 7.1.3
- debug: 4.4.0
+ agent-base: 7.1.4
+ debug: 4.4.3
transitivePeerDependencies:
- supports-color
https-proxy-agent@7.0.6:
dependencies:
- agent-base: 7.1.3
- debug: 4.4.0
+ agent-base: 7.1.4
+ debug: 4.4.3
transitivePeerDependencies:
- supports-color
@@ -4589,12 +8728,21 @@ snapshots:
ignore@5.3.2: {}
+ ignore@7.0.5: {}
+
import-fresh@3.3.0:
dependencies:
parent-module: 1.0.1
resolve-from: 4.0.0
- import-meta-resolve@4.1.0: {}
+ import-fresh@3.3.1:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ import-meta-resolve@4.2.0: {}
+
+ import-without-cache@0.2.5: {}
imurmurhash@0.1.4: {}
@@ -4602,34 +8750,51 @@ snapshots:
ini@4.1.1: {}
+ inline-style-parser@0.2.4: {}
+
internal-slot@1.1.0:
dependencies:
es-errors: 1.3.0
hasown: 2.0.2
side-channel: 1.1.0
+ internmap@1.0.1: {}
+
+ internmap@2.0.3: {}
+
+ is-alphabetical@2.0.1: {}
+
+ is-alphanumerical@2.0.1:
+ dependencies:
+ is-alphabetical: 2.0.1
+ is-decimal: 2.0.1
+
is-array-buffer@3.0.5:
dependencies:
call-bind: 1.0.8
- call-bound: 1.0.3
- get-intrinsic: 1.2.6
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
- is-async-function@2.0.0:
+ is-async-function@2.1.1:
dependencies:
+ async-function: 1.0.0
+ call-bound: 1.0.4
+ get-proto: 1.0.1
has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
is-bigint@1.1.0:
dependencies:
has-bigints: 1.1.0
- is-boolean-object@1.2.1:
+ is-boolean-object@1.2.2:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
has-tostringtag: 1.0.2
- is-bun-module@1.3.0:
+ is-bun-module@2.0.0:
dependencies:
- semver: 7.6.3
+ semver: 7.8.0
is-callable@1.2.7: {}
@@ -4639,61 +8804,77 @@ snapshots:
is-data-view@1.0.2:
dependencies:
- call-bound: 1.0.3
- get-intrinsic: 1.2.6
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
is-typed-array: 1.1.15
is-date-object@1.1.0:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
has-tostringtag: 1.0.2
+ is-decimal@2.0.1: {}
+
+ is-docker@3.0.0: {}
+
is-extglob@2.1.1: {}
is-finalizationregistry@1.1.1:
dependencies:
- call-bound: 1.0.3
-
- is-fullwidth-code-point@3.0.0: {}
+ call-bound: 1.0.4
is-fullwidth-code-point@4.0.0: {}
- is-fullwidth-code-point@5.0.0:
+ is-fullwidth-code-point@5.1.0:
dependencies:
- get-east-asian-width: 1.3.0
+ get-east-asian-width: 1.6.0
- is-generator-function@1.0.10:
+ is-generator-function@1.1.2:
dependencies:
+ call-bound: 1.0.4
+ generator-function: 2.0.1
+ get-proto: 1.0.1
has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
- is-immutable-type@5.0.0(eslint@9.17.0)(typescript@5.7.2):
+ is-hexadecimal@2.0.1: {}
+
+ is-immutable-type@5.0.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3):
dependencies:
- '@typescript-eslint/type-utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- eslint: 9.17.0
- ts-api-utils: 1.4.3(typescript@5.7.2)
- ts-declaration-location: 1.0.5(typescript@5.7.2)
- typescript: 5.7.2
+ '@typescript-eslint/type-utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.6.1)
+ ts-api-utils: 2.5.0(typescript@5.9.3)
+ ts-declaration-location: 1.0.7(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
+ is-inside-container@1.0.0:
+ dependencies:
+ is-docker: 3.0.0
+
is-map@2.0.3: {}
+ is-negative-zero@2.0.3: {}
+
is-number-object@1.1.1:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
has-tostringtag: 1.0.2
is-number@7.0.0: {}
+ is-plain-obj@4.1.0: {}
+
is-potential-custom-element-name@1.0.1: {}
is-regex@1.2.1:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
gopd: 1.2.0
has-tostringtag: 1.0.2
hasown: 2.0.2
@@ -4702,82 +8883,95 @@ snapshots:
is-shared-array-buffer@1.0.4:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
is-stream@3.0.0: {}
is-string@1.1.1:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
has-tostringtag: 1.0.2
is-symbol@1.1.1:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
has-symbols: 1.1.0
safe-regex-test: 1.1.0
is-typed-array@1.1.15:
dependencies:
- which-typed-array: 1.1.18
+ which-typed-array: 1.1.19
is-weakmap@2.0.2: {}
- is-weakref@1.1.0:
+ is-weakref@1.1.1:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
is-weakset@2.0.4:
dependencies:
- call-bound: 1.0.3
- get-intrinsic: 1.2.6
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
+
+ is-wsl@3.1.0:
+ dependencies:
+ is-inside-container: 1.0.0
+
+ is64bit@2.0.0:
+ dependencies:
+ system-architecture: 0.1.0
isarray@2.0.5: {}
isexe@2.0.0: {}
- jackspeak@3.4.3:
+ iterator.prototype@1.1.5:
dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
+ define-data-property: 1.1.4
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
+ has-symbols: 1.1.0
+ set-function-name: 2.0.2
- joycon@3.1.1: {}
+ jiti@2.6.1: {}
js-tokens@4.0.0: {}
- js-yaml@4.1.0:
+ js-yaml@4.1.1:
dependencies:
argparse: 2.0.1
jsdom@25.0.1:
dependencies:
- cssstyle: 4.1.0
+ cssstyle: 4.6.0
data-urls: 5.0.0
- decimal.js: 10.4.3
- form-data: 4.0.1
+ decimal.js: 10.6.0
+ form-data: 4.0.5
html-encoding-sniffer: 4.0.0
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6
is-potential-custom-element-name: 1.0.1
- nwsapi: 2.2.16
- parse5: 7.2.1
+ nwsapi: 2.2.23
+ parse5: 7.3.0
rrweb-cssom: 0.7.1
saxes: 6.0.0
symbol-tree: 3.2.4
- tough-cookie: 5.0.0
+ tough-cookie: 5.1.2
w3c-xmlserializer: 5.0.0
webidl-conversions: 7.0.0
whatwg-encoding: 3.1.1
whatwg-mimetype: 4.0.0
- whatwg-url: 14.1.0
- ws: 8.18.0
+ whatwg-url: 14.2.0
+ ws: 8.20.1
xml-name-validator: 5.0.0
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
+ jsesc@3.1.0: {}
+
json-buffer@3.0.1: {}
json-schema-traverse@0.4.1: {}
@@ -4788,89 +8982,684 @@ snapshots:
dependencies:
minimist: 1.2.8
+ jsx-ast-utils@3.3.5:
+ dependencies:
+ array-includes: 3.1.9
+ array.prototype.flat: 1.3.3
+ object.assign: 4.1.7
+ object.values: 1.2.1
+
+ katex@0.16.22:
+ dependencies:
+ commander: 8.3.0
+
keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
+ khroma@2.1.0: {}
+
+ kolorist@1.8.0: {}
+
+ langium@3.3.1:
+ dependencies:
+ chevrotain: 11.0.3
+ chevrotain-allstar: 0.3.1(chevrotain@11.0.3)
+ vscode-languageserver: 9.0.1
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-uri: 3.0.8
+
+ language-subtag-registry@0.3.23: {}
+
+ language-tags@1.0.9:
+ dependencies:
+ language-subtag-registry: 0.3.23
+
+ layout-base@1.0.2: {}
+
+ layout-base@2.0.1: {}
+
levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
- lilconfig@3.1.3: {}
+ lightningcss-android-arm64@1.32.0:
+ optional: true
+
+ lightningcss-darwin-arm64@1.32.0:
+ optional: true
+
+ lightningcss-darwin-x64@1.32.0:
+ optional: true
+
+ lightningcss-freebsd-x64@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ optional: true
- lines-and-columns@1.2.4: {}
+ lightningcss-linux-arm64-gnu@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm64-musl@1.32.0:
+ optional: true
+
+ lightningcss-linux-x64-gnu@1.32.0:
+ optional: true
+
+ lightningcss-linux-x64-musl@1.32.0:
+ optional: true
+
+ lightningcss-win32-arm64-msvc@1.32.0:
+ optional: true
+
+ lightningcss-win32-x64-msvc@1.32.0:
+ optional: true
+
+ lightningcss@1.32.0:
+ dependencies:
+ detect-libc: 2.1.2
+ optionalDependencies:
+ lightningcss-android-arm64: 1.32.0
+ lightningcss-darwin-arm64: 1.32.0
+ lightningcss-darwin-x64: 1.32.0
+ lightningcss-freebsd-x64: 1.32.0
+ lightningcss-linux-arm-gnueabihf: 1.32.0
+ lightningcss-linux-arm64-gnu: 1.32.0
+ lightningcss-linux-arm64-musl: 1.32.0
+ lightningcss-linux-x64-gnu: 1.32.0
+ lightningcss-linux-x64-musl: 1.32.0
+ lightningcss-win32-arm64-msvc: 1.32.0
+ lightningcss-win32-x64-msvc: 1.32.0
+
+ lilconfig@3.1.3: {}
- lint-staged@15.3.0:
+ lint-staged@15.5.2:
dependencies:
- chalk: 5.4.1
- commander: 12.1.0
- debug: 4.4.0
+ chalk: 5.6.2
+ commander: 13.1.0
+ debug: 4.4.3
execa: 8.0.1
lilconfig: 3.1.3
- listr2: 8.2.5
+ listr2: 8.3.3
micromatch: 4.0.8
pidtree: 0.6.0
string-argv: 0.3.2
- yaml: 2.6.1
+ yaml: 2.9.0
transitivePeerDependencies:
- supports-color
- listr2@8.2.5:
+ listr2@8.3.3:
dependencies:
cli-truncate: 4.0.0
colorette: 2.0.20
- eventemitter3: 5.0.1
+ eventemitter3: 5.0.4
log-update: 6.1.0
rfdc: 1.4.1
- wrap-ansi: 9.0.0
+ wrap-ansi: 9.0.2
- load-tsconfig@0.2.5: {}
+ local-pkg@1.1.1:
+ dependencies:
+ mlly: 1.7.4
+ pkg-types: 2.2.0
+ quansync: 0.2.11
locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
- lodash.merge@4.6.2: {}
-
- lodash.sortby@4.7.0: {}
+ lodash-es@4.17.21: {}
- lodash@4.17.21: {}
+ lodash.merge@4.6.2: {}
log-update@6.1.0:
dependencies:
- ansi-escapes: 7.0.0
+ ansi-escapes: 7.3.0
cli-cursor: 5.0.0
- slice-ansi: 7.1.0
- strip-ansi: 7.1.0
- wrap-ansi: 9.0.0
+ slice-ansi: 7.1.2
+ strip-ansi: 7.2.0
+ wrap-ansi: 9.0.2
+
+ longest-streak@3.1.0: {}
loose-envify@1.4.0:
dependencies:
js-tokens: 4.0.0
- loupe@3.1.2: {}
+ loupe@3.2.1: {}
lru-cache@10.4.3: {}
+ lru-cache@11.3.6: {}
+
+ lucide-react@0.525.0(react@19.2.6):
+ dependencies:
+ react: 19.2.6
+
lz-string@1.5.0: {}
- magic-string@0.30.17:
+ magic-string@0.30.21:
dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ markdown-extensions@2.0.0: {}
+
+ markdown-table@3.0.4: {}
+
+ marked@16.1.1: {}
math-intrinsics@1.1.0: {}
+ mathjax-full@3.2.2:
+ dependencies:
+ esm: 3.2.25
+ mhchemparser: 4.2.1
+ mj-context-menu: 0.6.1
+ speech-rule-engine: 4.1.2
+
+ mdast-util-find-and-replace@3.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ escape-string-regexp: 5.0.0
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+
+ mdast-util-from-markdown@2.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.2
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-frontmatter@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ escape-string-regexp: 5.0.0
+ mdast-util-from-markdown: 2.0.2
+ 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
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-find-and-replace: 3.0.2
+ micromark-util-character: 2.1.1
+
+ mdast-util-gfm-footnote@2.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ micromark-util-normalize-identifier: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-table@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ markdown-table: 3.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm@3.1.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-gfm-autolink-literal: 2.0.1
+ mdast-util-gfm-footnote: 2.1.0
+ mdast-util-gfm-strikethrough: 2.0.0
+ mdast-util-gfm-table: 2.0.0
+ mdast-util-gfm-task-list-item: 2.0.0
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-math@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ longest-streak: 3.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ unist-util-remove-position: 5.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-expression@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-jsx@3.2.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx@3.0.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdxjs-esm@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-phrasing@4.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ unist-util-is: 6.0.0
+
+ mdast-util-to-hast@13.2.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.3.0
+ devlop: 1.1.0
+ micromark-util-sanitize-uri: 2.0.1
+ trim-lines: 3.0.1
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+
+ mdast-util-to-markdown@2.1.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+ micromark-util-classify-character: 2.0.1
+ micromark-util-decode-string: 2.0.1
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+
+ mdast-util-to-string@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+
merge-stream@2.0.0: {}
merge2@1.4.1: {}
- micro-memoize@4.1.2: {}
+ mermaid@11.9.0:
+ dependencies:
+ '@braintree/sanitize-url': 7.1.1
+ '@iconify/utils': 2.3.0
+ '@mermaid-js/parser': 0.6.2
+ '@types/d3': 7.4.3
+ cytoscape: 3.33.0
+ cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.0)
+ cytoscape-fcose: 2.2.0(cytoscape@3.33.0)
+ d3: 7.9.0
+ d3-sankey: 0.12.3
+ dagre-d3-es: 7.0.11
+ dayjs: 1.11.13
+ dompurify: 3.2.6
+ katex: 0.16.22
+ khroma: 2.1.0
+ lodash-es: 4.17.21
+ marked: 16.1.1
+ roughjs: 4.6.6
+ stylis: 4.3.6
+ ts-dedent: 2.2.0
+ uuid: 11.1.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mhchemparser@4.2.1: {}
+
+ micromark-core-commonmark@2.0.3:
+ dependencies:
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ micromark-factory-destination: 2.0.1
+ micromark-factory-label: 2.0.1
+ micromark-factory-space: 2.0.1
+ micromark-factory-title: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-html-tag-name: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-frontmatter@2.0.0:
+ dependencies:
+ fault: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-footnote@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-table@2.1.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm@3.0.0:
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 2.1.0
+ micromark-extension-gfm-footnote: 2.1.0
+ micromark-extension-gfm-strikethrough: 2.1.0
+ micromark-extension-gfm-table: 2.1.1
+ micromark-extension-gfm-tagfilter: 2.0.0
+ micromark-extension-gfm-task-list-item: 2.1.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-math@3.1.0:
+ dependencies:
+ '@types/katex': 0.16.7
+ devlop: 1.1.0
+ katex: 0.16.22
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-expression@3.0.1:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-jsx@3.0.2:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
+
+ micromark-extension-mdx-md@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ micromark-extension-mdxjs@3.0.0:
+ dependencies:
+ acorn: 8.16.0
+ acorn-jsx: 5.3.2(acorn@8.16.0)
+ micromark-extension-mdx-expression: 3.0.1
+ micromark-extension-mdx-jsx: 3.0.2
+ micromark-extension-mdx-md: 2.0.0
+ micromark-extension-mdxjs-esm: 3.0.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-destination@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-label@2.0.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-mdx-expression@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ micromark-factory-space@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-title@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-whitespace@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-character@2.1.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-chunked@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-classify-character@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-combine-extensions@2.0.1:
+ dependencies:
+ micromark-util-chunked: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-decode-string@2.0.1:
+ dependencies:
+ decode-named-character-reference: 1.2.0
+ micromark-util-character: 2.1.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-encode@2.0.1: {}
+
+ micromark-util-events-to-acorn@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
+
+ micromark-util-html-tag-name@2.0.1: {}
+
+ micromark-util-normalize-identifier@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-resolve-all@2.0.1:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-util-sanitize-uri@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-subtokenize@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-symbol@2.0.1: {}
+
+ micromark-util-types@2.0.2: {}
+
+ micromark@4.0.2:
+ dependencies:
+ '@types/debug': 4.1.12
+ debug: 4.4.3
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-encode: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
micromatch@4.0.8:
dependencies:
braces: 3.0.3
- picomatch: 2.3.1
+ picomatch: 2.3.2
mime-db@1.52.0: {}
@@ -4884,77 +9673,208 @@ snapshots:
min-indent@1.0.1: {}
- minimatch@10.0.1:
+ minimatch@10.2.5:
dependencies:
- brace-expansion: 2.0.1
+ brace-expansion: 5.0.6
minimatch@3.1.2:
dependencies:
- brace-expansion: 1.1.11
+ brace-expansion: 1.1.12
- minimatch@9.0.5:
+ minimatch@3.1.5:
dependencies:
- brace-expansion: 2.0.1
+ brace-expansion: 1.1.14
minimist@1.2.8: {}
- minipass@7.1.2: {}
+ minipass@7.1.3: {}
- mrmime@2.0.0:
- optional: true
+ mj-context-menu@0.6.1: {}
- ms@2.1.3: {}
+ mlly@1.7.4:
+ dependencies:
+ acorn: 8.16.0
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.1
- mz@2.7.0:
+ motion-dom@12.38.0:
dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
+ motion-utils: 12.36.0
+
+ motion-utils@12.36.0: {}
+
+ motion@12.38.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
+ dependencies:
+ framer-motion: 12.38.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ tslib: 2.8.1
+ optionalDependencies:
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
- nanoid@3.3.8: {}
+ ms@2.1.3: {}
+
+ nanoid@3.3.11: {}
+
+ nanoid@3.3.12: {}
+
+ napi-postinstall@0.3.4: {}
natural-compare@1.4.0: {}
+ negotiator@1.0.0: {}
+
+ next-themes@0.4.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
+ dependencies:
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+
+ next@16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
+ dependencies:
+ '@next/env': 16.2.6
+ '@swc/helpers': 0.5.15
+ baseline-browser-mapping: 2.10.29
+ caniuse-lite: 1.0.30001792
+ postcss: 8.4.31
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+ styled-jsx: 5.1.6(react@19.2.6)
+ 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
+ sharp: 0.34.5
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+
+ nextra-theme-docs@4.6.1(@types/react@19.2.14)(next@16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(nextra@4.6.1(acorn@8.16.0)(next@16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(use-sync-external-store@1.5.0(react@19.2.6)):
+ dependencies:
+ '@headlessui/react': 2.2.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ clsx: 2.1.1
+ next: 16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ next-themes: 0.4.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ nextra: 4.6.1(acorn@8.16.0)(next@16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)
+ react: 19.2.6
+ react-compiler-runtime: 19.1.0-rc.2(react@19.2.6)
+ react-dom: 19.2.6(react@19.2.6)
+ scroll-into-view-if-needed: 3.1.0
+ zod: 4.2.1
+ zustand: 5.0.7(@types/react@19.2.14)(react@19.2.6)(use-sync-external-store@1.5.0(react@19.2.6))
+ transitivePeerDependencies:
+ - '@types/react'
+ - immer
+ - use-sync-external-store
+
+ nextra@4.6.1(acorn@8.16.0)(next@16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3):
+ dependencies:
+ '@formatjs/intl-localematcher': 0.6.1
+ '@headlessui/react': 2.2.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@mdx-js/mdx': 3.1.0(acorn@8.16.0)
+ '@napi-rs/simple-git': 0.1.21
+ '@shikijs/twoslash': 3.9.1(typescript@5.9.3)
+ '@theguild/remark-mermaid': 0.3.0(react@19.2.6)
+ '@theguild/remark-npm2yarn': 0.3.3
+ better-react-mathjax: 2.3.0(react@19.2.6)
+ clsx: 2.1.1
+ estree-util-to-js: 2.0.0
+ estree-util-value-to-estree: 3.4.0
+ fast-glob: 3.3.3
+ github-slugger: 2.0.0
+ hast-util-to-estree: 3.1.3
+ katex: 0.16.22
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-gfm: 3.1.0
+ mdast-util-to-hast: 13.2.0
+ negotiator: 1.0.0
+ next: 16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ react: 19.2.6
+ react-compiler-runtime: 19.1.0-rc.2(react@19.2.6)
+ react-dom: 19.2.6(react@19.2.6)
+ react-medium-image-zoom: 5.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ rehype-katex: 7.0.1
+ rehype-pretty-code: 0.14.1(shiki@3.9.1)
+ rehype-raw: 7.0.0
+ remark-frontmatter: 5.0.0
+ remark-gfm: 4.0.1
+ remark-math: 6.0.0
+ remark-reading-time: 2.0.2
+ remark-smartypants: 3.0.2
+ server-only: 0.0.1
+ shiki: 3.9.1
+ slash: 5.1.0
+ title: 4.0.1
+ ts-morph: 27.0.2
+ unist-util-remove: 4.0.0
+ unist-util-visit: 5.0.0
+ unist-util-visit-children: 3.0.0
+ yaml: 2.6.1
+ zod: 4.2.1
+ transitivePeerDependencies:
+ - acorn
+ - supports-color
+ - typescript
+
+ nlcst-to-string@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+
npm-run-path@5.3.0:
dependencies:
path-key: 4.0.0
- nwsapi@2.2.16: {}
+ npm-to-yarn@3.0.1: {}
+
+ nwsapi@2.2.23: {}
object-assign@4.1.1: {}
- object-inspect@1.13.3: {}
+ object-inspect@1.13.4: {}
object-keys@1.1.1: {}
object.assign@4.1.7:
dependencies:
call-bind: 1.0.8
- call-bound: 1.0.3
+ call-bound: 1.0.4
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
has-symbols: 1.1.0
object-keys: 1.1.1
+ object.entries@1.1.9:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-object-atoms: 1.1.1
+
object.fromentries@2.0.8:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.7
- es-object-atoms: 1.0.0
+ es-abstract: 1.24.1
+ es-object-atoms: 1.1.1
object.groupby@1.0.3:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.7
+ es-abstract: 1.24.1
object.values@1.2.1:
dependencies:
call-bind: 1.0.8
- call-bound: 1.0.3
+ call-bound: 1.0.4
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
+
+ obug@2.1.1: {}
onetime@6.0.0:
dependencies:
@@ -4964,6 +9884,14 @@ snapshots:
dependencies:
mimic-function: 5.0.1
+ oniguruma-parser@0.12.1: {}
+
+ oniguruma-to-es@4.3.3:
+ dependencies:
+ oniguruma-parser: 0.12.1
+ regex: 6.0.1
+ regex-recursion: 6.0.2
+
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -4973,6 +9901,12 @@ snapshots:
type-check: 0.4.0
word-wrap: 1.2.5
+ own-keys@1.0.1:
+ dependencies:
+ get-intrinsic: 1.3.0
+ object-keys: 1.1.1
+ safe-push-apply: 1.0.0
+
p-limit@3.1.0:
dependencies:
yocto-queue: 0.1.0
@@ -4983,6 +9917,18 @@ snapshots:
package-json-from-dist@1.0.1: {}
+ package-manager-detector@1.3.0: {}
+
+ pagefind@1.5.2:
+ optionalDependencies:
+ '@pagefind/darwin-arm64': 1.5.2
+ '@pagefind/darwin-x64': 1.5.2
+ '@pagefind/freebsd-x64': 1.5.2
+ '@pagefind/linux-arm64': 1.5.2
+ '@pagefind/linux-x64': 1.5.2
+ '@pagefind/windows-arm64': 1.5.2
+ '@pagefind/windows-x64': 1.5.2
+
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
@@ -4991,9 +9937,34 @@ snapshots:
dependencies:
callsites: 3.1.0
- parse5@7.2.1:
+ parse-entities@4.0.2:
+ dependencies:
+ '@types/unist': 2.0.11
+ character-entities-legacy: 3.0.0
+ character-reference-invalid: 2.0.1
+ decode-named-character-reference: 1.2.0
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+ is-hexadecimal: 2.0.1
+
+ parse-latin@7.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ '@types/unist': 3.0.3
+ nlcst-to-string: 4.0.0
+ unist-util-modify-children: 4.0.0
+ unist-util-visit-children: 3.0.0
+ vfile: 6.0.3
+
+ parse-numeric-range@1.3.0: {}
+
+ parse5@7.3.0:
dependencies:
- entities: 4.5.0
+ entities: 6.0.1
+
+ path-browserify@1.0.1: {}
+
+ path-data-parser@0.1.0: {}
path-exists@4.0.0: {}
@@ -5003,43 +9974,65 @@ snapshots:
path-parse@1.0.7: {}
- path-scurry@1.11.1:
+ path-scurry@2.0.2:
dependencies:
- lru-cache: 10.4.3
- minipass: 7.1.2
+ lru-cache: 11.3.6
+ minipass: 7.1.3
pathe@1.1.2: {}
- pathval@2.0.0: {}
+ pathe@2.0.3: {}
+
+ pathval@2.0.1: {}
picocolors@1.1.1: {}
- picomatch@2.3.1: {}
+ picomatch@2.3.2: {}
+
+ picomatch@4.0.4: {}
+
+ pidtree@0.6.0: {}
+
+ pkg-types@1.3.1:
+ dependencies:
+ confbox: 0.1.8
+ mlly: 1.7.4
+ pathe: 2.0.3
- picomatch@4.0.2: {}
+ pkg-types@2.2.0:
+ dependencies:
+ confbox: 0.2.2
+ exsolve: 1.0.7
+ pathe: 2.0.3
- pidtree@0.6.0: {}
+ points-on-curve@0.2.0: {}
- pirates@4.0.6: {}
+ points-on-path@0.2.1:
+ dependencies:
+ path-data-parser: 0.1.0
+ points-on-curve: 0.2.0
- possible-typed-array-names@1.0.0: {}
+ possible-typed-array-names@1.1.0: {}
- postcss-load-config@6.0.1(postcss@8.4.49)(yaml@2.6.1):
+ postcss@8.4.31:
dependencies:
- lilconfig: 3.1.3
- optionalDependencies:
- postcss: 8.4.49
- yaml: 2.6.1
+ nanoid: 3.3.12
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
- postcss@8.4.49:
+ postcss@8.5.14:
dependencies:
- nanoid: 3.3.8
+ nanoid: 3.3.11
picocolors: 1.1.1
source-map-js: 1.2.1
prelude-ls@1.2.1: {}
- prettier@3.4.2: {}
+ prettier-plugin-tailwindcss@0.6.14(prettier@3.8.3):
+ dependencies:
+ prettier: 3.8.3
+
+ prettier@3.8.3: {}
pretty-format@27.5.1:
dependencies:
@@ -5047,50 +10040,222 @@ snapshots:
ansi-styles: 5.2.0
react-is: 17.0.2
+ prop-types@15.8.1:
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+
+ property-information@6.5.0: {}
+
+ property-information@7.1.0: {}
+
punycode@2.3.1: {}
+ quansync@0.2.11: {}
+
+ quansync@1.0.0: {}
+
queue-microtask@1.2.3: {}
- react-dom@18.3.1(react@18.3.1):
+ react-compiler-runtime@19.1.0-rc.2(react@19.2.6):
dependencies:
- loose-envify: 1.4.0
- react: 18.3.1
- scheduler: 0.23.2
+ react: 19.2.6
+
+ react-dom@19.2.6(react@19.2.6):
+ dependencies:
+ react: 19.2.6
+ scheduler: 0.27.0
+
+ react-is@16.13.1: {}
react-is@17.0.2: {}
- react@18.3.1:
+ react-medium-image-zoom@5.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
dependencies:
- loose-envify: 1.4.0
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+
+ react@19.2.6: {}
+
+ reading-time@1.5.0: {}
- readdirp@4.1.1: {}
+ recma-build-jsx@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
+
+ recma-jsx@1.0.1(acorn@8.16.0):
+ dependencies:
+ acorn: 8.16.0
+ acorn-jsx: 5.3.2(acorn@8.16.0)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
+
+ recma-parse@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ esast-util-from-js: 2.0.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ recma-stringify@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
redent@3.0.0:
dependencies:
indent-string: 4.0.0
strip-indent: 3.0.0
- reflect.getprototypeof@1.0.9:
+ reflect.getprototypeof@1.0.10:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
- dunder-proto: 1.0.1
- es-abstract: 1.23.7
+ es-abstract: 1.24.1
es-errors: 1.3.0
- get-intrinsic: 1.2.6
- gopd: 1.2.0
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
which-builtin-type: 1.2.1
- regenerator-runtime@0.14.1: {}
+ regex-recursion@6.0.2:
+ dependencies:
+ regex-utilities: 2.3.0
+
+ regex-utilities@2.3.0: {}
+
+ regex@6.0.1:
+ dependencies:
+ regex-utilities: 2.3.0
- regexp.prototype.flags@1.5.3:
+ regexp.prototype.flags@1.5.4:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-errors: 1.3.0
+ get-proto: 1.0.1
+ gopd: 1.2.0
set-function-name: 2.0.2
- repeat-string@1.6.1: {}
+ rehype-katex@7.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/katex': 0.16.7
+ hast-util-from-html-isomorphic: 2.0.0
+ hast-util-to-text: 4.0.2
+ katex: 0.16.22
+ unist-util-visit-parents: 6.0.1
+ vfile: 6.0.3
+
+ rehype-parse@9.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-from-html: 2.0.3
+ unified: 11.0.5
+
+ rehype-pretty-code@0.14.1(shiki@3.9.1):
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-to-string: 3.0.1
+ parse-numeric-range: 1.3.0
+ rehype-parse: 9.0.1
+ shiki: 3.9.1
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+
+ rehype-raw@7.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-raw: 9.1.0
+ vfile: 6.0.3
+
+ rehype-recma@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/hast': 3.0.4
+ hast-util-to-estree: 3.1.3
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-frontmatter@5.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-frontmatter: 2.0.1
+ micromark-extension-frontmatter: 2.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-gfm@4.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.1.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-math@6.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-math: 3.0.0
+ micromark-extension-math: 3.1.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-mdx@3.1.0:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-parse@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ micromark-util-types: 2.0.2
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-reading-time@2.0.2:
+ dependencies:
+ estree-util-is-identifier-name: 2.1.0
+ estree-util-value-to-estree: 3.4.0
+ reading-time: 1.5.0
+ unist-util-visit: 3.1.0
+
+ remark-rehype@11.1.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.0
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ remark-smartypants@3.0.2:
+ dependencies:
+ retext: 9.0.0
+ retext-smartypants: 6.2.0
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+
+ remark-stringify@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-to-markdown: 2.1.2
+ unified: 11.0.5
resolve-from@4.0.0: {}
@@ -5098,7 +10263,13 @@ snapshots:
resolve-pkg-maps@1.0.0: {}
- resolve@1.22.10:
+ resolve@1.22.11:
+ dependencies:
+ is-core-module: 2.16.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ resolve@2.0.0-next.5:
dependencies:
is-core-module: 2.16.1
path-parse: 1.0.7
@@ -5109,52 +10280,146 @@ snapshots:
onetime: 7.0.0
signal-exit: 4.1.0
+ retext-latin@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ parse-latin: 7.0.0
+ unified: 11.0.5
+
+ retext-smartypants@6.2.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ nlcst-to-string: 4.0.0
+ unist-util-visit: 5.0.0
+
+ retext-stringify@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ nlcst-to-string: 4.0.0
+ unified: 11.0.5
+
+ retext@9.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ retext-latin: 4.0.0
+ retext-stringify: 4.0.0
+ unified: 11.0.5
+
reusify@1.0.4: {}
rfdc@1.4.1: {}
- rollup@4.29.1:
+ rimraf@6.1.3:
+ dependencies:
+ glob: 13.0.6
+ package-json-from-dist: 1.0.1
+
+ robust-predicates@3.0.2: {}
+
+ rolldown-plugin-dts@0.20.0(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3):
+ dependencies:
+ '@babel/generator': 7.29.1
+ '@babel/parser': 7.29.3
+ '@babel/types': 7.29.0
+ ast-kit: 2.2.0
+ birpc: 4.0.0
+ dts-resolver: 2.1.3
+ get-tsconfig: 4.13.0
+ obug: 2.1.1
+ rolldown: 1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - oxc-resolver
+
+ rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0):
+ dependencies:
+ '@oxc-project/types': 0.103.0
+ '@rolldown/pluginutils': 1.0.0-beta.57
+ optionalDependencies:
+ '@rolldown/binding-android-arm64': 1.0.0-beta.57
+ '@rolldown/binding-darwin-arm64': 1.0.0-beta.57
+ '@rolldown/binding-darwin-x64': 1.0.0-beta.57
+ '@rolldown/binding-freebsd-x64': 1.0.0-beta.57
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.57
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.57
+ '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.57
+ '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.57
+ '@rolldown/binding-linux-x64-musl': 1.0.0-beta.57
+ '@rolldown/binding-openharmony-arm64': 1.0.0-beta.57
+ '@rolldown/binding-wasm32-wasi': 1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.57
+ '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.57
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+
+ rollup@4.60.3:
dependencies:
- '@types/estree': 1.0.6
+ '@types/estree': 1.0.8
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.29.1
- '@rollup/rollup-android-arm64': 4.29.1
- '@rollup/rollup-darwin-arm64': 4.29.1
- '@rollup/rollup-darwin-x64': 4.29.1
- '@rollup/rollup-freebsd-arm64': 4.29.1
- '@rollup/rollup-freebsd-x64': 4.29.1
- '@rollup/rollup-linux-arm-gnueabihf': 4.29.1
- '@rollup/rollup-linux-arm-musleabihf': 4.29.1
- '@rollup/rollup-linux-arm64-gnu': 4.29.1
- '@rollup/rollup-linux-arm64-musl': 4.29.1
- '@rollup/rollup-linux-loongarch64-gnu': 4.29.1
- '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1
- '@rollup/rollup-linux-riscv64-gnu': 4.29.1
- '@rollup/rollup-linux-s390x-gnu': 4.29.1
- '@rollup/rollup-linux-x64-gnu': 4.29.1
- '@rollup/rollup-linux-x64-musl': 4.29.1
- '@rollup/rollup-win32-arm64-msvc': 4.29.1
- '@rollup/rollup-win32-ia32-msvc': 4.29.1
- '@rollup/rollup-win32-x64-msvc': 4.29.1
+ '@rollup/rollup-android-arm-eabi': 4.60.3
+ '@rollup/rollup-android-arm64': 4.60.3
+ '@rollup/rollup-darwin-arm64': 4.60.3
+ '@rollup/rollup-darwin-x64': 4.60.3
+ '@rollup/rollup-freebsd-arm64': 4.60.3
+ '@rollup/rollup-freebsd-x64': 4.60.3
+ '@rollup/rollup-linux-arm-gnueabihf': 4.60.3
+ '@rollup/rollup-linux-arm-musleabihf': 4.60.3
+ '@rollup/rollup-linux-arm64-gnu': 4.60.3
+ '@rollup/rollup-linux-arm64-musl': 4.60.3
+ '@rollup/rollup-linux-loong64-gnu': 4.60.3
+ '@rollup/rollup-linux-loong64-musl': 4.60.3
+ '@rollup/rollup-linux-ppc64-gnu': 4.60.3
+ '@rollup/rollup-linux-ppc64-musl': 4.60.3
+ '@rollup/rollup-linux-riscv64-gnu': 4.60.3
+ '@rollup/rollup-linux-riscv64-musl': 4.60.3
+ '@rollup/rollup-linux-s390x-gnu': 4.60.3
+ '@rollup/rollup-linux-x64-gnu': 4.60.3
+ '@rollup/rollup-linux-x64-musl': 4.60.3
+ '@rollup/rollup-openbsd-x64': 4.60.3
+ '@rollup/rollup-openharmony-arm64': 4.60.3
+ '@rollup/rollup-win32-arm64-msvc': 4.60.3
+ '@rollup/rollup-win32-ia32-msvc': 4.60.3
+ '@rollup/rollup-win32-x64-gnu': 4.60.3
+ '@rollup/rollup-win32-x64-msvc': 4.60.3
fsevents: 2.3.3
+ roughjs@4.6.6:
+ dependencies:
+ hachure-fill: 0.5.2
+ path-data-parser: 0.1.0
+ points-on-curve: 0.2.0
+ points-on-path: 0.2.1
+
rrweb-cssom@0.7.1: {}
+ rrweb-cssom@0.8.0: {}
+
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
+ rw@1.3.3: {}
+
safe-array-concat@1.1.3:
dependencies:
call-bind: 1.0.8
- call-bound: 1.0.3
- get-intrinsic: 1.2.6
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
has-symbols: 1.1.0
isarray: 2.0.5
+ safe-json-stringify@1.2.0: {}
+
+ safe-push-apply@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+ isarray: 2.0.5
+
safe-regex-test@1.1.0:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
es-errors: 1.3.0
is-regex: 1.2.1
@@ -5164,20 +10429,24 @@ snapshots:
dependencies:
xmlchars: 2.2.0
- scheduler@0.23.2:
+ scheduler@0.27.0: {}
+
+ scroll-into-view-if-needed@3.1.0:
dependencies:
- loose-envify: 1.4.0
+ compute-scroll-into-view: 3.1.1
semver@6.3.1: {}
- semver@7.6.3: {}
+ semver@7.8.0: {}
+
+ server-only@0.0.1: {}
set-function-length@1.2.2:
dependencies:
define-data-property: 1.1.4
es-errors: 1.3.0
function-bind: 1.1.2
- get-intrinsic: 1.2.6
+ get-intrinsic: 1.3.0
gopd: 1.2.0
has-property-descriptors: 1.0.2
@@ -5188,38 +10457,85 @@ snapshots:
functions-have-names: 1.2.3
has-property-descriptors: 1.0.2
+ set-proto@1.0.0:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+
+ sharp@0.34.5:
+ dependencies:
+ '@img/colour': 1.1.0
+ detect-libc: 2.1.2
+ semver: 7.8.0
+ 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:
shebang-regex: 3.0.0
shebang-regex@3.0.0: {}
- short-unique-id@5.2.0: {}
+ shiki@3.9.1:
+ dependencies:
+ '@shikijs/core': 3.9.1
+ '@shikijs/engine-javascript': 3.9.1
+ '@shikijs/engine-oniguruma': 3.9.1
+ '@shikijs/langs': 3.9.1
+ '@shikijs/themes': 3.9.1
+ '@shikijs/types': 3.9.1
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
side-channel-list@1.0.0:
dependencies:
es-errors: 1.3.0
- object-inspect: 1.13.3
+ object-inspect: 1.13.4
side-channel-map@1.0.1:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
es-errors: 1.3.0
- get-intrinsic: 1.2.6
- object-inspect: 1.13.3
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
side-channel-weakmap@1.0.2:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
es-errors: 1.3.0
- get-intrinsic: 1.2.6
- object-inspect: 1.13.3
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
side-channel-map: 1.0.1
side-channel@1.1.0:
dependencies:
es-errors: 1.3.0
- object-inspect: 1.13.3
+ object-inspect: 1.13.4
side-channel-list: 1.0.0
side-channel-map: 1.0.1
side-channel-weakmap: 1.0.2
@@ -5228,87 +10544,114 @@ snapshots:
signal-exit@4.1.0: {}
- sirv@3.0.0:
- dependencies:
- '@polka/url': 1.0.0-next.28
- mrmime: 2.0.0
- totalist: 3.0.1
- optional: true
+ slash@5.1.0: {}
slice-ansi@5.0.0:
dependencies:
- ansi-styles: 6.2.1
+ ansi-styles: 6.2.3
is-fullwidth-code-point: 4.0.0
- slice-ansi@7.1.0:
+ slice-ansi@7.1.2:
+ dependencies:
+ ansi-styles: 6.2.3
+ is-fullwidth-code-point: 5.1.0
+
+ sonner@2.0.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
dependencies:
- ansi-styles: 6.2.1
- is-fullwidth-code-point: 5.0.0
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
source-map-js@1.2.1: {}
- source-map@0.8.0-beta.0:
+ source-map@0.7.6: {}
+
+ space-separated-tokens@2.0.2: {}
+
+ speech-rule-engine@4.1.2:
dependencies:
- whatwg-url: 7.1.0
+ '@xmldom/xmldom': 0.9.8
+ commander: 13.1.0
+ wicked-good-xpath: 1.3.0
- stable-hash@0.0.4: {}
+ stable-hash@0.0.5: {}
stackback@0.0.2: {}
- std-env@3.8.0: {}
+ std-env@3.10.0: {}
+
+ stop-iteration-iterator@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ internal-slot: 1.1.0
string-argv@0.3.2: {}
- string-ts@2.2.0: {}
+ string-ts@2.3.1: {}
- string-width@4.2.3:
+ string-width@7.2.0:
dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
+ emoji-regex: 10.6.0
+ get-east-asian-width: 1.6.0
+ strip-ansi: 7.2.0
- string-width@5.1.2:
+ string.prototype.includes@2.0.1:
dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.0
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.1
- string-width@7.2.0:
+ string.prototype.matchall@4.0.12:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-abstract: 1.24.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.3.0
+ gopd: 1.2.0
+ has-symbols: 1.1.0
+ internal-slot: 1.1.0
+ regexp.prototype.flags: 1.5.4
+ set-function-name: 2.0.2
+ side-channel: 1.1.0
+
+ string.prototype.repeat@1.0.0:
dependencies:
- emoji-regex: 10.4.0
- get-east-asian-width: 1.3.0
- strip-ansi: 7.1.0
+ define-properties: 1.2.1
+ es-abstract: 1.24.1
string.prototype.trim@1.2.10:
dependencies:
call-bind: 1.0.8
- call-bound: 1.0.3
+ call-bound: 1.0.4
define-data-property: 1.1.4
define-properties: 1.2.1
- es-abstract: 1.23.7
- es-object-atoms: 1.0.0
+ es-abstract: 1.24.1
+ es-object-atoms: 1.1.1
has-property-descriptors: 1.0.2
string.prototype.trimend@1.0.9:
dependencies:
call-bind: 1.0.8
- call-bound: 1.0.3
+ call-bound: 1.0.4
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
string.prototype.trimstart@1.0.8:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
- strip-ansi@6.0.1:
+ stringify-entities@4.0.4:
dependencies:
- ansi-regex: 5.0.1
+ character-entities-html4: 2.1.0
+ character-entities-legacy: 3.0.0
- strip-ansi@7.1.0:
+ strip-ansi@7.2.0:
dependencies:
- ansi-regex: 6.1.0
+ ansi-regex: 6.2.2
strip-bom@3.0.0: {}
@@ -5320,15 +10663,20 @@ snapshots:
strip-json-comments@3.1.1: {}
- sucrase@3.35.0:
+ style-to-js@1.1.17:
+ dependencies:
+ style-to-object: 1.0.9
+
+ style-to-object@1.0.9:
dependencies:
- '@jridgewell/gen-mapping': 0.3.8
- commander: 4.1.1
- glob: 10.4.5
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.6
- ts-interface-checker: 0.1.13
+ inline-style-parser: 0.2.4
+
+ styled-jsx@5.1.6(react@19.2.6):
+ dependencies:
+ client-only: 0.0.1
+ react: 19.2.6
+
+ stylis@4.3.6: {}
supports-color@7.2.0:
dependencies:
@@ -5338,79 +10686,82 @@ snapshots:
symbol-tree@3.2.4: {}
- synckit@0.9.2:
+ synckit@0.11.12:
dependencies:
- '@pkgr/core': 0.1.1
- tslib: 2.8.1
+ '@pkgr/core': 0.2.9
- tapable@2.2.1: {}
+ system-architecture@0.1.0: {}
- thenify-all@1.6.0:
- dependencies:
- thenify: 3.3.1
+ tabbable@6.2.0: {}
- thenify@3.3.1:
- dependencies:
- any-promise: 1.3.0
+ tailwindcss@4.3.0: {}
+
+ tapable@2.3.3: {}
tinybench@2.9.0: {}
- tinyexec@0.3.1: {}
+ tinyexec@0.3.2: {}
+
+ tinyexec@1.1.2: {}
- tinyglobby@0.2.10:
+ tinyglobby@0.2.16:
dependencies:
- fdir: 6.4.2(picomatch@4.0.2)
- picomatch: 4.0.2
+ fdir: 6.5.0(picomatch@4.0.4)
+ picomatch: 4.0.4
- tinypool@1.0.2: {}
+ tinypool@1.1.1: {}
tinyrainbow@1.2.0: {}
tinyspy@3.0.2: {}
- tldts-core@6.1.70: {}
+ title@4.0.1:
+ dependencies:
+ arg: 5.0.2
+ chalk: 5.6.2
+ clipboardy: 4.0.0
+
+ tldts-core@6.1.86: {}
- tldts@6.1.70:
+ tldts@6.1.86:
dependencies:
- tldts-core: 6.1.70
+ tldts-core: 6.1.86
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
- totalist@3.0.1:
- optional: true
-
- tough-cookie@5.0.0:
+ tough-cookie@5.1.2:
dependencies:
- tldts: 6.1.70
+ tldts: 6.1.86
- tr46@1.0.1:
- dependencies:
- punycode: 2.3.1
-
- tr46@5.0.0:
+ tr46@5.1.1:
dependencies:
punycode: 2.3.1
tree-kill@1.2.2: {}
- ts-api-utils@1.4.3(typescript@5.7.2):
- dependencies:
- typescript: 5.7.2
+ trim-lines@3.0.1: {}
- ts-api-utils@2.0.0(typescript@5.7.2):
+ trough@2.2.0: {}
+
+ ts-api-utils@2.5.0(typescript@5.9.3):
dependencies:
- typescript: 5.7.2
+ typescript: 5.9.3
- ts-declaration-location@1.0.5(typescript@5.7.2):
+ ts-declaration-location@1.0.7(typescript@5.9.3):
dependencies:
- minimatch: 10.0.1
- typescript: 5.7.2
+ picomatch: 4.0.4
+ typescript: 5.9.3
+
+ ts-dedent@2.2.0: {}
- ts-interface-checker@0.1.13: {}
+ ts-morph@27.0.2:
+ dependencies:
+ '@ts-morph/common': 0.28.1
+ code-block-writer: 13.0.3
- ts-pattern@5.6.0: {}
+ ts-pattern@5.9.0: {}
tsconfig-paths@3.15.0:
dependencies:
@@ -5419,34 +10770,55 @@ snapshots:
minimist: 1.2.8
strip-bom: 3.0.0
- tslib@2.8.1: {}
-
- tsup@8.3.5(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1):
+ tsdown@0.18.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(synckit@0.11.12)(typescript@5.9.3):
dependencies:
- bundle-require: 5.1.0(esbuild@0.24.2)
+ ansis: 4.2.0
cac: 6.7.14
- chokidar: 4.0.3
- consola: 3.4.0
- debug: 4.4.0
- esbuild: 0.24.2
- joycon: 3.1.1
- picocolors: 1.1.1
- postcss-load-config: 6.0.1(postcss@8.4.49)(yaml@2.6.1)
- resolve-from: 5.0.0
- rollup: 4.29.1
- source-map: 0.8.0-beta.0
- sucrase: 3.35.0
- tinyexec: 0.3.1
- tinyglobby: 0.2.10
+ defu: 6.1.7
+ empathic: 2.0.0
+ hookable: 6.1.1
+ import-without-cache: 0.2.5
+ obug: 2.1.1
+ picomatch: 4.0.4
+ rolldown: 1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ rolldown-plugin-dts: 0.20.0(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3)
+ semver: 7.8.0
+ tinyexec: 1.1.2
+ tinyglobby: 0.2.16
tree-kill: 1.2.2
+ unconfig-core: 7.5.0
+ unrun: 0.2.21(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(synckit@0.11.12)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - '@ts-macro/tsc'
+ - '@typescript/native-preview'
+ - oxc-resolver
+ - synckit
+ - vue-tsc
+
+ tslib@2.8.1: {}
+
+ turbo@2.9.12:
optionalDependencies:
- postcss: 8.4.49
- typescript: 5.7.2
+ '@turbo/darwin-64': 2.9.12
+ '@turbo/darwin-arm64': 2.9.12
+ '@turbo/linux-64': 2.9.12
+ '@turbo/linux-arm64': 2.9.12
+ '@turbo/windows-64': 2.9.12
+ '@turbo/windows-arm64': 2.9.12
+
+ twoslash-protocol@0.3.3: {}
+
+ twoslash@0.3.3(typescript@5.9.3):
+ dependencies:
+ '@typescript/vfs': 1.6.1(typescript@5.9.3)
+ twoslash-protocol: 0.3.3
+ typescript: 5.9.3
transitivePeerDependencies:
- - jiti
- supports-color
- - tsx
- - yaml
type-check@0.4.0:
dependencies:
@@ -5454,14 +10826,14 @@ snapshots:
typed-array-buffer@1.0.3:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
es-errors: 1.3.0
is-typed-array: 1.1.15
typed-array-byte-length@1.0.3:
dependencies:
call-bind: 1.0.8
- for-each: 0.3.3
+ for-each: 0.3.5
gopd: 1.2.0
has-proto: 1.2.0
is-typed-array: 1.1.15
@@ -5470,55 +10842,195 @@ snapshots:
dependencies:
available-typed-arrays: 1.0.7
call-bind: 1.0.8
- for-each: 0.3.3
+ for-each: 0.3.5
gopd: 1.2.0
has-proto: 1.2.0
is-typed-array: 1.1.15
- reflect.getprototypeof: 1.0.9
+ reflect.getprototypeof: 1.0.10
typed-array-length@1.0.7:
dependencies:
call-bind: 1.0.8
- for-each: 0.3.3
+ for-each: 0.3.5
gopd: 1.2.0
is-typed-array: 1.1.15
- possible-typed-array-names: 1.0.0
- reflect.getprototypeof: 1.0.9
+ possible-typed-array-names: 1.1.0
+ reflect.getprototypeof: 1.0.10
- typescript-eslint@8.18.2(eslint@9.17.0)(typescript@5.7.2):
+ typescript-eslint@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/parser': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2)
- eslint: 9.17.0
- typescript: 5.7.2
+ '@typescript-eslint/eslint-plugin': 8.59.3(@typescript-eslint/parser@8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.59.3(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.59.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.6.1)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- typescript@5.7.2: {}
+ typescript@5.9.3: {}
+
+ ufo@1.6.1: {}
unbox-primitive@1.1.0:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
has-bigints: 1.1.0
has-symbols: 1.1.0
which-boxed-primitive: 1.1.1
+ unconfig-core@7.5.0:
+ dependencies:
+ '@quansync/fs': 1.0.0
+ quansync: 1.0.0
+
+ undici-types@6.21.0: {}
+
+ undici-types@7.21.0:
+ optional: true
+
+ unified@11.0.5:
+ dependencies:
+ '@types/unist': 3.0.3
+ bail: 2.0.2
+ devlop: 1.1.0
+ extend: 3.0.2
+ is-plain-obj: 4.1.0
+ trough: 2.2.0
+ vfile: 6.0.3
+
+ unist-util-find-after@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+
+ unist-util-is@5.2.1:
+ dependencies:
+ '@types/unist': 2.0.11
+
+ unist-util-is@6.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-modify-children@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ array-iterate: 2.0.1
+
+ unist-util-position-from-estree@2.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-remove-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.0.0
+
+ unist-util-remove@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+
+ unist-util-stringify-position@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-visit-children@3.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-visit-parents@4.1.1:
+ dependencies:
+ '@types/unist': 2.0.11
+ unist-util-is: 5.2.1
+
+ unist-util-visit-parents@6.0.1:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+
+ unist-util-visit@3.1.0:
+ dependencies:
+ '@types/unist': 2.0.11
+ unist-util-is: 5.2.1
+ unist-util-visit-parents: 4.1.1
+
+ unist-util-visit@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+
+ unrs-resolver@1.11.1:
+ dependencies:
+ napi-postinstall: 0.3.4
+ optionalDependencies:
+ '@unrs/resolver-binding-android-arm-eabi': 1.11.1
+ '@unrs/resolver-binding-android-arm64': 1.11.1
+ '@unrs/resolver-binding-darwin-arm64': 1.11.1
+ '@unrs/resolver-binding-darwin-x64': 1.11.1
+ '@unrs/resolver-binding-freebsd-x64': 1.11.1
+ '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1
+ '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1
+ '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-arm64-musl': 1.11.1
+ '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1
+ '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-x64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-x64-musl': 1.11.1
+ '@unrs/resolver-binding-wasm32-wasi': 1.11.1
+ '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1
+ '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1
+ '@unrs/resolver-binding-win32-x64-msvc': 1.11.1
+
+ unrun@0.2.21(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(synckit@0.11.12):
+ dependencies:
+ rolldown: 1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ optionalDependencies:
+ synckit: 0.11.12
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
- valibot@1.0.0-beta.9(typescript@5.7.2):
- optionalDependencies:
- typescript: 5.7.2
+ use-sync-external-store@1.5.0(react@19.2.6):
+ dependencies:
+ react: 19.2.6
+
+ uuid@11.1.0: {}
+
+ vfile-location@5.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile: 6.0.3
+
+ vfile-message@4.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-stringify-position: 4.0.0
+
+ vfile@6.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile-message: 4.0.3
- vite-node@2.1.8:
+ vite-node@2.1.9(@types/node@25.7.0)(lightningcss@1.32.0):
dependencies:
cac: 6.7.14
- debug: 4.4.0
- es-module-lexer: 1.6.0
+ debug: 4.4.3
+ es-module-lexer: 1.7.0
pathe: 1.1.2
- vite: 5.4.11
+ vite: 5.4.21(@types/node@25.7.0)(lightningcss@1.32.0)
transitivePeerDependencies:
- '@types/node'
- less
@@ -5530,38 +11042,40 @@ snapshots:
- supports-color
- terser
- vite@5.4.11:
+ vite@5.4.21(@types/node@25.7.0)(lightningcss@1.32.0):
dependencies:
esbuild: 0.21.5
- postcss: 8.4.49
- rollup: 4.29.1
+ postcss: 8.5.14
+ rollup: 4.60.3
optionalDependencies:
+ '@types/node': 25.7.0
fsevents: 2.3.3
-
- vitest@2.1.8(@vitest/ui@2.1.8)(jsdom@25.0.1):
- dependencies:
- '@vitest/expect': 2.1.8
- '@vitest/mocker': 2.1.8(vite@5.4.11)
- '@vitest/pretty-format': 2.1.8
- '@vitest/runner': 2.1.8
- '@vitest/snapshot': 2.1.8
- '@vitest/spy': 2.1.8
- '@vitest/utils': 2.1.8
- chai: 5.1.2
- debug: 4.4.0
- expect-type: 1.1.0
- magic-string: 0.30.17
+ lightningcss: 1.32.0
+
+ vitest@2.1.9(@types/node@25.7.0)(jsdom@25.0.1)(lightningcss@1.32.0):
+ dependencies:
+ '@vitest/expect': 2.1.9
+ '@vitest/mocker': 2.1.9(vite@5.4.21(@types/node@25.7.0)(lightningcss@1.32.0))
+ '@vitest/pretty-format': 2.1.9
+ '@vitest/runner': 2.1.9
+ '@vitest/snapshot': 2.1.9
+ '@vitest/spy': 2.1.9
+ '@vitest/utils': 2.1.9
+ chai: 5.3.3
+ debug: 4.4.3
+ expect-type: 1.3.0
+ magic-string: 0.30.21
pathe: 1.1.2
- std-env: 3.8.0
+ std-env: 3.10.0
tinybench: 2.9.0
- tinyexec: 0.3.1
- tinypool: 1.0.2
+ tinyexec: 0.3.2
+ tinypool: 1.1.1
tinyrainbow: 1.2.0
- vite: 5.4.11
- vite-node: 2.1.8
+ vite: 5.4.21(@types/node@25.7.0)(lightningcss@1.32.0)
+ vite-node: 2.1.9(@types/node@25.7.0)(lightningcss@1.32.0)
why-is-node-running: 2.3.0
optionalDependencies:
- '@vitest/ui': 2.1.8(vitest@2.1.8)
+ '@types/node': 25.7.0
jsdom: 25.0.1
transitivePeerDependencies:
- less
@@ -5574,15 +11088,32 @@ snapshots:
- supports-color
- terser
+ vscode-jsonrpc@8.2.0: {}
+
+ vscode-languageserver-protocol@3.17.5:
+ dependencies:
+ vscode-jsonrpc: 8.2.0
+ vscode-languageserver-types: 3.17.5
+
vscode-languageserver-textdocument@1.0.12: {}
+ vscode-languageserver-types@3.17.5: {}
+
+ vscode-languageserver@9.0.1:
+ dependencies:
+ vscode-languageserver-protocol: 3.17.5
+
vscode-uri@3.0.8: {}
+ vscode-uri@3.1.0: {}
+
w3c-xmlserializer@5.0.0:
dependencies:
xml-name-validator: 5.0.0
- webidl-conversions@4.0.2: {}
+ web-namespaces@2.0.1: {}
+
+ web-vitals@5.1.0: {}
webidl-conversions@7.0.0: {}
@@ -5592,40 +11123,34 @@ snapshots:
whatwg-mimetype@4.0.0: {}
- whatwg-url@14.1.0:
+ whatwg-url@14.2.0:
dependencies:
- tr46: 5.0.0
+ tr46: 5.1.1
webidl-conversions: 7.0.0
- whatwg-url@7.1.0:
- dependencies:
- lodash.sortby: 4.7.0
- tr46: 1.0.1
- webidl-conversions: 4.0.2
-
which-boxed-primitive@1.1.1:
dependencies:
is-bigint: 1.1.0
- is-boolean-object: 1.2.1
+ is-boolean-object: 1.2.2
is-number-object: 1.1.1
is-string: 1.1.1
is-symbol: 1.1.1
which-builtin-type@1.2.1:
dependencies:
- call-bound: 1.0.3
+ call-bound: 1.0.4
function.prototype.name: 1.1.8
has-tostringtag: 1.0.2
- is-async-function: 2.0.0
+ is-async-function: 2.1.1
is-date-object: 1.1.0
is-finalizationregistry: 1.1.1
- is-generator-function: 1.0.10
+ is-generator-function: 1.1.2
is-regex: 1.2.1
- is-weakref: 1.1.0
+ is-weakref: 1.1.1
isarray: 2.0.5
which-boxed-primitive: 1.1.1
which-collection: 1.0.2
- which-typed-array: 1.1.18
+ which-typed-array: 1.1.19
which-collection@1.0.2:
dependencies:
@@ -5634,12 +11159,13 @@ snapshots:
is-weakmap: 2.0.2
is-weakset: 2.0.4
- which-typed-array@1.1.18:
+ which-typed-array@1.1.19:
dependencies:
available-typed-arrays: 1.0.7
call-bind: 1.0.8
- call-bound: 1.0.3
- for-each: 0.3.3
+ call-bound: 1.0.4
+ for-each: 0.3.5
+ get-proto: 1.0.1
gopd: 1.2.0
has-tostringtag: 1.0.2
@@ -5652,27 +11178,17 @@ snapshots:
siginfo: 2.0.0
stackback: 0.0.2
- word-wrap@1.2.5: {}
-
- wrap-ansi@7.0.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
+ wicked-good-xpath@1.3.0: {}
- wrap-ansi@8.1.0:
- dependencies:
- ansi-styles: 6.2.1
- string-width: 5.1.2
- strip-ansi: 7.1.0
+ word-wrap@1.2.5: {}
- wrap-ansi@9.0.0:
+ wrap-ansi@9.0.2:
dependencies:
- ansi-styles: 6.2.1
+ ansi-styles: 6.2.3
string-width: 7.2.0
- strip-ansi: 7.1.0
+ strip-ansi: 7.2.0
- ws@8.18.0: {}
+ ws@8.20.1: {}
xdg-basedir@5.1.0: {}
@@ -5682,6 +11198,20 @@ snapshots:
yaml@2.6.1: {}
+ yaml@2.9.0: {}
+
yocto-queue@0.1.0: {}
- zod@3.24.1: {}
+ zen-observable@0.10.0: {}
+
+ zod@4.2.1: {}
+
+ zod@4.4.3: {}
+
+ zustand@5.0.7(@types/react@19.2.14)(react@19.2.6)(use-sync-external-store@1.5.0(react@19.2.6)):
+ optionalDependencies:
+ '@types/react': 19.2.14
+ react: 19.2.6
+ use-sync-external-store: 1.5.0(react@19.2.6)
+
+ zwitch@2.0.4: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 0000000..77e88a7
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,3 @@
+packages:
+ - "docs/*"
+ - "packages/*"
diff --git a/src/__tests__/schema.test.tsx b/src/__tests__/schema.test.tsx
deleted file mode 100644
index 46d88e2..0000000
--- a/src/__tests__/schema.test.tsx
+++ /dev/null
@@ -1,82 +0,0 @@
-import { render, renderHook } from "@testing-library/react";
-import { vi } from "vitest";
-import { z } from "zod";
-
-import { createTracker } from "..";
-
-import { sleep } from "./utils";
-
-const initFn = vi.fn();
-const clickFn = vi.fn();
-const schemaErrorFn = vi.fn();
-
-interface Context {
- userId: string;
-}
-
-interface Params {}
-
-const schemas = {
- test_button_click: z
- .object({
- text: z.string(),
- button_id: z.number(),
- })
- .strict(),
-};
-
-const [Track, useTracker] = createTracker({
- init: initFn,
- DOMEvents: {
- onClick: (params, context) => {
- clickFn({ ...params, userId: context.userId });
- },
- },
- schema: {
- schemas,
- onSchemaError: schemaErrorFn,
- },
-});
-
-describe("schemas", async () => {
- it("can validate schema based on the schema defined in config", async () => {
- const page = render(
-
-
- click
-
- ,
- );
-
- page.getByText("click").click();
- await sleep(1);
-
- expect(clickFn).toHaveBeenCalledWith({ text: "click", button_id: 2, userId: "id" });
- });
-
- it("can validate schema with 'trackWithSchema'", async () => {
- const { result } = renderHook(() => useTracker(), {
- wrapper: ({ children }) => Track.Provider({ children, initialContext: { userId: "id" } }),
- });
- result.current.trackWithSchema.onClick({ schema: "test_button_click", params: { text: "click", button_id: 2 } });
- await sleep(1);
- expect(clickFn).toHaveBeenCalledWith({ text: "click", button_id: 2, userId: "id" });
- });
-
- it("throws error when schema is not defined in config", async () => {
- const page = render(
-
- {/* No 'button_id', so error expected */}
- {/* @ts-expect-error */}
-
- click
-
- ,
- );
-
- page.getByText("click").click();
- await sleep(1);
-
- expect(schemaErrorFn).toHaveBeenCalled();
- });
-});
diff --git a/src/__tests__/utils.ts b/src/__tests__/utils.ts
deleted file mode 100644
index fbb95b5..0000000
--- a/src/__tests__/utils.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
-export const anyFn = expect.any(Function);
diff --git a/turbo.json b/turbo.json
new file mode 100644
index 0000000..a030df1
--- /dev/null
+++ b/turbo.json
@@ -0,0 +1,23 @@
+{
+ "$schema": "https://turbo.build/schema.json",
+ "ui": "tui",
+ "tasks": {
+ "build": {
+ "dependsOn": ["^build"],
+ "outputs": ["dist/**", ".next/**", "public/_pagefind/**"]
+ },
+ "dev": {
+ "cache": false,
+ "persistent": true
+ },
+ "ci:test": {
+ "outputs": []
+ },
+ "ci:lint": {
+ "outputs": []
+ },
+ "clean": {
+ "cache": false
+ }
+ }
+}