diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 0000000..aef9ad6
--- /dev/null
+++ b/.github/workflows/publish.yml
@@ -0,0 +1,40 @@
+name: Publish Package
+
+on:
+ release:
+ types: [published]
+
+jobs:
+ publish:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ id-token: write // Useful if using provenance
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Install pnpm
+ uses: pnpm/action-setup@v3
+ with:
+ version: 9
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: 18
+ registry-url: 'https://registry.npmjs.org'
+
+ - name: Install Dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: Build Package
+ # Run build for the specific package. This ensures the README move script runs.
+ run: pnpm --filter vite-plugin-react-compiler-report build
+
+ - name: Publish to npm
+ working-directory: packages/vite-plugin-react-compiler-report
+ run: npm publish --access public
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/.npmrc b/.npmrc
index e69de29..0828ab7 100644
--- a/.npmrc
+++ b/.npmrc
@@ -0,0 +1 @@
+v18
\ No newline at end of file
diff --git a/README.md b/README.md
index 240569f..083bd23 100644
--- a/README.md
+++ b/README.md
@@ -1,135 +1,87 @@
-# Turborepo starter
+# vite-plugin-react-compiler-report
-This Turborepo starter is maintained by the Turborepo core team.
+A Vite plugin that generates detailed reports for the React Compiler. It provides terminal logging during development and builds, and optionally generates a visual HTML report.
-## Using this example
+## Features
-Run the following command:
+- **Dev Mode Logging**: Real-time feedback in the terminal about compiled components and failures.
+- **Build Report**: Summary of optimization success rates at the end of the build.
+- **HTML Report**: A premium, dark-mode UI to explore compilation details and errors (optional).
+- **Zero Config**: Works out of the box with sensible defaults.
-```sh
-npx create-turbo@latest
-```
-
-## What's inside?
-
-This Turborepo includes the following packages/apps:
-
-### Apps and Packages
-
-- `docs`: a [Next.js](https://nextjs.org/) app
-- `web`: another [Next.js](https://nextjs.org/) app
-- `@repo/ui`: a stub React component library shared by both `web` and `docs` applications
-- `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
-- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo
-
-Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
-
-### Utilities
-
-This Turborepo has some additional tools already setup for you:
-
-- [TypeScript](https://www.typescriptlang.org/) for static type checking
-- [ESLint](https://eslint.org/) for code linting
-- [Prettier](https://prettier.io) for code formatting
-
-### Build
-
-To build all apps and packages, run the following command:
-
-```
-cd my-turborepo
-
-# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
-turbo build
-
-# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
-npx turbo build
-yarn dlx turbo build
-pnpm exec turbo build
-```
-
-You can build a specific package by using a [filter](https://turborepo.com/docs/crafting-your-repository/running-tasks#using-filters):
-
-```
-# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
-turbo build --filter=docs
-
-# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
-npx turbo build --filter=docs
-yarn exec turbo build --filter=docs
-pnpm exec turbo build --filter=docs
-```
+## Installation
-### Develop
-
-To develop all apps and packages, run the following command:
-
-```
-cd my-turborepo
-
-# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
-turbo dev
-
-# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
-npx turbo dev
-yarn exec turbo dev
-pnpm exec turbo dev
+```bash
+npm install -D vite-plugin-react-compiler-report
+# or
+pnpm add -D vite-plugin-react-compiler-report
```
-You can develop a specific package by using a [filter](https://turborepo.com/docs/crafting-your-repository/running-tasks#using-filters):
-
-```
-# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
-turbo dev --filter=web
-
-# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
-npx turbo dev --filter=web
-yarn exec turbo dev --filter=web
-pnpm exec turbo dev --filter=web
-```
-
-### Remote Caching
-
-> [!TIP]
-> Vercel Remote Cache is free for all plans. Get started today at [vercel.com](https://vercel.com/signup?/signup?utm_source=remote-cache-sdk&utm_campaign=free_remote_cache).
-
-Turborepo can use a technique known as [Remote Caching](https://turborepo.com/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
-
-By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup?utm_source=turborepo-examples), then enter the following commands:
-
-```
-cd my-turborepo
-
-# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
-turbo login
-
-# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
-npx turbo login
-yarn exec turbo login
-pnpm exec turbo login
-```
-
-This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).
-
-Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:
-
+## Usage
+
+1. Configure the React Compiler in your Vite config (using `babel` options).
+2. Add the `reactCompilerLogger` passed to the compiler options.
+3. Add `reactCompilerReport` to your plugins list.
+
+```ts
+// vite.config.ts
+import { defineConfig } from "vite";
+import react from "@vitejs/plugin-react";
+import {
+ reactCompilerLogger,
+ reactCompilerReport
+} from "vite-plugin-react-compiler-report";
+
+const ReactCompilerConfig = {
+ target: "19",
+ logger: {
+ logEvent: reactCompilerLogger,
+ },
+};
+
+export default defineConfig({
+ plugins: [
+ react({
+ babel: {
+ plugins: [["babel-plugin-react-compiler", ReactCompilerConfig]],
+ },
+ }),
+ reactCompilerReport({
+ // Options
+ ui: true, // Generate the HTML report
+ }),
+ ],
+});
```
-# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
-turbo link
-# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
-npx turbo link
-yarn exec turbo link
-pnpm exec turbo link
+## Configuration
+
+You can customize the plugin by passing an options object:
+
+```ts
+reactCompilerReport({
+ // Directory where reports will be generated
+ // Default: ".react-compiler/report"
+ outputDir: ".react-compiler/report",
+
+ // Enable the HTML visual report
+ // Default: false
+ ui: true,
+
+ build: {
+ // Filename for the raw JSON report
+ // Default: "react-compiler-report.json"
+ fileName: "react-compiler-report.json"
+ }
+})
```
-## Useful Links
+## HTML Report
-Learn more about the power of Turborepo:
+If `ui: true` is enabled, a static HTML report will be generated in `outputDir/ui/index.html`.
+The path to this file will be printed in the terminal at the end of the build.
-- [Tasks](https://turborepo.com/docs/crafting-your-repository/running-tasks)
-- [Caching](https://turborepo.com/docs/crafting-your-repository/caching)
-- [Remote Caching](https://turborepo.com/docs/core-concepts/remote-caching)
-- [Filtering](https://turborepo.com/docs/crafting-your-repository/running-tasks#using-filters)
-- [Configuration Options](https://turborepo.com/docs/reference/configuration)
-- [CLI Usage](https://turborepo.com/docs/reference/command-line-reference)
+You can open this file in any browser to inspect:
+- Total optimized components
+- Compilation failures
+- Detailed error messages and code locations
diff --git a/apps/docs/.gitignore b/apps/docs/.gitignore
deleted file mode 100644
index f886745..0000000
--- a/apps/docs/.gitignore
+++ /dev/null
@@ -1,36 +0,0 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-.yarn/install-state.gz
-
-# testing
-/coverage
-
-# next.js
-/.next/
-/out/
-
-# production
-/build
-
-# misc
-.DS_Store
-*.pem
-
-# debug
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-# env files (can opt-in for commiting if needed)
-.env*
-
-# vercel
-.vercel
-
-# typescript
-*.tsbuildinfo
-next-env.d.ts
diff --git a/apps/docs/README.md b/apps/docs/README.md
deleted file mode 100644
index a98bfa8..0000000
--- a/apps/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/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 Inter, a custom Google Font.
-
-## 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/apps/docs/app/favicon.ico b/apps/docs/app/favicon.ico
deleted file mode 100644
index 718d6fe..0000000
Binary files a/apps/docs/app/favicon.ico and /dev/null differ
diff --git a/apps/docs/app/fonts/GeistMonoVF.woff b/apps/docs/app/fonts/GeistMonoVF.woff
deleted file mode 100644
index f2ae185..0000000
Binary files a/apps/docs/app/fonts/GeistMonoVF.woff and /dev/null differ
diff --git a/apps/docs/app/fonts/GeistVF.woff b/apps/docs/app/fonts/GeistVF.woff
deleted file mode 100644
index 1b62daa..0000000
Binary files a/apps/docs/app/fonts/GeistVF.woff and /dev/null differ
diff --git a/apps/docs/app/globals.css b/apps/docs/app/globals.css
deleted file mode 100644
index 6af7ecb..0000000
--- a/apps/docs/app/globals.css
+++ /dev/null
@@ -1,50 +0,0 @@
-:root {
- --background: #ffffff;
- --foreground: #171717;
-}
-
-@media (prefers-color-scheme: dark) {
- :root {
- --background: #0a0a0a;
- --foreground: #ededed;
- }
-}
-
-html,
-body {
- max-width: 100vw;
- overflow-x: hidden;
-}
-
-body {
- color: var(--foreground);
- background: var(--background);
-}
-
-* {
- box-sizing: border-box;
- padding: 0;
- margin: 0;
-}
-
-a {
- color: inherit;
- text-decoration: none;
-}
-
-.imgDark {
- display: none;
-}
-
-@media (prefers-color-scheme: dark) {
- html {
- color-scheme: dark;
- }
-
- .imgLight {
- display: none;
- }
- .imgDark {
- display: unset;
- }
-}
diff --git a/apps/docs/app/layout.tsx b/apps/docs/app/layout.tsx
deleted file mode 100644
index 8469537..0000000
--- a/apps/docs/app/layout.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import type { Metadata } from "next";
-import localFont from "next/font/local";
-import "./globals.css";
-
-const geistSans = localFont({
- src: "./fonts/GeistVF.woff",
- variable: "--font-geist-sans",
-});
-const geistMono = localFont({
- src: "./fonts/GeistMonoVF.woff",
- variable: "--font-geist-mono",
-});
-
-export const metadata: Metadata = {
- title: "Create Next App",
- description: "Generated by create next app",
-};
-
-export default function RootLayout({
- children,
-}: Readonly<{
- children: React.ReactNode;
-}>) {
- return (
-
-
- {children}
-
-
- );
-}
diff --git a/apps/docs/app/page.module.css b/apps/docs/app/page.module.css
deleted file mode 100644
index 6108b60..0000000
--- a/apps/docs/app/page.module.css
+++ /dev/null
@@ -1,186 +0,0 @@
-.page {
- --gray-rgb: 0, 0, 0;
- --gray-alpha-200: rgba(var(--gray-rgb), 0.08);
- --gray-alpha-100: rgba(var(--gray-rgb), 0.05);
-
- --button-primary-hover: #383838;
- --button-secondary-hover: #f2f2f2;
-
- display: grid;
- grid-template-rows: 20px 1fr 20px;
- align-items: center;
- justify-items: center;
- min-height: 100svh;
- padding: 80px;
- gap: 64px;
- font-synthesis: none;
-}
-
-@media (prefers-color-scheme: dark) {
- .page {
- --gray-rgb: 255, 255, 255;
- --gray-alpha-200: rgba(var(--gray-rgb), 0.145);
- --gray-alpha-100: rgba(var(--gray-rgb), 0.06);
-
- --button-primary-hover: #ccc;
- --button-secondary-hover: #1a1a1a;
- }
-}
-
-.main {
- display: flex;
- flex-direction: column;
- gap: 32px;
- grid-row-start: 2;
-}
-
-.main ol {
- font-family: var(--font-geist-mono);
- padding-left: 0;
- margin: 0;
- font-size: 14px;
- line-height: 24px;
- letter-spacing: -0.01em;
- list-style-position: inside;
-}
-
-.main li:not(:last-of-type) {
- margin-bottom: 8px;
-}
-
-.main code {
- font-family: inherit;
- background: var(--gray-alpha-100);
- padding: 2px 4px;
- border-radius: 4px;
- font-weight: 600;
-}
-
-.ctas {
- display: flex;
- gap: 16px;
-}
-
-.ctas a {
- appearance: none;
- border-radius: 128px;
- height: 48px;
- padding: 0 20px;
- font-family: var(--font-geist-sans);
- border: 1px solid transparent;
- transition: background 0.2s, color 0.2s, border-color 0.2s;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 16px;
- line-height: 20px;
- font-weight: 500;
-}
-
-a.primary {
- background: var(--foreground);
- color: var(--background);
- gap: 8px;
-}
-
-a.secondary {
- border-color: var(--gray-alpha-200);
- min-width: 180px;
-}
-
-button.secondary {
- appearance: none;
- border-radius: 128px;
- height: 48px;
- padding: 0 20px;
- font-family: var(--font-geist-sans);
- border: 1px solid transparent;
- transition: background 0.2s, color 0.2s, border-color 0.2s;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 16px;
- line-height: 20px;
- font-weight: 500;
- background: transparent;
- border-color: var(--gray-alpha-200);
- min-width: 180px;
-}
-
-.footer {
- font-family: var(--font-geist-sans);
- grid-row-start: 3;
- display: flex;
- gap: 24px;
-}
-
-.footer a {
- display: flex;
- align-items: center;
- gap: 8px;
-}
-
-.footer img {
- flex-shrink: 0;
-}
-
-/* Enable hover only on non-touch devices */
-@media (hover: hover) and (pointer: fine) {
- a.primary:hover {
- background: var(--button-primary-hover);
- border-color: transparent;
- }
-
- a.secondary:hover {
- background: var(--button-secondary-hover);
- border-color: transparent;
- }
-
- .footer a:hover {
- text-decoration: underline;
- text-underline-offset: 4px;
- }
-}
-
-@media (max-width: 600px) {
- .page {
- padding: 32px;
- padding-bottom: 80px;
- }
-
- .main {
- align-items: center;
- }
-
- .main ol {
- text-align: center;
- }
-
- .ctas {
- flex-direction: column;
- }
-
- .ctas a {
- font-size: 14px;
- height: 40px;
- padding: 0 16px;
- }
-
- a.secondary {
- min-width: auto;
- }
-
- .footer {
- flex-wrap: wrap;
- align-items: center;
- justify-content: center;
- }
-}
-
-@media (prefers-color-scheme: dark) {
- .logo {
- filter: invert();
- }
-}
diff --git a/apps/docs/app/page.tsx b/apps/docs/app/page.tsx
deleted file mode 100644
index e726335..0000000
--- a/apps/docs/app/page.tsx
+++ /dev/null
@@ -1,102 +0,0 @@
-import Image, { type ImageProps } from "next/image";
-import { Button } from "@repo/ui/button";
-import styles from "./page.module.css";
-
-type Props = Omit & {
- srcLight: string;
- srcDark: string;
-};
-
-const ThemeImage = (props: Props) => {
- const { srcLight, srcDark, ...rest } = props;
-
- return (
- <>
-
-
- >
- );
-};
-
-export default function Home() {
- return (
-
-
-
-
-
- Get started by editing apps/docs/app/page.tsx
-
- Save and see your changes instantly.
-
-
-
-
- Open alert
-
-
-
-
- );
-}
diff --git a/apps/docs/eslint.config.js b/apps/docs/eslint.config.js
deleted file mode 100644
index 47b0670..0000000
--- a/apps/docs/eslint.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import { nextJsConfig } from "@repo/eslint-config/next-js";
-
-/** @type {import("eslint").Linter.Config[]} */
-export default nextJsConfig;
diff --git a/apps/docs/next.config.js b/apps/docs/next.config.js
deleted file mode 100644
index 4678774..0000000
--- a/apps/docs/next.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/** @type {import('next').NextConfig} */
-const nextConfig = {};
-
-export default nextConfig;
diff --git a/apps/docs/package.json b/apps/docs/package.json
deleted file mode 100644
index be99ad5..0000000
--- a/apps/docs/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "docs",
- "version": "0.1.0",
- "type": "module",
- "private": true,
- "scripts": {
- "dev": "next dev --port 3001",
- "build": "next build",
- "start": "next start",
- "lint": "eslint --max-warnings 0",
- "check-types": "next typegen && tsc --noEmit"
- },
- "dependencies": {
- "@repo/ui": "workspace:*",
- "next": "16.0.10",
- "react": "^19.2.0",
- "react-dom": "^19.2.0"
- },
- "devDependencies": {
- "@repo/eslint-config": "workspace:*",
- "@repo/typescript-config": "workspace:*",
- "@types/node": "^22.15.3",
- "@types/react": "19.2.2",
- "@types/react-dom": "19.2.2",
- "eslint": "^9.39.1",
- "typescript": "5.9.2"
- }
-}
diff --git a/apps/docs/public/file-text.svg b/apps/docs/public/file-text.svg
deleted file mode 100644
index 9cfb3c9..0000000
--- a/apps/docs/public/file-text.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/apps/docs/public/globe.svg b/apps/docs/public/globe.svg
deleted file mode 100644
index 4230a3d..0000000
--- a/apps/docs/public/globe.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/docs/public/next.svg b/apps/docs/public/next.svg
deleted file mode 100644
index 5174b28..0000000
--- a/apps/docs/public/next.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/docs/public/turborepo-dark.svg b/apps/docs/public/turborepo-dark.svg
deleted file mode 100644
index dae38fe..0000000
--- a/apps/docs/public/turborepo-dark.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/docs/public/turborepo-light.svg b/apps/docs/public/turborepo-light.svg
deleted file mode 100644
index ddea915..0000000
--- a/apps/docs/public/turborepo-light.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/docs/public/vercel.svg b/apps/docs/public/vercel.svg
deleted file mode 100644
index 0164ddc..0000000
--- a/apps/docs/public/vercel.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/docs/public/window.svg b/apps/docs/public/window.svg
deleted file mode 100644
index bbc7800..0000000
--- a/apps/docs/public/window.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json
deleted file mode 100644
index 7aef056..0000000
--- a/apps/docs/tsconfig.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "extends": "@repo/typescript-config/nextjs.json",
- "compilerOptions": {
- "plugins": [
- {
- "name": "next"
- }
- ]
- },
- "include": [
- "**/*.ts",
- "**/*.tsx",
- "next-env.d.ts",
- "next.config.js",
- ".next/types/**/*.ts"
- ],
- "exclude": [
- "node_modules"
- ]
-}
diff --git a/apps/playground/.babel.config.js b/apps/playground/.babel.config.js
new file mode 100644
index 0000000..6734991
--- /dev/null
+++ b/apps/playground/.babel.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ plugins: ["babel-plugin-react-compiler"],
+};
diff --git a/apps/playground/.gitignore b/apps/playground/.gitignore
new file mode 100644
index 0000000..a547bf3
--- /dev/null
+++ b/apps/playground/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/apps/playground/.react-compiler/report/react-compiler-report.json b/apps/playground/.react-compiler/report/react-compiler-report.json
new file mode 100644
index 0000000..85a8459
--- /dev/null
+++ b/apps/playground/.react-compiler/report/react-compiler-report.json
@@ -0,0 +1 @@
+{"generatedAt":"2025-12-22T10:19:21.761Z","totals":{"failed":1,"ok":1},"failed":[{"filename":"./src/FailingComponent.tsx","category":"Hooks","reason":"Hooks must always be called in a consistent order, and may not be called conditionally. See the Rules of Hooks (https://react.dev/warnings/invalid-hook-call-warning)","description":null,"loc":"L7:16","suggestions":[]}],"success":[{"filename":"./src/App.tsx"}]}
\ No newline at end of file
diff --git a/apps/playground/.react-compiler/report/ui/assets/index-CQVRTKT7.js b/apps/playground/.react-compiler/report/ui/assets/index-CQVRTKT7.js
new file mode 100644
index 0000000..94e328f
--- /dev/null
+++ b/apps/playground/.react-compiler/report/ui/assets/index-CQVRTKT7.js
@@ -0,0 +1,9 @@
+(function(){const sl=document.createElement("link").relList;if(sl&&sl.supports&&sl.supports("modulepreload"))return;for(const N of document.querySelectorAll('link[rel="modulepreload"]'))o(N);new MutationObserver(N=>{for(const J of N)if(J.type==="childList")for(const ml of J.addedNodes)ml.tagName==="LINK"&&ml.rel==="modulepreload"&&o(ml)}).observe(document,{childList:!0,subtree:!0});function $(N){const J={};return N.integrity&&(J.integrity=N.integrity),N.referrerPolicy&&(J.referrerPolicy=N.referrerPolicy),N.crossOrigin==="use-credentials"?J.credentials="include":N.crossOrigin==="anonymous"?J.credentials="omit":J.credentials="same-origin",J}function o(N){if(N.ep)return;N.ep=!0;const J=$(N);fetch(N.href,J)}})();var ni={exports:{}},ze={};var hs;function Wd(){if(hs)return ze;hs=1;var O=Symbol.for("react.transitional.element"),sl=Symbol.for("react.fragment");function $(o,N,J){var ml=null;if(J!==void 0&&(ml=""+J),N.key!==void 0&&(ml=""+N.key),"key"in N){J={};for(var Ml in N)Ml!=="key"&&(J[Ml]=N[Ml])}else J=N;return N=J.ref,{$$typeof:O,type:o,key:ml,ref:N!==void 0?N:null,props:J}}return ze.Fragment=sl,ze.jsx=$,ze.jsxs=$,ze}var os;function $d(){return os||(os=1,ni.exports=Wd()),ni.exports}var dl=$d(),fi={exports:{}},Ee={},ci={exports:{}},ii={};var Ss;function Fd(){return Ss||(Ss=1,(function(O){function sl(b,A){var B=b.length;b.push(A);l:for(;0>>1,nl=b[tl];if(0>>1;tlN(_,B))DN(Y,_)?(b[tl]=Y,b[D]=B,tl=D):(b[tl]=_,b[T]=B,tl=T);else if(DN(Y,B))b[tl]=Y,b[D]=B,tl=D;else break l}}return A}function N(b,A){var B=b.sortIndex-A.sortIndex;return B!==0?B:b.id-A.id}if(O.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var J=performance;O.unstable_now=function(){return J.now()}}else{var ml=Date,Ml=ml.now();O.unstable_now=function(){return ml.now()-Ml}}var H=[],r=[],k=1,q=null,yl=3,Wl=!1,jl=!1,Bl=!1,pt=!1,$l=typeof setTimeout=="function"?setTimeout:null,$t=typeof clearTimeout=="function"?clearTimeout:null,Rl=typeof setImmediate<"u"?setImmediate:null;function ft(b){for(var A=$(r);A!==null;){if(A.callback===null)o(r);else if(A.startTime<=b)o(r),A.sortIndex=A.expirationTime,sl(H,A);else break;A=$(r)}}function rt(b){if(Bl=!1,ft(b),!jl)if($(H)!==null)jl=!0,Gl||(Gl=!0,Ql());else{var A=$(r);A!==null&>(rt,A.startTime-b)}}var Gl=!1,L=-1,Xl=5,At=-1;function Zu(){return pt?!0:!(O.unstable_now()-Atb&&Zu());){var tl=q.callback;if(typeof tl=="function"){q.callback=null,yl=q.priorityLevel;var nl=tl(q.expirationTime<=b);if(b=O.unstable_now(),typeof nl=="function"){q.callback=nl,ft(b),A=!0;break t}q===$(H)&&o(H),ft(b)}else o(H);q=$(H)}if(q!==null)A=!0;else{var v=$(r);v!==null&>(rt,v.startTime-b),A=!1}}break l}finally{q=null,yl=B,Wl=!1}A=void 0}}finally{A?Ql():Gl=!1}}}var Ql;if(typeof Rl=="function")Ql=function(){Rl(_t)};else if(typeof MessageChannel<"u"){var Tu=new MessageChannel,Ht=Tu.port2;Tu.port1.onmessage=_t,Ql=function(){Ht.postMessage(null)}}else Ql=function(){$l(_t,0)};function gt(b,A){L=$l(function(){b(O.unstable_now())},A)}O.unstable_IdlePriority=5,O.unstable_ImmediatePriority=1,O.unstable_LowPriority=4,O.unstable_NormalPriority=3,O.unstable_Profiling=null,O.unstable_UserBlockingPriority=2,O.unstable_cancelCallback=function(b){b.callback=null},O.unstable_forceFrameRate=function(b){0>b||125tl?(b.sortIndex=B,sl(r,b),$(H)===null&&b===$(r)&&(Bl?($t(L),L=-1):Bl=!0,gt(rt,B-tl))):(b.sortIndex=nl,sl(H,b),jl||Wl||(jl=!0,Gl||(Gl=!0,Ql()))),b},O.unstable_shouldYield=Zu,O.unstable_wrapCallback=function(b){var A=yl;return function(){var B=yl;yl=A;try{return b.apply(this,arguments)}finally{yl=B}}}})(ii)),ii}var gs;function kd(){return gs||(gs=1,ci.exports=Fd()),ci.exports}var yi={exports:{}},C={};var bs;function Id(){if(bs)return C;bs=1;var O=Symbol.for("react.transitional.element"),sl=Symbol.for("react.portal"),$=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),N=Symbol.for("react.profiler"),J=Symbol.for("react.consumer"),ml=Symbol.for("react.context"),Ml=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),r=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),q=Symbol.for("react.activity"),yl=Symbol.iterator;function Wl(v){return v===null||typeof v!="object"?null:(v=yl&&v[yl]||v["@@iterator"],typeof v=="function"?v:null)}var jl={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bl=Object.assign,pt={};function $l(v,T,_){this.props=v,this.context=T,this.refs=pt,this.updater=_||jl}$l.prototype.isReactComponent={},$l.prototype.setState=function(v,T){if(typeof v!="object"&&typeof v!="function"&&v!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,v,T,"setState")},$l.prototype.forceUpdate=function(v){this.updater.enqueueForceUpdate(this,v,"forceUpdate")};function $t(){}$t.prototype=$l.prototype;function Rl(v,T,_){this.props=v,this.context=T,this.refs=pt,this.updater=_||jl}var ft=Rl.prototype=new $t;ft.constructor=Rl,Bl(ft,$l.prototype),ft.isPureReactComponent=!0;var rt=Array.isArray;function Gl(){}var L={H:null,A:null,T:null,S:null},Xl=Object.prototype.hasOwnProperty;function At(v,T,_){var D=_.ref;return{$$typeof:O,type:v,key:T,ref:D!==void 0?D:null,props:_}}function Zu(v,T){return At(v.type,T,v.props)}function _t(v){return typeof v=="object"&&v!==null&&v.$$typeof===O}function Ql(v){var T={"=":"=0",":":"=2"};return"$"+v.replace(/[=:]/g,function(_){return T[_]})}var Tu=/\/+/g;function Ht(v,T){return typeof v=="object"&&v!==null&&v.key!=null?Ql(""+v.key):T.toString(36)}function gt(v){switch(v.status){case"fulfilled":return v.value;case"rejected":throw v.reason;default:switch(typeof v.status=="string"?v.then(Gl,Gl):(v.status="pending",v.then(function(T){v.status==="pending"&&(v.status="fulfilled",v.value=T)},function(T){v.status==="pending"&&(v.status="rejected",v.reason=T)})),v.status){case"fulfilled":return v.value;case"rejected":throw v.reason}}throw v}function b(v,T,_,D,Y){var X=typeof v;(X==="undefined"||X==="boolean")&&(v=null);var I=!1;if(v===null)I=!0;else switch(X){case"bigint":case"string":case"number":I=!0;break;case"object":switch(v.$$typeof){case O:case sl:I=!0;break;case k:return I=v._init,b(I(v._payload),T,_,D,Y)}}if(I)return Y=Y(v),I=D===""?"."+Ht(v,0):D,rt(Y)?(_="",I!=null&&(_=I.replace(Tu,"$&/")+"/"),b(Y,T,_,"",function(Ma){return Ma})):Y!=null&&(_t(Y)&&(Y=Zu(Y,_+(Y.key==null||v&&v.key===Y.key?"":(""+Y.key).replace(Tu,"$&/")+"/")+I)),T.push(Y)),1;I=0;var Cl=D===""?".":D+":";if(rt(v))for(var Sl=0;Sl"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(O)}catch(sl){console.error(sl)}}return O(),vi.exports=Pd(),vi.exports}var rs;function t1(){if(rs)return Ee;rs=1;var O=kd(),sl=mi(),$=l1();function o(l){var t="https://react.dev/errors/"+l;if(1nl||(l.current=tl[nl],tl[nl]=null,nl--)}function _(l,t){nl++,tl[nl]=l.current,l.current=t}var D=v(null),Y=v(null),X=v(null),I=v(null);function Cl(l,t){switch(_(X,t),_(Y,l),_(D,null),t.nodeType){case 9:case 11:l=(l=t.documentElement)&&(l=l.namespaceURI)?jv(l):0;break;default:if(l=t.tagName,t=t.namespaceURI)t=jv(t),l=Gv(t,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}T(D),_(D,l)}function Sl(){T(D),T(Y),T(X)}function Ma(l){l.memoizedState!==null&&_(I,l);var t=D.current,u=Gv(t,l.type);t!==u&&(_(Y,l),_(D,u))}function Te(l){Y.current===l&&(T(D),T(Y)),I.current===l&&(T(I),oe._currentValue=B)}var Qn,di;function ru(l){if(Qn===void 0)try{throw Error()}catch(u){var t=u.stack.trim().match(/\n( *(at )?)/);Qn=t&&t[1]||"",di=-1)":-1e||i[a]!==d[e]){var g=`
+`+i[a].replace(" at new "," at ");return l.displayName&&g.includes("")&&(g=g.replace("",l.displayName)),g}while(1<=a&&0<=e);break}}}finally{Zn=!1,Error.prepareStackTrace=u}return(u=l?l.displayName||l.name:"")?ru(u):""}function Os(l,t){switch(l.tag){case 26:case 27:case 5:return ru(l.type);case 16:return ru("Lazy");case 13:return l.child!==t&&t!==null?ru("Suspense Fallback"):ru("Suspense");case 19:return ru("SuspenseList");case 0:case 15:return xn(l.type,!1);case 11:return xn(l.type.render,!1);case 1:return xn(l.type,!0);case 31:return ru("Activity");default:return""}}function hi(l){try{var t="",u=null;do t+=Os(l,u),u=l,l=l.return;while(l);return t}catch(a){return`
+Error generating stack: `+a.message+`
+`+a.stack}}var Vn=Object.prototype.hasOwnProperty,Ln=O.unstable_scheduleCallback,Kn=O.unstable_cancelCallback,Ms=O.unstable_shouldYield,Ds=O.unstable_requestPaint,Fl=O.unstable_now,Us=O.unstable_getCurrentPriorityLevel,oi=O.unstable_ImmediatePriority,Si=O.unstable_UserBlockingPriority,re=O.unstable_NormalPriority,ps=O.unstable_LowPriority,gi=O.unstable_IdlePriority,Hs=O.log,Ns=O.unstable_setDisableYieldValue,Da=null,kl=null;function Ft(l){if(typeof Hs=="function"&&Ns(l),kl&&typeof kl.setStrictMode=="function")try{kl.setStrictMode(Da,l)}catch{}}var Il=Math.clz32?Math.clz32:Bs,Rs=Math.log,qs=Math.LN2;function Bs(l){return l>>>=0,l===0?32:31-(Rs(l)/qs|0)|0}var Ae=256,_e=262144,Oe=4194304;function Au(l){var t=l&42;if(t!==0)return t;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function Me(l,t,u){var a=l.pendingLanes;if(a===0)return 0;var e=0,n=l.suspendedLanes,f=l.pingedLanes;l=l.warmLanes;var c=a&134217727;return c!==0?(a=c&~n,a!==0?e=Au(a):(f&=c,f!==0?e=Au(f):u||(u=c&~l,u!==0&&(e=Au(u))))):(c=a&~n,c!==0?e=Au(c):f!==0?e=Au(f):u||(u=a&~l,u!==0&&(e=Au(u)))),e===0?0:t!==0&&t!==e&&(t&n)===0&&(n=e&-e,u=t&-t,n>=u||n===32&&(u&4194048)!==0)?t:e}function Ua(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function Cs(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function bi(){var l=Oe;return Oe<<=1,(Oe&62914560)===0&&(Oe=4194304),l}function Jn(l){for(var t=[],u=0;31>u;u++)t.push(l);return t}function pa(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function Ys(l,t,u,a,e,n){var f=l.pendingLanes;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=u,l.entangledLanes&=u,l.errorRecoveryDisabledLanes&=u,l.shellSuspendCounter=0;var c=l.entanglements,i=l.expirationTimes,d=l.hiddenUpdates;for(u=f&~u;0"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var xs=/[\n"\\]/g;function it(l){return l.replace(xs,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function In(l,t,u,a,e,n,f,c){l.name="",f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?l.type=f:l.removeAttribute("type"),t!=null?f==="number"?(t===0&&l.value===""||l.value!=t)&&(l.value=""+ct(t)):l.value!==""+ct(t)&&(l.value=""+ct(t)):f!=="submit"&&f!=="reset"||l.removeAttribute("value"),t!=null?Pn(l,f,ct(t)):u!=null?Pn(l,f,ct(u)):a!=null&&l.removeAttribute("value"),e==null&&n!=null&&(l.defaultChecked=!!n),e!=null&&(l.checked=e&&typeof e!="function"&&typeof e!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?l.name=""+ct(c):l.removeAttribute("name")}function Ni(l,t,u,a,e,n,f,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(l.type=n),t!=null||u!=null){if(!(n!=="submit"&&n!=="reset"||t!=null)){kn(l);return}u=u!=null?""+ct(u):"",t=t!=null?""+ct(t):u,c||t===l.value||(l.value=t),l.defaultValue=t}a=a??e,a=typeof a!="function"&&typeof a!="symbol"&&!!a,l.checked=c?l.checked:!!a,l.defaultChecked=!!a,f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(l.name=f),kn(l)}function Pn(l,t,u){t==="number"&&pe(l.ownerDocument)===l||l.defaultValue===""+u||(l.defaultValue=""+u)}function wu(l,t,u,a){if(l=l.options,t){t={};for(var e=0;e"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ef=!1;if(qt)try{var qa={};Object.defineProperty(qa,"passive",{get:function(){ef=!0}}),window.addEventListener("test",qa,qa),window.removeEventListener("test",qa,qa)}catch{ef=!1}var It=null,nf=null,Ne=null;function Gi(){if(Ne)return Ne;var l,t=nf,u=t.length,a,e="value"in It?It.value:It.textContent,n=e.length;for(l=0;l=Ya),Li=" ",Ki=!1;function Ji(l,t){switch(l){case"keyup":return Sm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function wi(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var ku=!1;function bm(l,t){switch(l){case"compositionend":return wi(t);case"keypress":return t.which!==32?null:(Ki=!0,Li);case"textInput":return l=t.data,l===Li&&Ki?null:l;default:return null}}function zm(l,t){if(ku)return l==="compositionend"||!sf&&Ji(l,t)?(l=Gi(),Ne=nf=It=null,ku=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:u,offset:t-l};l=a}l:{for(;u;){if(u.nextSibling){u=u.nextSibling;break l}u=u.parentNode}u=void 0}u=t0(u)}}function a0(l,t){return l&&t?l===t?!0:l&&l.nodeType===3?!1:t&&t.nodeType===3?a0(l,t.parentNode):"contains"in l?l.contains(t):l.compareDocumentPosition?!!(l.compareDocumentPosition(t)&16):!1:!1}function e0(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var t=pe(l.document);t instanceof l.HTMLIFrameElement;){try{var u=typeof t.contentWindow.location.href=="string"}catch{u=!1}if(u)l=t.contentWindow;else break;t=pe(l.document)}return t}function hf(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t&&(t==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||t==="textarea"||l.contentEditable==="true")}var Dm=qt&&"documentMode"in document&&11>=document.documentMode,Iu=null,of=null,Qa=null,Sf=!1;function n0(l,t,u){var a=u.window===u?u.document:u.nodeType===9?u:u.ownerDocument;Sf||Iu==null||Iu!==pe(a)||(a=Iu,"selectionStart"in a&&hf(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qa&&Xa(Qa,a)||(Qa=a,a=On(of,"onSelect"),0>=f,e-=f,Ot=1<<32-Il(t)+e|u<G?(V=U,U=null):V=U.sibling;var W=h(s,U,m[G],z);if(W===null){U===null&&(U=V);break}l&&U&&W.alternate===null&&t(s,U),y=n(W,y,G),w===null?p=W:w.sibling=W,w=W,U=V}if(G===m.length)return u(s,U),K&&Ct(s,G),p;if(U===null){for(;GG?(V=U,U=null):V=U.sibling;var Eu=h(s,U,W.value,z);if(Eu===null){U===null&&(U=V);break}l&&U&&Eu.alternate===null&&t(s,U),y=n(Eu,y,G),w===null?p=Eu:w.sibling=Eu,w=Eu,U=V}if(W.done)return u(s,U),K&&Ct(s,G),p;if(U===null){for(;!W.done;G++,W=m.next())W=E(s,W.value,z),W!==null&&(y=n(W,y,G),w===null?p=W:w.sibling=W,w=W);return K&&Ct(s,G),p}for(U=a(U);!W.done;G++,W=m.next())W=S(U,s,G,W.value,z),W!==null&&(l&&W.alternate!==null&&U.delete(W.key===null?G:W.key),y=n(W,y,G),w===null?p=W:w.sibling=W,w=W);return l&&U.forEach(function(wd){return t(s,wd)}),K&&Ct(s,G),p}function el(s,y,m,z){if(typeof m=="object"&&m!==null&&m.type===Bl&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Wl:l:{for(var p=m.key;y!==null;){if(y.key===p){if(p=m.type,p===Bl){if(y.tag===7){u(s,y.sibling),z=e(y,m.props.children),z.return=s,s=z;break l}}else if(y.elementType===p||typeof p=="object"&&p!==null&&p.$$typeof===Xl&&Bu(p)===y.type){u(s,y.sibling),z=e(y,m.props),Ja(z,m),z.return=s,s=z;break l}u(s,y);break}else t(s,y);y=y.sibling}m.type===Bl?(z=pu(m.props.children,s.mode,z,m.key),z.return=s,s=z):(z=Ze(m.type,m.key,m.props,null,s.mode,z),Ja(z,m),z.return=s,s=z)}return f(s);case jl:l:{for(p=m.key;y!==null;){if(y.key===p)if(y.tag===4&&y.stateNode.containerInfo===m.containerInfo&&y.stateNode.implementation===m.implementation){u(s,y.sibling),z=e(y,m.children||[]),z.return=s,s=z;break l}else{u(s,y);break}else t(s,y);y=y.sibling}z=Af(m,s.mode,z),z.return=s,s=z}return f(s);case Xl:return m=Bu(m),el(s,y,m,z)}if(gt(m))return M(s,y,m,z);if(Ql(m)){if(p=Ql(m),typeof p!="function")throw Error(o(150));return m=p.call(m),R(s,y,m,z)}if(typeof m.then=="function")return el(s,y,We(m),z);if(m.$$typeof===Rl)return el(s,y,Le(s,m),z);$e(s,m)}return typeof m=="string"&&m!==""||typeof m=="number"||typeof m=="bigint"?(m=""+m,y!==null&&y.tag===6?(u(s,y.sibling),z=e(y,m),z.return=s,s=z):(u(s,y),z=rf(m,s.mode,z),z.return=s,s=z),f(s)):u(s,y)}return function(s,y,m,z){try{Ka=0;var p=el(s,y,m,z);return ya=null,p}catch(U){if(U===ia||U===Je)throw U;var w=lt(29,U,null,s.mode);return w.lanes=z,w.return=s,w}}}var Yu=U0(!0),p0=U0(!1),au=!1;function Cf(l){l.updateQueue={baseState:l.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Yf(l,t){l=l.updateQueue,t.updateQueue===l&&(t.updateQueue={baseState:l.baseState,firstBaseUpdate:l.firstBaseUpdate,lastBaseUpdate:l.lastBaseUpdate,shared:l.shared,callbacks:null})}function eu(l){return{lane:l,tag:0,payload:null,callback:null,next:null}}function nu(l,t,u){var a=l.updateQueue;if(a===null)return null;if(a=a.shared,(F&2)!==0){var e=a.pending;return e===null?t.next=t:(t.next=e.next,e.next=t),a.pending=t,t=Qe(l),m0(l,null,u),t}return Xe(l,a,t,u),Qe(l)}function wa(l,t,u){if(t=t.updateQueue,t!==null&&(t=t.shared,(u&4194048)!==0)){var a=t.lanes;a&=l.pendingLanes,u|=a,t.lanes=u,Ei(l,u)}}function jf(l,t){var u=l.updateQueue,a=l.alternate;if(a!==null&&(a=a.updateQueue,u===a)){var e=null,n=null;if(u=u.firstBaseUpdate,u!==null){do{var f={lane:u.lane,tag:u.tag,payload:u.payload,callback:null,next:null};n===null?e=n=f:n=n.next=f,u=u.next}while(u!==null);n===null?e=n=t:n=n.next=t}else e=n=t;u={baseState:a.baseState,firstBaseUpdate:e,lastBaseUpdate:n,shared:a.shared,callbacks:a.callbacks},l.updateQueue=u;return}l=u.lastBaseUpdate,l===null?u.firstBaseUpdate=t:l.next=t,u.lastBaseUpdate=t}var Gf=!1;function Wa(){if(Gf){var l=ca;if(l!==null)throw l}}function $a(l,t,u,a){Gf=!1;var e=l.updateQueue;au=!1;var n=e.firstBaseUpdate,f=e.lastBaseUpdate,c=e.shared.pending;if(c!==null){e.shared.pending=null;var i=c,d=i.next;i.next=null,f===null?n=d:f.next=d,f=i;var g=l.alternate;g!==null&&(g=g.updateQueue,c=g.lastBaseUpdate,c!==f&&(c===null?g.firstBaseUpdate=d:c.next=d,g.lastBaseUpdate=i))}if(n!==null){var E=e.baseState;f=0,g=d=i=null,c=n;do{var h=c.lane&-536870913,S=h!==c.lane;if(S?(x&h)===h:(a&h)===h){h!==0&&h===fa&&(Gf=!0),g!==null&&(g=g.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});l:{var M=l,R=c;h=t;var el=u;switch(R.tag){case 1:if(M=R.payload,typeof M=="function"){E=M.call(el,E,h);break l}E=M;break l;case 3:M.flags=M.flags&-65537|128;case 0:if(M=R.payload,h=typeof M=="function"?M.call(el,E,h):M,h==null)break l;E=q({},E,h);break l;case 2:au=!0}}h=c.callback,h!==null&&(l.flags|=64,S&&(l.flags|=8192),S=e.callbacks,S===null?e.callbacks=[h]:S.push(h))}else S={lane:h,tag:c.tag,payload:c.payload,callback:c.callback,next:null},g===null?(d=g=S,i=E):g=g.next=S,f|=h;if(c=c.next,c===null){if(c=e.shared.pending,c===null)break;S=c,c=S.next,S.next=null,e.lastBaseUpdate=S,e.shared.pending=null}}while(!0);g===null&&(i=E),e.baseState=i,e.firstBaseUpdate=d,e.lastBaseUpdate=g,n===null&&(e.shared.lanes=0),vu|=f,l.lanes=f,l.memoizedState=E}}function H0(l,t){if(typeof l!="function")throw Error(o(191,l));l.call(t)}function N0(l,t){var u=l.callbacks;if(u!==null)for(l.callbacks=null,l=0;ln?n:8;var f=b.T,c={};b.T=c,ac(l,!1,t,u);try{var i=e(),d=b.S;if(d!==null&&d(c,i),i!==null&&typeof i=="object"&&typeof i.then=="function"){var g=Ym(i,a);Ia(l,t,g,nt(l))}else Ia(l,t,a,nt(l))}catch(E){Ia(l,t,{then:function(){},status:"rejected",reason:E},nt())}finally{A.p=n,f!==null&&c.types!==null&&(f.types=c.types),b.T=f}}function xm(){}function tc(l,t,u,a){if(l.tag!==5)throw Error(o(476));var e=yy(l).queue;iy(l,e,t,B,u===null?xm:function(){return vy(l),u(a)})}function yy(l){var t=l.memoizedState;if(t!==null)return t;t={memoizedState:B,baseState:B,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xt,lastRenderedState:B},next:null};var u={};return t.next={memoizedState:u,baseState:u,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xt,lastRenderedState:u},next:null},l.memoizedState=t,l=l.alternate,l!==null&&(l.memoizedState=t),t}function vy(l){var t=yy(l);t.next===null&&(t=l.alternate.memoizedState),Ia(l,t.next.queue,{},nt())}function uc(){return pl(oe)}function sy(){return bl().memoizedState}function my(){return bl().memoizedState}function Vm(l){for(var t=l.return;t!==null;){switch(t.tag){case 24:case 3:var u=nt();l=eu(u);var a=nu(t,l,u);a!==null&&(wl(a,t,u),wa(a,t,u)),t={cache:Nf()},l.payload=t;return}t=t.return}}function Lm(l,t,u){var a=nt();u={lane:a,revertLane:0,gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},nn(l)?hy(t,u):(u=Ef(l,t,u,a),u!==null&&(wl(u,l,a),oy(u,t,a)))}function dy(l,t,u){var a=nt();Ia(l,t,u,a)}function Ia(l,t,u,a){var e={lane:a,revertLane:0,gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null};if(nn(l))hy(t,e);else{var n=l.alternate;if(l.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var f=t.lastRenderedState,c=n(f,u);if(e.hasEagerState=!0,e.eagerState=c,Pl(c,f))return Xe(l,t,e,0),fl===null&&Ge(),!1}catch{}if(u=Ef(l,t,e,a),u!==null)return wl(u,l,a),oy(u,t,a),!0}return!1}function ac(l,t,u,a){if(a={lane:2,revertLane:Cc(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},nn(l)){if(t)throw Error(o(479))}else t=Ef(l,u,a,2),t!==null&&wl(t,l,2)}function nn(l){var t=l.alternate;return l===j||t!==null&&t===j}function hy(l,t){sa=Ie=!0;var u=l.pending;u===null?t.next=t:(t.next=u.next,u.next=t),l.pending=t}function oy(l,t,u){if((u&4194048)!==0){var a=t.lanes;a&=l.pendingLanes,u|=a,t.lanes=u,Ei(l,u)}}var Pa={readContext:pl,use:tn,useCallback:hl,useContext:hl,useEffect:hl,useImperativeHandle:hl,useLayoutEffect:hl,useInsertionEffect:hl,useMemo:hl,useReducer:hl,useRef:hl,useState:hl,useDebugValue:hl,useDeferredValue:hl,useTransition:hl,useSyncExternalStore:hl,useId:hl,useHostTransitionStatus:hl,useFormState:hl,useActionState:hl,useOptimistic:hl,useMemoCache:hl,useCacheRefresh:hl};Pa.useEffectEvent=hl;var Sy={readContext:pl,use:tn,useCallback:function(l,t){return Yl().memoizedState=[l,t===void 0?null:t],l},useContext:pl,useEffect:P0,useImperativeHandle:function(l,t,u){u=u!=null?u.concat([l]):null,an(4194308,4,ay.bind(null,t,l),u)},useLayoutEffect:function(l,t){return an(4194308,4,l,t)},useInsertionEffect:function(l,t){an(4,2,l,t)},useMemo:function(l,t){var u=Yl();t=t===void 0?null:t;var a=l();if(ju){Ft(!0);try{l()}finally{Ft(!1)}}return u.memoizedState=[a,t],a},useReducer:function(l,t,u){var a=Yl();if(u!==void 0){var e=u(t);if(ju){Ft(!0);try{u(t)}finally{Ft(!1)}}}else e=t;return a.memoizedState=a.baseState=e,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:e},a.queue=l,l=l.dispatch=Lm.bind(null,j,l),[a.memoizedState,l]},useRef:function(l){var t=Yl();return l={current:l},t.memoizedState=l},useState:function(l){l=Ff(l);var t=l.queue,u=dy.bind(null,j,t);return t.dispatch=u,[l.memoizedState,u]},useDebugValue:Pf,useDeferredValue:function(l,t){var u=Yl();return lc(u,l,t)},useTransition:function(){var l=Ff(!1);return l=iy.bind(null,j,l.queue,!0,!1),Yl().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,t,u){var a=j,e=Yl();if(K){if(u===void 0)throw Error(o(407));u=u()}else{if(u=t(),fl===null)throw Error(o(349));(x&127)!==0||j0(a,t,u)}e.memoizedState=u;var n={value:u,getSnapshot:t};return e.queue=n,P0(X0.bind(null,a,n,l),[l]),a.flags|=2048,da(9,{destroy:void 0},G0.bind(null,a,n,u,t),null),u},useId:function(){var l=Yl(),t=fl.identifierPrefix;if(K){var u=Mt,a=Ot;u=(a&~(1<<32-Il(a)-1)).toString(32)+u,t="_"+t+"R_"+u,u=Pe++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof a.is=="string"?f.createElement("select",{is:a.is}):f.createElement("select"),a.multiple?n.multiple=!0:a.size&&(n.size=a.size);break;default:n=typeof a.is=="string"?f.createElement(e,{is:a.is}):f.createElement(e)}}n[Dl]=t,n[Zl]=a;l:for(f=t.child;f!==null;){if(f.tag===5||f.tag===6)n.appendChild(f.stateNode);else if(f.tag!==4&&f.tag!==27&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===t)break l;for(;f.sibling===null;){if(f.return===null||f.return===t)break l;f=f.return}f.sibling.return=f.return,f=f.sibling}t.stateNode=n;l:switch(Nl(n,e,a),e){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break l;case"img":a=!0;break l;default:a=!1}a&&Zt(t)}}return il(t),gc(t,t.type,l===null?null:l.memoizedProps,t.pendingProps,u),null;case 6:if(l&&t.stateNode!=null)l.memoizedProps!==a&&Zt(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(o(166));if(l=X.current,ea(t)){if(l=t.stateNode,u=t.memoizedProps,a=null,e=Ul,e!==null)switch(e.tag){case 27:case 5:a=e.memoizedProps}l[Dl]=t,l=!!(l.nodeValue===u||a!==null&&a.suppressHydrationWarning===!0||Cv(l.nodeValue,u)),l||tu(t,!0)}else l=Mn(l).createTextNode(a),l[Dl]=t,t.stateNode=l}return il(t),null;case 31:if(u=t.memoizedState,l===null||l.memoizedState!==null){if(a=ea(t),u!==null){if(l===null){if(!a)throw Error(o(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(o(557));l[Dl]=t}else Hu(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;il(t),l=!1}else u=Df(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=u),l=!0;if(!l)return t.flags&256?(ut(t),t):(ut(t),null);if((t.flags&128)!==0)throw Error(o(558))}return il(t),null;case 13:if(a=t.memoizedState,l===null||l.memoizedState!==null&&l.memoizedState.dehydrated!==null){if(e=ea(t),a!==null&&a.dehydrated!==null){if(l===null){if(!e)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));e[Dl]=t}else Hu(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;il(t),e=!1}else e=Df(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=e),e=!0;if(!e)return t.flags&256?(ut(t),t):(ut(t),null)}return ut(t),(t.flags&128)!==0?(t.lanes=u,t):(u=a!==null,l=l!==null&&l.memoizedState!==null,u&&(a=t.child,e=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(e=a.alternate.memoizedState.cachePool.pool),n=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(n=a.memoizedState.cachePool.pool),n!==e&&(a.flags|=2048)),u!==l&&u&&(t.child.flags|=8192),sn(t,t.updateQueue),il(t),null);case 4:return Sl(),l===null&&Xc(t.stateNode.containerInfo),il(t),null;case 10:return jt(t.type),il(t),null;case 19:if(T(gl),a=t.memoizedState,a===null)return il(t),null;if(e=(t.flags&128)!==0,n=a.rendering,n===null)if(e)te(a,!1);else{if(ol!==0||l!==null&&(l.flags&128)!==0)for(l=t.child;l!==null;){if(n=ke(l),n!==null){for(t.flags|=128,te(a,!1),l=n.updateQueue,t.updateQueue=l,sn(t,l),t.subtreeFlags=0,l=u,u=t.child;u!==null;)d0(u,l),u=u.sibling;return _(gl,gl.current&1|2),K&&Ct(t,a.treeForkCount),t.child}l=l.sibling}a.tail!==null&&Fl()>Sn&&(t.flags|=128,e=!0,te(a,!1),t.lanes=4194304)}else{if(!e)if(l=ke(n),l!==null){if(t.flags|=128,e=!0,l=l.updateQueue,t.updateQueue=l,sn(t,l),te(a,!0),a.tail===null&&a.tailMode==="hidden"&&!n.alternate&&!K)return il(t),null}else 2*Fl()-a.renderingStartTime>Sn&&u!==536870912&&(t.flags|=128,e=!0,te(a,!1),t.lanes=4194304);a.isBackwards?(n.sibling=t.child,t.child=n):(l=a.last,l!==null?l.sibling=n:t.child=n,a.last=n)}return a.tail!==null?(l=a.tail,a.rendering=l,a.tail=l.sibling,a.renderingStartTime=Fl(),l.sibling=null,u=gl.current,_(gl,e?u&1|2:u&1),K&&Ct(t,a.treeForkCount),l):(il(t),null);case 22:case 23:return ut(t),Qf(),a=t.memoizedState!==null,l!==null?l.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(u&536870912)!==0&&(t.flags&128)===0&&(il(t),t.subtreeFlags&6&&(t.flags|=8192)):il(t),u=t.updateQueue,u!==null&&sn(t,u.retryQueue),u=null,l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==u&&(t.flags|=2048),l!==null&&T(qu),null;case 24:return u=null,l!==null&&(u=l.memoizedState.cache),t.memoizedState.cache!==u&&(t.flags|=2048),jt(zl),il(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function $m(l,t){switch(Of(t),t.tag){case 1:return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 3:return jt(zl),Sl(),l=t.flags,(l&65536)!==0&&(l&128)===0?(t.flags=l&-65537|128,t):null;case 26:case 27:case 5:return Te(t),null;case 31:if(t.memoizedState!==null){if(ut(t),t.alternate===null)throw Error(o(340));Hu()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 13:if(ut(t),l=t.memoizedState,l!==null&&l.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Hu()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 19:return T(gl),null;case 4:return Sl(),null;case 10:return jt(t.type),null;case 22:case 23:return ut(t),Qf(),l!==null&&T(qu),l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 24:return jt(zl),null;case 25:return null;default:return null}}function Qy(l,t){switch(Of(t),t.tag){case 3:jt(zl),Sl();break;case 26:case 27:case 5:Te(t);break;case 4:Sl();break;case 31:t.memoizedState!==null&&ut(t);break;case 13:ut(t);break;case 19:T(gl);break;case 10:jt(t.type);break;case 22:case 23:ut(t),Qf(),l!==null&&T(qu);break;case 24:jt(zl)}}function ue(l,t){try{var u=t.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var e=a.next;u=e;do{if((u.tag&l)===l){a=void 0;var n=u.create,f=u.inst;a=n(),f.destroy=a}u=u.next}while(u!==e)}}catch(c){ll(t,t.return,c)}}function iu(l,t,u){try{var a=t.updateQueue,e=a!==null?a.lastEffect:null;if(e!==null){var n=e.next;a=n;do{if((a.tag&l)===l){var f=a.inst,c=f.destroy;if(c!==void 0){f.destroy=void 0,e=t;var i=u,d=c;try{d()}catch(g){ll(e,i,g)}}}a=a.next}while(a!==n)}}catch(g){ll(t,t.return,g)}}function Zy(l){var t=l.updateQueue;if(t!==null){var u=l.stateNode;try{N0(t,u)}catch(a){ll(l,l.return,a)}}}function xy(l,t,u){u.props=Gu(l.type,l.memoizedProps),u.state=l.memoizedState;try{u.componentWillUnmount()}catch(a){ll(l,t,a)}}function ae(l,t){try{var u=l.ref;if(u!==null){switch(l.tag){case 26:case 27:case 5:var a=l.stateNode;break;case 30:a=l.stateNode;break;default:a=l.stateNode}typeof u=="function"?l.refCleanup=u(a):u.current=a}}catch(e){ll(l,t,e)}}function Dt(l,t){var u=l.ref,a=l.refCleanup;if(u!==null)if(typeof a=="function")try{a()}catch(e){ll(l,t,e)}finally{l.refCleanup=null,l=l.alternate,l!=null&&(l.refCleanup=null)}else if(typeof u=="function")try{u(null)}catch(e){ll(l,t,e)}else u.current=null}function Vy(l){var t=l.type,u=l.memoizedProps,a=l.stateNode;try{l:switch(t){case"button":case"input":case"select":case"textarea":u.autoFocus&&a.focus();break l;case"img":u.src?a.src=u.src:u.srcSet&&(a.srcset=u.srcSet)}}catch(e){ll(l,l.return,e)}}function bc(l,t,u){try{var a=l.stateNode;gd(a,l.type,u,t),a[Zl]=t}catch(e){ll(l,l.return,e)}}function Ly(l){return l.tag===5||l.tag===3||l.tag===26||l.tag===27&&ou(l.type)||l.tag===4}function zc(l){l:for(;;){for(;l.sibling===null;){if(l.return===null||Ly(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.tag===27&&ou(l.type)||l.flags&2||l.child===null||l.tag===4)continue l;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Ec(l,t,u){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?(u.nodeType===9?u.body:u.nodeName==="HTML"?u.ownerDocument.body:u).insertBefore(l,t):(t=u.nodeType===9?u.body:u.nodeName==="HTML"?u.ownerDocument.body:u,t.appendChild(l),u=u._reactRootContainer,u!=null||t.onclick!==null||(t.onclick=Rt));else if(a!==4&&(a===27&&ou(l.type)&&(u=l.stateNode,t=null),l=l.child,l!==null))for(Ec(l,t,u),l=l.sibling;l!==null;)Ec(l,t,u),l=l.sibling}function mn(l,t,u){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?u.insertBefore(l,t):u.appendChild(l);else if(a!==4&&(a===27&&ou(l.type)&&(u=l.stateNode),l=l.child,l!==null))for(mn(l,t,u),l=l.sibling;l!==null;)mn(l,t,u),l=l.sibling}function Ky(l){var t=l.stateNode,u=l.memoizedProps;try{for(var a=l.type,e=t.attributes;e.length;)t.removeAttributeNode(e[0]);Nl(t,a,u),t[Dl]=l,t[Zl]=u}catch(n){ll(l,l.return,n)}}var xt=!1,rl=!1,Tc=!1,Jy=typeof WeakSet=="function"?WeakSet:Set,Ol=null;function Fm(l,t){if(l=l.containerInfo,xc=qn,l=e0(l),hf(l)){if("selectionStart"in l)var u={start:l.selectionStart,end:l.selectionEnd};else l:{u=(u=l.ownerDocument)&&u.defaultView||window;var a=u.getSelection&&u.getSelection();if(a&&a.rangeCount!==0){u=a.anchorNode;var e=a.anchorOffset,n=a.focusNode;a=a.focusOffset;try{u.nodeType,n.nodeType}catch{u=null;break l}var f=0,c=-1,i=-1,d=0,g=0,E=l,h=null;t:for(;;){for(var S;E!==u||e!==0&&E.nodeType!==3||(c=f+e),E!==n||a!==0&&E.nodeType!==3||(i=f+a),E.nodeType===3&&(f+=E.nodeValue.length),(S=E.firstChild)!==null;)h=E,E=S;for(;;){if(E===l)break t;if(h===u&&++d===e&&(c=f),h===n&&++g===a&&(i=f),(S=E.nextSibling)!==null)break;E=h,h=E.parentNode}E=S}u=c===-1||i===-1?null:{start:c,end:i}}else u=null}u=u||{start:0,end:0}}else u=null;for(Vc={focusedElem:l,selectionRange:u},qn=!1,Ol=t;Ol!==null;)if(t=Ol,l=t.child,(t.subtreeFlags&1028)!==0&&l!==null)l.return=t,Ol=l;else for(;Ol!==null;){switch(t=Ol,n=t.alternate,l=t.flags,t.tag){case 0:if((l&4)!==0&&(l=t.updateQueue,l=l!==null?l.events:null,l!==null))for(u=0;u title"))),Nl(n,a,u),n[Dl]=l,_l(n),a=n;break l;case"link":var f=Iv("link","href",e).get(a+(u.href||""));if(f){for(var c=0;cel&&(f=el,el=R,R=f);var s=u0(c,R),y=u0(c,el);if(s&&y&&(S.rangeCount!==1||S.anchorNode!==s.node||S.anchorOffset!==s.offset||S.focusNode!==y.node||S.focusOffset!==y.offset)){var m=E.createRange();m.setStart(s.node,s.offset),S.removeAllRanges(),R>el?(S.addRange(m),S.extend(y.node,y.offset)):(m.setEnd(y.node,y.offset),S.addRange(m))}}}}for(E=[],S=c;S=S.parentNode;)S.nodeType===1&&E.push({element:S,left:S.scrollLeft,top:S.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;cu?32:u,b.T=null,u=Uc,Uc=null;var n=mu,f=wt;if(Al=0,ba=mu=null,wt=0,(F&6)!==0)throw Error(o(331));var c=F;if(F|=4,av(n.current),lv(n,n.current,f,u),F=c,ye(0,!1),kl&&typeof kl.onPostCommitFiberRoot=="function")try{kl.onPostCommitFiberRoot(Da,n)}catch{}return!0}finally{A.p=e,b.T=a,Tv(l,t)}}function Av(l,t,u){t=vt(u,t),t=cc(l.stateNode,t,2),l=nu(l,t,2),l!==null&&(pa(l,2),Ut(l))}function ll(l,t,u){if(l.tag===3)Av(l,l,u);else for(;t!==null;){if(t.tag===3){Av(t,l,u);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(su===null||!su.has(a))){l=vt(u,l),u=_y(2),a=nu(t,u,2),a!==null&&(Oy(u,a,t,l),pa(a,2),Ut(a));break}}t=t.return}}function Rc(l,t,u){var a=l.pingCache;if(a===null){a=l.pingCache=new Pm;var e=new Set;a.set(t,e)}else e=a.get(t),e===void 0&&(e=new Set,a.set(t,e));e.has(u)||(_c=!0,e.add(u),l=ed.bind(null,l,t,u),t.then(l,l))}function ed(l,t,u){var a=l.pingCache;a!==null&&a.delete(t),l.pingedLanes|=l.suspendedLanes&u,l.warmLanes&=~u,fl===l&&(x&u)===u&&(ol===4||ol===3&&(x&62914560)===x&&300>Fl()-on?(F&2)===0&&za(l,0):Oc|=u,ga===x&&(ga=0)),Ut(l)}function _v(l,t){t===0&&(t=bi()),l=Uu(l,t),l!==null&&(pa(l,t),Ut(l))}function nd(l){var t=l.memoizedState,u=0;t!==null&&(u=t.retryLane),_v(l,u)}function fd(l,t){var u=0;switch(l.tag){case 31:case 13:var a=l.stateNode,e=l.memoizedState;e!==null&&(u=e.retryLane);break;case 19:a=l.stateNode;break;case 22:a=l.stateNode._retryCache;break;default:throw Error(o(314))}a!==null&&a.delete(t),_v(l,u)}function cd(l,t){return Ln(l,t)}var rn=null,Ta=null,qc=!1,An=!1,Bc=!1,hu=0;function Ut(l){l!==Ta&&l.next===null&&(Ta===null?rn=Ta=l:Ta=Ta.next=l),An=!0,qc||(qc=!0,yd())}function ye(l,t){if(!Bc&&An){Bc=!0;do for(var u=!1,a=rn;a!==null;){if(l!==0){var e=a.pendingLanes;if(e===0)var n=0;else{var f=a.suspendedLanes,c=a.pingedLanes;n=(1<<31-Il(42|l)+1)-1,n&=e&~(f&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(u=!0,Uv(a,n))}else n=x,n=Me(a,a===fl?n:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(n&3)===0||Ua(a,n)||(u=!0,Uv(a,n));a=a.next}while(u);Bc=!1}}function id(){Ov()}function Ov(){An=qc=!1;var l=0;hu!==0&&zd()&&(l=hu);for(var t=Fl(),u=null,a=rn;a!==null;){var e=a.next,n=Mv(a,t);n===0?(a.next=null,u===null?rn=e:u.next=e,e===null&&(Ta=u)):(u=a,(l!==0||(n&3)!==0)&&(An=!0)),a=e}Al!==0&&Al!==5||ye(l),hu!==0&&(hu=0)}function Mv(l,t){for(var u=l.suspendedLanes,a=l.pingedLanes,e=l.expirationTimes,n=l.pendingLanes&-62914561;0c)break;var g=i.transferSize,E=i.initiatorType;g&&Yv(E)&&(i=i.responseEnd,f+=g*(i"u"?null:document;function Wv(l,t,u){var a=ra;if(a&&typeof t=="string"&&t){var e=it(t);e='link[rel="'+l+'"][href="'+e+'"]',typeof u=="string"&&(e+='[crossorigin="'+u+'"]'),wv.has(e)||(wv.add(e),l={rel:l,crossOrigin:u,href:t},a.querySelector(e)===null&&(t=a.createElement("link"),Nl(t,"link",l),_l(t),a.head.appendChild(t)))}}function Ud(l){Wt.D(l),Wv("dns-prefetch",l,null)}function pd(l,t){Wt.C(l,t),Wv("preconnect",l,t)}function Hd(l,t,u){Wt.L(l,t,u);var a=ra;if(a&&l&&t){var e='link[rel="preload"][as="'+it(t)+'"]';t==="image"&&u&&u.imageSrcSet?(e+='[imagesrcset="'+it(u.imageSrcSet)+'"]',typeof u.imageSizes=="string"&&(e+='[imagesizes="'+it(u.imageSizes)+'"]')):e+='[href="'+it(l)+'"]';var n=e;switch(t){case"style":n=Aa(l);break;case"script":n=_a(l)}St.has(n)||(l=q({rel:"preload",href:t==="image"&&u&&u.imageSrcSet?void 0:l,as:t},u),St.set(n,l),a.querySelector(e)!==null||t==="style"&&a.querySelector(de(n))||t==="script"&&a.querySelector(he(n))||(t=a.createElement("link"),Nl(t,"link",l),_l(t),a.head.appendChild(t)))}}function Nd(l,t){Wt.m(l,t);var u=ra;if(u&&l){var a=t&&typeof t.as=="string"?t.as:"script",e='link[rel="modulepreload"][as="'+it(a)+'"][href="'+it(l)+'"]',n=e;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=_a(l)}if(!St.has(n)&&(l=q({rel:"modulepreload",href:l},t),St.set(n,l),u.querySelector(e)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(u.querySelector(he(n)))return}a=u.createElement("link"),Nl(a,"link",l),_l(a),u.head.appendChild(a)}}}function Rd(l,t,u){Wt.S(l,t,u);var a=ra;if(a&&l){var e=Ku(a).hoistableStyles,n=Aa(l);t=t||"default";var f=e.get(n);if(!f){var c={loading:0,preload:null};if(f=a.querySelector(de(n)))c.loading=5;else{l=q({rel:"stylesheet",href:l,"data-precedence":t},u),(u=St.get(n))&&Fc(l,u);var i=f=a.createElement("link");_l(i),Nl(i,"link",l),i._p=new Promise(function(d,g){i.onload=d,i.onerror=g}),i.addEventListener("load",function(){c.loading|=1}),i.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Un(f,t,a)}f={type:"stylesheet",instance:f,count:1,state:c},e.set(n,f)}}}function qd(l,t){Wt.X(l,t);var u=ra;if(u&&l){var a=Ku(u).hoistableScripts,e=_a(l),n=a.get(e);n||(n=u.querySelector(he(e)),n||(l=q({src:l,async:!0},t),(t=St.get(e))&&kc(l,t),n=u.createElement("script"),_l(n),Nl(n,"link",l),u.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(e,n))}}function Bd(l,t){Wt.M(l,t);var u=ra;if(u&&l){var a=Ku(u).hoistableScripts,e=_a(l),n=a.get(e);n||(n=u.querySelector(he(e)),n||(l=q({src:l,async:!0,type:"module"},t),(t=St.get(e))&&kc(l,t),n=u.createElement("script"),_l(n),Nl(n,"link",l),u.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(e,n))}}function $v(l,t,u,a){var e=(e=X.current)?Dn(e):null;if(!e)throw Error(o(446));switch(l){case"meta":case"title":return null;case"style":return typeof u.precedence=="string"&&typeof u.href=="string"?(t=Aa(u.href),u=Ku(e).hoistableStyles,a=u.get(t),a||(a={type:"style",instance:null,count:0,state:null},u.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(u.rel==="stylesheet"&&typeof u.href=="string"&&typeof u.precedence=="string"){l=Aa(u.href);var n=Ku(e).hoistableStyles,f=n.get(l);if(f||(e=e.ownerDocument||e,f={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(l,f),(n=e.querySelector(de(l)))&&!n._p&&(f.instance=n,f.state.loading=5),St.has(l)||(u={rel:"preload",as:"style",href:u.href,crossOrigin:u.crossOrigin,integrity:u.integrity,media:u.media,hrefLang:u.hrefLang,referrerPolicy:u.referrerPolicy},St.set(l,u),n||Cd(e,l,u,f.state))),t&&a===null)throw Error(o(528,""));return f}if(t&&a!==null)throw Error(o(529,""));return null;case"script":return t=u.async,u=u.src,typeof u=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=_a(u),u=Ku(e).hoistableScripts,a=u.get(t),a||(a={type:"script",instance:null,count:0,state:null},u.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,l))}}function Aa(l){return'href="'+it(l)+'"'}function de(l){return'link[rel="stylesheet"]['+l+"]"}function Fv(l){return q({},l,{"data-precedence":l.precedence,precedence:null})}function Cd(l,t,u,a){l.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=l.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Nl(t,"link",u),_l(t),l.head.appendChild(t))}function _a(l){return'[src="'+it(l)+'"]'}function he(l){return"script[async]"+l}function kv(l,t,u){if(t.count++,t.instance===null)switch(t.type){case"style":var a=l.querySelector('style[data-href~="'+it(u.href)+'"]');if(a)return t.instance=a,_l(a),a;var e=q({},u,{"data-href":u.href,"data-precedence":u.precedence,href:null,precedence:null});return a=(l.ownerDocument||l).createElement("style"),_l(a),Nl(a,"style",e),Un(a,u.precedence,l),t.instance=a;case"stylesheet":e=Aa(u.href);var n=l.querySelector(de(e));if(n)return t.state.loading|=4,t.instance=n,_l(n),n;a=Fv(u),(e=St.get(e))&&Fc(a,e),n=(l.ownerDocument||l).createElement("link"),_l(n);var f=n;return f._p=new Promise(function(c,i){f.onload=c,f.onerror=i}),Nl(n,"link",a),t.state.loading|=4,Un(n,u.precedence,l),t.instance=n;case"script":return n=_a(u.src),(e=l.querySelector(he(n)))?(t.instance=e,_l(e),e):(a=u,(e=St.get(n))&&(a=q({},u),kc(a,e)),l=l.ownerDocument||l,e=l.createElement("script"),_l(e),Nl(e,"link",a),l.head.appendChild(e),t.instance=e);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Un(a,u.precedence,l));return t.instance}function Un(l,t,u){for(var a=u.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),e=a.length?a[a.length-1]:null,n=e,f=0;f title"):null)}function Yd(l,t,u){if(u===1||t.itemProp!=null)return!1;switch(l){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(l=t.disabled,typeof t.precedence=="string"&&l==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function ls(l){return!(l.type==="stylesheet"&&(l.state.loading&3)===0)}function jd(l,t,u,a){if(u.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(u.state.loading&4)===0){if(u.instance===null){var e=Aa(a.href),n=t.querySelector(de(e));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(l.count++,l=Hn.bind(l),t.then(l,l)),u.state.loading|=4,u.instance=n,_l(n);return}n=t.ownerDocument||t,a=Fv(a),(e=St.get(e))&&Fc(a,e),n=n.createElement("link"),_l(n);var f=n;f._p=new Promise(function(c,i){f.onload=c,f.onerror=i}),Nl(n,"link",a),u.instance=n}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(u,t),(t=u.state.preload)&&(u.state.loading&3)===0&&(l.count++,u=Hn.bind(l),t.addEventListener("load",u),t.addEventListener("error",u))}}var Ic=0;function Gd(l,t){return l.stylesheets&&l.count===0&&Rn(l,l.stylesheets),0Ic?50:800)+t);return l.unsuspend=u,function(){l.unsuspend=null,clearTimeout(a),clearTimeout(e)}}:null}function Hn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Rn(this,this.stylesheets);else if(this.unsuspend){var l=this.unsuspend;this.unsuspend=null,l()}}}var Nn=null;function Rn(l,t){l.stylesheets=null,l.unsuspend!==null&&(l.count++,Nn=new Map,t.forEach(Xd,l),Nn=null,Hn.call(l))}function Xd(l,t){if(!(t.state.loading&4)){var u=Nn.get(l);if(u)var a=u.get(null);else{u=new Map,Nn.set(l,u);for(var e=l.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(O)}catch(sl){console.error(sl)}}return O(),fi.exports=t1(),fi.exports}var a1=u1(),si=mi();function e1(){const[O,sl]=si.useState(null),[$,o]=si.useState(null);return console.log(window.location.href),console.log(new URL("../react-compiler-report.json",window.location.href).toString()),console.log(new URL("./react-compiler-report.json",window.location.href).toString()),si.useEffect(()=>{fetch("../react-compiler-report.json").then(N=>{if(!N.ok)throw new Error("Failed to load report JSON");return N.json()}).then(sl).catch(N=>o(String(N)))},[]),$?dl.jsxs("div",{style:Tt.page,children:[dl.jsx("h1",{children:"React Compiler Report"}),dl.jsx("p",{style:{color:"crimson"},children:$})]}):O?dl.jsxs("div",{style:Tt.page,children:[dl.jsx("h1",{children:"React Compiler Report"}),dl.jsxs("p",{style:Tt.meta,children:["Generated at ",new Date(O.generatedAt).toLocaleString()]}),dl.jsxs("div",{style:Tt.summary,children:[dl.jsxs("span",{children:["❌ ",O.totals.failed," failed"]}),dl.jsxs("span",{children:["✅ ",O.totals.ok," compiled"]}),dl.jsxs("span",{children:["⚪ ",O.totals.other," other"]})]}),dl.jsx("h2",{children:"Failures"}),O.failures.length===0?dl.jsx("p",{children:"No compiler failures 🎉"}):O.failures.map((N,J)=>dl.jsxs("div",{style:Tt.card,children:[dl.jsxs("div",{style:Tt.file,children:["❌ ",N.filename," ",N.loc&&dl.jsx("span",{style:Tt.loc,children:N.loc})]}),dl.jsxs("div",{style:Tt.reason,children:[N.category," • ",N.reason]}),N.description&&dl.jsx("div",{style:Tt.description,children:N.description}),N.suggestions.length>0&&dl.jsx("ul",{style:Tt.suggestions,children:N.suggestions.map((ml,Ml)=>dl.jsx("li",{children:ml},Ml))})]},J))]}):dl.jsxs("div",{style:Tt.page,children:[dl.jsx("h1",{children:"React Compiler Report"}),dl.jsx("p",{children:"Loading…"})]})}const Tt={page:{fontFamily:"system-ui, sans-serif",padding:24,maxWidth:900,margin:"0 auto",color:"#111827"},meta:{color:"#6b7280",fontSize:14},summary:{display:"flex",gap:16,margin:"16px 0 24px",fontWeight:500},card:{background:"#f6f6f7",borderRadius:8,padding:12,marginBottom:12},file:{fontWeight:600,marginBottom:4},loc:{color:"#6b7280",marginLeft:6,fontSize:13},reason:{color:"#b91c1c",fontSize:14,marginBottom:6},description:{fontSize:14,marginBottom:6},suggestions:{margin:0,paddingLeft:18,fontSize:14}},_s=document.getElementById("root");if(!_s)throw new Error("Root element not found");a1.createRoot(_s).render(dl.jsx(e1,{}));
diff --git a/apps/playground/.react-compiler/report/ui/assets/index-jOm3hpdK.js b/apps/playground/.react-compiler/report/ui/assets/index-jOm3hpdK.js
new file mode 100644
index 0000000..24f98e7
--- /dev/null
+++ b/apps/playground/.react-compiler/report/ui/assets/index-jOm3hpdK.js
@@ -0,0 +1,9 @@
+(function(){const sl=document.createElement("link").relList;if(sl&&sl.supports&&sl.supports("modulepreload"))return;for(const N of document.querySelectorAll('link[rel="modulepreload"]'))o(N);new MutationObserver(N=>{for(const J of N)if(J.type==="childList")for(const ml of J.addedNodes)ml.tagName==="LINK"&&ml.rel==="modulepreload"&&o(ml)}).observe(document,{childList:!0,subtree:!0});function $(N){const J={};return N.integrity&&(J.integrity=N.integrity),N.referrerPolicy&&(J.referrerPolicy=N.referrerPolicy),N.crossOrigin==="use-credentials"?J.credentials="include":N.crossOrigin==="anonymous"?J.credentials="omit":J.credentials="same-origin",J}function o(N){if(N.ep)return;N.ep=!0;const J=$(N);fetch(N.href,J)}})();var ni={exports:{}},ze={};var hs;function Wd(){if(hs)return ze;hs=1;var O=Symbol.for("react.transitional.element"),sl=Symbol.for("react.fragment");function $(o,N,J){var ml=null;if(J!==void 0&&(ml=""+J),N.key!==void 0&&(ml=""+N.key),"key"in N){J={};for(var Ml in N)Ml!=="key"&&(J[Ml]=N[Ml])}else J=N;return N=J.ref,{$$typeof:O,type:o,key:ml,ref:N!==void 0?N:null,props:J}}return ze.Fragment=sl,ze.jsx=$,ze.jsxs=$,ze}var os;function $d(){return os||(os=1,ni.exports=Wd()),ni.exports}var dl=$d(),fi={exports:{}},Ee={},ci={exports:{}},ii={};var Ss;function Fd(){return Ss||(Ss=1,(function(O){function sl(b,r){var B=b.length;b.push(r);l:for(;0>>1,nl=b[tl];if(0>>1;tlN(_,B))DN(Y,_)?(b[tl]=Y,b[D]=B,tl=D):(b[tl]=_,b[T]=B,tl=T);else if(DN(Y,B))b[tl]=Y,b[D]=B,tl=D;else break l}}return r}function N(b,r){var B=b.sortIndex-r.sortIndex;return B!==0?B:b.id-r.id}if(O.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var J=performance;O.unstable_now=function(){return J.now()}}else{var ml=Date,Ml=ml.now();O.unstable_now=function(){return ml.now()-Ml}}var H=[],A=[],k=1,q=null,yl=3,Wl=!1,jl=!1,Bl=!1,pt=!1,$l=typeof setTimeout=="function"?setTimeout:null,$t=typeof clearTimeout=="function"?clearTimeout:null,Rl=typeof setImmediate<"u"?setImmediate:null;function ft(b){for(var r=$(A);r!==null;){if(r.callback===null)o(A);else if(r.startTime<=b)o(A),r.sortIndex=r.expirationTime,sl(H,r);else break;r=$(A)}}function At(b){if(Bl=!1,ft(b),!jl)if($(H)!==null)jl=!0,Gl||(Gl=!0,Ql());else{var r=$(A);r!==null&>(At,r.startTime-b)}}var Gl=!1,L=-1,Xl=5,rt=-1;function Zu(){return pt?!0:!(O.unstable_now()-rtb&&Zu());){var tl=q.callback;if(typeof tl=="function"){q.callback=null,yl=q.priorityLevel;var nl=tl(q.expirationTime<=b);if(b=O.unstable_now(),typeof nl=="function"){q.callback=nl,ft(b),r=!0;break t}q===$(H)&&o(H),ft(b)}else o(H);q=$(H)}if(q!==null)r=!0;else{var v=$(A);v!==null&>(At,v.startTime-b),r=!1}}break l}finally{q=null,yl=B,Wl=!1}r=void 0}}finally{r?Ql():Gl=!1}}}var Ql;if(typeof Rl=="function")Ql=function(){Rl(_t)};else if(typeof MessageChannel<"u"){var Tu=new MessageChannel,Ht=Tu.port2;Tu.port1.onmessage=_t,Ql=function(){Ht.postMessage(null)}}else Ql=function(){$l(_t,0)};function gt(b,r){L=$l(function(){b(O.unstable_now())},r)}O.unstable_IdlePriority=5,O.unstable_ImmediatePriority=1,O.unstable_LowPriority=4,O.unstable_NormalPriority=3,O.unstable_Profiling=null,O.unstable_UserBlockingPriority=2,O.unstable_cancelCallback=function(b){b.callback=null},O.unstable_forceFrameRate=function(b){0>b||125tl?(b.sortIndex=B,sl(A,b),$(H)===null&&b===$(A)&&(Bl?($t(L),L=-1):Bl=!0,gt(At,B-tl))):(b.sortIndex=nl,sl(H,b),jl||Wl||(jl=!0,Gl||(Gl=!0,Ql()))),b},O.unstable_shouldYield=Zu,O.unstable_wrapCallback=function(b){var r=yl;return function(){var B=yl;yl=r;try{return b.apply(this,arguments)}finally{yl=B}}}})(ii)),ii}var gs;function kd(){return gs||(gs=1,ci.exports=Fd()),ci.exports}var yi={exports:{}},C={};var bs;function Id(){if(bs)return C;bs=1;var O=Symbol.for("react.transitional.element"),sl=Symbol.for("react.portal"),$=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),N=Symbol.for("react.profiler"),J=Symbol.for("react.consumer"),ml=Symbol.for("react.context"),Ml=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),A=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),q=Symbol.for("react.activity"),yl=Symbol.iterator;function Wl(v){return v===null||typeof v!="object"?null:(v=yl&&v[yl]||v["@@iterator"],typeof v=="function"?v:null)}var jl={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bl=Object.assign,pt={};function $l(v,T,_){this.props=v,this.context=T,this.refs=pt,this.updater=_||jl}$l.prototype.isReactComponent={},$l.prototype.setState=function(v,T){if(typeof v!="object"&&typeof v!="function"&&v!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,v,T,"setState")},$l.prototype.forceUpdate=function(v){this.updater.enqueueForceUpdate(this,v,"forceUpdate")};function $t(){}$t.prototype=$l.prototype;function Rl(v,T,_){this.props=v,this.context=T,this.refs=pt,this.updater=_||jl}var ft=Rl.prototype=new $t;ft.constructor=Rl,Bl(ft,$l.prototype),ft.isPureReactComponent=!0;var At=Array.isArray;function Gl(){}var L={H:null,A:null,T:null,S:null},Xl=Object.prototype.hasOwnProperty;function rt(v,T,_){var D=_.ref;return{$$typeof:O,type:v,key:T,ref:D!==void 0?D:null,props:_}}function Zu(v,T){return rt(v.type,T,v.props)}function _t(v){return typeof v=="object"&&v!==null&&v.$$typeof===O}function Ql(v){var T={"=":"=0",":":"=2"};return"$"+v.replace(/[=:]/g,function(_){return T[_]})}var Tu=/\/+/g;function Ht(v,T){return typeof v=="object"&&v!==null&&v.key!=null?Ql(""+v.key):T.toString(36)}function gt(v){switch(v.status){case"fulfilled":return v.value;case"rejected":throw v.reason;default:switch(typeof v.status=="string"?v.then(Gl,Gl):(v.status="pending",v.then(function(T){v.status==="pending"&&(v.status="fulfilled",v.value=T)},function(T){v.status==="pending"&&(v.status="rejected",v.reason=T)})),v.status){case"fulfilled":return v.value;case"rejected":throw v.reason}}throw v}function b(v,T,_,D,Y){var X=typeof v;(X==="undefined"||X==="boolean")&&(v=null);var I=!1;if(v===null)I=!0;else switch(X){case"bigint":case"string":case"number":I=!0;break;case"object":switch(v.$$typeof){case O:case sl:I=!0;break;case k:return I=v._init,b(I(v._payload),T,_,D,Y)}}if(I)return Y=Y(v),I=D===""?"."+Ht(v,0):D,At(Y)?(_="",I!=null&&(_=I.replace(Tu,"$&/")+"/"),b(Y,T,_,"",function(Ma){return Ma})):Y!=null&&(_t(Y)&&(Y=Zu(Y,_+(Y.key==null||v&&v.key===Y.key?"":(""+Y.key).replace(Tu,"$&/")+"/")+I)),T.push(Y)),1;I=0;var Cl=D===""?".":D+":";if(At(v))for(var Sl=0;Sl"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(O)}catch(sl){console.error(sl)}}return O(),vi.exports=Pd(),vi.exports}var As;function t1(){if(As)return Ee;As=1;var O=kd(),sl=mi(),$=l1();function o(l){var t="https://react.dev/errors/"+l;if(1nl||(l.current=tl[nl],tl[nl]=null,nl--)}function _(l,t){nl++,tl[nl]=l.current,l.current=t}var D=v(null),Y=v(null),X=v(null),I=v(null);function Cl(l,t){switch(_(X,t),_(Y,l),_(D,null),t.nodeType){case 9:case 11:l=(l=t.documentElement)&&(l=l.namespaceURI)?jv(l):0;break;default:if(l=t.tagName,t=t.namespaceURI)t=jv(t),l=Gv(t,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}T(D),_(D,l)}function Sl(){T(D),T(Y),T(X)}function Ma(l){l.memoizedState!==null&&_(I,l);var t=D.current,u=Gv(t,l.type);t!==u&&(_(Y,l),_(D,u))}function Te(l){Y.current===l&&(T(D),T(Y)),I.current===l&&(T(I),oe._currentValue=B)}var Qn,di;function Au(l){if(Qn===void 0)try{throw Error()}catch(u){var t=u.stack.trim().match(/\n( *(at )?)/);Qn=t&&t[1]||"",di=-1)":-1e||i[a]!==d[e]){var g=`
+`+i[a].replace(" at new "," at ");return l.displayName&&g.includes("")&&(g=g.replace("",l.displayName)),g}while(1<=a&&0<=e);break}}}finally{Zn=!1,Error.prepareStackTrace=u}return(u=l?l.displayName||l.name:"")?Au(u):""}function Os(l,t){switch(l.tag){case 26:case 27:case 5:return Au(l.type);case 16:return Au("Lazy");case 13:return l.child!==t&&t!==null?Au("Suspense Fallback"):Au("Suspense");case 19:return Au("SuspenseList");case 0:case 15:return xn(l.type,!1);case 11:return xn(l.type.render,!1);case 1:return xn(l.type,!0);case 31:return Au("Activity");default:return""}}function hi(l){try{var t="",u=null;do t+=Os(l,u),u=l,l=l.return;while(l);return t}catch(a){return`
+Error generating stack: `+a.message+`
+`+a.stack}}var Vn=Object.prototype.hasOwnProperty,Ln=O.unstable_scheduleCallback,Kn=O.unstable_cancelCallback,Ms=O.unstable_shouldYield,Ds=O.unstable_requestPaint,Fl=O.unstable_now,Us=O.unstable_getCurrentPriorityLevel,oi=O.unstable_ImmediatePriority,Si=O.unstable_UserBlockingPriority,Ae=O.unstable_NormalPriority,ps=O.unstable_LowPriority,gi=O.unstable_IdlePriority,Hs=O.log,Ns=O.unstable_setDisableYieldValue,Da=null,kl=null;function Ft(l){if(typeof Hs=="function"&&Ns(l),kl&&typeof kl.setStrictMode=="function")try{kl.setStrictMode(Da,l)}catch{}}var Il=Math.clz32?Math.clz32:Bs,Rs=Math.log,qs=Math.LN2;function Bs(l){return l>>>=0,l===0?32:31-(Rs(l)/qs|0)|0}var re=256,_e=262144,Oe=4194304;function ru(l){var t=l&42;if(t!==0)return t;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function Me(l,t,u){var a=l.pendingLanes;if(a===0)return 0;var e=0,n=l.suspendedLanes,f=l.pingedLanes;l=l.warmLanes;var c=a&134217727;return c!==0?(a=c&~n,a!==0?e=ru(a):(f&=c,f!==0?e=ru(f):u||(u=c&~l,u!==0&&(e=ru(u))))):(c=a&~n,c!==0?e=ru(c):f!==0?e=ru(f):u||(u=a&~l,u!==0&&(e=ru(u)))),e===0?0:t!==0&&t!==e&&(t&n)===0&&(n=e&-e,u=t&-t,n>=u||n===32&&(u&4194048)!==0)?t:e}function Ua(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function Cs(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function bi(){var l=Oe;return Oe<<=1,(Oe&62914560)===0&&(Oe=4194304),l}function Jn(l){for(var t=[],u=0;31>u;u++)t.push(l);return t}function pa(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function Ys(l,t,u,a,e,n){var f=l.pendingLanes;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=u,l.entangledLanes&=u,l.errorRecoveryDisabledLanes&=u,l.shellSuspendCounter=0;var c=l.entanglements,i=l.expirationTimes,d=l.hiddenUpdates;for(u=f&~u;0"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var xs=/[\n"\\]/g;function it(l){return l.replace(xs,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function In(l,t,u,a,e,n,f,c){l.name="",f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?l.type=f:l.removeAttribute("type"),t!=null?f==="number"?(t===0&&l.value===""||l.value!=t)&&(l.value=""+ct(t)):l.value!==""+ct(t)&&(l.value=""+ct(t)):f!=="submit"&&f!=="reset"||l.removeAttribute("value"),t!=null?Pn(l,f,ct(t)):u!=null?Pn(l,f,ct(u)):a!=null&&l.removeAttribute("value"),e==null&&n!=null&&(l.defaultChecked=!!n),e!=null&&(l.checked=e&&typeof e!="function"&&typeof e!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?l.name=""+ct(c):l.removeAttribute("name")}function Ni(l,t,u,a,e,n,f,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(l.type=n),t!=null||u!=null){if(!(n!=="submit"&&n!=="reset"||t!=null)){kn(l);return}u=u!=null?""+ct(u):"",t=t!=null?""+ct(t):u,c||t===l.value||(l.value=t),l.defaultValue=t}a=a??e,a=typeof a!="function"&&typeof a!="symbol"&&!!a,l.checked=c?l.checked:!!a,l.defaultChecked=!!a,f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(l.name=f),kn(l)}function Pn(l,t,u){t==="number"&&pe(l.ownerDocument)===l||l.defaultValue===""+u||(l.defaultValue=""+u)}function wu(l,t,u,a){if(l=l.options,t){t={};for(var e=0;e"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ef=!1;if(qt)try{var qa={};Object.defineProperty(qa,"passive",{get:function(){ef=!0}}),window.addEventListener("test",qa,qa),window.removeEventListener("test",qa,qa)}catch{ef=!1}var It=null,nf=null,Ne=null;function Gi(){if(Ne)return Ne;var l,t=nf,u=t.length,a,e="value"in It?It.value:It.textContent,n=e.length;for(l=0;l=Ya),Li=" ",Ki=!1;function Ji(l,t){switch(l){case"keyup":return Sm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function wi(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var ku=!1;function bm(l,t){switch(l){case"compositionend":return wi(t);case"keypress":return t.which!==32?null:(Ki=!0,Li);case"textInput":return l=t.data,l===Li&&Ki?null:l;default:return null}}function zm(l,t){if(ku)return l==="compositionend"||!sf&&Ji(l,t)?(l=Gi(),Ne=nf=It=null,ku=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:u,offset:t-l};l=a}l:{for(;u;){if(u.nextSibling){u=u.nextSibling;break l}u=u.parentNode}u=void 0}u=t0(u)}}function a0(l,t){return l&&t?l===t?!0:l&&l.nodeType===3?!1:t&&t.nodeType===3?a0(l,t.parentNode):"contains"in l?l.contains(t):l.compareDocumentPosition?!!(l.compareDocumentPosition(t)&16):!1:!1}function e0(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var t=pe(l.document);t instanceof l.HTMLIFrameElement;){try{var u=typeof t.contentWindow.location.href=="string"}catch{u=!1}if(u)l=t.contentWindow;else break;t=pe(l.document)}return t}function hf(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t&&(t==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||t==="textarea"||l.contentEditable==="true")}var Dm=qt&&"documentMode"in document&&11>=document.documentMode,Iu=null,of=null,Qa=null,Sf=!1;function n0(l,t,u){var a=u.window===u?u.document:u.nodeType===9?u:u.ownerDocument;Sf||Iu==null||Iu!==pe(a)||(a=Iu,"selectionStart"in a&&hf(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qa&&Xa(Qa,a)||(Qa=a,a=On(of,"onSelect"),0>=f,e-=f,Ot=1<<32-Il(t)+e|u<G?(V=U,U=null):V=U.sibling;var W=h(s,U,m[G],z);if(W===null){U===null&&(U=V);break}l&&U&&W.alternate===null&&t(s,U),y=n(W,y,G),w===null?p=W:w.sibling=W,w=W,U=V}if(G===m.length)return u(s,U),K&&Ct(s,G),p;if(U===null){for(;GG?(V=U,U=null):V=U.sibling;var Eu=h(s,U,W.value,z);if(Eu===null){U===null&&(U=V);break}l&&U&&Eu.alternate===null&&t(s,U),y=n(Eu,y,G),w===null?p=Eu:w.sibling=Eu,w=Eu,U=V}if(W.done)return u(s,U),K&&Ct(s,G),p;if(U===null){for(;!W.done;G++,W=m.next())W=E(s,W.value,z),W!==null&&(y=n(W,y,G),w===null?p=W:w.sibling=W,w=W);return K&&Ct(s,G),p}for(U=a(U);!W.done;G++,W=m.next())W=S(U,s,G,W.value,z),W!==null&&(l&&W.alternate!==null&&U.delete(W.key===null?G:W.key),y=n(W,y,G),w===null?p=W:w.sibling=W,w=W);return l&&U.forEach(function(wd){return t(s,wd)}),K&&Ct(s,G),p}function el(s,y,m,z){if(typeof m=="object"&&m!==null&&m.type===Bl&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Wl:l:{for(var p=m.key;y!==null;){if(y.key===p){if(p=m.type,p===Bl){if(y.tag===7){u(s,y.sibling),z=e(y,m.props.children),z.return=s,s=z;break l}}else if(y.elementType===p||typeof p=="object"&&p!==null&&p.$$typeof===Xl&&Bu(p)===y.type){u(s,y.sibling),z=e(y,m.props),Ja(z,m),z.return=s,s=z;break l}u(s,y);break}else t(s,y);y=y.sibling}m.type===Bl?(z=pu(m.props.children,s.mode,z,m.key),z.return=s,s=z):(z=Ze(m.type,m.key,m.props,null,s.mode,z),Ja(z,m),z.return=s,s=z)}return f(s);case jl:l:{for(p=m.key;y!==null;){if(y.key===p)if(y.tag===4&&y.stateNode.containerInfo===m.containerInfo&&y.stateNode.implementation===m.implementation){u(s,y.sibling),z=e(y,m.children||[]),z.return=s,s=z;break l}else{u(s,y);break}else t(s,y);y=y.sibling}z=rf(m,s.mode,z),z.return=s,s=z}return f(s);case Xl:return m=Bu(m),el(s,y,m,z)}if(gt(m))return M(s,y,m,z);if(Ql(m)){if(p=Ql(m),typeof p!="function")throw Error(o(150));return m=p.call(m),R(s,y,m,z)}if(typeof m.then=="function")return el(s,y,We(m),z);if(m.$$typeof===Rl)return el(s,y,Le(s,m),z);$e(s,m)}return typeof m=="string"&&m!==""||typeof m=="number"||typeof m=="bigint"?(m=""+m,y!==null&&y.tag===6?(u(s,y.sibling),z=e(y,m),z.return=s,s=z):(u(s,y),z=Af(m,s.mode,z),z.return=s,s=z),f(s)):u(s,y)}return function(s,y,m,z){try{Ka=0;var p=el(s,y,m,z);return ya=null,p}catch(U){if(U===ia||U===Je)throw U;var w=lt(29,U,null,s.mode);return w.lanes=z,w.return=s,w}}}var Yu=U0(!0),p0=U0(!1),au=!1;function Cf(l){l.updateQueue={baseState:l.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Yf(l,t){l=l.updateQueue,t.updateQueue===l&&(t.updateQueue={baseState:l.baseState,firstBaseUpdate:l.firstBaseUpdate,lastBaseUpdate:l.lastBaseUpdate,shared:l.shared,callbacks:null})}function eu(l){return{lane:l,tag:0,payload:null,callback:null,next:null}}function nu(l,t,u){var a=l.updateQueue;if(a===null)return null;if(a=a.shared,(F&2)!==0){var e=a.pending;return e===null?t.next=t:(t.next=e.next,e.next=t),a.pending=t,t=Qe(l),m0(l,null,u),t}return Xe(l,a,t,u),Qe(l)}function wa(l,t,u){if(t=t.updateQueue,t!==null&&(t=t.shared,(u&4194048)!==0)){var a=t.lanes;a&=l.pendingLanes,u|=a,t.lanes=u,Ei(l,u)}}function jf(l,t){var u=l.updateQueue,a=l.alternate;if(a!==null&&(a=a.updateQueue,u===a)){var e=null,n=null;if(u=u.firstBaseUpdate,u!==null){do{var f={lane:u.lane,tag:u.tag,payload:u.payload,callback:null,next:null};n===null?e=n=f:n=n.next=f,u=u.next}while(u!==null);n===null?e=n=t:n=n.next=t}else e=n=t;u={baseState:a.baseState,firstBaseUpdate:e,lastBaseUpdate:n,shared:a.shared,callbacks:a.callbacks},l.updateQueue=u;return}l=u.lastBaseUpdate,l===null?u.firstBaseUpdate=t:l.next=t,u.lastBaseUpdate=t}var Gf=!1;function Wa(){if(Gf){var l=ca;if(l!==null)throw l}}function $a(l,t,u,a){Gf=!1;var e=l.updateQueue;au=!1;var n=e.firstBaseUpdate,f=e.lastBaseUpdate,c=e.shared.pending;if(c!==null){e.shared.pending=null;var i=c,d=i.next;i.next=null,f===null?n=d:f.next=d,f=i;var g=l.alternate;g!==null&&(g=g.updateQueue,c=g.lastBaseUpdate,c!==f&&(c===null?g.firstBaseUpdate=d:c.next=d,g.lastBaseUpdate=i))}if(n!==null){var E=e.baseState;f=0,g=d=i=null,c=n;do{var h=c.lane&-536870913,S=h!==c.lane;if(S?(x&h)===h:(a&h)===h){h!==0&&h===fa&&(Gf=!0),g!==null&&(g=g.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});l:{var M=l,R=c;h=t;var el=u;switch(R.tag){case 1:if(M=R.payload,typeof M=="function"){E=M.call(el,E,h);break l}E=M;break l;case 3:M.flags=M.flags&-65537|128;case 0:if(M=R.payload,h=typeof M=="function"?M.call(el,E,h):M,h==null)break l;E=q({},E,h);break l;case 2:au=!0}}h=c.callback,h!==null&&(l.flags|=64,S&&(l.flags|=8192),S=e.callbacks,S===null?e.callbacks=[h]:S.push(h))}else S={lane:h,tag:c.tag,payload:c.payload,callback:c.callback,next:null},g===null?(d=g=S,i=E):g=g.next=S,f|=h;if(c=c.next,c===null){if(c=e.shared.pending,c===null)break;S=c,c=S.next,S.next=null,e.lastBaseUpdate=S,e.shared.pending=null}}while(!0);g===null&&(i=E),e.baseState=i,e.firstBaseUpdate=d,e.lastBaseUpdate=g,n===null&&(e.shared.lanes=0),vu|=f,l.lanes=f,l.memoizedState=E}}function H0(l,t){if(typeof l!="function")throw Error(o(191,l));l.call(t)}function N0(l,t){var u=l.callbacks;if(u!==null)for(l.callbacks=null,l=0;ln?n:8;var f=b.T,c={};b.T=c,ac(l,!1,t,u);try{var i=e(),d=b.S;if(d!==null&&d(c,i),i!==null&&typeof i=="object"&&typeof i.then=="function"){var g=Ym(i,a);Ia(l,t,g,nt(l))}else Ia(l,t,a,nt(l))}catch(E){Ia(l,t,{then:function(){},status:"rejected",reason:E},nt())}finally{r.p=n,f!==null&&c.types!==null&&(f.types=c.types),b.T=f}}function xm(){}function tc(l,t,u,a){if(l.tag!==5)throw Error(o(476));var e=yy(l).queue;iy(l,e,t,B,u===null?xm:function(){return vy(l),u(a)})}function yy(l){var t=l.memoizedState;if(t!==null)return t;t={memoizedState:B,baseState:B,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xt,lastRenderedState:B},next:null};var u={};return t.next={memoizedState:u,baseState:u,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xt,lastRenderedState:u},next:null},l.memoizedState=t,l=l.alternate,l!==null&&(l.memoizedState=t),t}function vy(l){var t=yy(l);t.next===null&&(t=l.alternate.memoizedState),Ia(l,t.next.queue,{},nt())}function uc(){return pl(oe)}function sy(){return bl().memoizedState}function my(){return bl().memoizedState}function Vm(l){for(var t=l.return;t!==null;){switch(t.tag){case 24:case 3:var u=nt();l=eu(u);var a=nu(t,l,u);a!==null&&(wl(a,t,u),wa(a,t,u)),t={cache:Nf()},l.payload=t;return}t=t.return}}function Lm(l,t,u){var a=nt();u={lane:a,revertLane:0,gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},nn(l)?hy(t,u):(u=Ef(l,t,u,a),u!==null&&(wl(u,l,a),oy(u,t,a)))}function dy(l,t,u){var a=nt();Ia(l,t,u,a)}function Ia(l,t,u,a){var e={lane:a,revertLane:0,gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null};if(nn(l))hy(t,e);else{var n=l.alternate;if(l.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var f=t.lastRenderedState,c=n(f,u);if(e.hasEagerState=!0,e.eagerState=c,Pl(c,f))return Xe(l,t,e,0),fl===null&&Ge(),!1}catch{}if(u=Ef(l,t,e,a),u!==null)return wl(u,l,a),oy(u,t,a),!0}return!1}function ac(l,t,u,a){if(a={lane:2,revertLane:Cc(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},nn(l)){if(t)throw Error(o(479))}else t=Ef(l,u,a,2),t!==null&&wl(t,l,2)}function nn(l){var t=l.alternate;return l===j||t!==null&&t===j}function hy(l,t){sa=Ie=!0;var u=l.pending;u===null?t.next=t:(t.next=u.next,u.next=t),l.pending=t}function oy(l,t,u){if((u&4194048)!==0){var a=t.lanes;a&=l.pendingLanes,u|=a,t.lanes=u,Ei(l,u)}}var Pa={readContext:pl,use:tn,useCallback:hl,useContext:hl,useEffect:hl,useImperativeHandle:hl,useLayoutEffect:hl,useInsertionEffect:hl,useMemo:hl,useReducer:hl,useRef:hl,useState:hl,useDebugValue:hl,useDeferredValue:hl,useTransition:hl,useSyncExternalStore:hl,useId:hl,useHostTransitionStatus:hl,useFormState:hl,useActionState:hl,useOptimistic:hl,useMemoCache:hl,useCacheRefresh:hl};Pa.useEffectEvent=hl;var Sy={readContext:pl,use:tn,useCallback:function(l,t){return Yl().memoizedState=[l,t===void 0?null:t],l},useContext:pl,useEffect:P0,useImperativeHandle:function(l,t,u){u=u!=null?u.concat([l]):null,an(4194308,4,ay.bind(null,t,l),u)},useLayoutEffect:function(l,t){return an(4194308,4,l,t)},useInsertionEffect:function(l,t){an(4,2,l,t)},useMemo:function(l,t){var u=Yl();t=t===void 0?null:t;var a=l();if(ju){Ft(!0);try{l()}finally{Ft(!1)}}return u.memoizedState=[a,t],a},useReducer:function(l,t,u){var a=Yl();if(u!==void 0){var e=u(t);if(ju){Ft(!0);try{u(t)}finally{Ft(!1)}}}else e=t;return a.memoizedState=a.baseState=e,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:e},a.queue=l,l=l.dispatch=Lm.bind(null,j,l),[a.memoizedState,l]},useRef:function(l){var t=Yl();return l={current:l},t.memoizedState=l},useState:function(l){l=Ff(l);var t=l.queue,u=dy.bind(null,j,t);return t.dispatch=u,[l.memoizedState,u]},useDebugValue:Pf,useDeferredValue:function(l,t){var u=Yl();return lc(u,l,t)},useTransition:function(){var l=Ff(!1);return l=iy.bind(null,j,l.queue,!0,!1),Yl().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,t,u){var a=j,e=Yl();if(K){if(u===void 0)throw Error(o(407));u=u()}else{if(u=t(),fl===null)throw Error(o(349));(x&127)!==0||j0(a,t,u)}e.memoizedState=u;var n={value:u,getSnapshot:t};return e.queue=n,P0(X0.bind(null,a,n,l),[l]),a.flags|=2048,da(9,{destroy:void 0},G0.bind(null,a,n,u,t),null),u},useId:function(){var l=Yl(),t=fl.identifierPrefix;if(K){var u=Mt,a=Ot;u=(a&~(1<<32-Il(a)-1)).toString(32)+u,t="_"+t+"R_"+u,u=Pe++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof a.is=="string"?f.createElement("select",{is:a.is}):f.createElement("select"),a.multiple?n.multiple=!0:a.size&&(n.size=a.size);break;default:n=typeof a.is=="string"?f.createElement(e,{is:a.is}):f.createElement(e)}}n[Dl]=t,n[Zl]=a;l:for(f=t.child;f!==null;){if(f.tag===5||f.tag===6)n.appendChild(f.stateNode);else if(f.tag!==4&&f.tag!==27&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===t)break l;for(;f.sibling===null;){if(f.return===null||f.return===t)break l;f=f.return}f.sibling.return=f.return,f=f.sibling}t.stateNode=n;l:switch(Nl(n,e,a),e){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break l;case"img":a=!0;break l;default:a=!1}a&&Zt(t)}}return il(t),gc(t,t.type,l===null?null:l.memoizedProps,t.pendingProps,u),null;case 6:if(l&&t.stateNode!=null)l.memoizedProps!==a&&Zt(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(o(166));if(l=X.current,ea(t)){if(l=t.stateNode,u=t.memoizedProps,a=null,e=Ul,e!==null)switch(e.tag){case 27:case 5:a=e.memoizedProps}l[Dl]=t,l=!!(l.nodeValue===u||a!==null&&a.suppressHydrationWarning===!0||Cv(l.nodeValue,u)),l||tu(t,!0)}else l=Mn(l).createTextNode(a),l[Dl]=t,t.stateNode=l}return il(t),null;case 31:if(u=t.memoizedState,l===null||l.memoizedState!==null){if(a=ea(t),u!==null){if(l===null){if(!a)throw Error(o(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(o(557));l[Dl]=t}else Hu(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;il(t),l=!1}else u=Df(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=u),l=!0;if(!l)return t.flags&256?(ut(t),t):(ut(t),null);if((t.flags&128)!==0)throw Error(o(558))}return il(t),null;case 13:if(a=t.memoizedState,l===null||l.memoizedState!==null&&l.memoizedState.dehydrated!==null){if(e=ea(t),a!==null&&a.dehydrated!==null){if(l===null){if(!e)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));e[Dl]=t}else Hu(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;il(t),e=!1}else e=Df(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=e),e=!0;if(!e)return t.flags&256?(ut(t),t):(ut(t),null)}return ut(t),(t.flags&128)!==0?(t.lanes=u,t):(u=a!==null,l=l!==null&&l.memoizedState!==null,u&&(a=t.child,e=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(e=a.alternate.memoizedState.cachePool.pool),n=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(n=a.memoizedState.cachePool.pool),n!==e&&(a.flags|=2048)),u!==l&&u&&(t.child.flags|=8192),sn(t,t.updateQueue),il(t),null);case 4:return Sl(),l===null&&Xc(t.stateNode.containerInfo),il(t),null;case 10:return jt(t.type),il(t),null;case 19:if(T(gl),a=t.memoizedState,a===null)return il(t),null;if(e=(t.flags&128)!==0,n=a.rendering,n===null)if(e)te(a,!1);else{if(ol!==0||l!==null&&(l.flags&128)!==0)for(l=t.child;l!==null;){if(n=ke(l),n!==null){for(t.flags|=128,te(a,!1),l=n.updateQueue,t.updateQueue=l,sn(t,l),t.subtreeFlags=0,l=u,u=t.child;u!==null;)d0(u,l),u=u.sibling;return _(gl,gl.current&1|2),K&&Ct(t,a.treeForkCount),t.child}l=l.sibling}a.tail!==null&&Fl()>Sn&&(t.flags|=128,e=!0,te(a,!1),t.lanes=4194304)}else{if(!e)if(l=ke(n),l!==null){if(t.flags|=128,e=!0,l=l.updateQueue,t.updateQueue=l,sn(t,l),te(a,!0),a.tail===null&&a.tailMode==="hidden"&&!n.alternate&&!K)return il(t),null}else 2*Fl()-a.renderingStartTime>Sn&&u!==536870912&&(t.flags|=128,e=!0,te(a,!1),t.lanes=4194304);a.isBackwards?(n.sibling=t.child,t.child=n):(l=a.last,l!==null?l.sibling=n:t.child=n,a.last=n)}return a.tail!==null?(l=a.tail,a.rendering=l,a.tail=l.sibling,a.renderingStartTime=Fl(),l.sibling=null,u=gl.current,_(gl,e?u&1|2:u&1),K&&Ct(t,a.treeForkCount),l):(il(t),null);case 22:case 23:return ut(t),Qf(),a=t.memoizedState!==null,l!==null?l.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(u&536870912)!==0&&(t.flags&128)===0&&(il(t),t.subtreeFlags&6&&(t.flags|=8192)):il(t),u=t.updateQueue,u!==null&&sn(t,u.retryQueue),u=null,l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==u&&(t.flags|=2048),l!==null&&T(qu),null;case 24:return u=null,l!==null&&(u=l.memoizedState.cache),t.memoizedState.cache!==u&&(t.flags|=2048),jt(zl),il(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function $m(l,t){switch(Of(t),t.tag){case 1:return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 3:return jt(zl),Sl(),l=t.flags,(l&65536)!==0&&(l&128)===0?(t.flags=l&-65537|128,t):null;case 26:case 27:case 5:return Te(t),null;case 31:if(t.memoizedState!==null){if(ut(t),t.alternate===null)throw Error(o(340));Hu()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 13:if(ut(t),l=t.memoizedState,l!==null&&l.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Hu()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 19:return T(gl),null;case 4:return Sl(),null;case 10:return jt(t.type),null;case 22:case 23:return ut(t),Qf(),l!==null&&T(qu),l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 24:return jt(zl),null;case 25:return null;default:return null}}function Qy(l,t){switch(Of(t),t.tag){case 3:jt(zl),Sl();break;case 26:case 27:case 5:Te(t);break;case 4:Sl();break;case 31:t.memoizedState!==null&&ut(t);break;case 13:ut(t);break;case 19:T(gl);break;case 10:jt(t.type);break;case 22:case 23:ut(t),Qf(),l!==null&&T(qu);break;case 24:jt(zl)}}function ue(l,t){try{var u=t.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var e=a.next;u=e;do{if((u.tag&l)===l){a=void 0;var n=u.create,f=u.inst;a=n(),f.destroy=a}u=u.next}while(u!==e)}}catch(c){ll(t,t.return,c)}}function iu(l,t,u){try{var a=t.updateQueue,e=a!==null?a.lastEffect:null;if(e!==null){var n=e.next;a=n;do{if((a.tag&l)===l){var f=a.inst,c=f.destroy;if(c!==void 0){f.destroy=void 0,e=t;var i=u,d=c;try{d()}catch(g){ll(e,i,g)}}}a=a.next}while(a!==n)}}catch(g){ll(t,t.return,g)}}function Zy(l){var t=l.updateQueue;if(t!==null){var u=l.stateNode;try{N0(t,u)}catch(a){ll(l,l.return,a)}}}function xy(l,t,u){u.props=Gu(l.type,l.memoizedProps),u.state=l.memoizedState;try{u.componentWillUnmount()}catch(a){ll(l,t,a)}}function ae(l,t){try{var u=l.ref;if(u!==null){switch(l.tag){case 26:case 27:case 5:var a=l.stateNode;break;case 30:a=l.stateNode;break;default:a=l.stateNode}typeof u=="function"?l.refCleanup=u(a):u.current=a}}catch(e){ll(l,t,e)}}function Dt(l,t){var u=l.ref,a=l.refCleanup;if(u!==null)if(typeof a=="function")try{a()}catch(e){ll(l,t,e)}finally{l.refCleanup=null,l=l.alternate,l!=null&&(l.refCleanup=null)}else if(typeof u=="function")try{u(null)}catch(e){ll(l,t,e)}else u.current=null}function Vy(l){var t=l.type,u=l.memoizedProps,a=l.stateNode;try{l:switch(t){case"button":case"input":case"select":case"textarea":u.autoFocus&&a.focus();break l;case"img":u.src?a.src=u.src:u.srcSet&&(a.srcset=u.srcSet)}}catch(e){ll(l,l.return,e)}}function bc(l,t,u){try{var a=l.stateNode;gd(a,l.type,u,t),a[Zl]=t}catch(e){ll(l,l.return,e)}}function Ly(l){return l.tag===5||l.tag===3||l.tag===26||l.tag===27&&ou(l.type)||l.tag===4}function zc(l){l:for(;;){for(;l.sibling===null;){if(l.return===null||Ly(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.tag===27&&ou(l.type)||l.flags&2||l.child===null||l.tag===4)continue l;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Ec(l,t,u){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?(u.nodeType===9?u.body:u.nodeName==="HTML"?u.ownerDocument.body:u).insertBefore(l,t):(t=u.nodeType===9?u.body:u.nodeName==="HTML"?u.ownerDocument.body:u,t.appendChild(l),u=u._reactRootContainer,u!=null||t.onclick!==null||(t.onclick=Rt));else if(a!==4&&(a===27&&ou(l.type)&&(u=l.stateNode,t=null),l=l.child,l!==null))for(Ec(l,t,u),l=l.sibling;l!==null;)Ec(l,t,u),l=l.sibling}function mn(l,t,u){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?u.insertBefore(l,t):u.appendChild(l);else if(a!==4&&(a===27&&ou(l.type)&&(u=l.stateNode),l=l.child,l!==null))for(mn(l,t,u),l=l.sibling;l!==null;)mn(l,t,u),l=l.sibling}function Ky(l){var t=l.stateNode,u=l.memoizedProps;try{for(var a=l.type,e=t.attributes;e.length;)t.removeAttributeNode(e[0]);Nl(t,a,u),t[Dl]=l,t[Zl]=u}catch(n){ll(l,l.return,n)}}var xt=!1,Al=!1,Tc=!1,Jy=typeof WeakSet=="function"?WeakSet:Set,Ol=null;function Fm(l,t){if(l=l.containerInfo,xc=qn,l=e0(l),hf(l)){if("selectionStart"in l)var u={start:l.selectionStart,end:l.selectionEnd};else l:{u=(u=l.ownerDocument)&&u.defaultView||window;var a=u.getSelection&&u.getSelection();if(a&&a.rangeCount!==0){u=a.anchorNode;var e=a.anchorOffset,n=a.focusNode;a=a.focusOffset;try{u.nodeType,n.nodeType}catch{u=null;break l}var f=0,c=-1,i=-1,d=0,g=0,E=l,h=null;t:for(;;){for(var S;E!==u||e!==0&&E.nodeType!==3||(c=f+e),E!==n||a!==0&&E.nodeType!==3||(i=f+a),E.nodeType===3&&(f+=E.nodeValue.length),(S=E.firstChild)!==null;)h=E,E=S;for(;;){if(E===l)break t;if(h===u&&++d===e&&(c=f),h===n&&++g===a&&(i=f),(S=E.nextSibling)!==null)break;E=h,h=E.parentNode}E=S}u=c===-1||i===-1?null:{start:c,end:i}}else u=null}u=u||{start:0,end:0}}else u=null;for(Vc={focusedElem:l,selectionRange:u},qn=!1,Ol=t;Ol!==null;)if(t=Ol,l=t.child,(t.subtreeFlags&1028)!==0&&l!==null)l.return=t,Ol=l;else for(;Ol!==null;){switch(t=Ol,n=t.alternate,l=t.flags,t.tag){case 0:if((l&4)!==0&&(l=t.updateQueue,l=l!==null?l.events:null,l!==null))for(u=0;u title"))),Nl(n,a,u),n[Dl]=l,_l(n),a=n;break l;case"link":var f=Iv("link","href",e).get(a+(u.href||""));if(f){for(var c=0;cel&&(f=el,el=R,R=f);var s=u0(c,R),y=u0(c,el);if(s&&y&&(S.rangeCount!==1||S.anchorNode!==s.node||S.anchorOffset!==s.offset||S.focusNode!==y.node||S.focusOffset!==y.offset)){var m=E.createRange();m.setStart(s.node,s.offset),S.removeAllRanges(),R>el?(S.addRange(m),S.extend(y.node,y.offset)):(m.setEnd(y.node,y.offset),S.addRange(m))}}}}for(E=[],S=c;S=S.parentNode;)S.nodeType===1&&E.push({element:S,left:S.scrollLeft,top:S.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;cu?32:u,b.T=null,u=Uc,Uc=null;var n=mu,f=wt;if(rl=0,ba=mu=null,wt=0,(F&6)!==0)throw Error(o(331));var c=F;if(F|=4,av(n.current),lv(n,n.current,f,u),F=c,ye(0,!1),kl&&typeof kl.onPostCommitFiberRoot=="function")try{kl.onPostCommitFiberRoot(Da,n)}catch{}return!0}finally{r.p=e,b.T=a,Tv(l,t)}}function rv(l,t,u){t=vt(u,t),t=cc(l.stateNode,t,2),l=nu(l,t,2),l!==null&&(pa(l,2),Ut(l))}function ll(l,t,u){if(l.tag===3)rv(l,l,u);else for(;t!==null;){if(t.tag===3){rv(t,l,u);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(su===null||!su.has(a))){l=vt(u,l),u=_y(2),a=nu(t,u,2),a!==null&&(Oy(u,a,t,l),pa(a,2),Ut(a));break}}t=t.return}}function Rc(l,t,u){var a=l.pingCache;if(a===null){a=l.pingCache=new Pm;var e=new Set;a.set(t,e)}else e=a.get(t),e===void 0&&(e=new Set,a.set(t,e));e.has(u)||(_c=!0,e.add(u),l=ed.bind(null,l,t,u),t.then(l,l))}function ed(l,t,u){var a=l.pingCache;a!==null&&a.delete(t),l.pingedLanes|=l.suspendedLanes&u,l.warmLanes&=~u,fl===l&&(x&u)===u&&(ol===4||ol===3&&(x&62914560)===x&&300>Fl()-on?(F&2)===0&&za(l,0):Oc|=u,ga===x&&(ga=0)),Ut(l)}function _v(l,t){t===0&&(t=bi()),l=Uu(l,t),l!==null&&(pa(l,t),Ut(l))}function nd(l){var t=l.memoizedState,u=0;t!==null&&(u=t.retryLane),_v(l,u)}function fd(l,t){var u=0;switch(l.tag){case 31:case 13:var a=l.stateNode,e=l.memoizedState;e!==null&&(u=e.retryLane);break;case 19:a=l.stateNode;break;case 22:a=l.stateNode._retryCache;break;default:throw Error(o(314))}a!==null&&a.delete(t),_v(l,u)}function cd(l,t){return Ln(l,t)}var An=null,Ta=null,qc=!1,rn=!1,Bc=!1,hu=0;function Ut(l){l!==Ta&&l.next===null&&(Ta===null?An=Ta=l:Ta=Ta.next=l),rn=!0,qc||(qc=!0,yd())}function ye(l,t){if(!Bc&&rn){Bc=!0;do for(var u=!1,a=An;a!==null;){if(l!==0){var e=a.pendingLanes;if(e===0)var n=0;else{var f=a.suspendedLanes,c=a.pingedLanes;n=(1<<31-Il(42|l)+1)-1,n&=e&~(f&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(u=!0,Uv(a,n))}else n=x,n=Me(a,a===fl?n:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(n&3)===0||Ua(a,n)||(u=!0,Uv(a,n));a=a.next}while(u);Bc=!1}}function id(){Ov()}function Ov(){rn=qc=!1;var l=0;hu!==0&&zd()&&(l=hu);for(var t=Fl(),u=null,a=An;a!==null;){var e=a.next,n=Mv(a,t);n===0?(a.next=null,u===null?An=e:u.next=e,e===null&&(Ta=u)):(u=a,(l!==0||(n&3)!==0)&&(rn=!0)),a=e}rl!==0&&rl!==5||ye(l),hu!==0&&(hu=0)}function Mv(l,t){for(var u=l.suspendedLanes,a=l.pingedLanes,e=l.expirationTimes,n=l.pendingLanes&-62914561;0c)break;var g=i.transferSize,E=i.initiatorType;g&&Yv(E)&&(i=i.responseEnd,f+=g*(i"u"?null:document;function Wv(l,t,u){var a=Aa;if(a&&typeof t=="string"&&t){var e=it(t);e='link[rel="'+l+'"][href="'+e+'"]',typeof u=="string"&&(e+='[crossorigin="'+u+'"]'),wv.has(e)||(wv.add(e),l={rel:l,crossOrigin:u,href:t},a.querySelector(e)===null&&(t=a.createElement("link"),Nl(t,"link",l),_l(t),a.head.appendChild(t)))}}function Ud(l){Wt.D(l),Wv("dns-prefetch",l,null)}function pd(l,t){Wt.C(l,t),Wv("preconnect",l,t)}function Hd(l,t,u){Wt.L(l,t,u);var a=Aa;if(a&&l&&t){var e='link[rel="preload"][as="'+it(t)+'"]';t==="image"&&u&&u.imageSrcSet?(e+='[imagesrcset="'+it(u.imageSrcSet)+'"]',typeof u.imageSizes=="string"&&(e+='[imagesizes="'+it(u.imageSizes)+'"]')):e+='[href="'+it(l)+'"]';var n=e;switch(t){case"style":n=ra(l);break;case"script":n=_a(l)}St.has(n)||(l=q({rel:"preload",href:t==="image"&&u&&u.imageSrcSet?void 0:l,as:t},u),St.set(n,l),a.querySelector(e)!==null||t==="style"&&a.querySelector(de(n))||t==="script"&&a.querySelector(he(n))||(t=a.createElement("link"),Nl(t,"link",l),_l(t),a.head.appendChild(t)))}}function Nd(l,t){Wt.m(l,t);var u=Aa;if(u&&l){var a=t&&typeof t.as=="string"?t.as:"script",e='link[rel="modulepreload"][as="'+it(a)+'"][href="'+it(l)+'"]',n=e;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=_a(l)}if(!St.has(n)&&(l=q({rel:"modulepreload",href:l},t),St.set(n,l),u.querySelector(e)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(u.querySelector(he(n)))return}a=u.createElement("link"),Nl(a,"link",l),_l(a),u.head.appendChild(a)}}}function Rd(l,t,u){Wt.S(l,t,u);var a=Aa;if(a&&l){var e=Ku(a).hoistableStyles,n=ra(l);t=t||"default";var f=e.get(n);if(!f){var c={loading:0,preload:null};if(f=a.querySelector(de(n)))c.loading=5;else{l=q({rel:"stylesheet",href:l,"data-precedence":t},u),(u=St.get(n))&&Fc(l,u);var i=f=a.createElement("link");_l(i),Nl(i,"link",l),i._p=new Promise(function(d,g){i.onload=d,i.onerror=g}),i.addEventListener("load",function(){c.loading|=1}),i.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Un(f,t,a)}f={type:"stylesheet",instance:f,count:1,state:c},e.set(n,f)}}}function qd(l,t){Wt.X(l,t);var u=Aa;if(u&&l){var a=Ku(u).hoistableScripts,e=_a(l),n=a.get(e);n||(n=u.querySelector(he(e)),n||(l=q({src:l,async:!0},t),(t=St.get(e))&&kc(l,t),n=u.createElement("script"),_l(n),Nl(n,"link",l),u.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(e,n))}}function Bd(l,t){Wt.M(l,t);var u=Aa;if(u&&l){var a=Ku(u).hoistableScripts,e=_a(l),n=a.get(e);n||(n=u.querySelector(he(e)),n||(l=q({src:l,async:!0,type:"module"},t),(t=St.get(e))&&kc(l,t),n=u.createElement("script"),_l(n),Nl(n,"link",l),u.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(e,n))}}function $v(l,t,u,a){var e=(e=X.current)?Dn(e):null;if(!e)throw Error(o(446));switch(l){case"meta":case"title":return null;case"style":return typeof u.precedence=="string"&&typeof u.href=="string"?(t=ra(u.href),u=Ku(e).hoistableStyles,a=u.get(t),a||(a={type:"style",instance:null,count:0,state:null},u.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(u.rel==="stylesheet"&&typeof u.href=="string"&&typeof u.precedence=="string"){l=ra(u.href);var n=Ku(e).hoistableStyles,f=n.get(l);if(f||(e=e.ownerDocument||e,f={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(l,f),(n=e.querySelector(de(l)))&&!n._p&&(f.instance=n,f.state.loading=5),St.has(l)||(u={rel:"preload",as:"style",href:u.href,crossOrigin:u.crossOrigin,integrity:u.integrity,media:u.media,hrefLang:u.hrefLang,referrerPolicy:u.referrerPolicy},St.set(l,u),n||Cd(e,l,u,f.state))),t&&a===null)throw Error(o(528,""));return f}if(t&&a!==null)throw Error(o(529,""));return null;case"script":return t=u.async,u=u.src,typeof u=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=_a(u),u=Ku(e).hoistableScripts,a=u.get(t),a||(a={type:"script",instance:null,count:0,state:null},u.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,l))}}function ra(l){return'href="'+it(l)+'"'}function de(l){return'link[rel="stylesheet"]['+l+"]"}function Fv(l){return q({},l,{"data-precedence":l.precedence,precedence:null})}function Cd(l,t,u,a){l.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=l.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Nl(t,"link",u),_l(t),l.head.appendChild(t))}function _a(l){return'[src="'+it(l)+'"]'}function he(l){return"script[async]"+l}function kv(l,t,u){if(t.count++,t.instance===null)switch(t.type){case"style":var a=l.querySelector('style[data-href~="'+it(u.href)+'"]');if(a)return t.instance=a,_l(a),a;var e=q({},u,{"data-href":u.href,"data-precedence":u.precedence,href:null,precedence:null});return a=(l.ownerDocument||l).createElement("style"),_l(a),Nl(a,"style",e),Un(a,u.precedence,l),t.instance=a;case"stylesheet":e=ra(u.href);var n=l.querySelector(de(e));if(n)return t.state.loading|=4,t.instance=n,_l(n),n;a=Fv(u),(e=St.get(e))&&Fc(a,e),n=(l.ownerDocument||l).createElement("link"),_l(n);var f=n;return f._p=new Promise(function(c,i){f.onload=c,f.onerror=i}),Nl(n,"link",a),t.state.loading|=4,Un(n,u.precedence,l),t.instance=n;case"script":return n=_a(u.src),(e=l.querySelector(he(n)))?(t.instance=e,_l(e),e):(a=u,(e=St.get(n))&&(a=q({},u),kc(a,e)),l=l.ownerDocument||l,e=l.createElement("script"),_l(e),Nl(e,"link",a),l.head.appendChild(e),t.instance=e);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Un(a,u.precedence,l));return t.instance}function Un(l,t,u){for(var a=u.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),e=a.length?a[a.length-1]:null,n=e,f=0;f title"):null)}function Yd(l,t,u){if(u===1||t.itemProp!=null)return!1;switch(l){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(l=t.disabled,typeof t.precedence=="string"&&l==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function ls(l){return!(l.type==="stylesheet"&&(l.state.loading&3)===0)}function jd(l,t,u,a){if(u.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(u.state.loading&4)===0){if(u.instance===null){var e=ra(a.href),n=t.querySelector(de(e));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(l.count++,l=Hn.bind(l),t.then(l,l)),u.state.loading|=4,u.instance=n,_l(n);return}n=t.ownerDocument||t,a=Fv(a),(e=St.get(e))&&Fc(a,e),n=n.createElement("link"),_l(n);var f=n;f._p=new Promise(function(c,i){f.onload=c,f.onerror=i}),Nl(n,"link",a),u.instance=n}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(u,t),(t=u.state.preload)&&(u.state.loading&3)===0&&(l.count++,u=Hn.bind(l),t.addEventListener("load",u),t.addEventListener("error",u))}}var Ic=0;function Gd(l,t){return l.stylesheets&&l.count===0&&Rn(l,l.stylesheets),0Ic?50:800)+t);return l.unsuspend=u,function(){l.unsuspend=null,clearTimeout(a),clearTimeout(e)}}:null}function Hn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Rn(this,this.stylesheets);else if(this.unsuspend){var l=this.unsuspend;this.unsuspend=null,l()}}}var Nn=null;function Rn(l,t){l.stylesheets=null,l.unsuspend!==null&&(l.count++,Nn=new Map,t.forEach(Xd,l),Nn=null,Hn.call(l))}function Xd(l,t){if(!(t.state.loading&4)){var u=Nn.get(l);if(u)var a=u.get(null);else{u=new Map,Nn.set(l,u);for(var e=l.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(O)}catch(sl){console.error(sl)}}return O(),fi.exports=t1(),fi.exports}var a1=u1(),si=mi();function e1(){const[O,sl]=si.useState(null),[$,o]=si.useState(null);return si.useEffect(()=>{fetch("../react-compiler-report.json").then(N=>{if(!N.ok)throw new Error("Failed to load report JSON");return N.json()}).then(sl).catch(N=>o(String(N)))},[]),$?dl.jsxs("div",{style:Tt.page,children:[dl.jsx("h1",{children:"React Compiler Report"}),dl.jsx("p",{style:{color:"crimson"},children:$})]}):O?dl.jsxs("div",{style:Tt.page,children:[dl.jsx("h1",{children:"React Compiler Report"}),dl.jsxs("p",{style:Tt.meta,children:["Generated at ",new Date(O.generatedAt).toLocaleString()]}),dl.jsxs("div",{style:Tt.summary,children:[dl.jsxs("span",{children:["❌ ",O.totals.failed," failed"]}),dl.jsxs("span",{children:["✅ ",O.totals.ok," compiled"]}),dl.jsxs("span",{children:["⚪ ",O.totals.other," other"]})]}),dl.jsx("h2",{children:"Failures"}),O.failures.length===0?dl.jsx("p",{children:"No compiler failures 🎉"}):O.failures.map((N,J)=>dl.jsxs("div",{style:Tt.card,children:[dl.jsxs("div",{style:Tt.file,children:["❌ ",N.filename," ",N.loc&&dl.jsx("span",{style:Tt.loc,children:N.loc})]}),dl.jsxs("div",{style:Tt.reason,children:[N.category," • ",N.reason]}),N.description&&dl.jsx("div",{style:Tt.description,children:N.description}),N.suggestions.length>0&&dl.jsx("ul",{style:Tt.suggestions,children:N.suggestions.map((ml,Ml)=>dl.jsx("li",{children:ml},Ml))})]},J))]}):dl.jsxs("div",{style:Tt.page,children:[dl.jsx("h1",{children:"React Compiler Report"}),dl.jsx("p",{children:"Loading…"})]})}const Tt={page:{fontFamily:"system-ui, sans-serif",padding:24,maxWidth:900,margin:"0 auto",color:"#111827"},meta:{color:"#6b7280",fontSize:14},summary:{display:"flex",gap:16,margin:"16px 0 24px",fontWeight:500},card:{background:"#f6f6f7",borderRadius:8,padding:12,marginBottom:12},file:{fontWeight:600,marginBottom:4},loc:{color:"#6b7280",marginLeft:6,fontSize:13},reason:{color:"#b91c1c",fontSize:14,marginBottom:6},description:{fontSize:14,marginBottom:6},suggestions:{margin:0,paddingLeft:18,fontSize:14}},_s=document.getElementById("root");if(!_s)throw new Error("Root element not found");a1.createRoot(_s).render(dl.jsx(e1,{}));
diff --git a/apps/playground/.react-compiler/report/ui/index.html b/apps/playground/.react-compiler/report/ui/index.html
new file mode 100644
index 0000000..3b1c9f7
--- /dev/null
+++ b/apps/playground/.react-compiler/report/ui/index.html
@@ -0,0 +1,295 @@
+
+
+
+
+
+ React Compiler Report
+
+
+
+
+
+
+
React Compiler Report
+
+
+
+
+
+
+
Components Optimized
+
0
+
+
+
Compilation Failures
+
0
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/playground/README.md b/apps/playground/README.md
new file mode 100644
index 0000000..d2e7761
--- /dev/null
+++ b/apps/playground/README.md
@@ -0,0 +1,73 @@
+# React + TypeScript + Vite
+
+This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
+
+Currently, two official plugins are available:
+
+- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
+- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
+
+## React Compiler
+
+The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
+
+## Expanding the ESLint configuration
+
+If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
+
+```js
+export default defineConfig([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ // Other configs...
+
+ // Remove tseslint.configs.recommended and replace with this
+ tseslint.configs.recommendedTypeChecked,
+ // Alternatively, use this for stricter rules
+ tseslint.configs.strictTypeChecked,
+ // Optionally, add this for stylistic rules
+ tseslint.configs.stylisticTypeChecked,
+
+ // Other configs...
+ ],
+ languageOptions: {
+ parserOptions: {
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
+ tsconfigRootDir: import.meta.dirname,
+ },
+ // other options...
+ },
+ },
+])
+```
+
+You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
+
+```js
+// eslint.config.js
+import reactX from 'eslint-plugin-react-x'
+import reactDom from 'eslint-plugin-react-dom'
+
+export default defineConfig([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ // Other configs...
+ // Enable lint rules for React
+ reactX.configs['recommended-typescript'],
+ // Enable lint rules for React DOM
+ reactDom.configs.recommended,
+ ],
+ languageOptions: {
+ parserOptions: {
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
+ tsconfigRootDir: import.meta.dirname,
+ },
+ // other options...
+ },
+ },
+])
+```
diff --git a/apps/playground/eslint.config.js b/apps/playground/eslint.config.js
new file mode 100644
index 0000000..5e6b472
--- /dev/null
+++ b/apps/playground/eslint.config.js
@@ -0,0 +1,23 @@
+import js from '@eslint/js'
+import globals from 'globals'
+import reactHooks from 'eslint-plugin-react-hooks'
+import reactRefresh from 'eslint-plugin-react-refresh'
+import tseslint from 'typescript-eslint'
+import { defineConfig, globalIgnores } from 'eslint/config'
+
+export default defineConfig([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ js.configs.recommended,
+ tseslint.configs.recommended,
+ reactHooks.configs.flat.recommended,
+ reactRefresh.configs.vite,
+ ],
+ languageOptions: {
+ ecmaVersion: 2020,
+ globals: globals.browser,
+ },
+ },
+])
diff --git a/apps/playground/index.html b/apps/playground/index.html
new file mode 100644
index 0000000..7c6adcb
--- /dev/null
+++ b/apps/playground/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ playground
+
+
+
+
+
+
diff --git a/apps/playground/package.json b/apps/playground/package.json
new file mode 100644
index 0000000..f59dd61
--- /dev/null
+++ b/apps/playground/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "playground",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc -b && vite build",
+ "lint": "eslint .",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "babel-plugin-react-compiler": "^1.0.0",
+ "react": "^19.2.0",
+ "react-compiler-runtime": "^1.0.0",
+ "react-dom": "^19.2.0",
+ "vite-plugin-babel": "^1.3.2",
+ "vite-plugin-react-compiler-report": "workspace:*"
+ },
+ "devDependencies": {
+ "@eslint/js": "^9.39.1",
+ "@types/react": "^19.2.5",
+ "@types/react-dom": "^19.2.3",
+ "@vitejs/plugin-react": "^5.1.1",
+ "eslint": "^9.39.1",
+ "eslint-plugin-react-hooks": "^7.0.1",
+ "eslint-plugin-react-refresh": "^0.4.24",
+ "globals": "^16.5.0",
+ "typescript": "~5.9.3",
+ "typescript-eslint": "^8.46.4",
+ "vite": "^7.3.0"
+ }
+}
diff --git a/apps/playground/public/vite.svg b/apps/playground/public/vite.svg
new file mode 100644
index 0000000..e7b8dfb
--- /dev/null
+++ b/apps/playground/public/vite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/playground/src/App.css b/apps/playground/src/App.css
new file mode 100644
index 0000000..b9d355d
--- /dev/null
+++ b/apps/playground/src/App.css
@@ -0,0 +1,42 @@
+#root {
+ max-width: 1280px;
+ margin: 0 auto;
+ padding: 2rem;
+ text-align: center;
+}
+
+.logo {
+ height: 6em;
+ padding: 1.5em;
+ will-change: filter;
+ transition: filter 300ms;
+}
+.logo:hover {
+ filter: drop-shadow(0 0 2em #646cffaa);
+}
+.logo.react:hover {
+ filter: drop-shadow(0 0 2em #61dafbaa);
+}
+
+@keyframes logo-spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+@media (prefers-reduced-motion: no-preference) {
+ a:nth-of-type(2) .logo {
+ animation: logo-spin infinite 20s linear;
+ }
+}
+
+.card {
+ padding: 2em;
+}
+
+.read-the-docs {
+ color: #888;
+}
diff --git a/apps/playground/src/App.tsx b/apps/playground/src/App.tsx
new file mode 100644
index 0000000..0f91f7e
--- /dev/null
+++ b/apps/playground/src/App.tsx
@@ -0,0 +1,21 @@
+
+import { useState } from "react";
+
+import "./App.css";
+import { FailingComponent } from "./FailingComponent";
+
+function App() {
+ const [x] = useState(0);
+
+ return (
+ <>
+ {x}
+
+
+
+
+ >
+ );
+}
+
+export default App;
diff --git a/apps/playground/src/FailingComponent.tsx b/apps/playground/src/FailingComponent.tsx
new file mode 100644
index 0000000..00ca3da
--- /dev/null
+++ b/apps/playground/src/FailingComponent.tsx
@@ -0,0 +1,12 @@
+import { useState } from "react";
+
+type Props = { value: number };
+
+export function FailingComponent({ value }: Props) {
+ if (value) {
+ const [x] = useState(value);
+ return {x} asd1
;
+ }
+
+ return disabled
;
+}
diff --git a/apps/playground/src/assets/react.svg b/apps/playground/src/assets/react.svg
new file mode 100644
index 0000000..6c87de9
--- /dev/null
+++ b/apps/playground/src/assets/react.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/playground/src/index.css b/apps/playground/src/index.css
new file mode 100644
index 0000000..08a3ac9
--- /dev/null
+++ b/apps/playground/src/index.css
@@ -0,0 +1,68 @@
+:root {
+ font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
+ line-height: 1.5;
+ font-weight: 400;
+
+ color-scheme: light dark;
+ color: rgba(255, 255, 255, 0.87);
+ background-color: #242424;
+
+ font-synthesis: none;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+a {
+ font-weight: 500;
+ color: #646cff;
+ text-decoration: inherit;
+}
+a:hover {
+ color: #535bf2;
+}
+
+body {
+ margin: 0;
+ display: flex;
+ place-items: center;
+ min-width: 320px;
+ min-height: 100vh;
+}
+
+h1 {
+ font-size: 3.2em;
+ line-height: 1.1;
+}
+
+button {
+ border-radius: 8px;
+ border: 1px solid transparent;
+ padding: 0.6em 1.2em;
+ font-size: 1em;
+ font-weight: 500;
+ font-family: inherit;
+ background-color: #1a1a1a;
+ cursor: pointer;
+ transition: border-color 0.25s;
+}
+button:hover {
+ border-color: #646cff;
+}
+button:focus,
+button:focus-visible {
+ outline: 4px auto -webkit-focus-ring-color;
+}
+
+@media (prefers-color-scheme: light) {
+ :root {
+ color: #213547;
+ background-color: #ffffff;
+ }
+ a:hover {
+ color: #747bff;
+ }
+ button {
+ background-color: #f9f9f9;
+ }
+}
diff --git a/apps/playground/src/main.tsx b/apps/playground/src/main.tsx
new file mode 100644
index 0000000..bef5202
--- /dev/null
+++ b/apps/playground/src/main.tsx
@@ -0,0 +1,10 @@
+import { StrictMode } from 'react'
+import { createRoot } from 'react-dom/client'
+import './index.css'
+import App from './App.tsx'
+
+createRoot(document.getElementById('root')!).render(
+
+
+ ,
+)
diff --git a/apps/playground/tsconfig.app.json b/apps/playground/tsconfig.app.json
new file mode 100644
index 0000000..a9b5a59
--- /dev/null
+++ b/apps/playground/tsconfig.app.json
@@ -0,0 +1,28 @@
+{
+ "compilerOptions": {
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
+ "target": "ES2022",
+ "useDefineForClassFields": true,
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "types": ["vite/client"],
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "verbatimModuleSyntax": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "erasableSyntaxOnly": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["src"]
+}
diff --git a/apps/playground/tsconfig.json b/apps/playground/tsconfig.json
new file mode 100644
index 0000000..1ffef60
--- /dev/null
+++ b/apps/playground/tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "files": [],
+ "references": [
+ { "path": "./tsconfig.app.json" },
+ { "path": "./tsconfig.node.json" }
+ ]
+}
diff --git a/apps/playground/tsconfig.node.json b/apps/playground/tsconfig.node.json
new file mode 100644
index 0000000..8a67f62
--- /dev/null
+++ b/apps/playground/tsconfig.node.json
@@ -0,0 +1,26 @@
+{
+ "compilerOptions": {
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
+ "target": "ES2023",
+ "lib": ["ES2023"],
+ "module": "ESNext",
+ "types": ["node"],
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "verbatimModuleSyntax": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "erasableSyntaxOnly": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/apps/playground/vite.config.ts b/apps/playground/vite.config.ts
new file mode 100644
index 0000000..5cce899
--- /dev/null
+++ b/apps/playground/vite.config.ts
@@ -0,0 +1,13 @@
+import react from "@vitejs/plugin-react";
+import { reactCompilerLogger, reactCompilerReport } from "vite-plugin-react-compiler-report";
+
+export default {
+ plugins: [
+ react({
+ babel: {
+ plugins: [["react-compiler", { logger: { logEvent: reactCompilerLogger } }]],
+ },
+ }),
+ reactCompilerReport({ ui: true}),
+ ],
+};
diff --git a/apps/web/.gitignore b/apps/web/.gitignore
deleted file mode 100644
index f886745..0000000
--- a/apps/web/.gitignore
+++ /dev/null
@@ -1,36 +0,0 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-.yarn/install-state.gz
-
-# testing
-/coverage
-
-# next.js
-/.next/
-/out/
-
-# production
-/build
-
-# misc
-.DS_Store
-*.pem
-
-# debug
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-# env files (can opt-in for commiting if needed)
-.env*
-
-# vercel
-.vercel
-
-# typescript
-*.tsbuildinfo
-next-env.d.ts
diff --git a/apps/web/README.md b/apps/web/README.md
deleted file mode 100644
index a98bfa8..0000000
--- a/apps/web/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/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 Inter, a custom Google Font.
-
-## 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/apps/web/app/favicon.ico b/apps/web/app/favicon.ico
deleted file mode 100644
index 718d6fe..0000000
Binary files a/apps/web/app/favicon.ico and /dev/null differ
diff --git a/apps/web/app/fonts/GeistMonoVF.woff b/apps/web/app/fonts/GeistMonoVF.woff
deleted file mode 100644
index f2ae185..0000000
Binary files a/apps/web/app/fonts/GeistMonoVF.woff and /dev/null differ
diff --git a/apps/web/app/fonts/GeistVF.woff b/apps/web/app/fonts/GeistVF.woff
deleted file mode 100644
index 1b62daa..0000000
Binary files a/apps/web/app/fonts/GeistVF.woff and /dev/null differ
diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css
deleted file mode 100644
index 6af7ecb..0000000
--- a/apps/web/app/globals.css
+++ /dev/null
@@ -1,50 +0,0 @@
-:root {
- --background: #ffffff;
- --foreground: #171717;
-}
-
-@media (prefers-color-scheme: dark) {
- :root {
- --background: #0a0a0a;
- --foreground: #ededed;
- }
-}
-
-html,
-body {
- max-width: 100vw;
- overflow-x: hidden;
-}
-
-body {
- color: var(--foreground);
- background: var(--background);
-}
-
-* {
- box-sizing: border-box;
- padding: 0;
- margin: 0;
-}
-
-a {
- color: inherit;
- text-decoration: none;
-}
-
-.imgDark {
- display: none;
-}
-
-@media (prefers-color-scheme: dark) {
- html {
- color-scheme: dark;
- }
-
- .imgLight {
- display: none;
- }
- .imgDark {
- display: unset;
- }
-}
diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx
deleted file mode 100644
index 8469537..0000000
--- a/apps/web/app/layout.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import type { Metadata } from "next";
-import localFont from "next/font/local";
-import "./globals.css";
-
-const geistSans = localFont({
- src: "./fonts/GeistVF.woff",
- variable: "--font-geist-sans",
-});
-const geistMono = localFont({
- src: "./fonts/GeistMonoVF.woff",
- variable: "--font-geist-mono",
-});
-
-export const metadata: Metadata = {
- title: "Create Next App",
- description: "Generated by create next app",
-};
-
-export default function RootLayout({
- children,
-}: Readonly<{
- children: React.ReactNode;
-}>) {
- return (
-
-
- {children}
-
-
- );
-}
diff --git a/apps/web/app/page.module.css b/apps/web/app/page.module.css
deleted file mode 100644
index 6108b60..0000000
--- a/apps/web/app/page.module.css
+++ /dev/null
@@ -1,186 +0,0 @@
-.page {
- --gray-rgb: 0, 0, 0;
- --gray-alpha-200: rgba(var(--gray-rgb), 0.08);
- --gray-alpha-100: rgba(var(--gray-rgb), 0.05);
-
- --button-primary-hover: #383838;
- --button-secondary-hover: #f2f2f2;
-
- display: grid;
- grid-template-rows: 20px 1fr 20px;
- align-items: center;
- justify-items: center;
- min-height: 100svh;
- padding: 80px;
- gap: 64px;
- font-synthesis: none;
-}
-
-@media (prefers-color-scheme: dark) {
- .page {
- --gray-rgb: 255, 255, 255;
- --gray-alpha-200: rgba(var(--gray-rgb), 0.145);
- --gray-alpha-100: rgba(var(--gray-rgb), 0.06);
-
- --button-primary-hover: #ccc;
- --button-secondary-hover: #1a1a1a;
- }
-}
-
-.main {
- display: flex;
- flex-direction: column;
- gap: 32px;
- grid-row-start: 2;
-}
-
-.main ol {
- font-family: var(--font-geist-mono);
- padding-left: 0;
- margin: 0;
- font-size: 14px;
- line-height: 24px;
- letter-spacing: -0.01em;
- list-style-position: inside;
-}
-
-.main li:not(:last-of-type) {
- margin-bottom: 8px;
-}
-
-.main code {
- font-family: inherit;
- background: var(--gray-alpha-100);
- padding: 2px 4px;
- border-radius: 4px;
- font-weight: 600;
-}
-
-.ctas {
- display: flex;
- gap: 16px;
-}
-
-.ctas a {
- appearance: none;
- border-radius: 128px;
- height: 48px;
- padding: 0 20px;
- font-family: var(--font-geist-sans);
- border: 1px solid transparent;
- transition: background 0.2s, color 0.2s, border-color 0.2s;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 16px;
- line-height: 20px;
- font-weight: 500;
-}
-
-a.primary {
- background: var(--foreground);
- color: var(--background);
- gap: 8px;
-}
-
-a.secondary {
- border-color: var(--gray-alpha-200);
- min-width: 180px;
-}
-
-button.secondary {
- appearance: none;
- border-radius: 128px;
- height: 48px;
- padding: 0 20px;
- font-family: var(--font-geist-sans);
- border: 1px solid transparent;
- transition: background 0.2s, color 0.2s, border-color 0.2s;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 16px;
- line-height: 20px;
- font-weight: 500;
- background: transparent;
- border-color: var(--gray-alpha-200);
- min-width: 180px;
-}
-
-.footer {
- font-family: var(--font-geist-sans);
- grid-row-start: 3;
- display: flex;
- gap: 24px;
-}
-
-.footer a {
- display: flex;
- align-items: center;
- gap: 8px;
-}
-
-.footer img {
- flex-shrink: 0;
-}
-
-/* Enable hover only on non-touch devices */
-@media (hover: hover) and (pointer: fine) {
- a.primary:hover {
- background: var(--button-primary-hover);
- border-color: transparent;
- }
-
- a.secondary:hover {
- background: var(--button-secondary-hover);
- border-color: transparent;
- }
-
- .footer a:hover {
- text-decoration: underline;
- text-underline-offset: 4px;
- }
-}
-
-@media (max-width: 600px) {
- .page {
- padding: 32px;
- padding-bottom: 80px;
- }
-
- .main {
- align-items: center;
- }
-
- .main ol {
- text-align: center;
- }
-
- .ctas {
- flex-direction: column;
- }
-
- .ctas a {
- font-size: 14px;
- height: 40px;
- padding: 0 16px;
- }
-
- a.secondary {
- min-width: auto;
- }
-
- .footer {
- flex-wrap: wrap;
- align-items: center;
- justify-content: center;
- }
-}
-
-@media (prefers-color-scheme: dark) {
- .logo {
- filter: invert();
- }
-}
diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx
deleted file mode 100644
index 1fee7e2..0000000
--- a/apps/web/app/page.tsx
+++ /dev/null
@@ -1,102 +0,0 @@
-import Image, { type ImageProps } from "next/image";
-import { Button } from "@repo/ui/button";
-import styles from "./page.module.css";
-
-type Props = Omit & {
- srcLight: string;
- srcDark: string;
-};
-
-const ThemeImage = (props: Props) => {
- const { srcLight, srcDark, ...rest } = props;
-
- return (
- <>
-
-
- >
- );
-};
-
-export default function Home() {
- return (
-
-
-
-
-
- Get started by editing apps/web/app/page.tsx
-
- Save and see your changes instantly.
-
-
-
-
- Open alert
-
-
-
-
- );
-}
diff --git a/apps/web/eslint.config.js b/apps/web/eslint.config.js
deleted file mode 100644
index 47b0670..0000000
--- a/apps/web/eslint.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import { nextJsConfig } from "@repo/eslint-config/next-js";
-
-/** @type {import("eslint").Linter.Config[]} */
-export default nextJsConfig;
diff --git a/apps/web/next.config.js b/apps/web/next.config.js
deleted file mode 100644
index 4678774..0000000
--- a/apps/web/next.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/** @type {import('next').NextConfig} */
-const nextConfig = {};
-
-export default nextConfig;
diff --git a/apps/web/package.json b/apps/web/package.json
deleted file mode 100644
index b7b3b1b..0000000
--- a/apps/web/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "web",
- "version": "0.1.0",
- "type": "module",
- "private": true,
- "scripts": {
- "dev": "next dev --port 3000",
- "build": "next build",
- "start": "next start",
- "lint": "eslint --max-warnings 0",
- "check-types": "next typegen && tsc --noEmit"
- },
- "dependencies": {
- "@repo/ui": "workspace:*",
- "next": "16.0.10",
- "react": "^19.2.0",
- "react-dom": "^19.2.0"
- },
- "devDependencies": {
- "@repo/eslint-config": "workspace:*",
- "@repo/typescript-config": "workspace:*",
- "@types/node": "^22.15.3",
- "@types/react": "19.2.2",
- "@types/react-dom": "19.2.2",
- "eslint": "^9.39.1",
- "typescript": "5.9.2"
- }
-}
diff --git a/apps/web/public/file-text.svg b/apps/web/public/file-text.svg
deleted file mode 100644
index 9cfb3c9..0000000
--- a/apps/web/public/file-text.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/apps/web/public/globe.svg b/apps/web/public/globe.svg
deleted file mode 100644
index 4230a3d..0000000
--- a/apps/web/public/globe.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/web/public/next.svg b/apps/web/public/next.svg
deleted file mode 100644
index 5174b28..0000000
--- a/apps/web/public/next.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/web/public/turborepo-dark.svg b/apps/web/public/turborepo-dark.svg
deleted file mode 100644
index dae38fe..0000000
--- a/apps/web/public/turborepo-dark.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/web/public/turborepo-light.svg b/apps/web/public/turborepo-light.svg
deleted file mode 100644
index ddea915..0000000
--- a/apps/web/public/turborepo-light.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/web/public/vercel.svg b/apps/web/public/vercel.svg
deleted file mode 100644
index 0164ddc..0000000
--- a/apps/web/public/vercel.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/web/public/window.svg b/apps/web/public/window.svg
deleted file mode 100644
index bbc7800..0000000
--- a/apps/web/public/window.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json
deleted file mode 100644
index 7aef056..0000000
--- a/apps/web/tsconfig.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "extends": "@repo/typescript-config/nextjs.json",
- "compilerOptions": {
- "plugins": [
- {
- "name": "next"
- }
- ]
- },
- "include": [
- "**/*.ts",
- "**/*.tsx",
- "next-env.d.ts",
- "next.config.js",
- ".next/types/**/*.ts"
- ],
- "exclude": [
- "node_modules"
- ]
-}
diff --git a/package.json b/package.json
index 1d2208e..24de05b 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,7 @@
"check-types": "turbo run check-types"
},
"devDependencies": {
+ "@types/node": "^25.0.3",
"prettier": "^3.7.4",
"turbo": "^2.6.3",
"typescript": "5.9.2"
diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md
deleted file mode 100644
index 8b42d90..0000000
--- a/packages/eslint-config/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# `@turbo/eslint-config`
-
-Collection of internal eslint configurations.
diff --git a/packages/eslint-config/base.js b/packages/eslint-config/base.js
deleted file mode 100644
index 09d316e..0000000
--- a/packages/eslint-config/base.js
+++ /dev/null
@@ -1,32 +0,0 @@
-import js from "@eslint/js";
-import eslintConfigPrettier from "eslint-config-prettier";
-import turboPlugin from "eslint-plugin-turbo";
-import tseslint from "typescript-eslint";
-import onlyWarn from "eslint-plugin-only-warn";
-
-/**
- * A shared ESLint configuration for the repository.
- *
- * @type {import("eslint").Linter.Config[]}
- * */
-export const config = [
- js.configs.recommended,
- eslintConfigPrettier,
- ...tseslint.configs.recommended,
- {
- plugins: {
- turbo: turboPlugin,
- },
- rules: {
- "turbo/no-undeclared-env-vars": "warn",
- },
- },
- {
- plugins: {
- onlyWarn,
- },
- },
- {
- ignores: ["dist/**"],
- },
-];
diff --git a/packages/eslint-config/next.js b/packages/eslint-config/next.js
deleted file mode 100644
index 4df088a..0000000
--- a/packages/eslint-config/next.js
+++ /dev/null
@@ -1,57 +0,0 @@
-import js from "@eslint/js";
-import { globalIgnores } from "eslint/config";
-import eslintConfigPrettier from "eslint-config-prettier";
-import tseslint from "typescript-eslint";
-import pluginReactHooks from "eslint-plugin-react-hooks";
-import pluginReact from "eslint-plugin-react";
-import globals from "globals";
-import pluginNext from "@next/eslint-plugin-next";
-import { config as baseConfig } from "./base.js";
-
-/**
- * A custom ESLint configuration for libraries that use Next.js.
- *
- * @type {import("eslint").Linter.Config[]}
- * */
-export const nextJsConfig = [
- ...baseConfig,
- js.configs.recommended,
- eslintConfigPrettier,
- ...tseslint.configs.recommended,
- globalIgnores([
- // Default ignores of eslint-config-next:
- ".next/**",
- "out/**",
- "build/**",
- "next-env.d.ts",
- ]),
- {
- ...pluginReact.configs.flat.recommended,
- languageOptions: {
- ...pluginReact.configs.flat.recommended.languageOptions,
- globals: {
- ...globals.serviceworker,
- },
- },
- },
- {
- plugins: {
- "@next/next": pluginNext,
- },
- rules: {
- ...pluginNext.configs.recommended.rules,
- ...pluginNext.configs["core-web-vitals"].rules,
- },
- },
- {
- plugins: {
- "react-hooks": pluginReactHooks,
- },
- settings: { react: { version: "detect" } },
- rules: {
- ...pluginReactHooks.configs.recommended.rules,
- // React scope no longer necessary with new JSX transform.
- "react/react-in-jsx-scope": "off",
- },
- },
-];
diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json
deleted file mode 100644
index 94fd0ca..0000000
--- a/packages/eslint-config/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@repo/eslint-config",
- "version": "0.0.0",
- "type": "module",
- "private": true,
- "exports": {
- "./base": "./base.js",
- "./next-js": "./next.js",
- "./react-internal": "./react-internal.js"
- },
- "devDependencies": {
- "@eslint/js": "^9.39.1",
- "@next/eslint-plugin-next": "^15.5.0",
- "eslint": "^9.39.1",
- "eslint-config-prettier": "^10.1.1",
- "eslint-plugin-only-warn": "^1.1.0",
- "eslint-plugin-react": "^7.37.5",
- "eslint-plugin-react-hooks": "^5.2.0",
- "eslint-plugin-turbo": "^2.6.0",
- "globals": "^16.5.0",
- "typescript": "^5.9.2",
- "typescript-eslint": "^8.49.0"
- }
-}
diff --git a/packages/eslint-config/react-internal.js b/packages/eslint-config/react-internal.js
deleted file mode 100644
index daeccba..0000000
--- a/packages/eslint-config/react-internal.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import js from "@eslint/js";
-import eslintConfigPrettier from "eslint-config-prettier";
-import tseslint from "typescript-eslint";
-import pluginReactHooks from "eslint-plugin-react-hooks";
-import pluginReact from "eslint-plugin-react";
-import globals from "globals";
-import { config as baseConfig } from "./base.js";
-
-/**
- * A custom ESLint configuration for libraries that use React.
- *
- * @type {import("eslint").Linter.Config[]} */
-export const config = [
- ...baseConfig,
- js.configs.recommended,
- eslintConfigPrettier,
- ...tseslint.configs.recommended,
- pluginReact.configs.flat.recommended,
- {
- languageOptions: {
- ...pluginReact.configs.flat.recommended.languageOptions,
- globals: {
- ...globals.serviceworker,
- ...globals.browser,
- },
- },
- },
- {
- plugins: {
- "react-hooks": pluginReactHooks,
- },
- settings: { react: { version: "detect" } },
- rules: {
- ...pluginReactHooks.configs.recommended.rules,
- // React scope no longer necessary with new JSX transform.
- "react/react-in-jsx-scope": "off",
- },
- },
-];
diff --git a/packages/typescript-config/base.json b/packages/typescript-config/base.json
deleted file mode 100644
index 5117f2a..0000000
--- a/packages/typescript-config/base.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "$schema": "https://json.schemastore.org/tsconfig",
- "compilerOptions": {
- "declaration": true,
- "declarationMap": true,
- "esModuleInterop": true,
- "incremental": false,
- "isolatedModules": true,
- "lib": ["es2022", "DOM", "DOM.Iterable"],
- "module": "NodeNext",
- "moduleDetection": "force",
- "moduleResolution": "NodeNext",
- "noUncheckedIndexedAccess": true,
- "resolveJsonModule": true,
- "skipLibCheck": true,
- "strict": true,
- "target": "ES2022"
- }
-}
diff --git a/packages/typescript-config/nextjs.json b/packages/typescript-config/nextjs.json
deleted file mode 100644
index e6defa4..0000000
--- a/packages/typescript-config/nextjs.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "$schema": "https://json.schemastore.org/tsconfig",
- "extends": "./base.json",
- "compilerOptions": {
- "plugins": [{ "name": "next" }],
- "module": "ESNext",
- "moduleResolution": "Bundler",
- "allowJs": true,
- "jsx": "preserve",
- "noEmit": true
- }
-}
diff --git a/packages/typescript-config/package.json b/packages/typescript-config/package.json
deleted file mode 100644
index 27c0e60..0000000
--- a/packages/typescript-config/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@repo/typescript-config",
- "version": "0.0.0",
- "private": true,
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- }
-}
diff --git a/packages/typescript-config/react-library.json b/packages/typescript-config/react-library.json
deleted file mode 100644
index c3a1b26..0000000
--- a/packages/typescript-config/react-library.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "$schema": "https://json.schemastore.org/tsconfig",
- "extends": "./base.json",
- "compilerOptions": {
- "jsx": "react-jsx"
- }
-}
diff --git a/packages/ui/eslint.config.mjs b/packages/ui/eslint.config.mjs
deleted file mode 100644
index 19170f8..0000000
--- a/packages/ui/eslint.config.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-import { config } from "@repo/eslint-config/react-internal";
-
-/** @type {import("eslint").Linter.Config} */
-export default config;
diff --git a/packages/ui/package.json b/packages/ui/package.json
deleted file mode 100644
index 90c1488..0000000
--- a/packages/ui/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@repo/ui",
- "version": "0.0.0",
- "private": true,
- "exports": {
- "./*": "./src/*.tsx"
- },
- "scripts": {
- "lint": "eslint . --max-warnings 0",
- "generate:component": "turbo gen react-component",
- "check-types": "tsc --noEmit"
- },
- "devDependencies": {
- "@repo/eslint-config": "workspace:*",
- "@repo/typescript-config": "workspace:*",
- "@types/node": "^22.15.3",
- "@types/react": "19.2.2",
- "@types/react-dom": "19.2.2",
- "eslint": "^9.39.1",
- "typescript": "5.9.2"
- },
- "dependencies": {
- "react": "^19.2.0",
- "react-dom": "^19.2.0"
- }
-}
diff --git a/packages/ui/src/button.tsx b/packages/ui/src/button.tsx
deleted file mode 100644
index 78e5420..0000000
--- a/packages/ui/src/button.tsx
+++ /dev/null
@@ -1,20 +0,0 @@
-"use client";
-
-import { ReactNode } from "react";
-
-interface ButtonProps {
- children: ReactNode;
- className?: string;
- appName: string;
-}
-
-export const Button = ({ children, className, appName }: ButtonProps) => {
- return (
- alert(`Hello from your ${appName} app!`)}
- >
- {children}
-
- );
-};
diff --git a/packages/ui/src/card.tsx b/packages/ui/src/card.tsx
deleted file mode 100644
index 7b98893..0000000
--- a/packages/ui/src/card.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { type JSX } from "react";
-
-export function Card({
- className,
- title,
- children,
- href,
-}: {
- className?: string;
- title: string;
- children: React.ReactNode;
- href: string;
-}): JSX.Element {
- return (
-
-
- {title} ->
-
- {children}
-
- );
-}
diff --git a/packages/ui/src/code.tsx b/packages/ui/src/code.tsx
deleted file mode 100644
index f7cbd22..0000000
--- a/packages/ui/src/code.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import { type JSX } from "react";
-
-export function Code({
- children,
- className,
-}: {
- children: React.ReactNode;
- className?: string;
-}): JSX.Element {
- return {children};
-}
diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json
deleted file mode 100644
index ca86687..0000000
--- a/packages/ui/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@repo/typescript-config/react-library.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/vite-plugin-react-compiler-report/package-lock.json b/packages/vite-plugin-react-compiler-report/package-lock.json
new file mode 100644
index 0000000..8b3735e
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/package-lock.json
@@ -0,0 +1,323 @@
+{
+ "name": "vite-plugin-react-compiler-report",
+ "version": "0.1.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "vite-plugin-react-compiler-report",
+ "version": "0.1.0",
+ "license": "ISC",
+ "devDependencies": {
+ "tsup": "^8.5.1",
+ "typescript": "5.9.2",
+ "vite": "^7.3.0"
+ },
+ "peerDependencies": {
+ "vite": "^7.0.0"
+ }
+ },
+ "../../node_modules/.pnpm/open@11.0.0/node_modules/open": {
+ "version": "11.0.0",
+ "extraneous": true,
+ "license": "MIT",
+ "dependencies": {
+ "default-browser": "^5.4.0",
+ "define-lazy-prop": "^3.0.0",
+ "is-in-ssh": "^1.0.0",
+ "is-inside-container": "^1.0.0",
+ "powershell-utils": "^0.1.0",
+ "wsl-utils": "^0.3.0"
+ },
+ "devDependencies": {
+ "@types/node": "^24.10.1",
+ "ava": "^6.4.1",
+ "tsd": "^0.33.0",
+ "xo": "^1.2.3"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "../../node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_postcss@8.5.6_typescript@5.9.2/node_modules/tsup": {
+ "version": "8.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bundle-require": "^5.1.0",
+ "cac": "^6.7.14",
+ "chokidar": "^4.0.3",
+ "consola": "^3.4.0",
+ "debug": "^4.4.0",
+ "esbuild": "^0.27.0",
+ "fix-dts-default-cjs-exports": "^1.0.0",
+ "joycon": "^3.1.1",
+ "picocolors": "^1.1.1",
+ "postcss-load-config": "^6.0.1",
+ "resolve-from": "^5.0.0",
+ "rollup": "^4.34.8",
+ "source-map": "^0.7.6",
+ "sucrase": "^3.35.0",
+ "tinyexec": "^0.3.2",
+ "tinyglobby": "^0.2.11",
+ "tree-kill": "^1.2.2"
+ },
+ "bin": {
+ "tsup": "dist/cli-default.js",
+ "tsup-node": "dist/cli-node.js"
+ },
+ "devDependencies": {
+ "@microsoft/api-extractor": "^7.50.0",
+ "@rollup/plugin-json": "6.1.0",
+ "@swc/core": "1.10.18",
+ "@types/debug": "4.1.12",
+ "@types/node": "22.13.4",
+ "@types/resolve": "1.20.6",
+ "bumpp": "^10.0.3",
+ "flat": "6.0.1",
+ "postcss": "8.5.2",
+ "postcss-simple-vars": "7.0.1",
+ "prettier": "3.5.1",
+ "resolve": "1.22.10",
+ "rollup-plugin-dts": "6.1.1",
+ "sass": "1.85.0",
+ "strip-json-comments": "5.0.1",
+ "svelte": "5.19.9",
+ "svelte-preprocess": "6.0.3",
+ "terser": "^5.39.0",
+ "ts-essentials": "10.0.4",
+ "tsup": "8.3.6",
+ "typescript": "5.7.3",
+ "vitest": "3.0.6",
+ "wait-for-expect": "3.0.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "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
+ }
+ }
+ },
+ "../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript": {
+ "version": "5.9.2",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "devDependencies": {
+ "@dprint/formatter": "^0.4.1",
+ "@dprint/typescript": "0.93.4",
+ "@esfx/canceltoken": "^1.0.0",
+ "@eslint/js": "^9.20.0",
+ "@octokit/rest": "^21.1.1",
+ "@types/chai": "^4.3.20",
+ "@types/diff": "^7.0.1",
+ "@types/minimist": "^1.2.5",
+ "@types/mocha": "^10.0.10",
+ "@types/ms": "^0.7.34",
+ "@types/node": "latest",
+ "@types/source-map-support": "^0.5.10",
+ "@types/which": "^3.0.4",
+ "@typescript-eslint/rule-tester": "^8.24.1",
+ "@typescript-eslint/type-utils": "^8.24.1",
+ "@typescript-eslint/utils": "^8.24.1",
+ "azure-devops-node-api": "^14.1.0",
+ "c8": "^10.1.3",
+ "chai": "^4.5.0",
+ "chokidar": "^4.0.3",
+ "diff": "^7.0.0",
+ "dprint": "^0.49.0",
+ "esbuild": "^0.25.0",
+ "eslint": "^9.20.1",
+ "eslint-formatter-autolinkable-stylish": "^1.4.0",
+ "eslint-plugin-regexp": "^2.7.0",
+ "fast-xml-parser": "^4.5.2",
+ "glob": "^10.4.5",
+ "globals": "^15.15.0",
+ "hereby": "^1.10.0",
+ "jsonc-parser": "^3.3.1",
+ "knip": "^5.44.4",
+ "minimist": "^1.2.8",
+ "mocha": "^10.8.2",
+ "mocha-fivemat-progress-reporter": "^0.1.0",
+ "monocart-coverage-reports": "^2.12.1",
+ "ms": "^2.1.3",
+ "picocolors": "^1.1.1",
+ "playwright": "^1.50.1",
+ "source-map-support": "^0.5.21",
+ "tslib": "^2.8.1",
+ "typescript": "^5.7.3",
+ "typescript-eslint": "^8.24.1",
+ "which": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "../../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_lightningcss@1.30.2/node_modules/vite": {
+ "version": "7.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.27.0",
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3",
+ "postcss": "^8.5.6",
+ "rollup": "^4.43.0",
+ "tinyglobby": "^0.2.15"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "devDependencies": {
+ "@babel/parser": "^7.28.5",
+ "@jridgewell/remapping": "^2.3.5",
+ "@jridgewell/trace-mapping": "^0.3.31",
+ "@oxc-project/types": "0.95.0",
+ "@polka/compression": "^1.0.0-next.25",
+ "@rolldown/pluginutils": "^1.0.0-beta.52",
+ "@rollup/plugin-alias": "^5.1.1",
+ "@rollup/plugin-commonjs": "^29.0.0",
+ "@rollup/plugin-dynamic-import-vars": "2.1.4",
+ "@rollup/pluginutils": "^5.3.0",
+ "@types/escape-html": "^1.0.4",
+ "@types/pnpapi": "^0.0.5",
+ "artichokie": "^0.4.2",
+ "baseline-browser-mapping": "^2.8.32",
+ "cac": "^6.7.14",
+ "chokidar": "^3.6.0",
+ "connect": "^3.7.0",
+ "convert-source-map": "^2.0.0",
+ "cors": "^2.8.5",
+ "cross-spawn": "^7.0.6",
+ "dotenv": "^17.2.3",
+ "dotenv-expand": "^12.0.3",
+ "es-module-lexer": "^1.7.0",
+ "escape-html": "^1.0.3",
+ "estree-walker": "^3.0.3",
+ "etag": "^1.8.1",
+ "host-validation-middleware": "^0.1.2",
+ "http-proxy-3": "^1.22.0",
+ "launch-editor-middleware": "^2.12.0",
+ "lightningcss": "^1.30.2",
+ "magic-string": "^0.30.21",
+ "mlly": "^1.8.0",
+ "mrmime": "^2.0.1",
+ "nanoid": "^5.1.6",
+ "obug": "^1.0.2",
+ "open": "^10.2.0",
+ "parse5": "^8.0.0",
+ "pathe": "^2.0.3",
+ "periscopic": "^4.0.2",
+ "picocolors": "^1.1.1",
+ "postcss-import": "^16.1.1",
+ "postcss-load-config": "^6.0.1",
+ "postcss-modules": "^6.0.1",
+ "premove": "^4.0.0",
+ "resolve.exports": "^2.0.3",
+ "rolldown": "^1.0.0-beta.52",
+ "rolldown-plugin-dts": "^0.18.1",
+ "rollup-plugin-license": "^3.6.0",
+ "sass": "^1.94.2",
+ "sass-embedded": "^1.93.3",
+ "sirv": "^3.0.2",
+ "strip-literal": "^3.1.0",
+ "terser": "^5.44.1",
+ "tsconfck": "^3.1.6",
+ "ufo": "^1.6.1",
+ "ws": "^8.18.3"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^20.19.0 || >=22.12.0",
+ "jiti": ">=1.21.0",
+ "less": "^4.0.0",
+ "lightningcss": "^1.21.0",
+ "sass": "^1.70.0",
+ "sass-embedded": "^1.70.0",
+ "stylus": ">=0.54.8",
+ "sugarss": "^5.0.0",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tsup": {
+ "resolved": "../../node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_postcss@8.5.6_typescript@5.9.2/node_modules/tsup",
+ "link": true
+ },
+ "node_modules/typescript": {
+ "resolved": "../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript",
+ "link": true
+ },
+ "node_modules/vite": {
+ "resolved": "../../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_lightningcss@1.30.2/node_modules/vite",
+ "link": true
+ }
+ }
+}
diff --git a/packages/vite-plugin-react-compiler-report/package.json b/packages/vite-plugin-react-compiler-report/package.json
new file mode 100644
index 0000000..90935ba
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/package.json
@@ -0,0 +1,49 @@
+{
+ "name": "vite-plugin-react-compiler-report",
+ "version": "0.1.0",
+ "description": "",
+ "type": "module",
+ "main": "./dist/index.cjs",
+ "module": "./dist/index.js",
+ "types": "./dist/index.d.ts",
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "import": "./dist/index.js",
+ "require": "./dist/index.cjs"
+ }
+ },
+ "files": [
+ "dist",
+ "README.md"
+ ],
+ "scripts": {
+ "dev": "tsup --watch",
+ "build": "node scripts/copy-readme.mjs && tsup"
+ },
+ "keywords": [
+ "vite",
+ "react",
+ "compiler",
+ "report",
+ "plugin"
+ ],
+ "author": "",
+ "license": "ISC",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/corvallo/react-compiler-report.git"
+ },
+ "bugs": {
+ "url": "https://github.com/corvallo/react-compiler-report/issues"
+ },
+ "homepage": "https://github.com/corvallo/react-compiler-report#readme",
+ "devDependencies": {
+ "tsup": "^8.5.1",
+ "typescript": "5.9.2",
+ "vite": "^7.3.0"
+ },
+ "peerDependencies": {
+ "vite": "^7.0.0"
+ }
+}
\ No newline at end of file
diff --git a/packages/vite-plugin-react-compiler-report/scripts/copy-assets.mjs b/packages/vite-plugin-react-compiler-report/scripts/copy-assets.mjs
new file mode 100644
index 0000000..0d0f338
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/scripts/copy-assets.mjs
@@ -0,0 +1,18 @@
+import fs from "node:fs";
+import path from "node:path";
+import { fileURLToPath } from "node:url";
+
+const __dirname = path.dirname(fileURLToPath(import.meta.url));
+const root = path.resolve(__dirname, "..");
+
+const src = path.join(root, "src/template/report-template.html");
+const dstDir = path.join(root, "dist/template");
+const dst = path.join(dstDir, "report-template.html");
+
+if (fs.existsSync(src)) {
+ fs.mkdirSync(dstDir, { recursive: true });
+ fs.copyFileSync(src, dst);
+ console.log("✓ Template copied to", dst);
+} else {
+ console.warn("⚠ Template not found at", src);
+}
diff --git a/packages/vite-plugin-react-compiler-report/scripts/copy-readme.mjs b/packages/vite-plugin-react-compiler-report/scripts/copy-readme.mjs
new file mode 100644
index 0000000..cb59706
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/scripts/copy-readme.mjs
@@ -0,0 +1,17 @@
+import fs from "node:fs";
+import path from "node:path";
+import { fileURLToPath } from "node:url";
+
+const __dirname = path.dirname(fileURLToPath(import.meta.url));
+const root = path.resolve(__dirname, "../../..");
+const pkgDir = path.resolve(__dirname, "..");
+
+const src = path.join(root, "README.md");
+const dst = path.join(pkgDir, "README.md");
+
+if (fs.existsSync(src)) {
+ fs.copyFileSync(src, dst);
+ console.log("✓ README.md copied to package root");
+} else {
+ console.warn("⚠ Root README.md not found at", src);
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/core/events.ts b/packages/vite-plugin-react-compiler-report/src/core/events.ts
new file mode 100644
index 0000000..b1f5eb6
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/core/events.ts
@@ -0,0 +1,16 @@
+type Listener = () => void;
+
+const listeners = new Set();
+
+export function onCompilerEvent(cb: Listener) {
+ listeners.add(cb);
+ return () => listeners.delete(cb);
+}
+
+export function emitCompilerEvent() {
+ for (const cb of listeners) cb();
+}
+
+export function clearCompilerEventListeners() {
+ listeners.clear();
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/core/generator.ts b/packages/vite-plugin-react-compiler-report/src/core/generator.ts
new file mode 100644
index 0000000..c682ef8
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/core/generator.ts
@@ -0,0 +1,39 @@
+import fs from "node:fs";
+import path from "node:path";
+import { fileURLToPath } from "node:url";
+
+export function generateReportUI(
+ outputDir: string,
+ uiDirName: string,
+ data: Record
+) {
+ try {
+
+
+ const templatePath = fileURLToPath(
+ new URL("./template/report-template.html", import.meta.url)
+ );
+
+ if (!fs.existsSync(templatePath)) {
+ console.warn("⚠ Report template not found at", templatePath);
+ return null;
+ }
+
+ let html = fs.readFileSync(templatePath, "utf-8");
+
+
+ const jsonString = JSON.stringify(data);
+ html = html.replace("__REACT_COMPILER_REPORT_DATA__", jsonString);
+
+ const uiOutDir = path.join(outputDir, uiDirName);
+ fs.mkdirSync(uiOutDir, { recursive: true });
+
+ const maxHtmlPath = path.join(uiOutDir, "index.html");
+ fs.writeFileSync(maxHtmlPath, html);
+
+ return maxHtmlPath;
+ } catch (e) {
+ console.error("Failed to generate report UI", e);
+ return null;
+ }
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/core/index.ts b/packages/vite-plugin-react-compiler-report/src/core/index.ts
new file mode 100644
index 0000000..451448c
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/core/index.ts
@@ -0,0 +1,3 @@
+export { reactCompilerLogger } from "./logger";
+export { reactCompilerReport } from "./plugin";
+export type { ReactCompilerEvent, ReactCompilerReportOptions } from "./types";
diff --git a/packages/vite-plugin-react-compiler-report/src/core/logger.ts b/packages/vite-plugin-react-compiler-report/src/core/logger.ts
new file mode 100644
index 0000000..fb7c1da
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/core/logger.ts
@@ -0,0 +1,21 @@
+import type { Item, ReactCompilerEvent } from "./types";
+import { store } from "./store";
+import { emitCompilerEvent } from "./events";
+import { shortPath } from "../utils/short-path";
+
+export const reactCompilerLogger = (filename: string, event: ReactCompilerEvent) => {
+ const item: Item = { filename: shortPath(filename), event, time: Date.now() };
+
+ if (event.kind === "CompileSuccess") {
+ store.all.success.push(item);
+ store.batch.success.push(item);
+ } else if (event.kind === "CompileError") {
+ store.all.error.push(item);
+ store.batch.error.push(item);
+ } else {
+ store.all.other.push(item);
+ store.batch.other.push(item);
+ }
+
+ emitCompilerEvent();
+};
diff --git a/packages/vite-plugin-react-compiler-report/src/core/plugin.ts b/packages/vite-plugin-react-compiler-report/src/core/plugin.ts
new file mode 100644
index 0000000..0c10475
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/core/plugin.ts
@@ -0,0 +1,71 @@
+import type { Plugin, ResolvedConfig } from "vite";
+
+import type { ReactCompilerReportOptions } from "./types";
+import { onCompilerEvent, clearCompilerEventListeners } from "./events";
+import { createDevReporter } from "../dev/reporter";
+import { buildReportData } from "../report/serialize";
+import { resolveOutputDir } from "../paths/output";
+import { writeJsonReport } from "../build/writer";
+import { generateReportUI } from "./generator";
+import { color as c } from "../utils/colors";
+
+export function reactCompilerReport(opts: ReactCompilerReportOptions = {}): Plugin {
+ const options = {
+ outputDir: opts.outputDir ?? ".react-compiler/report",
+ ui: opts.ui ?? false,
+ build: {
+ fileName: opts.build?.fileName ?? "react-compiler-report.json",
+ },
+ };
+
+ let config: ResolvedConfig | null = null;
+ let unsubscribe: null | (() => void) = null;
+
+ return {
+ name: "vite-plugin-react-compiler-report",
+
+ configResolved(rc) {
+ config = rc;
+
+ if (config.command === "serve") {
+ const devReporter = createDevReporter();
+
+ unsubscribe = onCompilerEvent(() => devReporter.schedule());
+ }
+ },
+
+ async closeBundle() {
+ unsubscribe?.();
+ unsubscribe = null;
+ clearCompilerEventListeners();
+
+ if (!config || config.command !== "build") return;
+
+ const outputDir = resolveOutputDir(options.outputDir);
+
+ const data = buildReportData();
+ const jsonPath = writeJsonReport(outputDir, options.build.fileName, data);
+
+ const indexHtml = options.ui
+ ? generateReportUI(outputDir, "ui", data)
+ : null;
+
+ const successCount = data.totals.ok;
+ const failureCount = data.totals.failed;
+
+ console.log(
+ "\n" +
+ c.bold("React Compiler report") +
+ "\n" +
+ c.green(`✓ ${successCount} components optimized`) +
+ "\n" +
+ (failureCount > 0 ? c.red(`✕ ${failureCount} components failed`) + "\n" : "") +
+ "\n" +
+ c.gray("JSON: ") +
+ c.dim(jsonPath) +
+ "\n" +
+ (indexHtml ? c.gray("UI: ") + c.dim(indexHtml) + "\n" : "")
+ );
+ },
+ };
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/core/store.ts b/packages/vite-plugin-react-compiler-report/src/core/store.ts
new file mode 100644
index 0000000..a408fbd
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/core/store.ts
@@ -0,0 +1,12 @@
+import type { Store } from "./types";
+
+export const store: Store = {
+ all: { success: [], error: [], other: [] },
+ batch: { success: [], error: [], other: [] },
+ batchId: 0,
+};
+
+export function resetBatch() {
+ store.batch = { success: [], error: [], other: [] };
+ store.batchId++;
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/core/types.ts b/packages/vite-plugin-react-compiler-report/src/core/types.ts
new file mode 100644
index 0000000..425dfa4
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/core/types.ts
@@ -0,0 +1,32 @@
+export type ReactCompilerReportOptions = {
+ outputDir?: string;
+ ui?: boolean;
+ build?: {
+ fileName?: string;
+ };
+};
+export type ReactCompilerEvent =
+ | { kind: "CompileSuccess" }
+ | {
+ kind: "CompileError";
+ detail?: {
+ category?: string;
+ reason?: string;
+ description?: string;
+ loc?: { start?: { line: number; column: number } };
+ suggestions?: string[];
+ };
+ }
+ | { kind: string; [k: string]: any };
+
+export type Item = {
+ filename: string;
+ event: ReactCompilerEvent;
+ time: number;
+};
+
+export type Store = {
+ all: { success: Item[]; error: Item[]; other: Item[] };
+ batch: { success: Item[]; error: Item[]; other: Item[] };
+ batchId: number;
+};
diff --git a/packages/vite-plugin-react-compiler-report/src/dev/reporter.ts b/packages/vite-plugin-react-compiler-report/src/dev/reporter.ts
new file mode 100644
index 0000000..47f932c
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/dev/reporter.ts
@@ -0,0 +1,89 @@
+import { store, resetBatch } from "../core/store";
+import { color as c, groupKey, locationString } from "../utils";
+
+export function createDevReporter() {
+ let timer: NodeJS.Timeout | null = null;
+
+ const DEBOUNCE_MS = 150;
+ const MAX_FAILURES = 50;
+
+ function flush() {
+ const failures = store.batch.error;
+ const successes = store.batch.success;
+
+ if (!failures.length && !successes.length) {
+ resetBatch();
+ return;
+ }
+
+
+ const parts = [
+ c.bold("React Compiler (dev)"),
+ c.gray(" • ")
+ ];
+
+ if (successes.length > 0) {
+ parts.push(c.green(`✓ ${successes.length} compiled`));
+ }
+ if (failures.length > 0) {
+ if (successes.length > 0) parts.push(c.gray(" | "));
+ parts.push(c.red(`✕ ${failures.length} failed`));
+ }
+
+ console.log("\n" + parts.join("") + "\n");
+
+ if (!failures.length) {
+ resetBatch();
+ return;
+ }
+
+ if (failures.length > MAX_FAILURES) {
+ console.log(c.dim(`Too many failures to print (${failures.length}).\n`));
+ resetBatch();
+ return;
+ }
+
+ const groups = new Map();
+ for (const it of failures) {
+ const k = groupKey(it.event);
+ const arr = groups.get(k);
+ if (arr) arr.push(it);
+ else groups.set(k, [it]);
+ }
+
+ for (const [k, items] of groups) {
+ const [cat, reason] = k.split("::");
+ console.log(c.yellow(cat) + c.gray(" • ") + c.red(reason) + c.gray(` (${items.length})`));
+
+ for (const it of items) {
+ const d: any = (it.event as any).detail ?? {};
+ const loc = locationString(it.event);
+
+ console.log(" " + c.red("✕") + " " + it.filename + (loc ? " " + c.gray(loc) : ""));
+ if (d.description) console.log(" " + c.dim(d.description));
+ if (Array.isArray(d.suggestions) && d.suggestions.length) {
+ console.log(" " + c.gray("Suggestions:"));
+ for (const s of d.suggestions) console.log(" - " + s);
+ }
+ }
+ console.log("");
+ }
+
+ resetBatch();
+ }
+
+ function schedule() {
+ if (timer) clearTimeout(timer);
+ timer = setTimeout(() => {
+ timer = null;
+ flush();
+ }, DEBOUNCE_MS);
+ }
+
+ function stop() {
+ if (timer) clearTimeout(timer);
+ timer = null;
+ }
+
+ return { schedule, stop };
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/index.ts b/packages/vite-plugin-react-compiler-report/src/index.ts
new file mode 100644
index 0000000..37a6744
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/index.ts
@@ -0,0 +1,2 @@
+export { reactCompilerLogger, reactCompilerReport } from "./core";
+export type { ReactCompilerEvent, ReactCompilerReportOptions } from "./core";
diff --git a/packages/vite-plugin-react-compiler-report/src/paths/output.ts b/packages/vite-plugin-react-compiler-report/src/paths/output.ts
new file mode 100644
index 0000000..b21c8a1
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/paths/output.ts
@@ -0,0 +1,6 @@
+import path from "node:path";
+
+export function resolveOutputDir(outputDir?: string) {
+ const p = outputDir ?? ".react-compiler/report";
+ return path.isAbsolute(p) ? p : path.resolve(process.cwd(), p);
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/report/serialize.ts b/packages/vite-plugin-react-compiler-report/src/report/serialize.ts
new file mode 100644
index 0000000..ddd6898
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/report/serialize.ts
@@ -0,0 +1,25 @@
+import { store } from "../core/store";
+
+export function buildReportData() {
+ return {
+ generatedAt: new Date().toISOString(),
+ totals: {
+ failed: store.all.error.length,
+ ok: store.all.success.length,
+ },
+ failed: [
+ ...store.all.error.map(({ filename, event }) => {
+ const d: any = (event as any).detail ?? {};
+ return {
+ filename,
+ category: d.category ?? null,
+ reason: d.reason ?? null,
+ description: d.description ?? null,
+ loc: d.loc?.start ? `L${d.loc.start.line}:${d.loc.start.column}` : null,
+ suggestions: Array.isArray(d.suggestions) ? d.suggestions : [],
+ };
+ }),
+ ],
+ success: [...store.all.success.map(({ filename }) => ({ filename }))],
+ };
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/template/report-template.html b/packages/vite-plugin-react-compiler-report/src/template/report-template.html
new file mode 100644
index 0000000..2069328
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/template/report-template.html
@@ -0,0 +1,295 @@
+
+
+
+
+
+ React Compiler Report
+
+
+
+
+
+
+
React Compiler Report
+
+
+
+
+
+
+
Components Optimized
+
0
+
+
+
Compilation Failures
+
0
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/vite-plugin-react-compiler-report/src/utils/colors.ts b/packages/vite-plugin-react-compiler-report/src/utils/colors.ts
new file mode 100644
index 0000000..a9cc384
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/utils/colors.ts
@@ -0,0 +1,18 @@
+export const ANSI = {
+ reset: "\x1b[0m",
+ dim: "\x1b[2m",
+ bold: "\x1b[1m",
+ red: "\x1b[31m",
+ yellow: "\x1b[33m",
+ green: "\x1b[32m",
+ gray: "\x1b[90m",
+};
+
+export const color = {
+ red: (s: string) => `${ANSI.red}${s}${ANSI.reset}`,
+ yellow: (s: string) => `${ANSI.yellow}${s}${ANSI.reset}`,
+ green: (s: string) => `${ANSI.green}${s}${ANSI.reset}`,
+ dim: (s: string) => `${ANSI.dim}${s}${ANSI.reset}`,
+ bold: (s: string) => `${ANSI.bold}${s}${ANSI.reset}`,
+ gray: (s: string) => `${ANSI.gray}${s}${ANSI.reset}`,
+};
diff --git a/packages/vite-plugin-react-compiler-report/src/utils/group-key.ts b/packages/vite-plugin-react-compiler-report/src/utils/group-key.ts
new file mode 100644
index 0000000..3a28624
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/utils/group-key.ts
@@ -0,0 +1,4 @@
+export function groupKey(ev: any): string {
+ const d = ev?.detail ?? {};
+ return `${d.category ?? "Unknown"}::${d.reason ?? "Unknown"}`;
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/utils/html-template.ts b/packages/vite-plugin-react-compiler-report/src/utils/html-template.ts
new file mode 100644
index 0000000..b651662
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/utils/html-template.ts
@@ -0,0 +1,10 @@
+import fs from "node:fs";
+
+export function loadReportTemplateHtml(): string {
+ const url = new URL("./template/report-template.html", import.meta.url);
+ return fs.readFileSync(url, "utf8");
+}
+
+export function injectReportData(template: string, json: string): string {
+ return template.replace("__REACT_COMPILER_REPORT_DATA__", json);
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/utils/index.ts b/packages/vite-plugin-react-compiler-report/src/utils/index.ts
new file mode 100644
index 0000000..4866467
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/utils/index.ts
@@ -0,0 +1,6 @@
+export * from "./colors";
+export * from "./short-path";
+export * from "./location";
+export * from "./group-key";
+export * from "./safe-json-stringify";
+export * from "./html-template";
diff --git a/packages/vite-plugin-react-compiler-report/src/utils/location.ts b/packages/vite-plugin-react-compiler-report/src/utils/location.ts
new file mode 100644
index 0000000..2cf17d7
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/utils/location.ts
@@ -0,0 +1,4 @@
+export function locationString(ev: any): string {
+ const start = ev?.detail?.loc?.start;
+ return start ? `L${start.line}:${start.column}` : "";
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/utils/safe-json-stringify.ts b/packages/vite-plugin-react-compiler-report/src/utils/safe-json-stringify.ts
new file mode 100644
index 0000000..89a91af
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/utils/safe-json-stringify.ts
@@ -0,0 +1,7 @@
+export function safeJsonStringify(obj: any): string {
+ try {
+ return JSON.stringify(obj);
+ } catch {
+ return JSON.stringify({ error: "Could not serialize report data." });
+ }
+}
diff --git a/packages/vite-plugin-react-compiler-report/src/utils/short-path.ts b/packages/vite-plugin-react-compiler-report/src/utils/short-path.ts
new file mode 100644
index 0000000..3c5cb29
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/src/utils/short-path.ts
@@ -0,0 +1,5 @@
+export function shortPath(filename: string): string {
+ const cwd = process.cwd().replaceAll("\\", "/");
+ const f = filename.replaceAll("\\", "/");
+ return f.startsWith(cwd) ? "." + f.slice(cwd.length) : filename;
+}
diff --git a/packages/vite-plugin-react-compiler-report/tsconfig.json b/packages/vite-plugin-react-compiler-report/tsconfig.json
new file mode 100644
index 0000000..24c6a8d
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/tsconfig.json
@@ -0,0 +1,12 @@
+{
+ "compilerOptions": {
+ "target": "ES2022",
+ "module": "ESNext",
+ "moduleResolution": "Bundler",
+ "strict": true,
+ "declaration": true,
+ "skipLibCheck": true,
+ "types": ["node"]
+ },
+ "include": ["src"]
+}
diff --git a/packages/vite-plugin-react-compiler-report/tsup.config.ts b/packages/vite-plugin-react-compiler-report/tsup.config.ts
new file mode 100644
index 0000000..a2a9a6e
--- /dev/null
+++ b/packages/vite-plugin-react-compiler-report/tsup.config.ts
@@ -0,0 +1,10 @@
+import { defineConfig } from "tsup";
+export default defineConfig({
+ entry: ["src/index.ts"],
+ format: ["esm", "cjs"],
+ dts: true,
+ sourcemap: true,
+ clean: true,
+ target: "node18",
+ onSuccess: "node scripts/copy-assets.mjs",
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 43c6471..6d4b4b0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,6 +8,9 @@ importers:
.:
devDependencies:
+ '@types/node':
+ specifier: ^25.0.3
+ version: 25.0.3
prettier:
specifier: ^3.7.4
version: 3.7.4
@@ -18,153 +21,313 @@ importers:
specifier: 5.9.2
version: 5.9.2
- apps/docs:
+ apps/playground:
dependencies:
- '@repo/ui':
- specifier: workspace:*
- version: link:../../packages/ui
- next:
- specifier: 16.0.10
- version: 16.0.10(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ babel-plugin-react-compiler:
+ specifier: ^1.0.0
+ version: 1.0.0
react:
specifier: ^19.2.0
- version: 19.2.0
+ version: 19.2.3
+ react-compiler-runtime:
+ specifier: ^1.0.0
+ version: 1.0.0(react@19.2.3)
react-dom:
specifier: ^19.2.0
- version: 19.2.0(react@19.2.0)
- devDependencies:
- '@repo/eslint-config':
+ version: 19.2.3(react@19.2.3)
+ vite-plugin-babel:
+ specifier: ^1.3.2
+ version: 1.3.2(@babel/core@7.28.5)(vite@7.3.0(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2))
+ vite-plugin-react-compiler-report:
specifier: workspace:*
- version: link:../../packages/eslint-config
- '@repo/typescript-config':
- specifier: workspace:*
- version: link:../../packages/typescript-config
- '@types/node':
- specifier: ^22.15.3
- version: 22.15.3
- '@types/react':
- specifier: 19.2.2
- version: 19.2.2
- '@types/react-dom':
- specifier: 19.2.2
- version: 19.2.2(@types/react@19.2.2)
- eslint:
- specifier: ^9.39.1
- version: 9.39.1
- typescript:
- specifier: 5.9.2
- version: 5.9.2
-
- apps/web:
- dependencies:
- '@repo/ui':
- specifier: workspace:*
- version: link:../../packages/ui
- next:
- specifier: 16.0.10
- version: 16.0.10(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- react:
- specifier: ^19.2.0
- version: 19.2.0
- react-dom:
- specifier: ^19.2.0
- version: 19.2.0(react@19.2.0)
- devDependencies:
- '@repo/eslint-config':
- specifier: workspace:*
- version: link:../../packages/eslint-config
- '@repo/typescript-config':
- specifier: workspace:*
- version: link:../../packages/typescript-config
- '@types/node':
- specifier: ^22.15.3
- version: 22.15.3
- '@types/react':
- specifier: 19.2.2
- version: 19.2.2
- '@types/react-dom':
- specifier: 19.2.2
- version: 19.2.2(@types/react@19.2.2)
- eslint:
- specifier: ^9.39.1
- version: 9.39.1
- typescript:
- specifier: 5.9.2
- version: 5.9.2
-
- packages/eslint-config:
+ version: link:../../packages/vite-plugin-react-compiler-report
devDependencies:
'@eslint/js':
specifier: ^9.39.1
- version: 9.39.1
- '@next/eslint-plugin-next':
- specifier: ^15.5.0
- version: 15.5.0
+ version: 9.39.2
+ '@types/react':
+ specifier: ^19.2.5
+ version: 19.2.7
+ '@types/react-dom':
+ specifier: ^19.2.3
+ version: 19.2.3(@types/react@19.2.7)
+ '@vitejs/plugin-react':
+ specifier: ^5.1.1
+ version: 5.1.2(vite@7.3.0(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2))
eslint:
specifier: ^9.39.1
- version: 9.39.1
- eslint-config-prettier:
- specifier: ^10.1.1
- version: 10.1.1(eslint@9.39.1)
- eslint-plugin-only-warn:
- specifier: ^1.1.0
- version: 1.1.0
- eslint-plugin-react:
- specifier: ^7.37.5
- version: 7.37.5(eslint@9.39.1)
+ version: 9.39.2(jiti@2.6.1)
eslint-plugin-react-hooks:
- specifier: ^5.2.0
- version: 5.2.0(eslint@9.39.1)
- eslint-plugin-turbo:
- specifier: ^2.6.0
- version: 2.6.0(eslint@9.39.1)(turbo@2.6.3)
+ specifier: ^7.0.1
+ version: 7.0.1(eslint@9.39.2(jiti@2.6.1))
+ eslint-plugin-react-refresh:
+ specifier: ^0.4.24
+ version: 0.4.26(eslint@9.39.2(jiti@2.6.1))
globals:
specifier: ^16.5.0
version: 16.5.0
typescript:
- specifier: ^5.9.2
- version: 5.9.2
+ specifier: ~5.9.3
+ version: 5.9.3
typescript-eslint:
- specifier: ^8.49.0
- version: 8.49.0(eslint@9.39.1)(typescript@5.9.2)
-
- packages/typescript-config: {}
+ specifier: ^8.46.4
+ version: 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ vite:
+ specifier: ^7.3.0
+ version: 7.3.0(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)
- packages/ui:
- dependencies:
- react:
- specifier: ^19.2.0
- version: 19.2.0
- react-dom:
- specifier: ^19.2.0
- version: 19.2.0(react@19.2.0)
+ packages/vite-plugin-react-compiler-report:
devDependencies:
- '@repo/eslint-config':
- specifier: workspace:*
- version: link:../eslint-config
- '@repo/typescript-config':
- specifier: workspace:*
- version: link:../typescript-config
- '@types/node':
- specifier: ^22.15.3
- version: 22.15.3
- '@types/react':
- specifier: 19.2.2
- version: 19.2.2
- '@types/react-dom':
- specifier: 19.2.2
- version: 19.2.2(@types/react@19.2.2)
- eslint:
- specifier: ^9.39.1
- version: 9.39.1
+ tsup:
+ specifier: ^8.5.1
+ version: 8.5.1(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.2)
typescript:
specifier: 5.9.2
version: 5.9.2
+ vite:
+ specifier: ^7.3.0
+ version: 7.3.0(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)
packages:
- '@emnapi/runtime@1.7.1':
- resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
+ '@babel/code-frame@7.27.1':
+ resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.28.5':
+ resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.28.5':
+ resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.28.5':
+ resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-compilation-targets@7.27.2':
+ resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-globals@7.28.0':
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.27.1':
+ resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-transforms@7.28.3':
+ resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-plugin-utils@7.27.1':
+ resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
+ 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/helper-validator-option@7.27.1':
+ resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.28.4':
+ resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.28.5':
+ resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/plugin-transform-react-jsx-self@7.27.1':
+ resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx-source@7.27.1':
+ resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/template@7.27.2':
+ resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.28.5':
+ resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.28.5':
+ resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
+ engines: {node: '>=6.9.0'}
+
+ '@esbuild/aix-ppc64@0.27.2':
+ resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.27.2':
+ resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.27.2':
+ resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.27.2':
+ resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.27.2':
+ resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.27.2':
+ resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.27.2':
+ resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.27.2':
+ resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.27.2':
+ resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.27.2':
+ resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.27.2':
+ resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.27.2':
+ resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.27.2':
+ resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.27.2':
+ resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.27.2':
+ resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.27.2':
+ resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.27.2':
+ resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-arm64@0.27.2':
+ resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.27.2':
+ resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-arm64@0.27.2':
+ resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.27.2':
+ resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openharmony-arm64@0.27.2':
+ resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@esbuild/sunos-x64@0.27.2':
+ resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.27.2':
+ resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.27.2':
+ resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.27.2':
+ resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
'@eslint-community/eslint-utils@4.9.0':
resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
@@ -188,12 +351,12 @@ packages:
resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/eslintrc@3.3.1':
- resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
+ '@eslint/eslintrc@3.3.3':
+ resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.39.1':
- resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==}
+ '@eslint/js@9.39.2':
+ resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.7':
@@ -220,211 +383,146 @@ packages:
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
- '@img/colour@1.0.0':
- resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==}
- engines: {node: '>=18'}
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
- '@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]
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
- '@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]
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+
+ '@rolldown/pluginutils@1.0.0-beta.53':
+ resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==}
+
+ '@rollup/rollup-android-arm-eabi@4.53.5':
+ resolution: {integrity: sha512-iDGS/h7D8t7tvZ1t6+WPK04KD0MwzLZrG0se1hzBjSi5fyxlsiggoJHwh18PCFNn7tG43OWb6pdZ6Y+rMlmyNQ==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.53.5':
+ resolution: {integrity: sha512-wrSAViWvZHBMMlWk6EJhvg8/rjxzyEhEdgfMMjREHEq11EtJ6IP6yfcCH57YAEca2Oe3FNCE9DSTgU70EIGmVw==}
+ cpu: [arm64]
+ os: [android]
- '@img/sharp-libvips-darwin-arm64@1.2.4':
- resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==}
+ '@rollup/rollup-darwin-arm64@4.53.5':
+ resolution: {integrity: sha512-S87zZPBmRO6u1YXQLwpveZm4JfPpAa6oHBX7/ghSiGH3rz/KDgAu1rKdGutV+WUI6tKDMbaBJomhnT30Y2t4VQ==}
cpu: [arm64]
os: [darwin]
- '@img/sharp-libvips-darwin-x64@1.2.4':
- resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==}
+ '@rollup/rollup-darwin-x64@4.53.5':
+ resolution: {integrity: sha512-YTbnsAaHo6VrAczISxgpTva8EkfQus0VPEVJCEaboHtZRIb6h6j0BNxRBOwnDciFTZLDPW5r+ZBmhL/+YpTZgA==}
cpu: [x64]
os: [darwin]
- '@img/sharp-libvips-linux-arm64@1.2.4':
- resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
+ '@rollup/rollup-freebsd-arm64@4.53.5':
+ resolution: {integrity: sha512-1T8eY2J8rKJWzaznV7zedfdhD1BqVs1iqILhmHDq/bqCUZsrMt+j8VCTHhP0vdfbHK3e1IQ7VYx3jlKqwlf+vw==}
cpu: [arm64]
- os: [linux]
-
- '@img/sharp-libvips-linux-arm@1.2.4':
- resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
- cpu: [arm]
- os: [linux]
-
- '@img/sharp-libvips-linux-ppc64@1.2.4':
- resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
- cpu: [ppc64]
- os: [linux]
+ os: [freebsd]
- '@img/sharp-libvips-linux-riscv64@1.2.4':
- resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
- cpu: [riscv64]
- os: [linux]
+ '@rollup/rollup-freebsd-x64@4.53.5':
+ resolution: {integrity: sha512-sHTiuXyBJApxRn+VFMaw1U+Qsz4kcNlxQ742snICYPrY+DDL8/ZbaC4DVIB7vgZmp3jiDaKA0WpBdP0aqPJoBQ==}
+ cpu: [x64]
+ os: [freebsd]
- '@img/sharp-libvips-linux-s390x@1.2.4':
- resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
- cpu: [s390x]
+ '@rollup/rollup-linux-arm-gnueabihf@4.53.5':
+ resolution: {integrity: sha512-dV3T9MyAf0w8zPVLVBptVlzaXxka6xg1f16VAQmjg+4KMSTWDvhimI/Y6mp8oHwNrmnmVl9XxJ/w/mO4uIQONA==}
+ cpu: [arm]
os: [linux]
- '@img/sharp-libvips-linux-x64@1.2.4':
- resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
- cpu: [x64]
+ '@rollup/rollup-linux-arm-musleabihf@4.53.5':
+ resolution: {integrity: sha512-wIGYC1x/hyjP+KAu9+ewDI+fi5XSNiUi9Bvg6KGAh2TsNMA3tSEs+Sh6jJ/r4BV/bx/CyWu2ue9kDnIdRyafcQ==}
+ cpu: [arm]
os: [linux]
- '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
- resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
+ '@rollup/rollup-linux-arm64-gnu@4.53.5':
+ resolution: {integrity: sha512-Y+qVA0D9d0y2FRNiG9oM3Hut/DgODZbU9I8pLLPwAsU0tUKZ49cyV1tzmB/qRbSzGvY8lpgGkJuMyuhH7Ma+Vg==}
cpu: [arm64]
os: [linux]
- '@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}
+ '@rollup/rollup-linux-arm64-musl@4.53.5':
+ resolution: {integrity: sha512-juaC4bEgJsyFVfqhtGLz8mbopaWD+WeSOYr5E16y+1of6KQjc0BpwZLuxkClqY1i8sco+MdyoXPNiCkQou09+g==}
cpu: [arm64]
os: [linux]
- '@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]
+ '@rollup/rollup-linux-loong64-gnu@4.53.5':
+ resolution: {integrity: sha512-rIEC0hZ17A42iXtHX+EPJVL/CakHo+tT7W0pbzdAGuWOt2jxDFh7A/lRhsNHBcqL4T36+UiAgwO8pbmn3dE8wA==}
+ cpu: [loong64]
os: [linux]
- '@img/sharp-linux-ppc64@0.34.5':
- resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ '@rollup/rollup-linux-ppc64-gnu@4.53.5':
+ resolution: {integrity: sha512-T7l409NhUE552RcAOcmJHj3xyZ2h7vMWzcwQI0hvn5tqHh3oSoclf9WgTl+0QqffWFG8MEVZZP1/OBglKZx52Q==}
cpu: [ppc64]
os: [linux]
- '@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}
+ '@rollup/rollup-linux-riscv64-gnu@4.53.5':
+ resolution: {integrity: sha512-7OK5/GhxbnrMcxIFoYfhV/TkknarkYC1hqUw1wU2xUN3TVRLNT5FmBv4KkheSG2xZ6IEbRAhTooTV2+R5Tk0lQ==}
cpu: [riscv64]
os: [linux]
- '@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]
+ '@rollup/rollup-linux-riscv64-musl@4.53.5':
+ resolution: {integrity: sha512-GwuDBE/PsXaTa76lO5eLJTyr2k8QkPipAyOrs4V/KJufHCZBJ495VCGJol35grx9xryk4V+2zd3Ri+3v7NPh+w==}
+ cpu: [riscv64]
os: [linux]
- '@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]
+ '@rollup/rollup-linux-s390x-gnu@4.53.5':
+ resolution: {integrity: sha512-IAE1Ziyr1qNfnmiQLHBURAD+eh/zH1pIeJjeShleII7Vj8kyEm2PF77o+lf3WTHDpNJcu4IXJxNO0Zluro8bOw==}
+ cpu: [s390x]
os: [linux]
- '@img/sharp-linuxmusl-arm64@0.34.5':
- resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
- cpu: [arm64]
+ '@rollup/rollup-linux-x64-gnu@4.53.5':
+ resolution: {integrity: sha512-Pg6E+oP7GvZ4XwgRJBuSXZjcqpIW3yCBhK4BcsANvb47qMvAbCjR6E+1a/U2WXz1JJxp9/4Dno3/iSJLcm5auw==}
+ cpu: [x64]
os: [linux]
- '@img/sharp-linuxmusl-x64@0.34.5':
- resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ '@rollup/rollup-linux-x64-musl@4.53.5':
+ resolution: {integrity: sha512-txGtluxDKTxaMDzUduGP0wdfng24y1rygUMnmlUJ88fzCCULCLn7oE5kb2+tRB+MWq1QDZT6ObT5RrR8HFRKqg==}
cpu: [x64]
os: [linux]
- '@img/sharp-wasm32@0.34.5':
- resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
- cpu: [wasm32]
+ '@rollup/rollup-openharmony-arm64@4.53.5':
+ resolution: {integrity: sha512-3DFiLPnTxiOQV993fMc+KO8zXHTcIjgaInrqlG8zDp1TlhYl6WgrOHuJkJQ6M8zHEcntSJsUp1XFZSY8C1DYbg==}
+ cpu: [arm64]
+ os: [openharmony]
- '@img/sharp-win32-arm64@0.34.5':
- resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ '@rollup/rollup-win32-arm64-msvc@4.53.5':
+ resolution: {integrity: sha512-nggc/wPpNTgjGg75hu+Q/3i32R00Lq1B6N1DO7MCU340MRKL3WZJMjA9U4K4gzy3dkZPXm9E1Nc81FItBVGRlA==}
cpu: [arm64]
os: [win32]
- '@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}
+ '@rollup/rollup-win32-ia32-msvc@4.53.5':
+ resolution: {integrity: sha512-U/54pTbdQpPLBdEzCT6NBCFAfSZMvmjr0twhnD9f4EIvlm9wy3jjQ38yQj1AGznrNO65EWQMgm/QUjuIVrYF9w==}
cpu: [ia32]
os: [win32]
- '@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}
+ '@rollup/rollup-win32-x64-gnu@4.53.5':
+ resolution: {integrity: sha512-2NqKgZSuLH9SXBBV2dWNRCZmocgSOx8OJSdpRaEcRlIfX8YrKxUT6z0F1NpvDVhOsl190UFTRh2F2WDWWCYp3A==}
cpu: [x64]
os: [win32]
- '@next/env@16.0.10':
- resolution: {integrity: sha512-8tuaQkyDVgeONQ1MeT9Mkk8pQmZapMKFh5B+OrFUlG3rVmYTXcXlBetBgTurKXGaIZvkoqRT9JL5K3phXcgang==}
-
- '@next/eslint-plugin-next@15.5.0':
- resolution: {integrity: sha512-+k83U/fST66eQBjTltX2T9qUYd43ntAe+NZ5qeZVTQyTiFiHvTLtkpLKug4AnZAtuI/lwz5tl/4QDJymjVkybg==}
-
- '@next/swc-darwin-arm64@16.0.10':
- resolution: {integrity: sha512-4XgdKtdVsaflErz+B5XeG0T5PeXKDdruDf3CRpnhN+8UebNa5N2H58+3GDgpn/9GBurrQ1uWW768FfscwYkJRg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
-
- '@next/swc-darwin-x64@16.0.10':
- resolution: {integrity: sha512-spbEObMvRKkQ3CkYVOME+ocPDFo5UqHb8EMTS78/0mQ+O1nqE8toHJVioZo4TvebATxgA8XMTHHrScPrn68OGw==}
- engines: {node: '>= 10'}
+ '@rollup/rollup-win32-x64-msvc@4.53.5':
+ resolution: {integrity: sha512-JRpZUhCfhZ4keB5v0fe02gQJy05GqboPOaxvjugW04RLSYYoB/9t2lx2u/tMs/Na/1NXfY8QYjgRljRpN+MjTQ==}
cpu: [x64]
- os: [darwin]
-
- '@next/swc-linux-arm64-gnu@16.0.10':
- resolution: {integrity: sha512-uQtWE3X0iGB8apTIskOMi2w/MKONrPOUCi5yLO+v3O8Mb5c7K4Q5KD1jvTpTF5gJKa3VH/ijKjKUq9O9UhwOYw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
- '@next/swc-linux-arm64-musl@16.0.10':
- resolution: {integrity: sha512-llA+hiDTrYvyWI21Z0L1GiXwjQaanPVQQwru5peOgtooeJ8qx3tlqRV2P7uH2pKQaUfHxI/WVarvI5oYgGxaTw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
- '@next/swc-linux-x64-gnu@16.0.10':
- resolution: {integrity: sha512-AK2q5H0+a9nsXbeZ3FZdMtbtu9jxW4R/NgzZ6+lrTm3d6Zb7jYrWcgjcpM1k8uuqlSy4xIyPR2YiuUr+wXsavA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
- '@next/swc-linux-x64-musl@16.0.10':
- resolution: {integrity: sha512-1TDG9PDKivNw5550S111gsO4RGennLVl9cipPhtkXIFVwo31YZ73nEbLjNC8qG3SgTz/QZyYyaFYMeY4BKZR/g==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
- '@next/swc-win32-arm64-msvc@16.0.10':
- resolution: {integrity: sha512-aEZIS4Hh32xdJQbHz121pyuVZniSNoqDVx1yIr2hy+ZwJGipeqnMZBJHyMxv2tiuAXGx6/xpTcQJ6btIiBjgmg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
os: [win32]
- '@next/swc-win32-x64-msvc@16.0.10':
- resolution: {integrity: sha512-E+njfCoFLb01RAFEnGZn6ERoOqhK1Gl3Lfz1Kjnj0Ulfu7oJbuMyvBKNj/bw8XZnenHDASlygTjZICQW+rYW1Q==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
+ '@types/babel__core@7.20.5':
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
+ '@types/babel__generator@7.27.0':
+ resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
+ '@types/babel__template@7.4.4':
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
-
- '@swc/helpers@0.5.15':
- resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
+ '@types/babel__traverse@7.28.0':
+ resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
@@ -432,76 +530,82 @@ packages:
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- '@types/node@22.15.3':
- resolution: {integrity: sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==}
+ '@types/node@25.0.3':
+ resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==}
- '@types/react-dom@19.2.2':
- resolution: {integrity: sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==}
+ '@types/react-dom@19.2.3':
+ resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
peerDependencies:
'@types/react': ^19.2.0
- '@types/react@19.2.2':
- resolution: {integrity: sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==}
+ '@types/react@19.2.7':
+ resolution: {integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==}
- '@typescript-eslint/eslint-plugin@8.49.0':
- resolution: {integrity: sha512-JXij0vzIaTtCwu6SxTh8qBc66kmf1xs7pI4UOiMDFVct6q86G0Zs7KRcEoJgY3Cav3x5Tq0MF5jwgpgLqgKG3A==}
+ '@typescript-eslint/eslint-plugin@8.50.0':
+ resolution: {integrity: sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.49.0
+ '@typescript-eslint/parser': ^8.50.0
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@8.49.0':
- resolution: {integrity: sha512-N9lBGA9o9aqb1hVMc9hzySbhKibHmB+N3IpoShyV6HyQYRGIhlrO5rQgttypi+yEeKsKI4idxC8Jw6gXKD4THA==}
+ '@typescript-eslint/parser@8.50.0':
+ resolution: {integrity: sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/project-service@8.49.0':
- resolution: {integrity: sha512-/wJN0/DKkmRUMXjZUXYZpD1NEQzQAAn9QWfGwo+Ai8gnzqH7tvqS7oNVdTjKqOcPyVIdZdyCMoqN66Ia789e7g==}
+ '@typescript-eslint/project-service@8.50.0':
+ resolution: {integrity: sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.49.0':
- resolution: {integrity: sha512-npgS3zi+/30KSOkXNs0LQXtsg9ekZ8OISAOLGWA/ZOEn0ZH74Ginfl7foziV8DT+D98WfQ5Kopwqb/PZOaIJGg==}
+ '@typescript-eslint/scope-manager@8.50.0':
+ resolution: {integrity: sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.49.0':
- resolution: {integrity: sha512-8prixNi1/6nawsRYxet4YOhnbW+W9FK/bQPxsGB1D3ZrDzbJ5FXw5XmzxZv82X3B+ZccuSxo/X8q9nQ+mFecWA==}
+ '@typescript-eslint/tsconfig-utils@8.50.0':
+ resolution: {integrity: sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/type-utils@8.49.0':
- resolution: {integrity: sha512-KTExJfQ+svY8I10P4HdxKzWsvtVnsuCifU5MvXrRwoP2KOlNZ9ADNEWWsQTJgMxLzS5VLQKDjkCT/YzgsnqmZg==}
+ '@typescript-eslint/type-utils@8.50.0':
+ resolution: {integrity: sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/types@8.49.0':
- resolution: {integrity: sha512-e9k/fneezorUo6WShlQpMxXh8/8wfyc+biu6tnAqA81oWrEic0k21RHzP9uqqpyBBeBKu4T+Bsjy9/b8u7obXQ==}
+ '@typescript-eslint/types@8.50.0':
+ resolution: {integrity: sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.49.0':
- resolution: {integrity: sha512-jrLdRuAbPfPIdYNppHJ/D0wN+wwNfJ32YTAm10eJVsFmrVpXQnDWBn8niCSMlWjvml8jsce5E/O+86IQtTbJWA==}
+ '@typescript-eslint/typescript-estree@8.50.0':
+ resolution: {integrity: sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.49.0':
- resolution: {integrity: sha512-N3W7rJw7Rw+z1tRsHZbK395TWSYvufBXumYtEGzypgMUthlg0/hmCImeA8hgO2d2G4pd7ftpxxul2J8OdtdaFA==}
+ '@typescript-eslint/utils@8.50.0':
+ resolution: {integrity: sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/visitor-keys@8.49.0':
- resolution: {integrity: sha512-LlKaciDe3GmZFphXIc79THF/YYBugZ7FS1pO581E/edlVVNbZKDy93evqmrfQ9/Y4uN0vVhX4iuchq26mK/iiA==}
+ '@typescript-eslint/visitor-keys@8.50.0':
+ resolution: {integrity: sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@vitejs/plugin-react@5.1.2':
+ resolution: {integrity: sha512-EcA07pHJouywpzsoTUqNh5NwGayl2PPVEJKUSinGGSxFGYn+shYbqMGBg6FXDqgXum9Ou/ecb+411ssw8HImJQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
@@ -510,6 +614,7 @@ packages:
acorn@8.15.0:
resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
engines: {node: '>=0.4.0'}
+ hasBin: true
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
@@ -518,83 +623,57 @@ packages:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
+ any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- array-buffer-byte-length@1.0.2:
- resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
- engines: {node: '>= 0.4'}
-
- array-includes@3.1.9:
- resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==}
- engines: {node: '>= 0.4'}
-
- array.prototype.findlast@1.2.5:
- resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
- engines: {node: '>= 0.4'}
-
- array.prototype.flat@1.3.3:
- resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
- engines: {node: '>= 0.4'}
-
- array.prototype.flatmap@1.3.3:
- resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
- engines: {node: '>= 0.4'}
-
- array.prototype.tosorted@1.1.4:
- resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
- engines: {node: '>= 0.4'}
-
- arraybuffer.prototype.slice@1.0.4:
- resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
- engines: {node: '>= 0.4'}
-
- async-function@1.0.0:
- resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
- engines: {node: '>= 0.4'}
-
- available-typed-arrays@1.0.7:
- resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
- engines: {node: '>= 0.4'}
+ babel-plugin-react-compiler@1.0.0:
+ resolution: {integrity: sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==}
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ baseline-browser-mapping@2.9.9:
+ resolution: {integrity: sha512-V8fbOCSeOFvlDj7LLChUcqbZrdKD9RU/VR260piF1790vT0mfLSwGc/Qzxv3IqiTukOpNtItePa0HBpMAj7MDg==}
+ hasBin: true
+
brace-expansion@1.1.12:
resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
brace-expansion@2.0.2:
resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
-
- call-bind-apply-helpers@1.0.2:
- resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
- engines: {node: '>= 0.4'}
+ browserslist@4.28.1:
+ resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
- call-bind@1.0.8:
- resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
- engines: {node: '>= 0.4'}
+ bundle-require@5.1.0:
+ resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ peerDependencies:
+ esbuild: '>=0.18'
- call-bound@1.0.4:
- resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
- engines: {node: '>= 0.4'}
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
- caniuse-lite@1.0.30001759:
- resolution: {integrity: sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==}
+ caniuse-lite@1.0.30001760:
+ resolution: {integrity: sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==}
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
- client-only@0.0.1:
- resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
@@ -603,27 +682,29 @@ packages:
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- cross-spawn@7.0.6:
- resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
- engines: {node: '>= 8'}
+ confbox@0.1.8:
+ resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
- csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ consola@3.4.2:
+ resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
+ engines: {node: ^14.18.0 || >=16.10.0}
- data-view-buffer@1.0.2:
- resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
- engines: {node: '>= 0.4'}
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- data-view-byte-length@1.0.2:
- resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
- engines: {node: '>= 0.4'}
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
- data-view-byte-offset@1.0.1:
- resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
- engines: {node: '>= 0.4'}
+ csstype@3.2.3:
+ resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
debug@4.4.3:
resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
@@ -637,92 +718,36 @@ packages:
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'}
-
detect-libc@2.1.2:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
- doctrine@2.1.0:
- resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
- engines: {node: '>=0.10.0'}
-
- dotenv@16.0.3:
- resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
- engines: {node: '>=12'}
-
- dunder-proto@1.0.1:
- resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
- engines: {node: '>= 0.4'}
-
- es-abstract@1.24.0:
- resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==}
- engines: {node: '>= 0.4'}
-
- es-define-property@1.0.1:
- resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
- engines: {node: '>= 0.4'}
+ electron-to-chromium@1.5.267:
+ resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==}
- 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-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'}
+ esbuild@0.27.2:
+ resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==}
+ engines: {node: '>=18'}
+ hasBin: true
- es-to-primitive@1.3.0:
- resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
- engines: {node: '>= 0.4'}
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- eslint-config-prettier@10.1.1:
- resolution: {integrity: sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==}
- peerDependencies:
- eslint: '>=7.0.0'
-
- eslint-plugin-only-warn@1.1.0:
- resolution: {integrity: sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==}
- engines: {node: '>=6'}
-
- eslint-plugin-react-hooks@5.2.0:
- resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
- engines: {node: '>=10'}
+ eslint-plugin-react-hooks@7.0.1:
+ resolution: {integrity: sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==}
+ engines: {node: '>=18'}
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@7.37.5:
- resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==}
- engines: {node: '>=4'}
- peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
-
- eslint-plugin-turbo@2.6.0:
- resolution: {integrity: sha512-04TohZhq6YQVXBZVRvrn8ZTj1sUQYZmjUWsfwgFAlaM5Kbk5Fdh5mLBKfhGGzekB55E+Ut9qNzAGh+JW4rjiuA==}
+ eslint-plugin-react-refresh@0.4.26:
+ resolution: {integrity: sha512-1RETEylht2O6FM/MvgnyvT+8K21wLqDNg4qD51Zj3guhjt433XbnnkVttHMyaVyAFD03QSV4LPS5iE3VQmO7XQ==}
peerDependencies:
- eslint: '>6.6.0'
- turbo: '>2.0.0'
+ eslint: '>=8.40'
eslint-scope@8.4.0:
resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
@@ -736,9 +761,10 @@ packages:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.39.1:
- resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==}
+ eslint@9.39.2:
+ resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ hasBin: true
peerDependencies:
jiti: '*'
peerDependenciesMeta:
@@ -768,19 +794,12 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- fast-glob@3.3.1:
- resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
- 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.19.1:
- resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
-
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
@@ -794,14 +813,13 @@ packages:
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'}
+ fix-dts-default-cjs-exports@1.0.1:
+ resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==}
+
flat-cache@4.0.1:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
@@ -809,35 +827,14 @@ packages:
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'}
-
- 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==}
-
- 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-symbol-description@1.1.0:
- resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
- engines: {node: '>= 0.4'}
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
glob-parent@6.0.2:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
@@ -851,40 +848,15 @@ packages:
resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==}
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'}
-
- 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'}
+ hermes-estree@0.25.1:
+ resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==}
- hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
+ hermes-parser@0.25.1:
+ resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==}
ignore@5.3.2:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
@@ -902,125 +874,36 @@ packages:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
- internal-slot@1.1.0:
- resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
- engines: {node: '>= 0.4'}
-
- 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-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-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-generator-function@1.1.0:
- resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
- engines: {node: '>= 0.4'}
-
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
- 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-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-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'}
-
- 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
+
+ joycon@3.1.1:
+ resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
+ engines: {node: '>=10'}
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ js-yaml@4.1.1:
+ resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
+ hasBin: 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==}
@@ -1031,9 +914,10 @@ packages:
json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
- jsx-ast-utils@3.3.5:
- resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
- engines: {node: '>=4.0'}
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
@@ -1042,6 +926,87 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
+ lightningcss-android-arm64@1.30.2:
+ resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ lightningcss-darwin-arm64@1.30.2:
+ resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.30.2:
+ resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-freebsd-x64@1.30.2:
+ resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.30.2:
+ resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.30.2:
+ resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-arm64-musl@1.30.2:
+ resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-x64-gnu@1.30.2:
+ resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-linux-x64-musl@1.30.2:
+ resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-win32-arm64-msvc@1.30.2:
+ resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.30.2:
+ resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ lightningcss@1.30.2:
+ resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==}
+ engines: {node: '>= 12.0.0'}
+
+ lilconfig@3.1.3:
+ resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
+ engines: {node: '>=14'}
+
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ load-tsconfig@0.2.5:
+ resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
@@ -1049,20 +1014,11 @@ packages:
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
- loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
-
- math-intrinsics@1.1.0:
- resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
- engines: {node: '>= 0.4'}
-
- merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
- micromatch@4.0.8:
- resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
- engines: {node: '>=8.6'}
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
@@ -1071,72 +1027,34 @@ packages:
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
engines: {node: '>=16 || 14 >=14.17'}
+ mlly@1.8.0:
+ resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==}
+
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+
nanoid@3.3.11:
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- next@16.0.10:
- resolution: {integrity: sha512-RtWh5PUgI+vxlV3HdR+IfWA1UUHu0+Ram/JBO4vWB54cVPentCD0e+lxyAYEsDTqGGMg7qpjhKh6dc6aW7W/sA==}
- engines: {node: '>=20.9.0'}
- peerDependencies:
- '@opentelemetry/api': ^1.1.0
- '@playwright/test': ^1.51.1
- babel-plugin-react-compiler: '*'
- react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
- react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
- sass: ^1.3.0
- peerDependenciesMeta:
- '@opentelemetry/api':
- optional: true
- '@playwright/test':
- optional: true
- babel-plugin-react-compiler:
- optional: true
- sass:
- optional: true
+ node-releases@2.0.27:
+ resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==}
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.values@1.2.1:
- resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
- engines: {node: '>= 0.4'}
-
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'}
@@ -1157,26 +1075,43 @@ packages:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
- path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
picomatch@4.0.3:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
- possible-typed-array-names@1.1.0:
- resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
- engines: {node: '>= 0.4'}
+ pirates@4.0.7:
+ resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
+ engines: {node: '>= 6'}
+
+ pkg-types@1.3.1:
+ resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
+
+ postcss-load-config@6.0.1:
+ resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ jiti: '>=1.21.0'
+ postcss: '>=8.0.9'
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+ postcss:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
- postcss@8.4.31:
- resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
engines: {node: ^10 || ^12 || >=14}
prelude-ls@1.2.1:
@@ -1186,88 +1121,58 @@ packages:
prettier@3.7.4:
resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==}
engines: {node: '>=14'}
-
- prop-types@15.8.1:
- resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ hasBin: true
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
- queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
-
- react-dom@19.2.0:
- resolution: {integrity: sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==}
+ react-compiler-runtime@1.0.0:
+ resolution: {integrity: sha512-rRfjYv66HlG8896yPUDONgKzG5BxZD1nV9U6rkm+7VCuvQc903C4MjcoZR4zPw53IKSOX9wMQVpA1IAbRtzQ7w==}
peerDependencies:
- react: ^19.2.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0 || ^0.0.0-experimental
- react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ react-dom@19.2.3:
+ resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==}
+ peerDependencies:
+ react: ^19.2.3
- react@19.2.0:
- resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==}
+ react-refresh@0.18.0:
+ resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==}
engines: {node: '>=0.10.0'}
- reflect.getprototypeof@1.0.10:
- resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
- engines: {node: '>= 0.4'}
+ react@19.2.3:
+ resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==}
+ engines: {node: '>=0.10.0'}
- regexp.prototype.flags@1.5.4:
- resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
- engines: {node: '>= 0.4'}
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
- resolve@2.0.0-next.5:
- resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
-
- reusify@1.1.0:
- resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
-
- run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
-
- safe-array-concat@1.1.3:
- resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
- engines: {node: '>=0.4'}
-
- safe-push-apply@1.0.0:
- resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
- engines: {node: '>= 0.4'}
+ resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
- safe-regex-test@1.1.0:
- resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
- engines: {node: '>= 0.4'}
+ rollup@4.53.5:
+ resolution: {integrity: sha512-iTNAbFSlRpcHeeWu73ywU/8KuU/LZmNCSxp6fjQkJBD3ivUb8tpDrXhIxEzA05HlYMEwmtaUnb3RP+YNv162OQ==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
scheduler@0.27.0:
resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
semver@7.7.3:
resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
engines: {node: '>=10'}
-
- 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}
+ hasBin: true
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
@@ -1277,81 +1182,44 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- 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'}
-
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
- stop-iteration-iterator@1.1.0:
- resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
- 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'}
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
- 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
+ sucrase@3.35.1:
+ resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
- supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
+ thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+
+ thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+
+ tinyexec@0.3.2:
+ resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
tinyglobby@0.2.15:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
+ tree-kill@1.2.2:
+ resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
+ hasBin: true
ts-api-utils@2.1.0:
resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
@@ -1359,8 +1227,27 @@ packages:
peerDependencies:
typescript: '>=4.8.4'
- tslib@2.8.1:
- resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+ ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+
+ tsup@8.5.1:
+ resolution: {integrity: sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ '@microsoft/api-extractor': ^7.36.0
+ '@swc/core': ^1
+ postcss: ^8.4.12
+ typescript: '>=4.5.0'
+ peerDependenciesMeta:
+ '@microsoft/api-extractor':
+ optional: true
+ '@swc/core':
+ optional: true
+ postcss:
+ optional: true
+ typescript:
+ optional: true
turbo-darwin-64@2.6.3:
resolution: {integrity: sha512-BlJJDc1CQ7SK5Y5qnl7AzpkvKSnpkfPmnA+HeU/sgny3oHZckPV2776ebO2M33CYDSor7+8HQwaodY++IINhYg==}
@@ -1400,24 +1287,8 @@ packages:
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.49.0:
- resolution: {integrity: sha512-zRSVH1WXD0uXczCXw+nsdjGPUdx4dfrs5VQoHnUWmv1U3oNlAKv4FUNdLDhVUg+gYn+a5hUESqch//Rv5wVhrg==}
+ typescript-eslint@8.50.0:
+ resolution: {integrity: sha512-Q1/6yNUmCpH94fbgMUMg2/BSAr/6U7GBk61kZTv1/asghQOWOjTlp9K8mixS5NcJmm2creY+UFfGeW/+OcA64A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -1426,55 +1297,294 @@ packages:
typescript@5.9.2:
resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
engines: {node: '>=14.17'}
+ hasBin: true
- unbox-primitive@1.1.0:
- resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
- engines: {node: '>= 0.4'}
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
- undici-types@6.21.0:
- resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+ ufo@1.6.1:
+ resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
- uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ undici-types@7.16.0:
+ resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
- which-boxed-primitive@1.1.1:
- resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
- engines: {node: '>= 0.4'}
+ update-browserslist-db@1.2.3:
+ resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
- which-builtin-type@1.2.1:
- resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
- engines: {node: '>= 0.4'}
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- which-collection@1.0.2:
- resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
- engines: {node: '>= 0.4'}
+ vite-plugin-babel@1.3.2:
+ resolution: {integrity: sha512-mEld4OVyuNs5+ISN+U5XyTnNcDwln/s2oER2m0PQ32YYPqPR25E3mfnhAA/RkZJxPuwFkprKWV405aZArE6kzA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ vite: ^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
- which-typed-array@1.1.19:
- resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
- engines: {node: '>= 0.4'}
+ vite@7.3.0:
+ resolution: {integrity: sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^20.19.0 || >=22.12.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
+ lightningcss: ^1.21.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
+ hasBin: true
word-wrap@1.2.5:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
+ zod-validation-error@4.0.2:
+ resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ zod: ^3.25.0 || ^4.0.0
+
+ zod@4.2.1:
+ resolution: {integrity: sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==}
+
snapshots:
- '@emnapi/runtime@1.7.1':
+ '@babel/code-frame@7.27.1':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.28.5
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/compat-data@7.28.5': {}
+
+ '@babel/core@7.28.5':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.5
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5)
+ '@babel/helpers': 7.28.4
+ '@babel/parser': 7.28.5
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.5
+ '@babel/types': 7.28.5
+ '@jridgewell/remapping': 2.3.5
+ convert-source-map: 2.0.0
+ debug: 4.4.3
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.28.5':
+ dependencies:
+ '@babel/parser': 7.28.5
+ '@babel/types': 7.28.5
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ jsesc: 3.1.0
+
+ '@babel/helper-compilation-targets@7.27.2':
+ dependencies:
+ '@babel/compat-data': 7.28.5
+ '@babel/helper-validator-option': 7.27.1
+ browserslist: 4.28.1
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-globals@7.28.0': {}
+
+ '@babel/helper-module-imports@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.5
+ '@babel/types': 7.28.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
+ '@babel/traverse': 7.28.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-plugin-utils@7.27.1': {}
+
+ '@babel/helper-string-parser@7.27.1': {}
+
+ '@babel/helper-validator-identifier@7.28.5': {}
+
+ '@babel/helper-validator-option@7.27.1': {}
+
+ '@babel/helpers@7.28.4':
+ dependencies:
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.5
+
+ '@babel/parser@7.28.5':
+ dependencies:
+ '@babel/types': 7.28.5
+
+ '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.5)':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.5)':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/template@7.27.2':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/parser': 7.28.5
+ '@babel/types': 7.28.5
+
+ '@babel/traverse@7.28.5':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.5
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.28.5
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.5
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.28.5':
dependencies:
- tslib: 2.8.1
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
+
+ '@esbuild/aix-ppc64@0.27.2':
+ optional: true
+
+ '@esbuild/android-arm64@0.27.2':
+ optional: true
+
+ '@esbuild/android-arm@0.27.2':
+ optional: true
+
+ '@esbuild/android-x64@0.27.2':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.27.2':
+ optional: true
+
+ '@esbuild/darwin-x64@0.27.2':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.27.2':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.27.2':
+ optional: true
+
+ '@esbuild/linux-arm64@0.27.2':
+ optional: true
+
+ '@esbuild/linux-arm@0.27.2':
+ optional: true
+
+ '@esbuild/linux-ia32@0.27.2':
+ optional: true
+
+ '@esbuild/linux-loong64@0.27.2':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.27.2':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.27.2':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.27.2':
+ optional: true
+
+ '@esbuild/linux-s390x@0.27.2':
+ optional: true
+
+ '@esbuild/linux-x64@0.27.2':
+ optional: true
+
+ '@esbuild/netbsd-arm64@0.27.2':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.27.2':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.27.2':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.27.2':
+ optional: true
+
+ '@esbuild/openharmony-arm64@0.27.2':
+ optional: true
+
+ '@esbuild/sunos-x64@0.27.2':
+ optional: true
+
+ '@esbuild/win32-arm64@0.27.2':
+ optional: true
+
+ '@esbuild/win32-ia32@0.27.2':
+ optional: true
+
+ '@esbuild/win32-x64@0.27.2':
optional: true
- '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1)':
+ '@eslint-community/eslint-utils@4.9.0(eslint@9.39.2(jiti@2.6.1))':
dependencies:
- eslint: 9.39.1
+ eslint: 9.39.2(jiti@2.6.1)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {}
@@ -1495,7 +1605,7 @@ snapshots:
dependencies:
'@types/json-schema': 7.0.15
- '@eslint/eslintrc@3.3.1':
+ '@eslint/eslintrc@3.3.3':
dependencies:
ajv: 6.12.6
debug: 4.4.3
@@ -1503,13 +1613,13 @@ snapshots:
globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.1
- js-yaml: 4.1.0
+ js-yaml: 4.1.1
minimatch: 3.1.2
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.39.1': {}
+ '@eslint/js@9.39.2': {}
'@eslint/object-schema@2.1.7': {}
@@ -1529,256 +1639,233 @@ snapshots:
'@humanwhocodes/retry@0.4.3': {}
- '@img/colour@1.0.0':
- optional: true
-
- '@img/sharp-darwin-arm64@0.34.5':
- optionalDependencies:
- '@img/sharp-libvips-darwin-arm64': 1.2.4
- optional: true
-
- '@img/sharp-darwin-x64@0.34.5':
- optionalDependencies:
- '@img/sharp-libvips-darwin-x64': 1.2.4
- optional: true
-
- '@img/sharp-libvips-darwin-arm64@1.2.4':
- optional: true
-
- '@img/sharp-libvips-darwin-x64@1.2.4':
- optional: true
-
- '@img/sharp-libvips-linux-arm64@1.2.4':
- optional: true
+ '@jridgewell/gen-mapping@0.3.13':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
- '@img/sharp-libvips-linux-arm@1.2.4':
- optional: true
+ '@jridgewell/remapping@2.3.5':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
- '@img/sharp-libvips-linux-ppc64@1.2.4':
- optional: true
+ '@jridgewell/resolve-uri@3.1.2': {}
- '@img/sharp-libvips-linux-riscv64@1.2.4':
- optional: true
+ '@jridgewell/sourcemap-codec@1.5.5': {}
- '@img/sharp-libvips-linux-s390x@1.2.4':
- optional: true
+ '@jridgewell/trace-mapping@0.3.31':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
- '@img/sharp-libvips-linux-x64@1.2.4':
- optional: true
+ '@rolldown/pluginutils@1.0.0-beta.53': {}
- '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
+ '@rollup/rollup-android-arm-eabi@4.53.5':
optional: true
- '@img/sharp-libvips-linuxmusl-x64@1.2.4':
+ '@rollup/rollup-android-arm64@4.53.5':
optional: true
- '@img/sharp-linux-arm64@0.34.5':
- optionalDependencies:
- '@img/sharp-libvips-linux-arm64': 1.2.4
+ '@rollup/rollup-darwin-arm64@4.53.5':
optional: true
- '@img/sharp-linux-arm@0.34.5':
- optionalDependencies:
- '@img/sharp-libvips-linux-arm': 1.2.4
+ '@rollup/rollup-darwin-x64@4.53.5':
optional: true
- '@img/sharp-linux-ppc64@0.34.5':
- optionalDependencies:
- '@img/sharp-libvips-linux-ppc64': 1.2.4
+ '@rollup/rollup-freebsd-arm64@4.53.5':
optional: true
- '@img/sharp-linux-riscv64@0.34.5':
- optionalDependencies:
- '@img/sharp-libvips-linux-riscv64': 1.2.4
+ '@rollup/rollup-freebsd-x64@4.53.5':
optional: true
- '@img/sharp-linux-s390x@0.34.5':
- optionalDependencies:
- '@img/sharp-libvips-linux-s390x': 1.2.4
+ '@rollup/rollup-linux-arm-gnueabihf@4.53.5':
optional: true
- '@img/sharp-linux-x64@0.34.5':
- optionalDependencies:
- '@img/sharp-libvips-linux-x64': 1.2.4
+ '@rollup/rollup-linux-arm-musleabihf@4.53.5':
optional: true
- '@img/sharp-linuxmusl-arm64@0.34.5':
- optionalDependencies:
- '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
+ '@rollup/rollup-linux-arm64-gnu@4.53.5':
optional: true
- '@img/sharp-linuxmusl-x64@0.34.5':
- optionalDependencies:
- '@img/sharp-libvips-linuxmusl-x64': 1.2.4
+ '@rollup/rollup-linux-arm64-musl@4.53.5':
optional: true
- '@img/sharp-wasm32@0.34.5':
- dependencies:
- '@emnapi/runtime': 1.7.1
+ '@rollup/rollup-linux-loong64-gnu@4.53.5':
optional: true
- '@img/sharp-win32-arm64@0.34.5':
+ '@rollup/rollup-linux-ppc64-gnu@4.53.5':
optional: true
- '@img/sharp-win32-ia32@0.34.5':
+ '@rollup/rollup-linux-riscv64-gnu@4.53.5':
optional: true
- '@img/sharp-win32-x64@0.34.5':
+ '@rollup/rollup-linux-riscv64-musl@4.53.5':
optional: true
- '@next/env@16.0.10': {}
-
- '@next/eslint-plugin-next@15.5.0':
- dependencies:
- fast-glob: 3.3.1
-
- '@next/swc-darwin-arm64@16.0.10':
+ '@rollup/rollup-linux-s390x-gnu@4.53.5':
optional: true
- '@next/swc-darwin-x64@16.0.10':
+ '@rollup/rollup-linux-x64-gnu@4.53.5':
optional: true
- '@next/swc-linux-arm64-gnu@16.0.10':
+ '@rollup/rollup-linux-x64-musl@4.53.5':
optional: true
- '@next/swc-linux-arm64-musl@16.0.10':
+ '@rollup/rollup-openharmony-arm64@4.53.5':
optional: true
- '@next/swc-linux-x64-gnu@16.0.10':
+ '@rollup/rollup-win32-arm64-msvc@4.53.5':
optional: true
- '@next/swc-linux-x64-musl@16.0.10':
+ '@rollup/rollup-win32-ia32-msvc@4.53.5':
optional: true
- '@next/swc-win32-arm64-msvc@16.0.10':
+ '@rollup/rollup-win32-x64-gnu@4.53.5':
optional: true
- '@next/swc-win32-x64-msvc@16.0.10':
+ '@rollup/rollup-win32-x64-msvc@4.53.5':
optional: true
- '@nodelib/fs.scandir@2.1.5':
+ '@types/babel__core@7.20.5':
dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
+ '@babel/parser': 7.28.5
+ '@babel/types': 7.28.5
+ '@types/babel__generator': 7.27.0
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.28.0
- '@nodelib/fs.stat@2.0.5': {}
+ '@types/babel__generator@7.27.0':
+ dependencies:
+ '@babel/types': 7.28.5
- '@nodelib/fs.walk@1.2.8':
+ '@types/babel__template@7.4.4':
dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.19.1
+ '@babel/parser': 7.28.5
+ '@babel/types': 7.28.5
- '@swc/helpers@0.5.15':
+ '@types/babel__traverse@7.28.0':
dependencies:
- tslib: 2.8.1
+ '@babel/types': 7.28.5
'@types/estree@1.0.8': {}
'@types/json-schema@7.0.15': {}
- '@types/node@22.15.3':
+ '@types/node@25.0.3':
dependencies:
- undici-types: 6.21.0
+ undici-types: 7.16.0
- '@types/react-dom@19.2.2(@types/react@19.2.2)':
+ '@types/react-dom@19.2.3(@types/react@19.2.7)':
dependencies:
- '@types/react': 19.2.2
+ '@types/react': 19.2.7
- '@types/react@19.2.2':
+ '@types/react@19.2.7':
dependencies:
- csstype: 3.1.3
+ csstype: 3.2.3
- '@typescript-eslint/eslint-plugin@8.49.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1)(typescript@5.9.2))(eslint@9.39.1)(typescript@5.9.2)':
+ '@typescript-eslint/eslint-plugin@8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.49.0(eslint@9.39.1)(typescript@5.9.2)
- '@typescript-eslint/scope-manager': 8.49.0
- '@typescript-eslint/type-utils': 8.49.0(eslint@9.39.1)(typescript@5.9.2)
- '@typescript-eslint/utils': 8.49.0(eslint@9.39.1)(typescript@5.9.2)
- '@typescript-eslint/visitor-keys': 8.49.0
- eslint: 9.39.1
+ '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.50.0
+ '@typescript-eslint/type-utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.50.0
+ eslint: 9.39.2(jiti@2.6.1)
ignore: 7.0.5
natural-compare: 1.4.0
- ts-api-utils: 2.1.0(typescript@5.9.2)
- typescript: 5.9.2
+ ts-api-utils: 2.1.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.49.0(eslint@9.39.1)(typescript@5.9.2)':
+ '@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.49.0
- '@typescript-eslint/types': 8.49.0
- '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.9.2)
- '@typescript-eslint/visitor-keys': 8.49.0
+ '@typescript-eslint/scope-manager': 8.50.0
+ '@typescript-eslint/types': 8.50.0
+ '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.50.0
debug: 4.4.3
- eslint: 9.39.1
- typescript: 5.9.2
+ eslint: 9.39.2(jiti@2.6.1)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.49.0(typescript@5.9.2)':
+ '@typescript-eslint/project-service@8.50.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.49.0(typescript@5.9.2)
- '@typescript-eslint/types': 8.49.0
+ '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.50.0
debug: 4.4.3
- typescript: 5.9.2
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.49.0':
+ '@typescript-eslint/scope-manager@8.50.0':
dependencies:
- '@typescript-eslint/types': 8.49.0
- '@typescript-eslint/visitor-keys': 8.49.0
+ '@typescript-eslint/types': 8.50.0
+ '@typescript-eslint/visitor-keys': 8.50.0
- '@typescript-eslint/tsconfig-utils@8.49.0(typescript@5.9.2)':
+ '@typescript-eslint/tsconfig-utils@8.50.0(typescript@5.9.3)':
dependencies:
- typescript: 5.9.2
+ typescript: 5.9.3
- '@typescript-eslint/type-utils@8.49.0(eslint@9.39.1)(typescript@5.9.2)':
+ '@typescript-eslint/type-utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/types': 8.49.0
- '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.9.2)
- '@typescript-eslint/utils': 8.49.0(eslint@9.39.1)(typescript@5.9.2)
+ '@typescript-eslint/types': 8.50.0
+ '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
debug: 4.4.3
- eslint: 9.39.1
- ts-api-utils: 2.1.0(typescript@5.9.2)
- typescript: 5.9.2
+ eslint: 9.39.2(jiti@2.6.1)
+ ts-api-utils: 2.1.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.49.0': {}
+ '@typescript-eslint/types@8.50.0': {}
- '@typescript-eslint/typescript-estree@8.49.0(typescript@5.9.2)':
+ '@typescript-eslint/typescript-estree@8.50.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/project-service': 8.49.0(typescript@5.9.2)
- '@typescript-eslint/tsconfig-utils': 8.49.0(typescript@5.9.2)
- '@typescript-eslint/types': 8.49.0
- '@typescript-eslint/visitor-keys': 8.49.0
+ '@typescript-eslint/project-service': 8.50.0(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.50.0
+ '@typescript-eslint/visitor-keys': 8.50.0
debug: 4.4.3
minimatch: 9.0.5
semver: 7.7.3
tinyglobby: 0.2.15
- ts-api-utils: 2.1.0(typescript@5.9.2)
- typescript: 5.9.2
+ ts-api-utils: 2.1.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.49.0(eslint@9.39.1)(typescript@5.9.2)':
+ '@typescript-eslint/utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1)
- '@typescript-eslint/scope-manager': 8.49.0
- '@typescript-eslint/types': 8.49.0
- '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.9.2)
- eslint: 9.39.1
- typescript: 5.9.2
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1))
+ '@typescript-eslint/scope-manager': 8.50.0
+ '@typescript-eslint/types': 8.50.0
+ '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3)
+ eslint: 9.39.2(jiti@2.6.1)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.49.0':
+ '@typescript-eslint/visitor-keys@8.50.0':
dependencies:
- '@typescript-eslint/types': 8.49.0
+ '@typescript-eslint/types': 8.50.0
eslint-visitor-keys: 4.2.1
+ '@vitejs/plugin-react@5.1.2(vite@7.3.0(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2))':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5)
+ '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.5)
+ '@rolldown/pluginutils': 1.0.0-beta.53
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.18.0
+ vite: 7.3.0(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)
+ transitivePeerDependencies:
+ - supports-color
+
acorn-jsx@5.3.2(acorn@8.15.0):
dependencies:
acorn: 8.15.0
@@ -1789,80 +1876,25 @@ snapshots:
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-styles@4.3.0:
- dependencies:
- color-convert: 2.0.1
-
- argparse@2.0.1: {}
-
- array-buffer-byte-length@1.0.2:
- dependencies:
- call-bound: 1.0.4
- is-array-buffer: 3.0.5
-
- array-includes@3.1.9:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-abstract: 1.24.0
- es-object-atoms: 1.1.1
- get-intrinsic: 1.3.0
- is-string: 1.1.1
- math-intrinsics: 1.1.0
-
- array.prototype.findlast@1.2.5:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.0
- es-errors: 1.3.0
- 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.24.0
- 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.24.0
- es-shim-unscopables: 1.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
- array.prototype.tosorted@1.1.4:
+ ansi-styles@4.3.0:
dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.0
- es-errors: 1.3.0
- es-shim-unscopables: 1.1.0
+ color-convert: 2.0.1
- 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.24.0
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- is-array-buffer: 3.0.5
+ any-promise@1.3.0: {}
- async-function@1.0.0: {}
+ argparse@2.0.1: {}
- available-typed-arrays@1.0.7:
+ babel-plugin-react-compiler@1.0.0:
dependencies:
- possible-typed-array-names: 1.1.0
+ '@babel/types': 7.28.5
balanced-match@1.0.2: {}
+ baseline-browser-mapping@2.9.9: {}
+
brace-expansion@1.1.12:
dependencies:
balanced-match: 1.0.2
@@ -1872,37 +1904,33 @@ snapshots:
dependencies:
balanced-match: 1.0.2
- braces@3.0.3:
- dependencies:
- fill-range: 7.1.1
-
- call-bind-apply-helpers@1.0.2:
+ browserslist@4.28.1:
dependencies:
- es-errors: 1.3.0
- function-bind: 1.1.2
+ baseline-browser-mapping: 2.9.9
+ caniuse-lite: 1.0.30001760
+ electron-to-chromium: 1.5.267
+ node-releases: 2.0.27
+ update-browserslist-db: 1.2.3(browserslist@4.28.1)
- call-bind@1.0.8:
+ bundle-require@5.1.0(esbuild@0.27.2):
dependencies:
- call-bind-apply-helpers: 1.0.2
- es-define-property: 1.0.1
- get-intrinsic: 1.3.0
- set-function-length: 1.2.2
+ esbuild: 0.27.2
+ load-tsconfig: 0.2.5
- call-bound@1.0.4:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- get-intrinsic: 1.3.0
+ cac@6.7.14: {}
callsites@3.1.0: {}
- caniuse-lite@1.0.30001759: {}
+ caniuse-lite@1.0.30001760: {}
chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
supports-color: 7.2.0
- client-only@0.0.1: {}
+ chokidar@4.0.3:
+ dependencies:
+ readdirp: 4.1.2
color-convert@2.0.1:
dependencies:
@@ -1910,33 +1938,23 @@ snapshots:
color-name@1.1.4: {}
+ commander@4.1.1: {}
+
concat-map@0.0.1: {}
+ confbox@0.1.8: {}
+
+ consola@3.4.2: {}
+
+ convert-source-map@2.0.0: {}
+
cross-spawn@7.0.6:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
- csstype@3.1.3: {}
-
- data-view-buffer@1.0.2:
- dependencies:
- 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.4
- es-errors: 1.3.0
- is-data-view: 1.0.2
-
- data-view-byte-offset@1.0.1:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-data-view: 1.0.2
+ csstype@3.2.3: {}
debug@4.4.3:
dependencies:
@@ -1944,173 +1962,58 @@ snapshots:
deep-is@0.1.4: {}
- define-data-property@1.1.4:
- dependencies:
- es-define-property: 1.0.1
- es-errors: 1.3.0
- gopd: 1.2.0
-
- define-properties@1.2.1:
- dependencies:
- define-data-property: 1.1.4
- has-property-descriptors: 1.0.2
- object-keys: 1.1.1
-
detect-libc@2.1.2:
optional: true
- doctrine@2.1.0:
- dependencies:
- esutils: 2.0.3
+ electron-to-chromium@1.5.267: {}
- dotenv@16.0.3: {}
-
- dunder-proto@1.0.1:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-errors: 1.3.0
- gopd: 1.2.0
-
- es-abstract@1.24.0:
- 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.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.1.1
- es-set-tostringtag: 2.1.0
- es-to-primitive: 1.3.0
- function.prototype.name: 1.1.8
- get-intrinsic: 1.3.0
- get-proto: 1.0.1
- get-symbol-description: 1.1.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
- hasown: 2.0.2
- internal-slot: 1.1.0
- 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.1
- math-intrinsics: 1.1.0
- object-inspect: 1.13.4
- object-keys: 1.1.1
- object.assign: 4.1.7
- 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
- typed-array-buffer: 1.0.3
- typed-array-byte-length: 1.0.3
- typed-array-byte-offset: 1.0.4
- typed-array-length: 1.0.7
- unbox-primitive: 1.1.0
- which-typed-array: 1.1.19
-
- es-define-property@1.0.1: {}
-
- es-errors@1.3.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.0
- 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-object-atoms@1.1.1:
- dependencies:
- es-errors: 1.3.0
-
- es-set-tostringtag@2.1.0:
- dependencies:
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- has-tostringtag: 1.0.2
- hasown: 2.0.2
-
- es-shim-unscopables@1.1.0:
- dependencies:
- hasown: 2.0.2
-
- es-to-primitive@1.3.0:
- dependencies:
- is-callable: 1.2.7
- is-date-object: 1.1.0
- is-symbol: 1.1.1
+ esbuild@0.27.2:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.27.2
+ '@esbuild/android-arm': 0.27.2
+ '@esbuild/android-arm64': 0.27.2
+ '@esbuild/android-x64': 0.27.2
+ '@esbuild/darwin-arm64': 0.27.2
+ '@esbuild/darwin-x64': 0.27.2
+ '@esbuild/freebsd-arm64': 0.27.2
+ '@esbuild/freebsd-x64': 0.27.2
+ '@esbuild/linux-arm': 0.27.2
+ '@esbuild/linux-arm64': 0.27.2
+ '@esbuild/linux-ia32': 0.27.2
+ '@esbuild/linux-loong64': 0.27.2
+ '@esbuild/linux-mips64el': 0.27.2
+ '@esbuild/linux-ppc64': 0.27.2
+ '@esbuild/linux-riscv64': 0.27.2
+ '@esbuild/linux-s390x': 0.27.2
+ '@esbuild/linux-x64': 0.27.2
+ '@esbuild/netbsd-arm64': 0.27.2
+ '@esbuild/netbsd-x64': 0.27.2
+ '@esbuild/openbsd-arm64': 0.27.2
+ '@esbuild/openbsd-x64': 0.27.2
+ '@esbuild/openharmony-arm64': 0.27.2
+ '@esbuild/sunos-x64': 0.27.2
+ '@esbuild/win32-arm64': 0.27.2
+ '@esbuild/win32-ia32': 0.27.2
+ '@esbuild/win32-x64': 0.27.2
+
+ escalade@3.2.0: {}
escape-string-regexp@4.0.0: {}
- eslint-config-prettier@10.1.1(eslint@9.39.1):
- dependencies:
- eslint: 9.39.1
-
- eslint-plugin-only-warn@1.1.0: {}
-
- eslint-plugin-react-hooks@5.2.0(eslint@9.39.1):
- dependencies:
- eslint: 9.39.1
-
- eslint-plugin-react@7.37.5(eslint@9.39.1):
+ eslint-plugin-react-hooks@7.0.1(eslint@9.39.2(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: 9.39.1
- estraverse: 5.3.0
- hasown: 2.0.2
- jsx-ast-utils: 3.3.5
- minimatch: 3.1.2
- 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
+ '@babel/core': 7.28.5
+ '@babel/parser': 7.28.5
+ eslint: 9.39.2(jiti@2.6.1)
+ hermes-parser: 0.25.1
+ zod: 4.2.1
+ zod-validation-error: 4.0.2(zod@4.2.1)
+ transitivePeerDependencies:
+ - supports-color
- eslint-plugin-turbo@2.6.0(eslint@9.39.1)(turbo@2.6.3):
+ eslint-plugin-react-refresh@0.4.26(eslint@9.39.2(jiti@2.6.1)):
dependencies:
- dotenv: 16.0.3
- eslint: 9.39.1
- turbo: 2.6.3
+ eslint: 9.39.2(jiti@2.6.1)
eslint-scope@8.4.0:
dependencies:
@@ -2121,15 +2024,15 @@ snapshots:
eslint-visitor-keys@4.2.1: {}
- eslint@9.39.1:
+ eslint@9.39.2(jiti@2.6.1):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1))
'@eslint-community/regexpp': 4.12.2
'@eslint/config-array': 0.21.1
'@eslint/config-helpers': 0.4.2
'@eslint/core': 0.17.0
- '@eslint/eslintrc': 3.3.1
- '@eslint/js': 9.39.1
+ '@eslint/eslintrc': 3.3.3
+ '@eslint/js': 9.39.2
'@eslint/plugin-kit': 0.4.1
'@humanfs/node': 0.16.7
'@humanwhocodes/module-importer': 1.0.1
@@ -2157,6 +2060,8 @@ snapshots:
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.4
+ optionalDependencies:
+ jiti: 2.6.1
transitivePeerDependencies:
- supports-color
@@ -2180,22 +2085,10 @@ snapshots:
fast-deep-equal@3.1.3: {}
- 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-json-stable-stringify@2.1.0: {}
fast-levenshtein@2.0.6: {}
- fastq@1.19.1:
- dependencies:
- reusify: 1.1.0
-
fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
picomatch: 4.0.3
@@ -2204,15 +2097,17 @@ snapshots:
dependencies:
flat-cache: 4.0.1
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
-
find-up@5.0.0:
dependencies:
locate-path: 6.0.0
path-exists: 4.0.0
+ fix-dts-default-cjs-exports@1.0.1:
+ dependencies:
+ magic-string: 0.30.21
+ mlly: 1.8.0
+ rollup: 4.53.5
+
flat-cache@4.0.1:
dependencies:
flatted: 3.3.3
@@ -2220,50 +2115,10 @@ snapshots:
flatted@3.3.3: {}
- for-each@0.3.5:
- dependencies:
- is-callable: 1.2.7
-
- function-bind@1.1.2: {}
-
- function.prototype.name@1.1.8:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- functions-have-names: 1.2.3
- hasown: 2.0.2
- is-callable: 1.2.7
-
- functions-have-names@1.2.3: {}
-
- get-intrinsic@1.3.0:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-define-property: 1.0.1
- es-errors: 1.3.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-symbol-description@1.1.0:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
+ fsevents@2.3.3:
+ optional: true
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
+ gensync@1.0.0-beta.2: {}
glob-parent@6.0.2:
dependencies:
@@ -2273,34 +2128,13 @@ snapshots:
globals@16.5.0: {}
- globalthis@1.0.4:
- dependencies:
- define-properties: 1.2.1
- gopd: 1.2.0
-
- gopd@1.2.0: {}
-
- has-bigints@1.1.0: {}
-
has-flag@4.0.0: {}
- has-property-descriptors@1.0.2:
- dependencies:
- es-define-property: 1.0.1
-
- has-proto@1.2.0:
- dependencies:
- dunder-proto: 1.0.1
-
- has-symbols@1.1.0: {}
-
- has-tostringtag@1.0.2:
- dependencies:
- has-symbols: 1.1.0
+ hermes-estree@0.25.1: {}
- hasown@2.0.2:
+ hermes-parser@0.25.1:
dependencies:
- function-bind: 1.1.2
+ hermes-estree: 0.25.1
ignore@5.3.2: {}
@@ -2313,159 +2147,99 @@ snapshots:
imurmurhash@0.1.4: {}
- internal-slot@1.1.0:
- dependencies:
- es-errors: 1.3.0
- hasown: 2.0.2
- side-channel: 1.1.0
-
- is-array-buffer@3.0.5:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- get-intrinsic: 1.3.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.2:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
-
- is-callable@1.2.7: {}
-
- is-core-module@2.16.1:
- dependencies:
- hasown: 2.0.2
-
- is-data-view@1.0.2:
- dependencies:
- 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.4
- has-tostringtag: 1.0.2
-
is-extglob@2.1.1: {}
- is-finalizationregistry@1.1.1:
- dependencies:
- call-bound: 1.0.4
-
- is-generator-function@1.1.0:
- dependencies:
- call-bound: 1.0.4
- 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-map@2.0.3: {}
+ isexe@2.0.0: {}
- is-negative-zero@2.0.3: {}
+ jiti@2.6.1:
+ optional: true
- is-number-object@1.1.1:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
+ joycon@3.1.1: {}
- is-number@7.0.0: {}
+ js-tokens@4.0.0: {}
- is-regex@1.2.1:
+ js-yaml@4.1.1:
dependencies:
- call-bound: 1.0.4
- gopd: 1.2.0
- has-tostringtag: 1.0.2
- hasown: 2.0.2
+ argparse: 2.0.1
- is-set@2.0.3: {}
+ jsesc@3.1.0: {}
- is-shared-array-buffer@1.0.4:
- dependencies:
- call-bound: 1.0.4
+ json-buffer@3.0.1: {}
- is-string@1.1.1:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
+ json-schema-traverse@0.4.1: {}
+
+ json-stable-stringify-without-jsonify@1.0.1: {}
+
+ json5@2.2.3: {}
- is-symbol@1.1.1:
+ keyv@4.5.4:
dependencies:
- call-bound: 1.0.4
- has-symbols: 1.1.0
- safe-regex-test: 1.1.0
+ json-buffer: 3.0.1
- is-typed-array@1.1.15:
+ levn@0.4.1:
dependencies:
- which-typed-array: 1.1.19
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
- is-weakmap@2.0.2: {}
+ lightningcss-android-arm64@1.30.2:
+ optional: true
- is-weakref@1.1.1:
- dependencies:
- call-bound: 1.0.4
+ lightningcss-darwin-arm64@1.30.2:
+ optional: true
- is-weakset@2.0.4:
- dependencies:
- call-bound: 1.0.4
- get-intrinsic: 1.3.0
+ lightningcss-darwin-x64@1.30.2:
+ optional: true
- isarray@2.0.5: {}
+ lightningcss-freebsd-x64@1.30.2:
+ optional: true
- isexe@2.0.0: {}
+ lightningcss-linux-arm-gnueabihf@1.30.2:
+ optional: true
- iterator.prototype@1.1.5:
- dependencies:
- 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
+ lightningcss-linux-arm64-gnu@1.30.2:
+ optional: true
- js-tokens@4.0.0: {}
+ lightningcss-linux-arm64-musl@1.30.2:
+ optional: true
- js-yaml@4.1.0:
- dependencies:
- argparse: 2.0.1
+ lightningcss-linux-x64-gnu@1.30.2:
+ optional: true
- json-buffer@3.0.1: {}
+ lightningcss-linux-x64-musl@1.30.2:
+ optional: true
- json-schema-traverse@0.4.1: {}
+ lightningcss-win32-arm64-msvc@1.30.2:
+ optional: true
- json-stable-stringify-without-jsonify@1.0.1: {}
+ lightningcss-win32-x64-msvc@1.30.2:
+ optional: true
- jsx-ast-utils@3.3.5:
+ lightningcss@1.30.2:
dependencies:
- array-includes: 3.1.9
- array.prototype.flat: 1.3.3
- object.assign: 4.1.7
- object.values: 1.2.1
+ detect-libc: 2.1.2
+ optionalDependencies:
+ lightningcss-android-arm64: 1.30.2
+ lightningcss-darwin-arm64: 1.30.2
+ lightningcss-darwin-x64: 1.30.2
+ lightningcss-freebsd-x64: 1.30.2
+ lightningcss-linux-arm-gnueabihf: 1.30.2
+ lightningcss-linux-arm64-gnu: 1.30.2
+ lightningcss-linux-arm64-musl: 1.30.2
+ lightningcss-linux-x64-gnu: 1.30.2
+ lightningcss-linux-x64-musl: 1.30.2
+ lightningcss-win32-arm64-msvc: 1.30.2
+ lightningcss-win32-x64-msvc: 1.30.2
+ optional: true
- keyv@4.5.4:
- dependencies:
- json-buffer: 3.0.1
+ lilconfig@3.1.3: {}
- levn@0.4.1:
- dependencies:
- prelude-ls: 1.2.1
- type-check: 0.4.0
+ lines-and-columns@1.2.4: {}
+
+ load-tsconfig@0.2.5: {}
locate-path@6.0.0:
dependencies:
@@ -2473,18 +2247,13 @@ snapshots:
lodash.merge@4.6.2: {}
- loose-envify@1.4.0:
+ lru-cache@5.1.1:
dependencies:
- js-tokens: 4.0.0
-
- math-intrinsics@1.1.0: {}
-
- merge2@1.4.1: {}
+ yallist: 3.1.1
- micromatch@4.0.8:
+ magic-string@0.30.21:
dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
+ '@jridgewell/sourcemap-codec': 1.5.5
minimatch@3.1.2:
dependencies:
@@ -2494,71 +2263,29 @@ snapshots:
dependencies:
brace-expansion: 2.0.2
+ mlly@1.8.0:
+ dependencies:
+ acorn: 8.15.0
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.1
+
ms@2.1.3: {}
+ mz@2.7.0:
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+
nanoid@3.3.11: {}
natural-compare@1.4.0: {}
- next@16.0.10(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
- dependencies:
- '@next/env': 16.0.10
- '@swc/helpers': 0.5.15
- caniuse-lite: 1.0.30001759
- postcss: 8.4.31
- react: 19.2.0
- react-dom: 19.2.0(react@19.2.0)
- styled-jsx: 5.1.6(react@19.2.0)
- optionalDependencies:
- '@next/swc-darwin-arm64': 16.0.10
- '@next/swc-darwin-x64': 16.0.10
- '@next/swc-linux-arm64-gnu': 16.0.10
- '@next/swc-linux-arm64-musl': 16.0.10
- '@next/swc-linux-x64-gnu': 16.0.10
- '@next/swc-linux-x64-musl': 16.0.10
- '@next/swc-win32-arm64-msvc': 16.0.10
- '@next/swc-win32-x64-msvc': 16.0.10
- sharp: 0.34.5
- transitivePeerDependencies:
- - '@babel/core'
- - babel-plugin-macros
+ node-releases@2.0.27: {}
object-assign@4.1.1: {}
- 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.4
- define-properties: 1.2.1
- 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.24.0
- es-object-atoms: 1.1.1
-
- object.values@1.2.1:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-object-atoms: 1.1.1
-
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -2568,12 +2295,6 @@ 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
@@ -2590,17 +2311,28 @@ snapshots:
path-key@3.1.1: {}
- path-parse@1.0.7: {}
+ pathe@2.0.3: {}
picocolors@1.1.1: {}
- picomatch@2.3.1: {}
-
picomatch@4.0.3: {}
- possible-typed-array-names@1.1.0: {}
+ pirates@4.0.7: {}
+
+ pkg-types@1.3.1:
+ dependencies:
+ confbox: 0.1.8
+ mlly: 1.8.0
+ pathe: 2.0.3
+
+ postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.6):
+ dependencies:
+ lilconfig: 3.1.3
+ optionalDependencies:
+ jiti: 2.6.1
+ postcss: 8.5.6
- postcss@8.4.31:
+ postcss@8.5.6:
dependencies:
nanoid: 3.3.11
picocolors: 1.1.1
@@ -2610,77 +2342,54 @@ snapshots:
prettier@3.7.4: {}
- prop-types@15.8.1:
- dependencies:
- loose-envify: 1.4.0
- object-assign: 4.1.1
- react-is: 16.13.1
-
punycode@2.3.1: {}
- queue-microtask@1.2.3: {}
+ react-compiler-runtime@1.0.0(react@19.2.3):
+ dependencies:
+ react: 19.2.3
- react-dom@19.2.0(react@19.2.0):
+ react-dom@19.2.3(react@19.2.3):
dependencies:
- react: 19.2.0
+ react: 19.2.3
scheduler: 0.27.0
- react-is@16.13.1: {}
-
- react@19.2.0: {}
+ react-refresh@0.18.0: {}
- reflect.getprototypeof@1.0.10:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.0
- es-errors: 1.3.0
- es-object-atoms: 1.1.1
- get-intrinsic: 1.3.0
- get-proto: 1.0.1
- which-builtin-type: 1.2.1
+ react@19.2.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
+ readdirp@4.1.2: {}
resolve-from@4.0.0: {}
- resolve@2.0.0-next.5:
- dependencies:
- is-core-module: 2.16.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
- reusify@1.1.0: {}
-
- run-parallel@1.2.0:
- dependencies:
- queue-microtask: 1.2.3
-
- safe-array-concat@1.1.3:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- get-intrinsic: 1.3.0
- has-symbols: 1.1.0
- isarray: 2.0.5
-
- safe-push-apply@1.0.0:
- dependencies:
- es-errors: 1.3.0
- isarray: 2.0.5
+ resolve-from@5.0.0: {}
- safe-regex-test@1.1.0:
+ rollup@4.53.5:
dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-regex: 1.2.1
+ '@types/estree': 1.0.8
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.53.5
+ '@rollup/rollup-android-arm64': 4.53.5
+ '@rollup/rollup-darwin-arm64': 4.53.5
+ '@rollup/rollup-darwin-x64': 4.53.5
+ '@rollup/rollup-freebsd-arm64': 4.53.5
+ '@rollup/rollup-freebsd-x64': 4.53.5
+ '@rollup/rollup-linux-arm-gnueabihf': 4.53.5
+ '@rollup/rollup-linux-arm-musleabihf': 4.53.5
+ '@rollup/rollup-linux-arm64-gnu': 4.53.5
+ '@rollup/rollup-linux-arm64-musl': 4.53.5
+ '@rollup/rollup-linux-loong64-gnu': 4.53.5
+ '@rollup/rollup-linux-ppc64-gnu': 4.53.5
+ '@rollup/rollup-linux-riscv64-gnu': 4.53.5
+ '@rollup/rollup-linux-riscv64-musl': 4.53.5
+ '@rollup/rollup-linux-s390x-gnu': 4.53.5
+ '@rollup/rollup-linux-x64-gnu': 4.53.5
+ '@rollup/rollup-linux-x64-musl': 4.53.5
+ '@rollup/rollup-openharmony-arm64': 4.53.5
+ '@rollup/rollup-win32-arm64-msvc': 4.53.5
+ '@rollup/rollup-win32-ia32-msvc': 4.53.5
+ '@rollup/rollup-win32-x64-gnu': 4.53.5
+ '@rollup/rollup-win32-x64-msvc': 4.53.5
+ fsevents: 2.3.3
scheduler@0.27.0: {}
@@ -2688,172 +2397,82 @@ snapshots:
semver@7.7.3: {}
- 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.3.0
- gopd: 1.2.0
- has-property-descriptors: 1.0.2
-
- set-function-name@2.0.2:
- dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- 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.0.0
- detect-libc: 2.1.2
- semver: 7.7.3
- 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: {}
- side-channel-list@1.0.0:
- dependencies:
- es-errors: 1.3.0
- object-inspect: 1.13.4
-
- side-channel-map@1.0.1:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- object-inspect: 1.13.4
-
- side-channel-weakmap@1.0.2:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- 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.4
- side-channel-list: 1.0.0
- side-channel-map: 1.0.1
- side-channel-weakmap: 1.0.2
-
source-map-js@1.2.1: {}
- stop-iteration-iterator@1.1.0:
- dependencies:
- es-errors: 1.3.0
- internal-slot: 1.1.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.0
- 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:
- define-properties: 1.2.1
- es-abstract: 1.24.0
+ source-map@0.7.6: {}
- string.prototype.trim@1.2.10:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-data-property: 1.1.4
- define-properties: 1.2.1
- es-abstract: 1.24.0
- es-object-atoms: 1.1.1
- has-property-descriptors: 1.0.2
+ strip-json-comments@3.1.1: {}
- string.prototype.trimend@1.0.9:
+ sucrase@3.35.1:
dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-object-atoms: 1.1.1
+ '@jridgewell/gen-mapping': 0.3.13
+ commander: 4.1.1
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.7
+ tinyglobby: 0.2.15
+ ts-interface-checker: 0.1.13
- string.prototype.trimstart@1.0.8:
+ supports-color@7.2.0:
dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-object-atoms: 1.1.1
-
- strip-json-comments@3.1.1: {}
+ has-flag: 4.0.0
- styled-jsx@5.1.6(react@19.2.0):
+ thenify-all@1.6.0:
dependencies:
- client-only: 0.0.1
- react: 19.2.0
+ thenify: 3.3.1
- supports-color@7.2.0:
+ thenify@3.3.1:
dependencies:
- has-flag: 4.0.0
+ any-promise: 1.3.0
- supports-preserve-symlinks-flag@1.0.0: {}
+ tinyexec@0.3.2: {}
tinyglobby@0.2.15:
dependencies:
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
- to-regex-range@5.0.1:
+ tree-kill@1.2.2: {}
+
+ ts-api-utils@2.1.0(typescript@5.9.3):
dependencies:
- is-number: 7.0.0
+ typescript: 5.9.3
+
+ ts-interface-checker@0.1.13: {}
- ts-api-utils@2.1.0(typescript@5.9.2):
+ tsup@8.5.1(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.2):
dependencies:
+ bundle-require: 5.1.0(esbuild@0.27.2)
+ cac: 6.7.14
+ chokidar: 4.0.3
+ consola: 3.4.2
+ debug: 4.4.3
+ esbuild: 0.27.2
+ fix-dts-default-cjs-exports: 1.0.1
+ joycon: 3.1.1
+ picocolors: 1.1.1
+ postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.6)
+ resolve-from: 5.0.0
+ rollup: 4.53.5
+ source-map: 0.7.6
+ sucrase: 3.35.1
+ tinyexec: 0.3.2
+ tinyglobby: 0.2.15
+ tree-kill: 1.2.2
+ optionalDependencies:
+ postcss: 8.5.6
typescript: 5.9.2
-
- tslib@2.8.1: {}
+ transitivePeerDependencies:
+ - jiti
+ - supports-color
+ - tsx
+ - yaml
turbo-darwin-64@2.6.3:
optional: true
@@ -2886,105 +2505,53 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
- typed-array-buffer@1.0.3:
- dependencies:
- 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.5
- gopd: 1.2.0
- has-proto: 1.2.0
- is-typed-array: 1.1.15
-
- typed-array-byte-offset@1.0.4:
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.8
- for-each: 0.3.5
- gopd: 1.2.0
- has-proto: 1.2.0
- is-typed-array: 1.1.15
- reflect.getprototypeof: 1.0.10
-
- typed-array-length@1.0.7:
- dependencies:
- call-bind: 1.0.8
- for-each: 0.3.5
- gopd: 1.2.0
- is-typed-array: 1.1.15
- possible-typed-array-names: 1.1.0
- reflect.getprototypeof: 1.0.10
-
- typescript-eslint@8.49.0(eslint@9.39.1)(typescript@5.9.2):
+ typescript-eslint@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.49.0(@typescript-eslint/parser@8.49.0(eslint@9.39.1)(typescript@5.9.2))(eslint@9.39.1)(typescript@5.9.2)
- '@typescript-eslint/parser': 8.49.0(eslint@9.39.1)(typescript@5.9.2)
- '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.9.2)
- '@typescript-eslint/utils': 8.49.0(eslint@9.39.1)(typescript@5.9.2)
- eslint: 9.39.1
- typescript: 5.9.2
+ '@typescript-eslint/eslint-plugin': 8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.39.2(jiti@2.6.1)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
typescript@5.9.2: {}
- unbox-primitive@1.1.0:
- dependencies:
- call-bound: 1.0.4
- has-bigints: 1.1.0
- has-symbols: 1.1.0
- which-boxed-primitive: 1.1.1
+ typescript@5.9.3: {}
+
+ ufo@1.6.1: {}
- undici-types@6.21.0: {}
+ undici-types@7.16.0: {}
+
+ update-browserslist-db@1.2.3(browserslist@4.28.1):
+ dependencies:
+ browserslist: 4.28.1
+ escalade: 3.2.0
+ picocolors: 1.1.1
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
- which-boxed-primitive@1.1.1:
- dependencies:
- is-bigint: 1.1.0
- 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.4
- function.prototype.name: 1.1.8
- has-tostringtag: 1.0.2
- is-async-function: 2.1.1
- is-date-object: 1.1.0
- is-finalizationregistry: 1.1.1
- is-generator-function: 1.1.0
- is-regex: 1.2.1
- 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.19
-
- which-collection@1.0.2:
- dependencies:
- is-map: 2.0.3
- is-set: 2.0.3
- is-weakmap: 2.0.2
- is-weakset: 2.0.4
-
- which-typed-array@1.1.19:
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.8
- call-bound: 1.0.4
- for-each: 0.3.5
- get-proto: 1.0.1
- gopd: 1.2.0
- has-tostringtag: 1.0.2
+ vite-plugin-babel@1.3.2(@babel/core@7.28.5)(vite@7.3.0(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)):
+ dependencies:
+ '@babel/core': 7.28.5
+ vite: 7.3.0(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)
+
+ vite@7.3.0(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2):
+ dependencies:
+ esbuild: 0.27.2
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+ postcss: 8.5.6
+ rollup: 4.53.5
+ tinyglobby: 0.2.15
+ optionalDependencies:
+ '@types/node': 25.0.3
+ fsevents: 2.3.3
+ jiti: 2.6.1
+ lightningcss: 1.30.2
which@2.0.2:
dependencies:
@@ -2992,4 +2559,12 @@ snapshots:
word-wrap@1.2.5: {}
+ yallist@3.1.1: {}
+
yocto-queue@0.1.0: {}
+
+ zod-validation-error@4.0.2(zod@4.2.1):
+ dependencies:
+ zod: 4.2.1
+
+ zod@4.2.1: {}