diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 58183386..5bf915d8 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -32,7 +32,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 10.10.0
+ version: 10.20.0
run_install: false
- name: Get pnpm store directory
@@ -48,20 +48,21 @@ jobs:
restore-keys: |
${{ runner.os }}-pnpm-store-
- - name: Restore cache
+ - name: Restore Turbo and Next.js cache
uses: actions/cache@v5
with:
path: |
- .next/cache
- key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/pnpm-lock.yaml') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
+ .turbo
+ apps/www/.next/cache
+ key: ${{ runner.os }}-turbo-next-${{ hashFiles('pnpm-lock.yaml', 'turbo.json') }}-${{ hashFiles('apps/www/**.[jt]s', 'apps/www/**.[jt]sx', 'packages/**.[jt]s', 'packages/**.[jt]sx') }}
restore-keys: |
- ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/pnpm-lock.yaml') }}-
+ ${{ runner.os }}-turbo-next-${{ hashFiles('pnpm-lock.yaml', 'turbo.json') }}-
- name: Install dependencies
- run: pnpm install
+ run: pnpm install --frozen-lockfile
- - name: Build with Next.js
- run: pnpm next build
+ - name: Build with Turborepo
+ run: pnpm run build:www
env:
NEXT_PUBLIC_GA_MEASUREMENT_ID: ${{ vars.NEXT_PUBLIC_GA_MEASUREMENT_ID }}
@@ -69,12 +70,12 @@ jobs:
uses: actions/upload-artifact@v6
with:
name: build-files
- path: ./out/_next/static/chunks
+ path: ./apps/www/out/_next/static/chunks
- name: Upload artifact
uses: actions/upload-pages-artifact@v4
with:
- path: './out'
+ path: './apps/www/out'
# Deployment job
deploy:
diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml
index 10c85f8c..b6154962 100644
--- a/.github/workflows/pull-request.yml
+++ b/.github/workflows/pull-request.yml
@@ -20,7 +20,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 10.10.0
+ version: 10.20.0
run_install: false
- name: Get pnpm store directory
@@ -36,22 +36,23 @@ jobs:
restore-keys: |
${{ runner.os }}-pnpm-store-
- - name: Restore Next.js cache
- uses: actions/cache@v4
+ - name: Restore Turbo and Next.js cache
+ uses: actions/cache@v5
with:
path: |
- .next/cache
- key: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
+ .turbo
+ apps/www/.next/cache
+ key: ${{ runner.os }}-turbo-next-${{ hashFiles('pnpm-lock.yaml', 'turbo.json') }}-${{ hashFiles('apps/www/**.[jt]s', 'apps/www/**.[jt]sx', 'packages/**.[jt]s', 'packages/**.[jt]sx') }}
restore-keys: |
- ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-
+ ${{ runner.os }}-turbo-next-${{ hashFiles('pnpm-lock.yaml', 'turbo.json') }}-
- name: Install dependencies
- run: pnpm install
+ run: pnpm install --frozen-lockfile
- name: Lint
- run: pnpm run lint
+ run: pnpm turbo run lint
- name: Build
- run: pnpm run build
+ run: pnpm turbo run build
diff --git a/.gitignore b/.gitignore
index 916edc22..67d7702a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,41 +1,26 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+# Agent tooling
+.agents
+.claude
+.codex
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-
-# testing
-/coverage
-
-# next.js
-/.next/
-/out/
-
-# production
-/build
-
-# misc
-.DS_Store
-*.pem
-
-# debug
+# Package manager
+node_modules/
+.npm-cache/
+.pnpm-store/
+.pnp*
npm-debug.log*
+pnpm-debug.log*
+yarn-debug.log*
+yarn-error.log*
-# local env files
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
+# Turborepo
+.turbo/
-# vercel
-.vercel
-
-# typescript
-*.tsbuildinfo
-
-# PWA workers
-**/public/workbox-*.js
-**/public/sw.js
-**/public/fallback-*.js
+# Build outputs and caches (all workspaces)
+**/.next/
+**/out/
+**/coverage/
+**/*.tsbuildinfo
+# OS
+.DS_Store
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 00000000..b6f27f13
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+engine-strict=true
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 00000000..2d72b5b6
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,17 @@
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Run VSCode Extension (apps/vscode)",
+ "type": "extensionHost",
+ "request": "launch",
+ "args": [
+ "--extensionDevelopmentPath=${workspaceFolder}/apps/vscode"
+ ],
+ "outFiles": [
+ "${workspaceFolder}/apps/vscode/build/**/*.js"
+ ],
+ "preLaunchTask": "build vscode extension"
+ }
+ ]
+}
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 00000000..476d5243
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,20 @@
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "build vscode extension",
+ "type": "shell",
+ "command": "pnpm run build:vscode",
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ }
+ },
+ {
+ "label": "watch vscode extension",
+ "type": "shell",
+ "command": "pnpm run dev:vscode",
+ "isBackground": true
+ }
+ ]
+}
diff --git a/README.md b/README.md
index e1a7f01e..35ae6abf 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-
+
JSON Crack
@@ -28,13 +28,13 @@
## About the Project
-
+
## Visualize JSON into interactive graphs
JSON Crack is a tool for visualizing JSON data in a structured, interactive graphs, making it easier to explore, format, and validate JSON. It offers features like converting JSON to other formats (CSV, YAML), generating JSON Schema, executing queries, and exporting visualizations as images. Designed for both readability and usability.
-* **Visualizer**: Instantly convert JSON, YAML, CSV, XML, and TOML into interactive graphs or trees in dark or light mode.
+* **Visualizer**: Instantly convert JSON, YAML, CSV, and XML into interactive graphs or trees in dark or light mode.
* **Convert**: Seamlessly transform data formats, like JSON to CSV or XML to JSON, for easy sharing.
* **Format & Validate**: Beautify and validate JSON, YAML, and CSV for clear and accurate data.
* **Code Generation**: Generate TypeScript interfaces, Golang structs, and JSON Schema.
@@ -55,12 +55,19 @@ JSON Crack is a tool for visualizing JSON data in a structured, interactive grap
-### Built With
+## Integrations
-- [Next.js](https://nextjs.org/?ref=jsoncrack.com)
-- [React.js](https://reactjs.org/?ref=jsoncrack.com)
-- [Reaflow](https://reaflow.dev/?ref=jsoncrack.com)
-- [Monaco Editor](https://github.com/suren-atoyan/monaco-react)
+- [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=AykutSarac.jsoncrack-vscode)
+- [npm Package (`jsoncrack-react`)](https://www.npmjs.com/package/jsoncrack-react)
+
+## Contributing
+
+- Found a bug or missing feature? Open an issue on [GitHub Issues](https://github.com/AykutSarac/jsoncrack.com/issues).
+- Want to contribute code or docs? Start with our [contribution guide](./CONTRIBUTING.md).
+
+## Sponsors & Support
+
+If you find JSON Crack useful, you can support the project by using [ToDiagram](https://todiagram.com).
## Stay Up-to-Date
@@ -78,8 +85,8 @@ To get a local copy up and running, please follow these simple steps.
Here is what you need to be able to run JSON Crack.
-- Node.js (Version: >=18.x)
-- Pnpm _(recommended)_
+- Node.js (Version: >=24.x)
+- pnpm (Version: >=10)
## Development
@@ -104,20 +111,53 @@ Here is what you need to be able to run JSON Crack.
pnpm install
```
-4. Run the project
+4. Run the web app
```sh
- pnpm dev
+ pnpm dev:www
# Running on http://localhost:3000/
```
+### Useful Commands
+
+From repository root:
+
+```sh
+# Web app
+pnpm dev:www
+pnpm build:www
+
+# VS Code extension
+pnpm dev:vscode
+pnpm build:vscode
+pnpm lint:vscode
+pnpm lint:fix:vscode
+
+# All workspaces
+pnpm dev
+pnpm build
+pnpm lint
+```
+
+`pnpm build:www` is the production build command used in GitHub Actions deployment.
+
+### Debug VS Code Extension
+
+1. Open repository root in VS Code.
+2. Press `F5`.
+3. Select `Run VSCode Extension (apps/vscode)` when prompted.
+4. In the Extension Development Host window, open a `.json` file and run:
+ `JSON Crack: Enable JSON Crack visualization`.
+
### Docker
-🐳 A [`Dockerfile`](Dockerfile) is provided in the root of the repository.
+🐳 Docker assets are in `apps/www`.
If you want to run JSON Crack locally:
```console
+cd apps/www
+
# Build a Docker image with:
docker compose build
@@ -129,7 +169,7 @@ docker compose up
## Configuration
-The supported node limit can be changed by editing the `NEXT_PUBLIC_NODE_LIMIT` value in the `.env` file at the project root.
+The supported node limit can be changed by editing `NEXT_PUBLIC_NODE_LIMIT` in `apps/www/.env`.
diff --git a/apps/vscode/.env b/apps/vscode/.env
new file mode 100644
index 00000000..ed7b099e
--- /dev/null
+++ b/apps/vscode/.env
@@ -0,0 +1 @@
+PUBLIC_URL=./
\ No newline at end of file
diff --git a/apps/vscode/.eslintrc.json b/apps/vscode/.eslintrc.json
new file mode 100644
index 00000000..155ef38a
--- /dev/null
+++ b/apps/vscode/.eslintrc.json
@@ -0,0 +1,42 @@
+{
+ "root": true,
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "ecmaVersion": 6,
+ "sourceType": "module"
+ },
+ "plugins": ["@typescript-eslint",
+ "unused-imports",
+ "prettier"
+],
+ "extends": [
+ "eslint:recommended",
+ "prettier",
+ "plugin:@typescript-eslint/recommended"
+ ],
+
+ "rules": {
+ "@typescript-eslint/consistent-type-imports": "error",
+ "unused-imports/no-unused-imports": "error",
+ "@typescript-eslint/no-explicit-any": "off",
+ "prettier/prettier": "error",
+ "space-in-parens": "error",
+ "no-empty": "error",
+ "no-multiple-empty-lines": "error",
+ "no-irregular-whitespace": "error",
+ "strict": ["error", "never"],
+ "linebreak-style": ["error", "unix"],
+ "quotes": ["error", "double", { "avoidEscape": true }],
+ "semi": ["error", "always"],
+ "prefer-const": "error",
+ "space-before-function-paren": [
+ "error",
+ {
+ "anonymous": "always",
+ "named": "never",
+ "asyncArrow": "always"
+ }
+ ]
+ },
+ "ignorePatterns": ["build", "public", "scripts", "node_modules", "webpack.config.js"]
+}
diff --git a/apps/vscode/.gitignore b/apps/vscode/.gitignore
new file mode 100644
index 00000000..b9b6195c
--- /dev/null
+++ b/apps/vscode/.gitignore
@@ -0,0 +1,3 @@
+node_modules/
+build/
+*.vsix
\ No newline at end of file
diff --git a/apps/vscode/.prettierignore b/apps/vscode/.prettierignore
new file mode 100644
index 00000000..e6dc4992
--- /dev/null
+++ b/apps/vscode/.prettierignore
@@ -0,0 +1,9 @@
+.github
+.next
+node_modules/
+out
+public
+*-lock.json
+tsconfig.json
+build
+jsoncrack
\ No newline at end of file
diff --git a/.prettierrc b/apps/vscode/.prettierrc
similarity index 100%
rename from .prettierrc
rename to apps/vscode/.prettierrc
diff --git a/apps/vscode/.vscode/extensions.json b/apps/vscode/.vscode/extensions.json
new file mode 100644
index 00000000..57dbdae4
--- /dev/null
+++ b/apps/vscode/.vscode/extensions.json
@@ -0,0 +1,5 @@
+{
+ // See http://go.microsoft.com/fwlink/?LinkId=827846
+ // for the documentation about the extensions.json format
+ "recommendations": ["dbaeumer.vscode-eslint", "amodio.tsl-problem-matcher"]
+}
diff --git a/apps/vscode/.vscode/launch.json b/apps/vscode/.vscode/launch.json
new file mode 100644
index 00000000..c9425c9d
--- /dev/null
+++ b/apps/vscode/.vscode/launch.json
@@ -0,0 +1,21 @@
+// A launch configuration that compiles the extension and then opens it inside a new window
+// Use IntelliSense to learn about possible attributes.
+// Hover to view descriptions of existing attributes.
+// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Run Extension",
+ "type": "extensionHost",
+ "request": "launch",
+ "args": [
+ "--extensionDevelopmentPath=${workspaceFolder}"
+ ],
+ "outFiles": [
+ "${workspaceFolder}/build/**/*.js"
+ ],
+ "preLaunchTask": "build extension"
+ }
+ ]
+}
diff --git a/apps/vscode/.vscode/settings.json b/apps/vscode/.vscode/settings.json
new file mode 100644
index 00000000..321ef01b
--- /dev/null
+++ b/apps/vscode/.vscode/settings.json
@@ -0,0 +1,10 @@
+// Place your settings in this file to overwrite default and user settings.
+{
+ "files.exclude": {
+ "build": false
+ },
+ "search.exclude": {
+ "build": true
+ },
+ "typescript.tsc.autoDetect": "off"
+}
diff --git a/apps/vscode/.vscode/tasks.json b/apps/vscode/.vscode/tasks.json
new file mode 100644
index 00000000..0c5789de
--- /dev/null
+++ b/apps/vscode/.vscode/tasks.json
@@ -0,0 +1,21 @@
+// See https://go.microsoft.com/fwlink/?LinkId=733558
+// for the documentation about the tasks.json format
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "build extension",
+ "type": "shell",
+ "command": "pnpm run build",
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ }
+ },
+ {
+ "label": "watch extension",
+ "type": "shell",
+ "command": "pnpm run watch"
+ }
+ ]
+}
diff --git a/apps/vscode/.vscodeignore b/apps/vscode/.vscodeignore
new file mode 100644
index 00000000..a5951143
--- /dev/null
+++ b/apps/vscode/.vscodeignore
@@ -0,0 +1,20 @@
+.vscode/**
+.vscode-test/**
+.github/**
+.turbo/**
+node_modules/**
+scripts/**
+src/**
+.gitignore
+.env
+.prettierignore
+.prettierrc
+.pnpm-lock.yaml
+webpack.config.js
+tsconfig.extension.json
+vsc-extension-quickstart.md
+yarn.lock
+**/tsconfig.json
+**/.eslintrc.json
+**/*.map
+**/*.ts
diff --git a/apps/vscode/LICENSE.md b/apps/vscode/LICENSE.md
new file mode 100644
index 00000000..e6a7cd2e
--- /dev/null
+++ b/apps/vscode/LICENSE.md
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) 2025 Aykut Saraç
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/apps/vscode/README.md b/apps/vscode/README.md
new file mode 100644
index 00000000..e8ad94fe
--- /dev/null
+++ b/apps/vscode/README.md
@@ -0,0 +1,33 @@
+
+
+
+
+[JSON Crack](https://jsoncrack.com?utm_source=jsoncrack-vscode&utm_medium=readme)'s Official Visual Studio Code Extension that visualizes JSON data as an interactive diagram. The extension parses the open JSON file and displays its structure as a connected graph where nodes represent objects, arrays, and values.
+
+## How to use?
+
+1. Install the JSON Crack extension from the [VS Code marketplace](https://marketplace.visualstudio.com/items?itemName=AykutSarac.jsoncrack-vscode).
+2. Open a JSON file.
+3. Click on the JSON Crack icon in the menubar at top right.
+
+
+
+## Privacy
+
+The extension works **fully offline**. No data is sent to any server. All JSON parsing and visualization happens locally in your editor.
+
+## Debugging
+
+This extension lives in `apps/vscode` inside the [jsoncrack.com](https://github.com/AykutSarac/jsoncrack.com) monorepo.
+
+**Prerequisites:** Node.js `>=24`, pnpm `>=10`
+
+```sh
+# Install dependencies from repo root
+pnpm install
+
+# Watch mode — rebuilds on every change
+pnpm dev:vscode
+```
+
+Then press **F5** in VS Code to launch the Extension Development Host. Keep the watch process running for live iteration.
diff --git a/apps/vscode/assets/icon-dark.svg b/apps/vscode/assets/icon-dark.svg
new file mode 100644
index 00000000..2fe59c27
--- /dev/null
+++ b/apps/vscode/assets/icon-dark.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/vscode/assets/icon-light.svg b/apps/vscode/assets/icon-light.svg
new file mode 100644
index 00000000..91d4cca1
--- /dev/null
+++ b/apps/vscode/assets/icon-light.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/vscode/assets/jsoncrack.png b/apps/vscode/assets/jsoncrack.png
new file mode 100644
index 00000000..71334fca
Binary files /dev/null and b/apps/vscode/assets/jsoncrack.png differ
diff --git a/apps/vscode/ext-src/extension.ts b/apps/vscode/ext-src/extension.ts
new file mode 100644
index 00000000..09f10987
--- /dev/null
+++ b/apps/vscode/ext-src/extension.ts
@@ -0,0 +1,114 @@
+import * as path from "path";
+import * as vscode from "vscode";
+import { createWebviewPanel } from "./webview";
+
+function getPanelTitle(document?: vscode.TextDocument) {
+ if (!document) return "JSON Crack";
+
+ const fileName = path.basename(document.fileName);
+ return fileName || "JSON Crack";
+}
+
+export function activate(context: vscode.ExtensionContext) {
+ context.subscriptions.push(
+ vscode.commands.registerCommand("jsoncrack-vscode.start", () =>
+ createWebviewForActiveEditor(context)
+ ),
+ vscode.commands.registerCommand("jsoncrack-vscode.start.specific", (content?: string) =>
+ createWebviewForContent(context, content)
+ ),
+ vscode.commands.registerCommand("jsoncrack-vscode.start.selected", () =>
+ createWebviewForSelectedText(context)
+ )
+ );
+}
+
+// create webview for selected text
+async function createWebviewForSelectedText(context: vscode.ExtensionContext) {
+ const editor = vscode.window.activeTextEditor;
+
+ if (editor && editor.selection.isEmpty) {
+ vscode.window.showInformationMessage("Please select some text first!");
+ return;
+ }
+
+ const selectedText = editor?.document.getText(editor.selection);
+
+ // Create the webview panel and send the selected JSON content
+ const panel = createWebviewPanel(context, getPanelTitle(editor?.document));
+ panel.webview.postMessage({
+ json: selectedText,
+ });
+
+ const onReceiveMessage = panel.webview.onDidReceiveMessage(e => {
+ if (e === "ready") {
+ panel.webview.postMessage({
+ json: selectedText,
+ });
+ }
+ });
+
+ const onTextChange = vscode.workspace.onDidChangeTextDocument(changeEvent => {
+ if (changeEvent.document === editor?.document) {
+ panel.webview.postMessage({
+ json: changeEvent.document.getText(editor?.selection),
+ });
+ }
+ });
+
+ const disposer = () => {
+ onTextChange.dispose();
+ onReceiveMessage.dispose();
+ };
+
+ panel.onDidDispose(disposer, null, context.subscriptions);
+}
+
+async function createWebviewForActiveEditor(context: vscode.ExtensionContext) {
+ const editor = vscode.window.activeTextEditor;
+ const panel = createWebviewPanel(context, getPanelTitle(editor?.document));
+
+ const onReceiveMessage = panel.webview.onDidReceiveMessage(e => {
+ if (e === "ready") {
+ panel.webview.postMessage({
+ json: editor?.document.getText(),
+ });
+ }
+ });
+
+ const onTextChange = vscode.workspace.onDidChangeTextDocument(changeEvent => {
+ if (changeEvent.document === editor?.document) {
+ panel.webview.postMessage({
+ json: changeEvent.document.getText(),
+ });
+ }
+ });
+
+ const disposer = () => {
+ onTextChange.dispose();
+ onReceiveMessage.dispose();
+ };
+
+ panel.onDidDispose(disposer, null, context.subscriptions);
+}
+
+/**
+ * Renders a readonly diagram from a string
+ * @param context ExtensionContext
+ * @param content JSON content as a string
+ */
+function createWebviewForContent(context?: vscode.ExtensionContext, content?: string): any {
+ if (context && content) {
+ const panel = createWebviewPanel(
+ context,
+ getPanelTitle(vscode.window.activeTextEditor?.document)
+ );
+ panel.webview.postMessage({
+ json: content,
+ });
+ }
+}
+
+// This method is called when your extension is deactivated
+// eslint-disable-next-line @typescript-eslint/no-empty-function
+export function deactivate() {}
diff --git a/apps/vscode/ext-src/webview.ts b/apps/vscode/ext-src/webview.ts
new file mode 100644
index 00000000..db32b174
--- /dev/null
+++ b/apps/vscode/ext-src/webview.ts
@@ -0,0 +1,73 @@
+import * as fs from "fs";
+import * as path from "path";
+import * as vscode from "vscode";
+
+export function createWebviewPanel(context: vscode.ExtensionContext, title = "JSON Crack") {
+ const extPath = context.extensionPath;
+
+ const panel = vscode.window.createWebviewPanel(
+ "liveHTMLPreviewer",
+ title,
+ vscode.ViewColumn.Beside,
+ {
+ enableScripts: true,
+ retainContextWhenHidden: true,
+ localResourceRoots: [
+ vscode.Uri.file(path.join(extPath, "build")),
+ vscode.Uri.file(path.join(extPath, "build", "static")),
+ vscode.Uri.file(path.join(extPath, "build", "static", "js")),
+ vscode.Uri.file(path.join(extPath, "build", "static", "css")),
+ vscode.Uri.file(path.join(extPath, "assets")),
+ ],
+ }
+ );
+ panel.iconPath = vscode.Uri.file(path.join(extPath, "build", "assets", "favicon.ico"));
+
+ const manifest = JSON.parse(
+ fs.readFileSync(path.join(extPath, "build", "asset-manifest.json"), "utf-8")
+ );
+
+ const mainScript = manifest.files["main.js"];
+ const mainStyle = manifest.files["main.css"];
+
+ const scriptPathOnDisk = vscode.Uri.file(path.join(extPath, "build", mainScript));
+ const stylePathOnDisk = vscode.Uri.file(path.join(extPath, "build", mainStyle));
+
+ const stylesMainUri = panel.webview.asWebviewUri(stylePathOnDisk);
+ const scriptUri = panel.webview.asWebviewUri(scriptPathOnDisk);
+
+ const nonce = getNonce();
+ const csp = [
+ `default-src 'self' ${panel.webview.cspSource} blob:`,
+ `connect-src ${panel.webview.cspSource} blob:`,
+ `script-src 'unsafe-eval' 'unsafe-inline' ${panel.webview.cspSource}`,
+ `style-src ${panel.webview.cspSource} 'unsafe-inline'`,
+ `worker-src ${panel.webview.cspSource} blob: data:`,
+ ].join("; ");
+
+ panel.webview.html = `
+
+
+
+
+
+
+
+
+ You need to enable JavaScript to run this app.
+
+
+
+ `;
+
+ return panel;
+}
+
+function getNonce() {
+ let text = "";
+ const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+ for (let i = 0; i < 32; i++) {
+ text += possible.charAt(Math.floor(Math.random() * possible.length));
+ }
+ return text;
+}
diff --git a/apps/vscode/package.json b/apps/vscode/package.json
new file mode 100644
index 00000000..a9c34fc4
--- /dev/null
+++ b/apps/vscode/package.json
@@ -0,0 +1,148 @@
+{
+ "name": "vscode",
+ "version": "3.0.0",
+ "displayName": "JSON Crack",
+ "description": "Seamlessly visualize your JSON data instantly into graphs.",
+ "publisher": "AykutSarac",
+ "license": "MIT",
+ "author": {
+ "email": "aykutsarac0@gmail.com",
+ "name": "Aykut Saraç"
+ },
+ "homepage": "https://jsoncrack.com",
+ "icon": "assets/jsoncrack.png",
+ "galleryBanner": {
+ "color": "#202225",
+ "theme": "dark"
+ },
+ "categories": [
+ "Visualization"
+ ],
+ "keywords": [
+ "json",
+ "visualizer",
+ "jsoncrack",
+ "data",
+ "yaml",
+ "livepreview"
+ ],
+ "activationEvents": [
+ "workspaceContains:**/*.{json}"
+ ],
+ "main": "./build/ext-src/extension.js",
+ "contributes": {
+ "commands": [
+ {
+ "command": "jsoncrack-vscode.start",
+ "title": "Enable JSON Crack visualization",
+ "category": "menubar",
+ "icon": {
+ "light": "./assets/icon-light.svg",
+ "dark": "./assets/icon-dark.svg"
+ }
+ },
+ {
+ "command": "jsoncrack-vscode.start.specific",
+ "title": "Enable JSON Crack visualization for specific file",
+ "category": "menubar"
+ },
+ {
+ "command": "jsoncrack-vscode.start.selected",
+ "title": "Open with JSON Crack",
+ "category": "Navigation"
+ }
+ ],
+ "menus": {
+ "editor/context": [
+ {
+ "command": "jsoncrack-vscode.start.selected",
+ "when": "editorHasSelection",
+ "group": "navigation"
+ }
+ ],
+ "commandPalette": [
+ {
+ "command": "jsoncrack-vscode.start",
+ "when": "never"
+ }
+ ],
+ "editor/title": [
+ {
+ "command": "jsoncrack-vscode.start",
+ "when": "resourceExtname == .json || editorLangId == json",
+ "group": "navigation"
+ }
+ ]
+ }
+ },
+ "scripts": {
+ "vscode:prepublish": "pnpm run build",
+ "dev": "react-scripts start",
+ "start": "react-scripts start",
+ "compile": "webpack --mode development",
+ "watch": "webpack --mode development --watch",
+ "package": "webpack --mode production --devtool hidden-source-map",
+ "analyze": "ANALYZE=true pnpm run build",
+ "lint": "eslint src ext-src && prettier --check src ext-src",
+ "lint:fix": "eslint --fix src ext-src && prettier --write src ext-src",
+ "build": "node ./scripts/build-non-split.js && tsc -p tsconfig.extension.json",
+ "clean": "rm -rf build",
+ "watch-build": "nodemon --watch src --watch ext-src --watch scripts --ext js,tsx,ts --exec \"pnpm run build\"",
+ "eject": "react-scripts eject"
+ },
+ "devDependencies": {
+ "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
+ "@mantine/code-highlight": "^7.16.2",
+ "@mantine/core": "^7.16.2",
+ "@mantine/hooks": "^7.16.2",
+ "@trivago/prettier-plugin-sort-imports": "^4.3.0",
+ "@types/node": "16.x",
+ "@types/react": "^19.0.0",
+ "@types/react-dom": "^19.0.0",
+ "@types/vscode": "^1.86.0",
+ "@types/webpack-env": "^1.18.5",
+ "@typescript-eslint/eslint-plugin": "^5.31.0",
+ "@typescript-eslint/parser": "^5.31.0",
+ "eslint": "^8.20.0",
+ "eslint-config-prettier": "^9.1.0",
+ "eslint-plugin-prettier": "^5.2.1",
+ "eslint-plugin-unused-imports": "^4.1.4",
+ "nodemon": "^2.0.20",
+ "prettier": "^3.3.3",
+ "react-scripts": "^5.0.1",
+ "rewire": "^7.0.0",
+ "ts-loader": "^9.5.1",
+ "typescript": "^5.6.3",
+ "vsce": "^2.15.0",
+ "webpack": "^5.95.0",
+ "webpack-cli": "^5.1.4"
+ },
+ "dependencies": {
+ "jsoncrack-react": "workspace:*",
+ "react": "19.2.4",
+ "react-dom": "19.2.4"
+ },
+ "browserslist": {
+ "production": [
+ ">0.2%",
+ "not dead",
+ "not op_mini all"
+ ],
+ "development": [
+ "last 1 chrome version",
+ "last 1 firefox version",
+ "last 1 safari version"
+ ]
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/AykutSarac/jsoncrack-vscode"
+ },
+ "bugs": {
+ "url": "https://github.com/AykutSarac/jsoncrack-vscode/issues"
+ },
+ "engines": {
+ "vscode": "^1.86.0"
+ },
+ "packageManager": "pnpm@10.20.0"
+}
diff --git a/apps/vscode/public/assets/favicon.ico b/apps/vscode/public/assets/favicon.ico
new file mode 100644
index 00000000..0ddc95e0
Binary files /dev/null and b/apps/vscode/public/assets/favicon.ico differ
diff --git a/apps/vscode/public/index.html b/apps/vscode/public/index.html
new file mode 100644
index 00000000..f0ce1d94
--- /dev/null
+++ b/apps/vscode/public/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+ You need to enable JavaScript to run this app.
+
+
+
+
diff --git a/apps/vscode/scripts/build-non-split.js b/apps/vscode/scripts/build-non-split.js
new file mode 100755
index 00000000..f174a864
--- /dev/null
+++ b/apps/vscode/scripts/build-non-split.js
@@ -0,0 +1,45 @@
+#!/usr/bin/env node
+
+const path = require("path");
+const rewire = require("rewire");
+const defaults = rewire("react-scripts/scripts/build.js");
+let config = defaults.__get__("config");
+
+// Disable source maps
+config.devtool = false;
+
+// Disable code splitting
+config.optimization.splitChunks = {
+ cacheGroups: {
+ default: false
+ }
+};
+
+config.optimization.runtimeChunk = false;
+
+// Enable tree shaking
+config.optimization.usedExports = true;
+
+// Force a single React instance in the bundle. Without this, workspace-linked
+// packages can resolve a different React version and break hooks at runtime.
+config.resolve.alias = {
+ ...(config.resolve.alias || {}),
+ react: path.resolve(__dirname, "../node_modules/react"),
+ "react-dom": path.resolve(__dirname, "../node_modules/react-dom")
+};
+
+config.resolve.plugins = (config.resolve.plugins || []).filter(
+ (plugin) => plugin.constructor.name !== "ModuleScopePlugin"
+);
+
+// Ensure production optimizations are enabled
+config.mode = 'production';
+config.optimization.minimize = true;
+
+// Allow extensionless imports from ESM dependencies.
+config.module.rules.push({
+ test: /\.m?js$/,
+ resolve: {
+ fullySpecified: false
+ }
+});
diff --git a/apps/vscode/src/App.tsx b/apps/vscode/src/App.tsx
new file mode 100644
index 00000000..e6fbfd3f
--- /dev/null
+++ b/apps/vscode/src/App.tsx
@@ -0,0 +1,75 @@
+import { useCallback, useEffect, useState } from "react";
+import { Anchor, Box, MantineProvider, Text } from "@mantine/core";
+import type { NodeData } from "jsoncrack-react";
+import { JsonCrack } from "jsoncrack-react";
+import { NodeModal } from "./components/NodeModal";
+
+function getTheme() {
+ const theme = document.body.getAttribute("data-vscode-theme-kind");
+ if (theme?.includes("light")) return "light" as const;
+ return "dark";
+}
+
+const App: React.FC = () => {
+ const [json, setJson] = useState("{}");
+ const [selectedNode, setSelectedNode] = useState(null);
+ const theme = getTheme();
+
+ useEffect(() => {
+ const vscode = window?.acquireVsCodeApi?.();
+ vscode?.postMessage("ready");
+
+ const onMessage = (event: MessageEvent<{ json?: string }>) => {
+ const jsonData = event.data?.json;
+ if (typeof jsonData === "string") {
+ setJson(jsonData);
+ }
+ };
+
+ window.addEventListener("message", onMessage);
+
+ return () => {
+ window.removeEventListener("message", onMessage);
+ };
+ }, []);
+
+ const handleNodeClick = useCallback((node: NodeData) => {
+ setSelectedNode(node);
+ }, []);
+
+ const closeNodeModal = useCallback(() => {
+ setSelectedNode(null);
+ }, []);
+
+ return (
+
+
+
+ {selectedNode && (
+
+ )}
+
+
+
+ Powered by JSON Crack
+
+
+
+
+
+ );
+};
+
+export default App;
+
+declare global {
+ interface Window {
+ acquireVsCodeApi?: () => any;
+ }
+}
diff --git a/apps/vscode/src/components/NodeModal.tsx b/apps/vscode/src/components/NodeModal.tsx
new file mode 100644
index 00000000..ad66e7c0
--- /dev/null
+++ b/apps/vscode/src/components/NodeModal.tsx
@@ -0,0 +1,63 @@
+import React from "react";
+import type { ModalProps } from "@mantine/core";
+import { Modal, Stack, Text, ScrollArea } from "@mantine/core";
+import { CodeHighlight } from "@mantine/code-highlight";
+import type { NodeData } from "jsoncrack-react";
+
+interface NodeModalProps extends ModalProps {
+ nodeData: NodeData | null;
+}
+
+const normalizeNodeData = (nodeRows: NodeData["text"]) => {
+ if (!nodeRows || nodeRows.length === 0) return "{}";
+ if (nodeRows.length === 1 && !nodeRows[0].key) return `${nodeRows[0].value}`;
+
+ const obj: Record = {};
+ nodeRows.forEach(row => {
+ if (row.type !== "array" && row.type !== "object" && row.key) {
+ obj[row.key] = row.value;
+ }
+ });
+
+ return JSON.stringify(obj, null, 2);
+};
+
+const jsonPathToString = (path?: NodeData["path"]) => {
+ if (!path || path.length === 0) return "$";
+ const segments = path.map(seg => (typeof seg === "number" ? seg : `"${seg}"`));
+ return `$[${segments.join("][")}]`;
+};
+
+export const NodeModal = ({ opened, onClose, nodeData }: NodeModalProps) => {
+ const nodeContent = normalizeNodeData(nodeData?.text ?? []);
+ const jsonPath = jsonPathToString(nodeData?.path);
+
+ return (
+
+
+
+
+ Content
+
+
+
+
+
+
+ JSON Path
+
+
+
+
+
+
+ );
+};
diff --git a/apps/vscode/src/global.css b/apps/vscode/src/global.css
new file mode 100644
index 00000000..b15e2404
--- /dev/null
+++ b/apps/vscode/src/global.css
@@ -0,0 +1,20 @@
+html,
+body,
+#root {
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+a {
+ color: inherit;
+ text-decoration: none;
+}
diff --git a/apps/vscode/src/index.tsx b/apps/vscode/src/index.tsx
new file mode 100644
index 00000000..458b55e1
--- /dev/null
+++ b/apps/vscode/src/index.tsx
@@ -0,0 +1,10 @@
+import "@mantine/core/styles.css";
+import "@mantine/code-highlight/styles.css";
+import "jsoncrack-react/style.css";
+import { createRoot } from "react-dom/client";
+import App from "./App";
+import "./global.css";
+
+const container = document.getElementById("root") as HTMLElement;
+const root = createRoot(container);
+root.render( );
diff --git a/apps/vscode/src/react-app-env.d.ts b/apps/vscode/src/react-app-env.d.ts
new file mode 100644
index 00000000..f52d6f17
--- /dev/null
+++ b/apps/vscode/src/react-app-env.d.ts
@@ -0,0 +1,7 @@
+///
+
+declare global {
+ interface Window {
+ acquireVsCodeApi?: () => any;
+ }
+}
diff --git a/apps/vscode/tsconfig.extension.json b/apps/vscode/tsconfig.extension.json
new file mode 100644
index 00000000..4137d5be
--- /dev/null
+++ b/apps/vscode/tsconfig.extension.json
@@ -0,0 +1,13 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "target": "es6",
+ "outDir": "build",
+ "lib": ["es6", "dom"],
+ "sourceMap": true,
+ "rootDir": ".",
+ "strict": true
+ },
+ "include": ["ext-src"],
+ "exclude": ["node_modules", ".vscode-test"]
+}
diff --git a/apps/vscode/tsconfig.json b/apps/vscode/tsconfig.json
new file mode 100644
index 00000000..a9f91c2e
--- /dev/null
+++ b/apps/vscode/tsconfig.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "baseUrl": ".",
+ "target": "ES6",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "noEmit": false,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "incremental": true,
+ "noImplicitAny": false
+ },
+ "include": ["src"],
+ "exclude": ["node_modules"]
+}
diff --git a/apps/vscode/webpack.config.js b/apps/vscode/webpack.config.js
new file mode 100644
index 00000000..63405e49
--- /dev/null
+++ b/apps/vscode/webpack.config.js
@@ -0,0 +1,48 @@
+/** @typedef {import('webpack').Configuration} WebpackConfig **/
+
+const webpack = require("webpack");
+const path = require("path");
+
+/** @type WebpackConfig */
+const extensionConfig = {
+ target: "node",
+ mode: "none",
+ entry: "./ext-src/extension.ts",
+ output: {
+ path: path.resolve(__dirname, "build"),
+ filename: "extension.js",
+ libraryTarget: "commonjs2",
+ },
+ externals: {
+ vscode: "commonjs vscode",
+ },
+ module: {
+ rules: [{
+ test: /\.ts$/,
+ exclude: [/node_modules/],
+ use: [{
+ loader: 'ts-loader'
+ }]
+ }]
+ },
+ resolve: {
+ extensions: [".ts", ".js"],
+ },
+ plugins: [
+ new webpack.optimize.LimitChunkCountPlugin({
+ maxChunks: 1, // disable chunks by default since web extensions must be a single bundle
+ }),
+ new webpack.ProvidePlugin({
+ process: "process/browser", // provide a shim for the global `process` variable
+ }),
+ ],
+ devtool: "nosources-source-map",
+ performance: {
+ hints: false
+ },
+ infrastructureLogging: {
+ level: "log",
+ },
+};
+
+module.exports = extensionConfig;
diff --git a/.dockerignore b/apps/www/.dockerignore
similarity index 100%
rename from .dockerignore
rename to apps/www/.dockerignore
diff --git a/.env b/apps/www/.env
similarity index 100%
rename from .env
rename to apps/www/.env
diff --git a/.env.development b/apps/www/.env.development
similarity index 100%
rename from .env.development
rename to apps/www/.env.development
diff --git a/.eslintrc.json b/apps/www/.eslintrc.json
similarity index 100%
rename from .eslintrc.json
rename to apps/www/.eslintrc.json
diff --git a/apps/www/.gitignore b/apps/www/.gitignore
new file mode 100644
index 00000000..979810f3
--- /dev/null
+++ b/apps/www/.gitignore
@@ -0,0 +1,31 @@
+# App dependencies
+node_modules/
+
+# Next.js
+.next/
+out/
+
+# Turborepo task cache
+.turbo/
+
+# Test/build artifacts
+coverage/
+build/
+*.tsbuildinfo
+
+# Local environment files
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+# Deployment
+.vercel
+
+# Workspace migration artifact (root lockfile is authoritative)
+pnpm-lock.yaml
+
+# PWA workers
+public/workbox-*.js
+public/sw.js
+public/fallback-*.js
diff --git a/.prettierignore b/apps/www/.prettierignore
similarity index 100%
rename from .prettierignore
rename to apps/www/.prettierignore
diff --git a/apps/www/.prettierrc b/apps/www/.prettierrc
new file mode 100644
index 00000000..25c1b456
--- /dev/null
+++ b/apps/www/.prettierrc
@@ -0,0 +1,19 @@
+{
+ "trailingComma": "es5",
+ "singleQuote": false,
+ "semi": true,
+ "printWidth": 100,
+ "arrowParens": "avoid",
+ "importOrder": [
+ "^(react/(.*)$)|^(react$)",
+ "^(next/(.*)$)|^(next$)",
+ "^@mantine/core",
+ "^@mantine",
+ "styled",
+ "",
+ "^src/(.*)$",
+ "^[./]"
+ ],
+ "importOrderParserPlugins": ["typescript", "jsx", "decorators-legacy"],
+ "plugins": ["@trivago/prettier-plugin-sort-imports"]
+}
diff --git a/Dockerfile b/apps/www/Dockerfile
similarity index 100%
rename from Dockerfile
rename to apps/www/Dockerfile
diff --git a/apps/www/LICENSE.md b/apps/www/LICENSE.md
new file mode 100644
index 00000000..3604492a
--- /dev/null
+++ b/apps/www/LICENSE.md
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2025 Aykut Saraç
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/docker-compose.yml b/apps/www/docker-compose.yml
similarity index 100%
rename from docker-compose.yml
rename to apps/www/docker-compose.yml
diff --git a/eslint.config.mjs b/apps/www/eslint.config.mjs
similarity index 100%
rename from eslint.config.mjs
rename to apps/www/eslint.config.mjs
diff --git a/next-env.d.ts b/apps/www/next-env.d.ts
similarity index 84%
rename from next-env.d.ts
rename to apps/www/next-env.d.ts
index 19709046..7996d352 100644
--- a/next-env.d.ts
+++ b/apps/www/next-env.d.ts
@@ -1,6 +1,6 @@
///
///
-import "./.next/types/routes.d.ts";
+import "./.next/dev/types/routes.d.ts";
// NOTE: This file should not be edited
// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information.
diff --git a/next-sitemap.config.js b/apps/www/next-sitemap.config.js
similarity index 100%
rename from next-sitemap.config.js
rename to apps/www/next-sitemap.config.js
diff --git a/next.config.js b/apps/www/next.config.js
similarity index 96%
rename from next.config.js
rename to apps/www/next.config.js
index 645d72a9..70b7667f 100644
--- a/next.config.js
+++ b/apps/www/next.config.js
@@ -7,6 +7,7 @@ const withBundleAnalyzer = require("@next/bundle-analyzer")({
*/
const config = {
output: "export",
+ transpilePackages: ["jsoncrack"],
reactStrictMode: false,
productionBrowserSourceMaps: true,
compiler: {
diff --git a/nginx.conf b/apps/www/nginx.conf
similarity index 100%
rename from nginx.conf
rename to apps/www/nginx.conf
diff --git a/apps/www/package.json b/apps/www/package.json
new file mode 100644
index 00000000..ae1726e0
--- /dev/null
+++ b/apps/www/package.json
@@ -0,0 +1,72 @@
+{
+ "name": "www",
+ "private": true,
+ "version": "0.0.0",
+ "license": "Apache-2.0",
+ "scripts": {
+ "dev": "next dev --webpack",
+ "build": "next build --webpack",
+ "postbuild": "next-sitemap --config next-sitemap.config.js",
+ "start": "next start",
+ "lint": "tsc --project tsconfig.json && eslint src && prettier --check src",
+ "lint:fix": "eslint --fix src && prettier --write src",
+ "analyze": "ANALYZE=true npm run build"
+ },
+ "dependencies": {
+ "jsoncrack-react": "workspace:*",
+ "@mantine/code-highlight": "^8.3.14",
+ "@mantine/core": "^8.3.14",
+ "@mantine/dropzone": "^8.3.14",
+ "@mantine/hooks": "^8.3.14",
+ "@monaco-editor/react": "^4.7.0",
+ "allotment": "^1.20.5",
+ "fast-xml-parser": "5.3.4",
+ "gofmt.js": "0.0.2",
+ "html-to-image": "1.11.11",
+ "jq-web": "0.5.1",
+ "js-yaml": "4.1.1",
+ "json-2-csv": "5.5.10",
+ "json-schema-faker": "0.5.9",
+ "json_typegen_wasm": "0.7.0",
+ "jsonc-parser": "3.3.1",
+ "jsonpath-plus": "10.3.0",
+ "lodash.debounce": "^4.0.8",
+ "next": "16.1.6",
+ "next-seo": "^7.1.0",
+ "next-sitemap": "^4.2.3",
+ "nextjs-google-analytics": "^2.3.7",
+ "react": "19.2.4",
+ "react-dom": "19.2.4",
+ "react-hot-toast": "^2.6.0",
+ "react-icons": "^5.5.0",
+ "react-json-tree": "^0.20.0",
+ "react-linkify-it": "^2.0.0",
+ "react-zoomable-ui": "^0.11.0",
+ "reaflow": "5.4.1",
+ "shiki": "^3.22.0",
+ "styled-components": "^6.3.8",
+ "use-sync-external-store": "^1.6.0",
+ "use-long-press": "^3.3.0",
+ "zustand": "^5.0.11"
+ },
+ "devDependencies": {
+ "@eslint/eslintrc": "^3.2.0",
+ "@eslint/js": "^9.39.2",
+ "@next/bundle-analyzer": "16.1.6",
+ "@trivago/prettier-plugin-sort-imports": "^6.0.2",
+ "@types/js-yaml": "^4.0.9",
+ "@types/node": "^25.2.0",
+ "@types/react": "19.2.11",
+ "@types/react-dom": "19.2.3",
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
+ "eslint": "^9.39.2",
+ "eslint-config-next": "16.1.6",
+ "eslint-config-prettier": "^10.1.8",
+ "eslint-plugin-prettier": "^5.5.5",
+ "eslint-plugin-unused-imports": "^4.3.0",
+ "prettier": "^3.8.1",
+ "ts-node": "^10.9.2",
+ "typescript": "5.9.3"
+ },
+ "packageManager": "pnpm@10.20.0"
+}
diff --git a/public/.nojekyll b/apps/www/public/.nojekyll
similarity index 100%
rename from public/.nojekyll
rename to apps/www/public/.nojekyll
diff --git a/public/CNAME b/apps/www/public/CNAME
similarity index 100%
rename from public/CNAME
rename to apps/www/public/CNAME
diff --git a/public/assets/192.png b/apps/www/public/assets/192.png
similarity index 100%
rename from public/assets/192.png
rename to apps/www/public/assets/192.png
diff --git a/public/assets/512.png b/apps/www/public/assets/512.png
similarity index 100%
rename from public/assets/512.png
rename to apps/www/public/assets/512.png
diff --git a/public/assets/bf2-image.png b/apps/www/public/assets/bf2-image.png
similarity index 100%
rename from public/assets/bf2-image.png
rename to apps/www/public/assets/bf2-image.png
diff --git a/public/assets/cursor.svg b/apps/www/public/assets/cursor.svg
similarity index 100%
rename from public/assets/cursor.svg
rename to apps/www/public/assets/cursor.svg
diff --git a/public/assets/diagram-dark.png b/apps/www/public/assets/diagram-dark.png
similarity index 100%
rename from public/assets/diagram-dark.png
rename to apps/www/public/assets/diagram-dark.png
diff --git a/public/assets/diagram-light.png b/apps/www/public/assets/diagram-light.png
similarity index 100%
rename from public/assets/diagram-light.png
rename to apps/www/public/assets/diagram-light.png
diff --git a/public/assets/diagram.svg b/apps/www/public/assets/diagram.svg
similarity index 100%
rename from public/assets/diagram.svg
rename to apps/www/public/assets/diagram.svg
diff --git a/public/assets/editor.webp b/apps/www/public/assets/editor.webp
similarity index 100%
rename from public/assets/editor.webp
rename to apps/www/public/assets/editor.webp
diff --git a/public/assets/jsoncrack.png b/apps/www/public/assets/jsoncrack.png
similarity index 100%
rename from public/assets/jsoncrack.png
rename to apps/www/public/assets/jsoncrack.png
diff --git a/public/assets/step1-visual.png b/apps/www/public/assets/step1-visual.png
similarity index 100%
rename from public/assets/step1-visual.png
rename to apps/www/public/assets/step1-visual.png
diff --git a/public/assets/step2-visual.png b/apps/www/public/assets/step2-visual.png
similarity index 100%
rename from public/assets/step2-visual.png
rename to apps/www/public/assets/step2-visual.png
diff --git a/public/assets/step3-visual.png b/apps/www/public/assets/step3-visual.png
similarity index 100%
rename from public/assets/step3-visual.png
rename to apps/www/public/assets/step3-visual.png
diff --git a/public/assets/td-1.webp b/apps/www/public/assets/td-1.webp
similarity index 100%
rename from public/assets/td-1.webp
rename to apps/www/public/assets/td-1.webp
diff --git a/public/assets/td-2.webp b/apps/www/public/assets/td-2.webp
similarity index 100%
rename from public/assets/td-2.webp
rename to apps/www/public/assets/td-2.webp
diff --git a/public/assets/td-3.webp b/apps/www/public/assets/td-3.webp
similarity index 100%
rename from public/assets/td-3.webp
rename to apps/www/public/assets/td-3.webp
diff --git a/public/assets/td-4.webp b/apps/www/public/assets/td-4.webp
similarity index 100%
rename from public/assets/td-4.webp
rename to apps/www/public/assets/td-4.webp
diff --git a/public/assets/todiagram_logo.png b/apps/www/public/assets/todiagram_logo.png
similarity index 100%
rename from public/assets/todiagram_logo.png
rename to apps/www/public/assets/todiagram_logo.png
diff --git a/public/favicon.ico b/apps/www/public/favicon.ico
similarity index 100%
rename from public/favicon.ico
rename to apps/www/public/favicon.ico
diff --git a/public/manifest.json b/apps/www/public/manifest.json
similarity index 100%
rename from public/manifest.json
rename to apps/www/public/manifest.json
diff --git a/public/robots.txt b/apps/www/public/robots.txt
similarity index 100%
rename from public/robots.txt
rename to apps/www/public/robots.txt
diff --git a/public/sitemap-0.xml b/apps/www/public/sitemap-0.xml
similarity index 100%
rename from public/sitemap-0.xml
rename to apps/www/public/sitemap-0.xml
diff --git a/public/sitemap.xml b/apps/www/public/sitemap.xml
similarity index 100%
rename from public/sitemap.xml
rename to apps/www/public/sitemap.xml
diff --git a/shims/empty.ts b/apps/www/shims/empty.ts
similarity index 100%
rename from shims/empty.ts
rename to apps/www/shims/empty.ts
diff --git a/src/assets/fonts/Mona-Sans.woff2 b/apps/www/src/assets/fonts/Mona-Sans.woff2
similarity index 100%
rename from src/assets/fonts/Mona-Sans.woff2
rename to apps/www/src/assets/fonts/Mona-Sans.woff2
diff --git a/src/constants/globalStyle.ts b/apps/www/src/constants/globalStyle.ts
similarity index 100%
rename from src/constants/globalStyle.ts
rename to apps/www/src/constants/globalStyle.ts
diff --git a/src/constants/graph.ts b/apps/www/src/constants/graph.ts
similarity index 100%
rename from src/constants/graph.ts
rename to apps/www/src/constants/graph.ts
diff --git a/src/constants/seo.ts b/apps/www/src/constants/seo.ts
similarity index 100%
rename from src/constants/seo.ts
rename to apps/www/src/constants/seo.ts
diff --git a/src/constants/theme.ts b/apps/www/src/constants/theme.ts
similarity index 100%
rename from src/constants/theme.ts
rename to apps/www/src/constants/theme.ts
diff --git a/src/data/example.json b/apps/www/src/data/example.json
similarity index 100%
rename from src/data/example.json
rename to apps/www/src/data/example.json
diff --git a/src/data/faq.json b/apps/www/src/data/faq.json
similarity index 98%
rename from src/data/faq.json
rename to apps/www/src/data/faq.json
index 80f70187..918b227a 100644
--- a/src/data/faq.json
+++ b/apps/www/src/data/faq.json
@@ -21,7 +21,7 @@
},
{
"title": "What kind of data formats are supported?",
- "content": "A wide range of data formats are supported including JSON, YAML, XML, CSV, and TOML."
+ "content": "A wide range of data formats are supported including JSON, YAML, XML, and CSV."
},
{
"title": "What size of data can I visualize?",
diff --git a/src/data/privacy.json b/apps/www/src/data/privacy.json
similarity index 100%
rename from src/data/privacy.json
rename to apps/www/src/data/privacy.json
diff --git a/src/data/terms.json b/apps/www/src/data/terms.json
similarity index 100%
rename from src/data/terms.json
rename to apps/www/src/data/terms.json
diff --git a/src/enums/file.enum.ts b/apps/www/src/enums/file.enum.ts
similarity index 100%
rename from src/enums/file.enum.ts
rename to apps/www/src/enums/file.enum.ts
diff --git a/src/enums/viewMode.enum.ts b/apps/www/src/enums/viewMode.enum.ts
similarity index 100%
rename from src/enums/viewMode.enum.ts
rename to apps/www/src/enums/viewMode.enum.ts
diff --git a/src/features/Banner.tsx b/apps/www/src/features/Banner.tsx
similarity index 100%
rename from src/features/Banner.tsx
rename to apps/www/src/features/Banner.tsx
diff --git a/src/features/editor/BottomBar.tsx b/apps/www/src/features/editor/BottomBar.tsx
similarity index 100%
rename from src/features/editor/BottomBar.tsx
rename to apps/www/src/features/editor/BottomBar.tsx
diff --git a/src/features/editor/ExternalMode.tsx b/apps/www/src/features/editor/ExternalMode.tsx
similarity index 100%
rename from src/features/editor/ExternalMode.tsx
rename to apps/www/src/features/editor/ExternalMode.tsx
diff --git a/src/features/editor/FullscreenDropzone.tsx b/apps/www/src/features/editor/FullscreenDropzone.tsx
similarity index 89%
rename from src/features/editor/FullscreenDropzone.tsx
rename to apps/www/src/features/editor/FullscreenDropzone.tsx
index eaab7f94..fdb112ff 100644
--- a/src/features/editor/FullscreenDropzone.tsx
+++ b/apps/www/src/features/editor/FullscreenDropzone.tsx
@@ -12,13 +12,7 @@ export const FullscreenDropzone = () => {
return (
toast.error(`Unable to load file ${files[0].file.name}`)}
onDrop={async e => {
try {
@@ -55,7 +49,7 @@ export const FullscreenDropzone = () => {
Invalid file
- Allowed formats are JSON, YAML, CSV, XML, TOML
+ Allowed formats are JSON, YAML, CSV, XML
diff --git a/src/features/editor/LiveEditor.tsx b/apps/www/src/features/editor/LiveEditor.tsx
similarity index 96%
rename from src/features/editor/LiveEditor.tsx
rename to apps/www/src/features/editor/LiveEditor.tsx
index aac14268..fa2ba51e 100644
--- a/src/features/editor/LiveEditor.tsx
+++ b/apps/www/src/features/editor/LiveEditor.tsx
@@ -10,7 +10,6 @@ const StyledLiveEditor = styled.div`
height: 100%;
background: ${({ theme }) => theme.GRID_BG_COLOR};
overflow: auto;
- cursor: url("/assets/cursor.svg"), auto;
& > ul {
margin-top: 0 !important;
diff --git a/src/features/editor/TextEditor.tsx b/apps/www/src/features/editor/TextEditor.tsx
similarity index 91%
rename from src/features/editor/TextEditor.tsx
rename to apps/www/src/features/editor/TextEditor.tsx
index dfccf351..57f2c2b2 100644
--- a/src/features/editor/TextEditor.tsx
+++ b/apps/www/src/features/editor/TextEditor.tsx
@@ -29,9 +29,14 @@ const TextEditor = () => {
const getHasChanges = useFile(state => state.getHasChanges);
const theme = useConfig(state => (state.darkmodeEnabled ? "vs-dark" : "light"));
const fileType = useFile(state => state.format);
+ const jsonDefaults = (monaco?.languages as any)?.json?.jsonDefaults as
+ | { setDiagnosticsOptions: (options: unknown) => void }
+ | undefined;
React.useEffect(() => {
- monaco?.languages.json.jsonDefaults.setDiagnosticsOptions({
+ if (!jsonDefaults) return;
+
+ jsonDefaults.setDiagnosticsOptions({
validate: true,
allowComments: true,
enableSchemaRequest: true,
@@ -45,7 +50,7 @@ const TextEditor = () => {
],
}),
});
- }, [jsonSchema, monaco?.languages.json.jsonDefaults]);
+ }, [jsonDefaults, jsonSchema]);
React.useEffect(() => {
const beforeunload = (e: BeforeUnloadEvent) => {
diff --git a/src/features/editor/Toolbar/FileMenu.tsx b/apps/www/src/features/editor/Toolbar/FileMenu.tsx
similarity index 100%
rename from src/features/editor/Toolbar/FileMenu.tsx
rename to apps/www/src/features/editor/Toolbar/FileMenu.tsx
diff --git a/src/features/editor/Toolbar/SearchInput.tsx b/apps/www/src/features/editor/Toolbar/SearchInput.tsx
similarity index 100%
rename from src/features/editor/Toolbar/SearchInput.tsx
rename to apps/www/src/features/editor/Toolbar/SearchInput.tsx
diff --git a/src/features/editor/Toolbar/ThemeToggle.tsx b/apps/www/src/features/editor/Toolbar/ThemeToggle.tsx
similarity index 100%
rename from src/features/editor/Toolbar/ThemeToggle.tsx
rename to apps/www/src/features/editor/Toolbar/ThemeToggle.tsx
diff --git a/src/features/editor/Toolbar/ToolsMenu.tsx b/apps/www/src/features/editor/Toolbar/ToolsMenu.tsx
similarity index 100%
rename from src/features/editor/Toolbar/ToolsMenu.tsx
rename to apps/www/src/features/editor/Toolbar/ToolsMenu.tsx
diff --git a/src/features/editor/Toolbar/ViewMenu.tsx b/apps/www/src/features/editor/Toolbar/ViewMenu.tsx
similarity index 100%
rename from src/features/editor/Toolbar/ViewMenu.tsx
rename to apps/www/src/features/editor/Toolbar/ViewMenu.tsx
diff --git a/src/features/editor/Toolbar/index.tsx b/apps/www/src/features/editor/Toolbar/index.tsx
similarity index 100%
rename from src/features/editor/Toolbar/index.tsx
rename to apps/www/src/features/editor/Toolbar/index.tsx
diff --git a/src/features/editor/Toolbar/styles.ts b/apps/www/src/features/editor/Toolbar/styles.ts
similarity index 100%
rename from src/features/editor/Toolbar/styles.ts
rename to apps/www/src/features/editor/Toolbar/styles.ts
diff --git a/src/features/editor/views/GraphView/CustomEdge/index.tsx b/apps/www/src/features/editor/views/GraphView/CustomEdge/index.tsx
similarity index 89%
rename from src/features/editor/views/GraphView/CustomEdge/index.tsx
rename to apps/www/src/features/editor/views/GraphView/CustomEdge/index.tsx
index 69de00db..6bcda4a9 100644
--- a/src/features/editor/views/GraphView/CustomEdge/index.tsx
+++ b/apps/www/src/features/editor/views/GraphView/CustomEdge/index.tsx
@@ -7,11 +7,10 @@ import useGraph from "../stores/useGraph";
const CustomEdgeWrapper = (props: EdgeProps) => {
const colorScheme = useComputedColorScheme();
const viewPort = useGraph(state => state.viewPort);
- const edges = useGraph(state => state.edges);
const [hovered, setHovered] = React.useState(false);
const handeClick = () => {
- const targetNodeId = edges.find(edge => edge.id === props.properties?.id)?.to;
+ const targetNodeId = (props.properties as { to?: string } | undefined)?.to;
const targetNodeDom = document.querySelector(
`[data-id$="node-${targetNodeId}"]`
) as HTMLElement;
diff --git a/src/features/editor/views/GraphView/CustomNode/ObjectNode.tsx b/apps/www/src/features/editor/views/GraphView/CustomNode/ObjectNode.tsx
similarity index 96%
rename from src/features/editor/views/GraphView/CustomNode/ObjectNode.tsx
rename to apps/www/src/features/editor/views/GraphView/CustomNode/ObjectNode.tsx
index bd87e928..b6fb7704 100644
--- a/src/features/editor/views/GraphView/CustomNode/ObjectNode.tsx
+++ b/apps/www/src/features/editor/views/GraphView/CustomNode/ObjectNode.tsx
@@ -1,7 +1,7 @@
import React from "react";
+import type { NodeData } from "jsoncrack-react";
import type { CustomNodeProps } from ".";
import { NODE_DIMENSIONS } from "../../../../../constants/graph";
-import type { NodeData } from "../../../../../types/graph";
import { TextRenderer } from "./TextRenderer";
import * as Styled from "./styles";
diff --git a/src/features/editor/views/GraphView/CustomNode/TextNode.tsx b/apps/www/src/features/editor/views/GraphView/CustomNode/TextNode.tsx
similarity index 100%
rename from src/features/editor/views/GraphView/CustomNode/TextNode.tsx
rename to apps/www/src/features/editor/views/GraphView/CustomNode/TextNode.tsx
diff --git a/src/features/editor/views/GraphView/CustomNode/TextRenderer.tsx b/apps/www/src/features/editor/views/GraphView/CustomNode/TextRenderer.tsx
similarity index 100%
rename from src/features/editor/views/GraphView/CustomNode/TextRenderer.tsx
rename to apps/www/src/features/editor/views/GraphView/CustomNode/TextRenderer.tsx
diff --git a/src/features/editor/views/GraphView/CustomNode/index.tsx b/apps/www/src/features/editor/views/GraphView/CustomNode/index.tsx
similarity index 96%
rename from src/features/editor/views/GraphView/CustomNode/index.tsx
rename to apps/www/src/features/editor/views/GraphView/CustomNode/index.tsx
index ea3ac6be..6358ffe4 100644
--- a/src/features/editor/views/GraphView/CustomNode/index.tsx
+++ b/apps/www/src/features/editor/views/GraphView/CustomNode/index.tsx
@@ -1,9 +1,9 @@
import React from "react";
import { useComputedColorScheme } from "@mantine/core";
+import type { NodeData } from "jsoncrack-react";
import type { NodeProps } from "reaflow";
import { Node } from "reaflow";
import { useModal } from "../../../../../store/useModal";
-import type { NodeData } from "../../../../../types/graph";
import useGraph from "../stores/useGraph";
import { ObjectNode } from "./ObjectNode";
import { TextNode } from "./TextNode";
diff --git a/src/features/editor/views/GraphView/CustomNode/styles.tsx b/apps/www/src/features/editor/views/GraphView/CustomNode/styles.tsx
similarity index 100%
rename from src/features/editor/views/GraphView/CustomNode/styles.tsx
rename to apps/www/src/features/editor/views/GraphView/CustomNode/styles.tsx
diff --git a/src/features/editor/views/GraphView/NotSupported.tsx b/apps/www/src/features/editor/views/GraphView/NotSupported.tsx
similarity index 100%
rename from src/features/editor/views/GraphView/NotSupported.tsx
rename to apps/www/src/features/editor/views/GraphView/NotSupported.tsx
diff --git a/src/features/editor/views/GraphView/OptionsMenu.tsx b/apps/www/src/features/editor/views/GraphView/OptionsMenu.tsx
similarity index 98%
rename from src/features/editor/views/GraphView/OptionsMenu.tsx
rename to apps/www/src/features/editor/views/GraphView/OptionsMenu.tsx
index 2839113e..fc99858c 100644
--- a/src/features/editor/views/GraphView/OptionsMenu.tsx
+++ b/apps/www/src/features/editor/views/GraphView/OptionsMenu.tsx
@@ -2,13 +2,13 @@ import React from "react";
import { ActionIcon, Button, Flex, Menu, Text } from "@mantine/core";
import { useHotkeys } from "@mantine/hooks";
import styled from "styled-components";
+import type { LayoutDirection } from "jsoncrack-react";
import { event as gaEvent } from "nextjs-google-analytics";
import { BsCheck2 } from "react-icons/bs";
import { LuChevronRight, LuImageDown, LuMenu } from "react-icons/lu";
import { TiFlowMerge } from "react-icons/ti";
import useConfig from "../../../../store/useConfig";
import { useModal } from "../../../../store/useModal";
-import type { LayoutDirection } from "../../../../types/graph";
import useGraph from "./stores/useGraph";
const StyledFlowIcon = styled(TiFlowMerge)<{ rotate: number }>`
diff --git a/src/features/editor/views/GraphView/SecureInfo.tsx b/apps/www/src/features/editor/views/GraphView/SecureInfo.tsx
similarity index 100%
rename from src/features/editor/views/GraphView/SecureInfo.tsx
rename to apps/www/src/features/editor/views/GraphView/SecureInfo.tsx
diff --git a/src/features/editor/views/GraphView/ZoomControl.tsx b/apps/www/src/features/editor/views/GraphView/ZoomControl.tsx
similarity index 100%
rename from src/features/editor/views/GraphView/ZoomControl.tsx
rename to apps/www/src/features/editor/views/GraphView/ZoomControl.tsx
diff --git a/apps/www/src/features/editor/views/GraphView/index.tsx b/apps/www/src/features/editor/views/GraphView/index.tsx
new file mode 100644
index 00000000..ec76508a
--- /dev/null
+++ b/apps/www/src/features/editor/views/GraphView/index.tsx
@@ -0,0 +1,100 @@
+import React from "react";
+import { Box } from "@mantine/core";
+import styled from "styled-components";
+import { JsonCrack } from "jsoncrack-react";
+import type { NodeData } from "jsoncrack-react";
+import { useLongPress } from "use-long-press";
+import { SUPPORTED_LIMIT } from "../../../../constants/graph";
+import useConfig from "../../../../store/useConfig";
+import useJson from "../../../../store/useJson";
+import { useModal } from "../../../../store/useModal";
+import { NotSupported } from "./NotSupported";
+import { OptionsMenu } from "./OptionsMenu";
+import { SecureInfo } from "./SecureInfo";
+import { ZoomControl } from "./ZoomControl";
+import useGraph from "./stores/useGraph";
+
+const StyledEditorWrapper = styled.div<{ $widget: boolean }>`
+ width: 100%;
+ height: 100%;
+
+ .jsoncrack-space,
+ .jsoncrack-space:active {
+ cursor: url("/assets/cursor.svg"), auto;
+ }
+`;
+
+interface GraphProps {
+ isWidget?: boolean;
+}
+
+export const GraphView = ({ isWidget = false }: GraphProps) => {
+ const setViewPort = useGraph(state => state.setViewPort);
+ const direction = useGraph(state => state.direction);
+ const setSelectedNode = useGraph(state => state.setSelectedNode);
+ const gesturesEnabled = useConfig(state => state.gesturesEnabled);
+ const rulersEnabled = useConfig(state => state.rulersEnabled);
+ const imagePreviewEnabled = useConfig(state => state.imagePreviewEnabled);
+ const darkmodeEnabled = useConfig(state => state.darkmodeEnabled);
+ const json = useJson(state => state.json);
+ const setVisible = useModal(state => state.setVisible);
+
+ const callback = React.useCallback(() => {
+ const canvas = document.querySelector(".jsoncrack-canvas") as HTMLDivElement | null;
+ canvas?.classList.add("dragging");
+ }, []);
+
+ const bindLongPress = useLongPress(callback, {
+ threshold: 150,
+ onFinish: () => {
+ const canvas = document.querySelector(".jsoncrack-canvas") as HTMLDivElement | null;
+ canvas?.classList.remove("dragging");
+ },
+ });
+
+ const blurOnClick = React.useCallback(() => {
+ if ("activeElement" in document) {
+ (document.activeElement as HTMLElement | null)?.blur();
+ }
+ }, []);
+
+ const handleNodeClick = React.useCallback(
+ (node: NodeData) => {
+ setSelectedNode(node);
+ setVisible("NodeModal", true);
+ },
+ [setSelectedNode, setVisible]
+ );
+
+ const maxVisibleNodes = Number.isFinite(SUPPORTED_LIMIT) ? SUPPORTED_LIMIT : 1500;
+
+ return (
+
+ {!isWidget && }
+ {!isWidget && }
+
+ event.preventDefault()}
+ onClick={blurOnClick}
+ {...bindLongPress()}
+ >
+ }
+ />
+
+
+ );
+};
diff --git a/src/features/editor/views/GraphView/lib/jsonParser.ts b/apps/www/src/features/editor/views/GraphView/lib/jsonParser.ts
similarity index 98%
rename from src/features/editor/views/GraphView/lib/jsonParser.ts
rename to apps/www/src/features/editor/views/GraphView/lib/jsonParser.ts
index 8c397983..3f25e06c 100644
--- a/src/features/editor/views/GraphView/lib/jsonParser.ts
+++ b/apps/www/src/features/editor/views/GraphView/lib/jsonParser.ts
@@ -4,7 +4,7 @@
* LICENSE file in the root directory of this source tree.
*/
import { parseTree, getNodePath, type Node } from "jsonc-parser";
-import type { EdgeData, NodeData, NodeRow } from "../../../../../types/graph";
+import type { EdgeData, NodeData, NodeRow } from "jsoncrack-react";
import { calculateNodeSize } from "./utils/calculateNodeSize";
export type Graph = {
diff --git a/src/features/editor/views/GraphView/lib/utils/calculateNodeSize.ts b/apps/www/src/features/editor/views/GraphView/lib/utils/calculateNodeSize.ts
similarity index 100%
rename from src/features/editor/views/GraphView/lib/utils/calculateNodeSize.ts
rename to apps/www/src/features/editor/views/GraphView/lib/utils/calculateNodeSize.ts
diff --git a/src/features/editor/views/GraphView/lib/utils/getChildrenEdges.ts b/apps/www/src/features/editor/views/GraphView/lib/utils/getChildrenEdges.ts
similarity index 77%
rename from src/features/editor/views/GraphView/lib/utils/getChildrenEdges.ts
rename to apps/www/src/features/editor/views/GraphView/lib/utils/getChildrenEdges.ts
index 04ef0679..b0e18c52 100644
--- a/src/features/editor/views/GraphView/lib/utils/getChildrenEdges.ts
+++ b/apps/www/src/features/editor/views/GraphView/lib/utils/getChildrenEdges.ts
@@ -1,4 +1,4 @@
-import type { NodeData, EdgeData } from "../../../../../../types/graph";
+import type { EdgeData, NodeData } from "jsoncrack-react";
export const getChildrenEdges = (nodes: NodeData[], edges: EdgeData[]): EdgeData[] => {
const nodeIds = nodes.map(node => node.id);
diff --git a/src/features/editor/views/GraphView/lib/utils/getOutgoers.ts b/apps/www/src/features/editor/views/GraphView/lib/utils/getOutgoers.ts
similarity index 92%
rename from src/features/editor/views/GraphView/lib/utils/getOutgoers.ts
rename to apps/www/src/features/editor/views/GraphView/lib/utils/getOutgoers.ts
index 5dee2150..d14e530e 100644
--- a/src/features/editor/views/GraphView/lib/utils/getOutgoers.ts
+++ b/apps/www/src/features/editor/views/GraphView/lib/utils/getOutgoers.ts
@@ -1,4 +1,4 @@
-import type { NodeData, EdgeData } from "../../../../../../types/graph";
+import type { EdgeData, NodeData } from "jsoncrack-react";
type Outgoers = [NodeData[], string[]];
diff --git a/src/features/editor/views/GraphView/stores/useGraph.ts b/apps/www/src/features/editor/views/GraphView/stores/useGraph.ts
similarity index 55%
rename from src/features/editor/views/GraphView/stores/useGraph.ts
rename to apps/www/src/features/editor/views/GraphView/stores/useGraph.ts
index 530ba717..dca6c6f5 100644
--- a/src/features/editor/views/GraphView/stores/useGraph.ts
+++ b/apps/www/src/features/editor/views/GraphView/stores/useGraph.ts
@@ -1,87 +1,45 @@
+import type { LayoutDirection, NodeData } from "jsoncrack-react";
import type { ViewPort } from "react-zoomable-ui";
-import type { CanvasDirection } from "reaflow";
import { create } from "zustand";
-import { SUPPORTED_LIMIT } from "../../../../../constants/graph";
-import useJson from "../../../../../store/useJson";
-import type { EdgeData, NodeData } from "../../../../../types/graph";
-import { parser } from "../lib/jsonParser";
export interface Graph {
viewPort: ViewPort | null;
- direction: CanvasDirection;
- loading: boolean;
+ direction: LayoutDirection;
fullscreen: boolean;
- nodes: NodeData[];
- edges: EdgeData[];
selectedNode: NodeData | null;
- path: string;
- aboveSupportedLimit: boolean;
}
const initialStates: Graph = {
viewPort: null,
direction: "RIGHT",
- loading: true,
fullscreen: false,
- nodes: [],
- edges: [],
selectedNode: null,
- path: "",
- aboveSupportedLimit: false,
};
interface GraphActions {
- setGraph: (json?: string, options?: Partial[]) => void;
- setLoading: (loading: boolean) => void;
- setDirection: (direction: CanvasDirection) => void;
+ setDirection: (direction: LayoutDirection) => void;
setViewPort: (ref: ViewPort) => void;
- setSelectedNode: (nodeData: NodeData) => void;
+ setSelectedNode: (nodeData: NodeData | null) => void;
focusFirstNode: () => void;
toggleFullscreen: (value: boolean) => void;
zoomIn: () => void;
zoomOut: () => void;
centerView: () => void;
- clearGraph: () => void;
- setZoomFactor: (zoomFactor: number) => void;
}
const useGraph = create((set, get) => ({
...initialStates,
- clearGraph: () => set({ nodes: [], edges: [], loading: false }),
setSelectedNode: nodeData => set({ selectedNode: nodeData }),
- setGraph: (data, options) => {
- const { nodes, edges } = parser(data ?? useJson.getState().json);
-
- if (nodes.length > SUPPORTED_LIMIT) {
- return set({
- aboveSupportedLimit: true,
- ...options,
- loading: false,
- });
- }
-
- set({
- nodes,
- edges,
- aboveSupportedLimit: false,
- ...options,
- });
- },
setDirection: (direction = "RIGHT") => {
set({ direction });
setTimeout(() => get().centerView(), 200);
},
- setLoading: loading => set({ loading }),
focusFirstNode: () => {
const rootNode = document.querySelector("g[id$='node-1']");
get().viewPort?.camera?.centerFitElementIntoView(rootNode as HTMLElement, {
elementExtraMarginForZoom: 100,
});
},
- setZoomFactor: zoomFactor => {
- const viewPort = get().viewPort;
- viewPort?.camera?.recenter(viewPort.centerX, viewPort.centerY, zoomFactor);
- },
zoomIn: () => {
const viewPort = get().viewPort;
viewPort?.camera?.recenter(viewPort.centerX, viewPort.centerY, viewPort.zoomFactor + 0.1);
diff --git a/src/features/editor/views/TreeView/Label.tsx b/apps/www/src/features/editor/views/TreeView/Label.tsx
similarity index 100%
rename from src/features/editor/views/TreeView/Label.tsx
rename to apps/www/src/features/editor/views/TreeView/Label.tsx
diff --git a/src/features/editor/views/TreeView/Value.tsx b/apps/www/src/features/editor/views/TreeView/Value.tsx
similarity index 100%
rename from src/features/editor/views/TreeView/Value.tsx
rename to apps/www/src/features/editor/views/TreeView/Value.tsx
diff --git a/src/features/editor/views/TreeView/index.tsx b/apps/www/src/features/editor/views/TreeView/index.tsx
similarity index 100%
rename from src/features/editor/views/TreeView/index.tsx
rename to apps/www/src/features/editor/views/TreeView/index.tsx
diff --git a/src/features/modals/DownloadModal/index.tsx b/apps/www/src/features/modals/DownloadModal/index.tsx
similarity index 100%
rename from src/features/modals/DownloadModal/index.tsx
rename to apps/www/src/features/modals/DownloadModal/index.tsx
diff --git a/src/features/modals/ImportModal/index.tsx b/apps/www/src/features/modals/ImportModal/index.tsx
similarity index 93%
rename from src/features/modals/ImportModal/index.tsx
rename to apps/www/src/features/modals/ImportModal/index.tsx
index ab47a5fa..9d4c84ef 100644
--- a/src/features/modals/ImportModal/index.tsx
+++ b/apps/www/src/features/modals/ImportModal/index.tsx
@@ -71,13 +71,7 @@ export const ImportModal = ({ opened, onClose }: ModalProps) => {
onReject={files => toast.error(`Unable to load file ${files[0].file.name}`)}
maxFiles={1}
p="md"
- accept={[
- "application/json",
- "application/x-yaml",
- "text/csv",
- "application/xml",
- "application/toml",
- ]}
+ accept={["application/json", "application/x-yaml", "text/csv", "application/xml"]}
>
diff --git a/src/features/modals/JPathModal/index.tsx b/apps/www/src/features/modals/JPathModal/index.tsx
similarity index 100%
rename from src/features/modals/JPathModal/index.tsx
rename to apps/www/src/features/modals/JPathModal/index.tsx
diff --git a/src/features/modals/JQModal/index.tsx b/apps/www/src/features/modals/JQModal/index.tsx
similarity index 100%
rename from src/features/modals/JQModal/index.tsx
rename to apps/www/src/features/modals/JQModal/index.tsx
diff --git a/src/features/modals/ModalController.tsx b/apps/www/src/features/modals/ModalController.tsx
similarity index 100%
rename from src/features/modals/ModalController.tsx
rename to apps/www/src/features/modals/ModalController.tsx
diff --git a/src/features/modals/NodeModal/index.tsx b/apps/www/src/features/modals/NodeModal/index.tsx
similarity index 97%
rename from src/features/modals/NodeModal/index.tsx
rename to apps/www/src/features/modals/NodeModal/index.tsx
index caba85fe..95d91935 100644
--- a/src/features/modals/NodeModal/index.tsx
+++ b/apps/www/src/features/modals/NodeModal/index.tsx
@@ -2,7 +2,7 @@ import React from "react";
import type { ModalProps } from "@mantine/core";
import { Modal, Stack, Text, ScrollArea, Flex, CloseButton } from "@mantine/core";
import { CodeHighlight } from "@mantine/code-highlight";
-import type { NodeData } from "../../../types/graph";
+import type { NodeData } from "jsoncrack-react";
import useGraph from "../../editor/views/GraphView/stores/useGraph";
// return object from json removing array and object fields
diff --git a/src/features/modals/SchemaModal/index.tsx b/apps/www/src/features/modals/SchemaModal/index.tsx
similarity index 100%
rename from src/features/modals/SchemaModal/index.tsx
rename to apps/www/src/features/modals/SchemaModal/index.tsx
diff --git a/src/features/modals/TypeModal/index.tsx b/apps/www/src/features/modals/TypeModal/index.tsx
similarity index 100%
rename from src/features/modals/TypeModal/index.tsx
rename to apps/www/src/features/modals/TypeModal/index.tsx
diff --git a/src/features/modals/index.ts b/apps/www/src/features/modals/index.ts
similarity index 100%
rename from src/features/modals/index.ts
rename to apps/www/src/features/modals/index.ts
diff --git a/src/features/modals/modalTypes.ts b/apps/www/src/features/modals/modalTypes.ts
similarity index 100%
rename from src/features/modals/modalTypes.ts
rename to apps/www/src/features/modals/modalTypes.ts
diff --git a/src/hooks/useFocusNode.ts b/apps/www/src/hooks/useFocusNode.ts
similarity index 100%
rename from src/hooks/useFocusNode.ts
rename to apps/www/src/hooks/useFocusNode.ts
diff --git a/src/hooks/useJsonQuery.ts b/apps/www/src/hooks/useJsonQuery.ts
similarity index 100%
rename from src/hooks/useJsonQuery.ts
rename to apps/www/src/hooks/useJsonQuery.ts
diff --git a/src/layout/ConverterLayout/PageLinks.tsx b/apps/www/src/layout/ConverterLayout/PageLinks.tsx
similarity index 100%
rename from src/layout/ConverterLayout/PageLinks.tsx
rename to apps/www/src/layout/ConverterLayout/PageLinks.tsx
diff --git a/src/layout/ConverterLayout/ToolPage.tsx b/apps/www/src/layout/ConverterLayout/ToolPage.tsx
similarity index 100%
rename from src/layout/ConverterLayout/ToolPage.tsx
rename to apps/www/src/layout/ConverterLayout/ToolPage.tsx
diff --git a/src/layout/ConverterLayout/options.ts b/apps/www/src/layout/ConverterLayout/options.ts
similarity index 100%
rename from src/layout/ConverterLayout/options.ts
rename to apps/www/src/layout/ConverterLayout/options.ts
diff --git a/src/layout/JsonCrackLogo.tsx b/apps/www/src/layout/JsonCrackLogo.tsx
similarity index 100%
rename from src/layout/JsonCrackLogo.tsx
rename to apps/www/src/layout/JsonCrackLogo.tsx
diff --git a/src/layout/Landing/FAQ.tsx b/apps/www/src/layout/Landing/FAQ.tsx
similarity index 100%
rename from src/layout/Landing/FAQ.tsx
rename to apps/www/src/layout/Landing/FAQ.tsx
diff --git a/src/layout/Landing/Features.tsx b/apps/www/src/layout/Landing/Features.tsx
similarity index 97%
rename from src/layout/Landing/Features.tsx
rename to apps/www/src/layout/Landing/Features.tsx
index a5764d19..5de0a46f 100644
--- a/src/layout/Landing/Features.tsx
+++ b/apps/www/src/layout/Landing/Features.tsx
@@ -27,7 +27,7 @@ const features: FeatureItem[] = [
{
title: "JSON Visualizer",
description:
- "Transform your data into interactive graphs or trees as you type. Supports JSON, YAML, CSV, XML, and TOML.",
+ "Transform your data into interactive graphs or trees as you type. Supports JSON, YAML, CSV, and XML.",
icon: ,
color: "yellow",
},
@@ -122,7 +122,7 @@ export const Features = () => {
fz={{ base: 16, sm: 18 }}
w={{ base: "100%", xs: "80%", sm: "60%", md: "40%" }}
>
- All in one tool for JSON, YAML, CSV, XML, and TOML.
+ All in one tool for JSON, YAML, CSV, and XML.
{
Visualize and convert to multiple formats
- JSON Crack supports formats like TOML, CSV, YAML, and XML, making it easier to visualize
- your data, no matter the type.
+ JSON Crack supports formats like CSV, YAML, and XML, making it easier to visualize your
+ data, no matter the type.
{
const checkEditorSession = useFile(state => state.checkEditorSession);
const setContents = useFile(state => state.setContents);
const setDirection = useGraph(state => state.setDirection);
- const clearGraph = useGraph(state => state.clearGraph);
+ const clearJson = useJson(state => state.clear);
React.useEffect(() => {
if (isReady) {
if (typeof query?.json === "string") checkEditorSession(query.json, true);
- else clearGraph();
+ else clearJson();
window.parent.postMessage(window.frameElement?.getAttribute("id"), "*");
}
- }, [clearGraph, checkEditorSession, isReady, push, query.json, query.partner]);
+ }, [checkEditorSession, clearJson, isReady, push, query.json, query.partner]);
React.useEffect(() => {
const handler = (event: EmbedMessage) => {
diff --git a/src/store/useConfig.ts b/apps/www/src/store/useConfig.ts
similarity index 82%
rename from src/store/useConfig.ts
rename to apps/www/src/store/useConfig.ts
index 2764c03d..bd16f487 100644
--- a/src/store/useConfig.ts
+++ b/apps/www/src/store/useConfig.ts
@@ -1,6 +1,5 @@
import { create } from "zustand";
import { persist } from "zustand/middleware";
-import useGraph from "../features/editor/views/GraphView/stores/useGraph";
const initialStates = {
darkmodeEnabled: true,
@@ -26,10 +25,7 @@ const useConfig = create(
toggleGestures: gesturesEnabled => set({ gesturesEnabled }),
toggleLiveTransform: liveTransformEnabled => set({ liveTransformEnabled }),
toggleDarkMode: darkmodeEnabled => set({ darkmodeEnabled }),
- toggleImagePreview: imagePreviewEnabled => {
- set({ imagePreviewEnabled });
- useGraph.getState().setGraph();
- },
+ toggleImagePreview: imagePreviewEnabled => set({ imagePreviewEnabled }),
}),
{
name: "config",
diff --git a/src/store/useFile.ts b/apps/www/src/store/useFile.ts
similarity index 96%
rename from src/store/useFile.ts
rename to apps/www/src/store/useFile.ts
index 93986bb3..194b619b 100644
--- a/src/store/useFile.ts
+++ b/apps/www/src/store/useFile.ts
@@ -4,7 +4,6 @@ import { toast } from "react-hot-toast";
import { create } from "zustand";
import exampleJson from "../data/example.json";
import { FileFormat } from "../enums/file.enum";
-import useGraph from "../features/editor/views/GraphView/stores/useGraph";
import { isIframe } from "../lib/utils/helpers";
import { contentToJson, jsonToContent } from "../lib/utils/jsonAdapter";
import useConfig from "./useConfig";
@@ -66,7 +65,6 @@ const isURL = (value: string) => {
};
const debouncedUpdateJson = debounce((value: unknown) => {
- useGraph.getState().setLoading(true);
useJson.getState().setJson(JSON.stringify(value, null, 2));
}, 400);
@@ -124,7 +122,6 @@ const useFile = create()((set, get) => ({
if (error?.mark?.snippet) return set({ error: error.mark.snippet });
if (error?.message) set({ error: error.message });
useJson.setState({ loading: false });
- useGraph.setState({ loading: false });
}
},
setError: error => set({ error }),
diff --git a/src/store/useJson.ts b/apps/www/src/store/useJson.ts
similarity index 77%
rename from src/store/useJson.ts
rename to apps/www/src/store/useJson.ts
index 62512c79..f4a3eace 100644
--- a/src/store/useJson.ts
+++ b/apps/www/src/store/useJson.ts
@@ -1,5 +1,4 @@
import { create } from "zustand";
-import useGraph from "../features/editor/views/GraphView/stores/useGraph";
interface JsonActions {
setJson: (json: string) => void;
@@ -19,11 +18,9 @@ const useJson = create()((set, get) => ({
getJson: () => get().json,
setJson: json => {
set({ json, loading: false });
- useGraph.getState().setGraph(json);
},
clear: () => {
set({ json: "", loading: false });
- useGraph.getState().clearGraph();
},
}));
diff --git a/src/store/useModal.ts b/apps/www/src/store/useModal.ts
similarity index 100%
rename from src/store/useModal.ts
rename to apps/www/src/store/useModal.ts
diff --git a/src/types/styled.d.ts b/apps/www/src/types/styled.d.ts
similarity index 100%
rename from src/types/styled.d.ts
rename to apps/www/src/types/styled.d.ts
diff --git a/tsconfig.json b/apps/www/tsconfig.json
similarity index 100%
rename from tsconfig.json
rename to apps/www/tsconfig.json
diff --git a/package.json b/package.json
index dc8ad769..470190a4 100644
--- a/package.json
+++ b/package.json
@@ -1,93 +1,56 @@
{
- "name": "json-crack",
+ "name": "jsoncrack-monorepo",
"private": true,
- "version": "0.0.0",
+ "license": "Apache-2.0",
+ "homepage": "https://jsoncrack.com",
"author": {
"name": "Aykut Saraç",
"email": "aykutsarac0@gmail.com"
},
- "license": "Apache-2.0",
- "homepage": "https://jsoncrack.com",
"bugs": {
"url": "https://github.com/AykutSarac/jsoncrack.com/issues"
},
"scripts": {
- "dev": "next dev --webpack",
- "build": "next build --webpack",
- "postbuild": "next-sitemap --config next-sitemap.config.js",
- "start": "next start",
- "lint": "tsc --project tsconfig.json && eslint src && prettier --check src",
- "lint:fix": "eslint --fix src & prettier --write src",
- "analyze": "ANALYZE=true npm run build"
- },
- "dependencies": {
- "@mantine/code-highlight": "^8.3.14",
- "@mantine/core": "^8.3.14",
- "@mantine/dropzone": "^8.3.14",
- "@mantine/hooks": "^8.3.14",
- "@monaco-editor/react": "^4.7.0",
- "allotment": "^1.20.5",
- "fast-xml-parser": "5.3.4",
- "gofmt.js": "0.0.2",
- "html-to-image": "1.11.11",
- "jq-web": "0.5.1",
- "js-yaml": "4.1.1",
- "json-2-csv": "5.5.10",
- "json-schema-faker": "0.5.9",
- "json_typegen_wasm": "0.7.0",
- "jsonc-parser": "3.3.1",
- "jsonpath-plus": "10.3.0",
- "lodash.debounce": "^4.0.8",
- "next": "16.1.6",
- "next-seo": "^7.1.0",
- "next-sitemap": "^4.2.3",
- "nextjs-google-analytics": "^2.3.7",
- "react": "19.2.4",
- "react-dom": "19.2.4",
- "react-hot-toast": "^2.6.0",
- "react-icons": "^5.5.0",
- "react-json-tree": "^0.20.0",
- "react-linkify-it": "^2.0.0",
- "react-zoomable-ui": "^0.11.0",
- "reaflow": "5.4.1",
- "shiki": "^3.22.0",
- "styled-components": "^6.3.8",
- "use-long-press": "^3.3.0",
- "zustand": "^5.0.11"
+ "dev": "turbo run dev",
+ "dev:www": "turbo run dev --filter=www",
+ "dev:vscode": "turbo run watch-build --filter=vscode",
+ "build": "turbo run build",
+ "build:www": "turbo run build --filter=www",
+ "build:vscode": "turbo run build --filter=vscode",
+ "start": "turbo run start",
+ "lint": "turbo run lint",
+ "lint:vscode": "turbo run lint --filter=vscode",
+ "lint:fix": "turbo run lint:fix",
+ "lint:fix:vscode": "turbo run lint:fix --filter=vscode",
+ "analyze": "turbo run analyze",
+ "clean": "turbo run clean"
},
"devDependencies": {
- "@eslint/eslintrc": "^3.2.0",
- "@eslint/js": "^9.39.2",
- "@next/bundle-analyzer": "16.1.6",
- "@trivago/prettier-plugin-sort-imports": "^6.0.2",
- "@types/js-yaml": "^4.0.9",
- "@types/node": "^25.2.0",
- "@types/react": "19.2.11",
- "@types/react-dom": "19.2.3",
- "@typescript-eslint/eslint-plugin": "^8.54.0",
- "eslint": "^9.39.2",
- "eslint-config-next": "16.1.6",
- "eslint-config-prettier": "^10.1.8",
- "eslint-plugin-prettier": "^5.5.5",
- "eslint-plugin-unused-imports": "^4.3.0",
- "prettier": "^3.8.1",
- "ts-node": "^10.9.2",
- "typescript": "5.9.3"
+ "turbo": "^2.8.8"
},
"engines": {
- "node": ">=24.x"
+ "node": ">=24",
+ "pnpm": ">=10"
},
+ "packageManager": "pnpm@10.20.0",
"pnpm": {
"onlyBuiltDependencies": [
+ "esbuild",
+ "sharp",
+ "unrs-resolver"
+ ],
+ "approvedBuilds": [
+ "esbuild",
"sharp",
"unrs-resolver"
],
"overrides": {
+ "react": "19.2.4",
+ "react-dom": "19.2.4",
"@types/react": "19.2.11",
"@types/react-dom": "19.2.3",
"html-to-image": "1.11.11",
"jq-web": "0.5.1"
}
- },
- "packageManager": "pnpm@10.10.0"
+ }
}
diff --git a/packages/jsoncrack-react/.gitignore b/packages/jsoncrack-react/.gitignore
new file mode 100644
index 00000000..a3dcbc39
--- /dev/null
+++ b/packages/jsoncrack-react/.gitignore
@@ -0,0 +1,5 @@
+node_modules
+dist/
+.turbo/
+coverage/
+*.tsbuildinfo
diff --git a/packages/jsoncrack-react/.prettierrc b/packages/jsoncrack-react/.prettierrc
new file mode 100644
index 00000000..c933e176
--- /dev/null
+++ b/packages/jsoncrack-react/.prettierrc
@@ -0,0 +1,14 @@
+{
+ "trailingComma": "es5",
+ "singleQuote": false,
+ "semi": true,
+ "printWidth": 100,
+ "arrowParens": "avoid",
+ "importOrder": [
+ "^(react/(.*)$)|^(react$)",
+ "",
+ "^[./]"
+ ],
+ "importOrderParserPlugins": ["typescript", "jsx", "decorators-legacy"],
+ "plugins": ["@trivago/prettier-plugin-sort-imports"]
+}
diff --git a/packages/jsoncrack-react/LICENSE.md b/packages/jsoncrack-react/LICENSE.md
new file mode 100644
index 00000000..3604492a
--- /dev/null
+++ b/packages/jsoncrack-react/LICENSE.md
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2025 Aykut Saraç
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/packages/jsoncrack-react/README.md b/packages/jsoncrack-react/README.md
new file mode 100644
index 00000000..f30966c9
--- /dev/null
+++ b/packages/jsoncrack-react/README.md
@@ -0,0 +1,148 @@
+# jsoncrack-react
+
+Reusable JSON graph canvas component from [JSON Crack](https://jsoncrack.com) — visualize JSON, YAML, CSV and XML as interactive node graphs.
+
+- React component API
+- Built-in parsing from `string | object | unknown[]`
+- Interactive canvas (pan/zoom + optional controls)
+- TypeScript types included
+
+[Live demo](https://jsoncrack.com) · [GitHub](https://github.com/AykutSarac/jsoncrack.com) · [npm](https://www.npmjs.com/package/jsoncrack-react)
+
+## Install
+
+```bash
+npm install jsoncrack-react
+```
+
+Peer dependencies: `react >= 18`, `react-dom >= 18`
+
+## Setup
+
+Import the stylesheet once in your app entry point:
+
+```ts
+import "jsoncrack-react/style.css";
+```
+
+## Quick Start
+
+```tsx
+import { JsonCrack } from "jsoncrack-react";
+
+export function Example() {
+ return (
+
+
+
+ );
+}
+```
+
+The wrapper must have an explicit height.
+
+## Props
+
+| Prop | Type | Default | Description |
+| --- | --- | --- | --- |
+| `json` | `string \| object \| unknown[]` | - | Input data to visualize |
+| `theme` | `"dark" \| "light"` | `"dark"` | Canvas theme |
+| `direction` | `"LEFT" \| "RIGHT" \| "DOWN" \| "UP"` | `"RIGHT"` | Layout direction |
+| `showControls` | `boolean` | `true` | Show built-in camera controls |
+| `showGrid` | `boolean` | `true` | Show grid background |
+| `zoomOnScroll` | `boolean` | `false` | Enables touch/trackpad gesture behavior |
+| `imagePreview` | `boolean` | `true` | Render image URLs as image nodes |
+| `fitViewOnLayout` | `boolean` | `true` | Auto-fit on first/major layout changes |
+| `maxVisibleNodes` | `number` | `1500` | Node rendering safety limit |
+| `className` | `string` | - | Wrapper class |
+| `style` | `React.CSSProperties` | - | Wrapper inline style |
+| `onNodeClick` | `(node: NodeData) => void` | - | Node click callback |
+| `onGraphChange` | `(graph: GraphData) => void` | - | Parsed graph callback |
+| `onParseError` | `(error: Error) => void` | - | Parse error callback |
+| `onViewPortCreate` | `(viewPort: ViewPort) => void` | - | Viewport ready callback |
+| `renderTooLarge` | `(nodeCount: number, maxVisibleNodes: number) => React.ReactNode` | - | Custom fallback when node limit is exceeded |
+
+## Performance
+
+The component renders all nodes as SVG elements. For large inputs, rendering cost grows with the number of nodes.
+
+- **Default limit:** `maxVisibleNodes` is set to `1500`. Graphs exceeding this render a fallback instead of the canvas.
+- **Recommended range:** Up to ~300–500 nodes for smooth interaction. Beyond that, panning and zooming may feel sluggish depending on the device.
+- **Reduce node count:** Flatten or trim your data before passing it in. Arrays of primitives become individual nodes, so large arrays expand the graph quickly.
+- **Custom fallback:** Use `renderTooLarge` to show a message or alternative UI when the limit is hit.
+
+```tsx
+ (
+ Too large to render ({count} nodes, limit is {max})
+ )}
+/>
+```
+
+## Imperative API (ref)
+
+```tsx
+import { useRef } from "react";
+import { JsonCrack, type JsonCrackRef } from "jsoncrack-react";
+
+export function WithRef({ json }: { json: string }) {
+ const ref = useRef(null);
+
+ return (
+ <>
+ ref.current?.centerView()}>Center
+ ref.current?.zoomIn()}>+
+ ref.current?.zoomOut()}>-
+
+
+
+ >
+ );
+}
+```
+
+`JsonCrackRef` methods:
+
+- `zoomIn()`
+- `zoomOut()`
+- `setZoom(zoomFactor: number)`
+- `centerView()`
+- `focusFirstNode()`
+
+## Utility: `parseGraph`
+
+If you only need parser output:
+
+```ts
+import { parseGraph } from "jsoncrack-react";
+
+const result = parseGraph('{"a":[1,2,3]}', { imagePreviewEnabled: true });
+// result: { nodes, edges, errors }
+```
+
+## Exported Types
+
+- `JsonCrackProps`
+- `JsonCrackRef`
+- `ParseGraphOptions`
+- `ParseGraphResult`
+- `CanvasThemeMode`
+- `LayoutDirection`
+- `NodeData`
+- `EdgeData`
+- `GraphData`
+- `NodeRow`
+
+## License
+
+Apache-2.0
diff --git a/packages/jsoncrack-react/eslint.config.mjs b/packages/jsoncrack-react/eslint.config.mjs
new file mode 100644
index 00000000..4294268d
--- /dev/null
+++ b/packages/jsoncrack-react/eslint.config.mjs
@@ -0,0 +1,64 @@
+import { FlatCompat } from "@eslint/eslintrc";
+import js from "@eslint/js";
+import prettier from "eslint-plugin-prettier";
+import unusedImports from "eslint-plugin-unused-imports";
+import { defineConfig, globalIgnores } from "eslint/config";
+import path from "node:path";
+import { fileURLToPath } from "node:url";
+
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+const compat = new FlatCompat({
+ baseDirectory: __dirname,
+ recommendedConfig: js.configs.recommended,
+ allConfig: js.configs.all,
+});
+
+export default defineConfig([
+ globalIgnores(["dist", "scripts", "node_modules"]),
+ {
+ extends: [
+ ...compat.extends("eslint:recommended"),
+ ...compat.extends("prettier"),
+ ...compat.extends("plugin:@typescript-eslint/recommended"),
+ ],
+
+ plugins: {
+ prettier,
+ "unused-imports": unusedImports,
+ },
+
+ rules: {
+ "@typescript-eslint/consistent-type-imports": "error",
+ "unused-imports/no-unused-imports": "error",
+ "@typescript-eslint/no-explicit-any": "off",
+ "prettier/prettier": "error",
+ "space-in-parens": "error",
+ "no-empty": "error",
+ "no-multiple-empty-lines": "error",
+ "no-irregular-whitespace": "error",
+ strict: ["error", "never"],
+ "linebreak-style": ["error", "unix"],
+
+ quotes: [
+ "error",
+ "double",
+ {
+ avoidEscape: true,
+ },
+ ],
+
+ semi: ["error", "always"],
+ "prefer-const": "error",
+
+ "space-before-function-paren": [
+ "error",
+ {
+ anonymous: "always",
+ named: "never",
+ asyncArrow: "always",
+ },
+ ],
+ },
+ },
+]);
diff --git a/packages/jsoncrack-react/package.json b/packages/jsoncrack-react/package.json
new file mode 100644
index 00000000..5f8441ea
--- /dev/null
+++ b/packages/jsoncrack-react/package.json
@@ -0,0 +1,69 @@
+{
+ "name": "jsoncrack-react",
+ "version": "1.0.0",
+ "description": "Reusable JSON Crack canvas as a React component",
+ "license": "Apache-2.0",
+ "author": "Aykut Saraç",
+ "homepage": "https://jsoncrack.com",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/AykutSarac/jsoncrack.com"
+ },
+ "keywords": [
+ "json",
+ "visualizer",
+ "graph",
+ "canvas",
+ "react",
+ "json-crack",
+ "typescript"
+ ],
+ "type": "module",
+ "main": "./dist/index.js",
+ "types": "./dist/index.d.ts",
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "import": "./dist/index.js"
+ },
+ "./style.css": "./dist/index.css"
+ },
+ "files": [
+ "dist"
+ ],
+ "sideEffects": [
+ "./dist/index.css"
+ ],
+ "scripts": {
+ "build": "vite build && tsc -p tsconfig.build.json",
+ "clean": "rm -rf dist",
+ "lint": "tsc -p tsconfig.build.json --noEmit && eslint src && prettier --check src",
+ "lint:fix": "eslint --fix src && prettier --write src"
+ },
+ "peerDependencies": {
+ "react": ">=18",
+ "react-dom": ">=18"
+ },
+ "dependencies": {
+ "jsonc-parser": "^3.3.1",
+ "react-zoomable-ui": "^0.11.0",
+ "reaflow": "5.4.1"
+ },
+ "devDependencies": {
+ "@eslint/eslintrc": "^3.2.0",
+ "@eslint/js": "^9.39.2",
+ "@trivago/prettier-plugin-sort-imports": "^4.3.0",
+ "@types/react": "^19.2.11",
+ "@types/react-dom": "^19.2.3",
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
+ "@typescript-eslint/parser": "^8.54.0",
+ "@vitejs/plugin-react": "^4.3.0",
+ "eslint": "^9.39.2",
+ "eslint-config-prettier": "^10.1.8",
+ "eslint-plugin-prettier": "^5.5.5",
+ "eslint-plugin-unused-imports": "^4.3.0",
+ "prettier": "^3.8.1",
+ "typescript": "^5.9.3",
+ "vite": "^6.0.0"
+ }
+}
diff --git a/packages/jsoncrack-react/src/JsonCrack.module.css b/packages/jsoncrack-react/src/JsonCrack.module.css
new file mode 100644
index 00000000..40329611
--- /dev/null
+++ b/packages/jsoncrack-react/src/JsonCrack.module.css
@@ -0,0 +1,86 @@
+.canvasWrapper {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ background-color: var(--bg-color);
+}
+
+.showGrid {
+ background-image:
+ linear-gradient(var(--line-color-1) 1.5px, transparent 1.5px),
+ linear-gradient(90deg, var(--line-color-1) 1.5px, transparent 1.5px),
+ linear-gradient(var(--line-color-2) 1px, transparent 1px),
+ linear-gradient(90deg, var(--line-color-2) 1px, transparent 1px);
+ background-position:
+ -1.5px -1.5px,
+ -1.5px -1.5px,
+ -1px -1px,
+ -1px -1px;
+ background-size:
+ 100px 100px,
+ 100px 100px,
+ 20px 20px,
+ 20px 20px;
+}
+
+.canvasWrapper :global(.jsoncrack-space) {
+ cursor: grab;
+}
+
+.canvasWrapper :global(.jsoncrack-space:active) {
+ cursor: grabbing;
+}
+
+.canvasWrapper :global(.dragging),
+.canvasWrapper :global(.dragging button) {
+ pointer-events: none;
+}
+
+.canvasWrapper :global(text) {
+ fill: var(--interactive-normal) !important;
+}
+
+.canvasWrapper :global(rect) {
+ fill: var(--node-fill);
+}
+
+.overlay {
+ position: absolute;
+ inset: 0;
+ z-index: 30;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ pointer-events: none;
+ background: radial-gradient(circle at center, var(--overlay-bg) 0 44px, transparent 96px);
+}
+
+.spinner {
+ width: 30px;
+ height: 30px;
+ border-radius: 9999px;
+ border: 3px solid var(--spinner-track);
+ border-top-color: var(--spinner-head);
+ border-right-color: var(--spinner-head);
+ animation: spin 0.9s linear infinite;
+}
+
+@keyframes spin {
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+.tooLarge {
+ position: absolute;
+ inset: 0;
+ z-index: 40;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 24px;
+ text-align: center;
+ background: rgba(0, 0, 0, 0.62);
+ color: #ffffff;
+ font-size: 14px;
+}
diff --git a/packages/jsoncrack-react/src/JsonCrack.tsx b/packages/jsoncrack-react/src/JsonCrack.tsx
new file mode 100644
index 00000000..cc93e07a
--- /dev/null
+++ b/packages/jsoncrack-react/src/JsonCrack.tsx
@@ -0,0 +1,396 @@
+"use client";
+
+import React from "react";
+import type { ViewPort } from "react-zoomable-ui";
+import { Space } from "react-zoomable-ui";
+import { Canvas } from "reaflow";
+import type { ElkRoot } from "reaflow";
+import styles from "./JsonCrack.module.css";
+import { Controls } from "./components/Controls";
+import { CustomEdge } from "./components/CustomEdge";
+import { CustomNode } from "./components/CustomNode";
+import { parseGraph } from "./parser";
+import { themes } from "./theme";
+import type { CanvasThemeMode, GraphData, LayoutDirection, NodeData } from "./types";
+
+const layoutOptions = {
+ "elk.layered.compaction.postCompaction.strategy": "EDGE_LENGTH",
+ "elk.layered.nodePlacement.strategy": "NETWORK_SIMPLEX",
+ "elk.spacing.edgeLabel": "15",
+};
+
+const objectJsonCache = new WeakMap();
+
+export interface JsonCrackRef {
+ zoomIn: () => void;
+ zoomOut: () => void;
+ setZoom: (zoomFactor: number) => void;
+ centerView: () => void;
+ focusFirstNode: () => void;
+}
+
+export interface JsonCrackProps {
+ json: string | object | unknown[];
+ theme?: CanvasThemeMode;
+ direction?: LayoutDirection;
+ showControls?: boolean;
+ showGrid?: boolean;
+ zoomOnScroll?: boolean;
+ imagePreview?: boolean;
+ fitViewOnLayout?: boolean;
+ maxVisibleNodes?: number;
+ className?: string;
+ style?: React.CSSProperties;
+ onNodeClick?: (node: NodeData) => void;
+ onGraphChange?: (graph: GraphData) => void;
+ onParseError?: (error: Error) => void;
+ onViewPortCreate?: (viewPort: ViewPort) => void;
+ renderTooLarge?: (nodeCount: number, maxVisibleNodes: number) => React.ReactNode;
+}
+
+const toJsonText = (json: JsonCrackProps["json"]): string => {
+ if (typeof json === "string") return json;
+
+ if (json && typeof json === "object") {
+ const cached = objectJsonCache.get(json);
+ if (cached) return cached;
+
+ const serialized = JSON.stringify(json, null, 2);
+ objectJsonCache.set(json, serialized);
+ return serialized;
+ }
+
+ return JSON.stringify(json, null, 2);
+};
+
+export const JsonCrack = React.forwardRef(
+ (
+ {
+ json,
+ theme = "dark",
+ direction = "RIGHT",
+ showControls = true,
+ showGrid = true,
+ zoomOnScroll = false,
+ imagePreview = true,
+ fitViewOnLayout = true,
+ maxVisibleNodes = 1500,
+ className,
+ style,
+ onNodeClick,
+ onGraphChange,
+ onParseError,
+ onViewPortCreate,
+ renderTooLarge,
+ },
+ ref
+ ) => {
+ const themeTokens = themes[theme];
+ const containerRef = React.useRef(null);
+ const [viewPort, setViewPort] = React.useState(null);
+ const [nodes, setNodes] = React.useState([]);
+ const [edges, setEdges] = React.useState([]);
+ const [loading, setLoading] = React.useState(true);
+ const [aboveSupportedLimit, setAboveSupportedLimit] = React.useState(false);
+ const [totalNodes, setTotalNodes] = React.useState(0);
+ const [paneWidth, setPaneWidth] = React.useState(2000);
+ const [paneHeight, setPaneHeight] = React.useState(2000);
+ const hasAutoFittedRef = React.useRef(false);
+ const previousLayoutAreaRef = React.useRef(null);
+ const callbacksRef = React.useRef({ onGraphChange, onParseError });
+ const onViewPortCreateRef = React.useRef(onViewPortCreate);
+ const lastParsedInputRef = React.useRef<{
+ jsonText: string;
+ imagePreview: boolean;
+ maxVisibleNodes: number;
+ } | null>(null);
+
+ React.useEffect(() => {
+ callbacksRef.current = { onGraphChange, onParseError };
+ }, [onGraphChange, onParseError]);
+
+ React.useEffect(() => {
+ onViewPortCreateRef.current = onViewPortCreate;
+ }, [onViewPortCreate]);
+
+ React.useEffect(() => {
+ hasAutoFittedRef.current = false;
+ previousLayoutAreaRef.current = null;
+ }, [direction]);
+
+ const centerView = React.useCallback(() => {
+ const nextViewPort = viewPort;
+ nextViewPort?.updateContainerSize();
+
+ const canvas = containerRef.current?.querySelector(".jsoncrack-canvas") as HTMLElement | null;
+ if (canvas) {
+ nextViewPort?.camera?.centerFitElementIntoView(canvas);
+ }
+ }, [viewPort]);
+
+ const focusFirstNode = React.useCallback(() => {
+ const rootNode = containerRef.current?.querySelector("g[id$='node-1']") as HTMLElement | null;
+ if (!rootNode) return;
+
+ viewPort?.camera?.centerFitElementIntoView(rootNode, {
+ elementExtraMarginForZoom: 100,
+ });
+ }, [viewPort]);
+
+ const setZoom = React.useCallback(
+ (zoomFactor: number) => {
+ if (!viewPort) return;
+ viewPort.camera?.recenter(viewPort.centerX, viewPort.centerY, zoomFactor);
+ },
+ [viewPort]
+ );
+
+ const zoomIn = React.useCallback(() => {
+ if (!viewPort) return;
+ viewPort.camera?.recenter(viewPort.centerX, viewPort.centerY, viewPort.zoomFactor + 0.1);
+ }, [viewPort]);
+
+ const zoomOut = React.useCallback(() => {
+ if (!viewPort) return;
+ viewPort.camera?.recenter(viewPort.centerX, viewPort.centerY, viewPort.zoomFactor - 0.1);
+ }, [viewPort]);
+
+ React.useImperativeHandle(
+ ref,
+ () => ({
+ zoomIn,
+ zoomOut,
+ setZoom,
+ centerView,
+ focusFirstNode,
+ }),
+ [centerView, focusFirstNode, setZoom, zoomIn, zoomOut]
+ );
+
+ React.useEffect(() => {
+ try {
+ const jsonText = toJsonText(json);
+ const lastParsedInput = lastParsedInputRef.current;
+
+ if (
+ lastParsedInput &&
+ lastParsedInput.jsonText === jsonText &&
+ lastParsedInput.imagePreview === imagePreview &&
+ lastParsedInput.maxVisibleNodes === maxVisibleNodes
+ ) {
+ return;
+ }
+
+ setLoading(true);
+
+ const graph = parseGraph(jsonText, {
+ imagePreviewEnabled: imagePreview,
+ });
+
+ if (graph.errors.length > 0) {
+ callbacksRef.current.onParseError?.(
+ new Error(`Failed to parse data (${graph.errors.length} syntax error(s)).`)
+ );
+ }
+
+ setTotalNodes(graph.nodes.length);
+
+ if (graph.nodes.length > maxVisibleNodes) {
+ setAboveSupportedLimit(true);
+ setNodes([]);
+ setEdges([]);
+ setLoading(false);
+ lastParsedInputRef.current = {
+ jsonText,
+ imagePreview,
+ maxVisibleNodes,
+ };
+ return;
+ }
+
+ setAboveSupportedLimit(false);
+ setNodes(graph.nodes);
+ setEdges(graph.edges);
+ callbacksRef.current.onGraphChange?.({
+ nodes: graph.nodes,
+ edges: graph.edges,
+ });
+ lastParsedInputRef.current = {
+ jsonText,
+ imagePreview,
+ maxVisibleNodes,
+ };
+
+ if (graph.nodes.length === 0) {
+ setLoading(false);
+ }
+ } catch (error) {
+ setNodes([]);
+ setEdges([]);
+ setLoading(false);
+ callbacksRef.current.onParseError?.(
+ error instanceof Error ? error : new Error("Unable to parse data.")
+ );
+ }
+ }, [imagePreview, json, maxVisibleNodes]);
+
+ const edgeTargetById = React.useMemo(() => {
+ const targetById = new Map();
+
+ for (let i = 0; i < edges.length; i += 1) {
+ const edge = edges[i];
+ targetById.set(edge.id, edge.to);
+ }
+
+ return targetById;
+ }, [edges]);
+
+ const onLayoutChange = React.useCallback(
+ (layout: ElkRoot) => {
+ if (!layout.width || !layout.height) {
+ setLoading(false);
+ return;
+ }
+
+ const currentLayoutArea = layout.width * layout.height;
+ const previousLayoutArea = previousLayoutAreaRef.current;
+ previousLayoutAreaRef.current = currentLayoutArea;
+
+ setPaneWidth(layout.width + 50);
+ setPaneHeight(layout.height + 50);
+
+ setTimeout(() => {
+ window.requestAnimationFrame(() => {
+ const isFirstAutoFit = !hasAutoFittedRef.current;
+ const hasLargeLayoutChange =
+ previousLayoutArea !== null &&
+ previousLayoutArea > 0 &&
+ Math.abs((currentLayoutArea * 100) / previousLayoutArea - 100) > 70;
+ const shouldAutoFit = fitViewOnLayout && (isFirstAutoFit || hasLargeLayoutChange);
+
+ if (shouldAutoFit) {
+ centerView();
+ hasAutoFittedRef.current = true;
+ }
+
+ setLoading(false);
+ });
+ }, 0);
+ },
+ [centerView, fitViewOnLayout]
+ );
+
+ const tooLargeContent = renderTooLarge?.(totalNodes, maxVisibleNodes);
+ const canvasClassName = [styles.canvasWrapper, showGrid ? styles.showGrid : "", className]
+ .filter(Boolean)
+ .join(" ");
+ const canvasStyle = {
+ "--bg-color": themeTokens.GRID_BG_COLOR,
+ "--line-color-1": themeTokens.GRID_COLOR_PRIMARY,
+ "--line-color-2": themeTokens.GRID_COLOR_SECONDARY,
+ "--edge-stroke": theme === "dark" ? "#444444" : "#BCBEC0",
+ "--node-fill": theme === "dark" ? "#292929" : "#ffffff",
+ "--node-stroke": theme === "dark" ? "#424242" : "#BCBEC0",
+ "--interactive-normal": themeTokens.INTERACTIVE_NORMAL,
+ "--background-node": themeTokens.BACKGROUND_NODE,
+ "--node-text": themeTokens.NODE_COLORS.TEXT,
+ "--node-key": themeTokens.NODE_COLORS.NODE_KEY,
+ "--node-value": themeTokens.NODE_COLORS.NODE_VALUE,
+ "--node-integer": themeTokens.NODE_COLORS.INTEGER,
+ "--node-null": themeTokens.NODE_COLORS.NULL,
+ "--node-bool-true": themeTokens.NODE_COLORS.BOOL.TRUE,
+ "--node-bool-false": themeTokens.NODE_COLORS.BOOL.FALSE,
+ "--node-child-count": themeTokens.NODE_COLORS.CHILD_COUNT,
+ "--node-divider": themeTokens.NODE_COLORS.DIVIDER,
+ "--text-positive": themeTokens.TEXT_POSITIVE,
+ "--background-modifier-accent": themeTokens.BACKGROUND_MODIFIER_ACCENT,
+ "--spinner-track": theme === "dark" ? "rgba(255, 255, 255, 0.3)" : "rgba(17, 24, 39, 0.2)",
+ "--spinner-head": theme === "dark" ? "#FFFFFF" : "#111827",
+ "--overlay-bg": theme === "dark" ? "rgba(0, 0, 0, 0.2)" : "rgba(255, 255, 255, 0.38)",
+ ...style,
+ } as React.CSSProperties;
+
+ return (
+ event.preventDefault()}
+ >
+ {showControls && (
+
+ )}
+
+ {aboveSupportedLimit &&
+ (tooLargeContent ? (
+ tooLargeContent
+ ) : (
+
+ {`This graph has ${totalNodes} nodes and exceeds the maxVisibleNodes limit (${maxVisibleNodes}).`}
+
+ ))}
+
+ {loading && (
+
+ )}
+
+
{
+ setViewPort(nextViewPort);
+ onViewPortCreateRef.current?.(nextViewPort);
+ }}
+ onContextMenu={event => event.preventDefault()}
+ treatTwoFingerTrackPadGesturesLikeTouch={zoomOnScroll}
+ pollForElementResizing
+ className="jsoncrack-space"
+ >
+ (
+
+ )}
+ edge={edgeProps => (
+
+ )}
+ nodes={nodes}
+ edges={edges}
+ arrow={null}
+ maxHeight={paneHeight}
+ maxWidth={paneWidth}
+ height={paneHeight}
+ width={paneWidth}
+ direction={direction}
+ layoutOptions={layoutOptions}
+ key={direction}
+ pannable={false}
+ zoomable={false}
+ animated={false}
+ readonly
+ dragEdge={null}
+ dragNode={null}
+ fit
+ />
+
+
+ );
+ }
+);
+
+JsonCrack.displayName = "JsonCrack";
diff --git a/packages/jsoncrack-react/src/components/Controls.module.css b/packages/jsoncrack-react/src/components/Controls.module.css
new file mode 100644
index 00000000..353634b7
--- /dev/null
+++ b/packages/jsoncrack-react/src/components/Controls.module.css
@@ -0,0 +1,30 @@
+.controls {
+ position: absolute;
+ bottom: 10px;
+ left: 10px;
+ z-index: 100;
+ display: inline-flex;
+ align-items: center;
+ gap: 6px;
+ background: rgba(20, 20, 20, 0.38);
+ border: 1px solid rgba(255, 255, 255, 0.18);
+ border-radius: 8px;
+ padding: 6px;
+ backdrop-filter: blur(8px);
+}
+
+.button {
+ border: none;
+ border-radius: 6px;
+ cursor: pointer;
+ min-width: 30px;
+ height: 30px;
+ padding: 0 8px;
+ font-size: 12px;
+ color: #ffffff;
+ background: rgba(255, 255, 255, 0.18);
+}
+
+.button:hover {
+ background: rgba(255, 255, 255, 0.28);
+}
diff --git a/packages/jsoncrack-react/src/components/Controls.tsx b/packages/jsoncrack-react/src/components/Controls.tsx
new file mode 100644
index 00000000..9d953fb6
--- /dev/null
+++ b/packages/jsoncrack-react/src/components/Controls.tsx
@@ -0,0 +1,32 @@
+import styles from "./Controls.module.css";
+
+interface ControlsProps {
+ onFocusRoot: () => void;
+ onCenterView: () => void;
+ onZoomOut: () => void;
+ onZoomIn: () => void;
+}
+
+export const Controls = ({ onFocusRoot, onCenterView, onZoomOut, onZoomIn }: ControlsProps) => {
+ return (
+
+
+ Root
+
+
+ Fit
+
+
+ -
+
+
+ +
+
+
+ );
+};
diff --git a/packages/jsoncrack-react/src/components/CustomEdge.tsx b/packages/jsoncrack-react/src/components/CustomEdge.tsx
new file mode 100644
index 00000000..df39d1f3
--- /dev/null
+++ b/packages/jsoncrack-react/src/components/CustomEdge.tsx
@@ -0,0 +1,67 @@
+import React from "react";
+import type { ViewPort } from "react-zoomable-ui";
+import type { EdgeProps } from "reaflow";
+import { Edge } from "reaflow";
+import type { EdgeData } from "../types";
+
+type QueryRoot = {
+ querySelector: (selector: string) => Element | null;
+};
+
+type CustomEdgeProps = EdgeProps & {
+ viewPort: ViewPort | null;
+ edgeTargetById: Map;
+ hostElement: QueryRoot | null;
+};
+
+const isQueryRoot = (value: unknown): value is QueryRoot => {
+ return (
+ typeof value === "object" &&
+ value !== null &&
+ "querySelector" in value &&
+ typeof (value as QueryRoot).querySelector === "function"
+ );
+};
+
+const CustomEdgeBase = ({ viewPort, edgeTargetById, hostElement, ...props }: CustomEdgeProps) => {
+ const [hovered, setHovered] = React.useState(false);
+ const edgeId = (props.properties as EdgeData | undefined)?.id;
+
+ const handleClick = React.useCallback(() => {
+ const targetNodeId = edgeId ? edgeTargetById.get(edgeId) : undefined;
+ if (!targetNodeId) return;
+
+ const queryRoot = isQueryRoot(hostElement)
+ ? hostElement
+ : typeof document !== "undefined"
+ ? document
+ : null;
+ if (!queryRoot) return;
+
+ const targetNodeDom = queryRoot.querySelector(
+ `[data-id$="node-${targetNodeId}"]`
+ ) as HTMLElement | null;
+
+ if (targetNodeDom?.parentElement) {
+ viewPort?.camera.centerFitElementIntoView(targetNodeDom.parentElement, {
+ elementExtraMarginForZoom: 150,
+ });
+ }
+ }, [hostElement, edgeId, edgeTargetById, viewPort]);
+
+ return (
+ setHovered(true)}
+ onLeave={() => setHovered(false)}
+ style={{
+ stroke: hovered ? "#3B82F6" : "var(--edge-stroke)",
+ strokeWidth: 1.5,
+ }}
+ {...props}
+ />
+ );
+};
+
+export const CustomEdge = React.memo(CustomEdgeBase);
diff --git a/packages/jsoncrack-react/src/components/CustomNode.tsx b/packages/jsoncrack-react/src/components/CustomNode.tsx
new file mode 100644
index 00000000..cf946ad9
--- /dev/null
+++ b/packages/jsoncrack-react/src/components/CustomNode.tsx
@@ -0,0 +1,58 @@
+import React from "react";
+import type { NodeProps } from "reaflow";
+import { Node } from "reaflow";
+import type { NodeData } from "../types";
+import { ObjectNode } from "./ObjectNode";
+import { TextNode } from "./TextNode";
+
+type CustomNodeProps = NodeProps & {
+ imagePreviewEnabled: boolean;
+ onNodeClick?: (node: NodeData) => void;
+};
+
+const CustomNodeBase = ({ imagePreviewEnabled, onNodeClick, ...nodeProps }: CustomNodeProps) => {
+ const handleNodeClick = React.useCallback(
+ (_: React.MouseEvent, data: NodeData) => {
+ onNodeClick?.(data);
+ },
+ [onNodeClick]
+ );
+
+ return (
+ {
+ event.currentTarget.style.stroke = "#3B82F6";
+ }}
+ onLeave={event => {
+ event.currentTarget.style.stroke = "var(--node-stroke)";
+ }}
+ style={{
+ fill: "var(--node-fill)",
+ stroke: "var(--node-stroke)",
+ strokeWidth: 1,
+ }}
+ >
+ {({ node, x, y }) => {
+ const hasKey = nodeProps.properties.text[0]?.key;
+ if (!hasKey) {
+ return (
+
+ );
+ }
+
+ return ;
+ }}
+
+ );
+};
+
+export const CustomNode = React.memo(CustomNodeBase);
diff --git a/packages/jsoncrack-react/src/components/Node.module.css b/packages/jsoncrack-react/src/components/Node.module.css
new file mode 100644
index 00000000..d3c4bf1a
--- /dev/null
+++ b/packages/jsoncrack-react/src/components/Node.module.css
@@ -0,0 +1,72 @@
+.foreignObject {
+ text-align: center;
+ color: var(--node-text);
+ font-family:
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
+ monospace;
+ font-size: 12px;
+ font-weight: 500;
+ overflow: hidden;
+ pointer-events: none;
+}
+
+.objectForeignObject {
+ text-align: left;
+}
+
+.key {
+ display: inline;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.row {
+ padding: 3px 10px;
+ height: 30px;
+ line-height: 24px;
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ border-bottom: 1px solid var(--node-divider);
+ box-sizing: border-box;
+}
+
+.row:last-of-type {
+ border-bottom: none;
+}
+
+.textNodeWrapper {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ height: 100%;
+ width: 100%;
+ overflow: hidden;
+ padding: 0 10px;
+}
+
+.imageWrapper {
+ padding: 5px;
+}
+
+.image {
+ border-radius: 2px;
+ object-fit: contain;
+}
+
+.foreignObject:global(.searched) {
+ background: rgba(27, 255, 0, 0.1);
+ border: 1px solid var(--text-positive);
+ border-radius: 2px;
+ box-sizing: border-box;
+}
+
+.foreignObject :global(.highlight) {
+ background: rgba(255, 214, 0, 0.15);
+}
+
+.foreignObject:global(.searched) .row {
+ border-bottom: 1px solid var(--text-positive);
+}
diff --git a/packages/jsoncrack-react/src/components/ObjectNode.tsx b/packages/jsoncrack-react/src/components/ObjectNode.tsx
new file mode 100644
index 00000000..a922d21d
--- /dev/null
+++ b/packages/jsoncrack-react/src/components/ObjectNode.tsx
@@ -0,0 +1,109 @@
+import React from "react";
+import type { NodeData } from "../types";
+import styles from "./Node.module.css";
+import { TextRenderer } from "./TextRenderer";
+import { getTextColor } from "./nodeStyles";
+
+type ObjectNodeProps = {
+ node: NodeData;
+ x: number;
+ y: number;
+};
+
+type RowProps = {
+ row: NodeData["text"][number];
+ x: number;
+ y: number;
+ index: number;
+};
+
+const ROW_HEIGHT = 30;
+
+const Row = ({ row, x, y, index }: RowProps) => {
+ const rowPosition = index * ROW_HEIGHT;
+
+ const getRowText = () => {
+ if (row.type === "object") return `{${row.childrenCount ?? 0} keys}`;
+ if (row.type === "array") return `[${row.childrenCount ?? 0} items]`;
+ return row.value;
+ };
+
+ return (
+
+
+ {row.key}:{" "}
+
+ {getRowText()}
+
+ );
+};
+
+const ObjectNodeBase = ({ node, x, y }: ObjectNodeProps) => (
+
+ {node.text.map((row, index) => (
+
+ ))}
+
+);
+
+const areRowTargetsEqual = (prevTargets?: string[], nextTargets?: string[]) => {
+ if (prevTargets === nextTargets) return true;
+ if (!prevTargets || !nextTargets) return false;
+ if (prevTargets.length !== nextTargets.length) return false;
+
+ for (let i = 0; i < prevTargets.length; i += 1) {
+ if (prevTargets[i] !== nextTargets[i]) return false;
+ }
+
+ return true;
+};
+
+const areRowsEqual = (prevRows: NodeData["text"], nextRows: NodeData["text"]) => {
+ if (prevRows === nextRows) return true;
+ if (prevRows.length !== nextRows.length) return false;
+
+ for (let i = 0; i < prevRows.length; i += 1) {
+ const prevRow = prevRows[i];
+ const nextRow = nextRows[i];
+
+ if (
+ prevRow.key !== nextRow.key ||
+ prevRow.value !== nextRow.value ||
+ prevRow.type !== nextRow.type ||
+ prevRow.childrenCount !== nextRow.childrenCount ||
+ !areRowTargetsEqual(prevRow.to, nextRow.to)
+ ) {
+ return false;
+ }
+ }
+
+ return true;
+};
+
+const propsAreEqual = (prev: ObjectNodeProps, next: ObjectNodeProps) => {
+ return (
+ prev.node.width === next.node.width &&
+ prev.node.height === next.node.height &&
+ areRowsEqual(prev.node.text, next.node.text)
+ );
+};
+
+export const ObjectNode = React.memo(ObjectNodeBase, propsAreEqual);
diff --git a/packages/jsoncrack-react/src/components/TextNode.tsx b/packages/jsoncrack-react/src/components/TextNode.tsx
new file mode 100644
index 00000000..b59237f5
--- /dev/null
+++ b/packages/jsoncrack-react/src/components/TextNode.tsx
@@ -0,0 +1,73 @@
+import React from "react";
+import type { NodeData } from "../types";
+import { isContentImage } from "../utils/calculateNodeSize";
+import styles from "./Node.module.css";
+import { TextRenderer } from "./TextRenderer";
+import { getTextColor } from "./nodeStyles";
+
+type TextNodeProps = {
+ node: NodeData;
+ x: number;
+ y: number;
+ imagePreviewEnabled: boolean;
+};
+
+const TextNodeBase = ({ node, x, y, imagePreviewEnabled }: TextNodeProps) => {
+ const { text, width, height } = node;
+ const firstRow = text[0];
+
+ if (!firstRow) return null;
+
+ const value = firstRow.value;
+ const normalizedValue = typeof value === "string" ? value : `${value}`;
+ const isImage = imagePreviewEnabled && isContentImage(normalizedValue);
+
+ return (
+
+ {isImage ? (
+
+
+
+ ) : (
+
+
+ {value}
+
+
+ )}
+
+ );
+};
+
+const propsAreEqual = (prev: TextNodeProps, next: TextNodeProps) => {
+ return (
+ prev.imagePreviewEnabled === next.imagePreviewEnabled &&
+ prev.node.text === next.node.text &&
+ prev.node.width === next.node.width
+ );
+};
+
+export const TextNode = React.memo(TextNodeBase, propsAreEqual);
diff --git a/packages/jsoncrack-react/src/components/TextRenderer.module.css b/packages/jsoncrack-react/src/components/TextRenderer.module.css
new file mode 100644
index 00000000..dc441e5e
--- /dev/null
+++ b/packages/jsoncrack-react/src/components/TextRenderer.module.css
@@ -0,0 +1,20 @@
+.row {
+ display: inline-flex;
+ align-items: center;
+ overflow: hidden;
+ gap: 4px;
+ vertical-align: middle;
+}
+
+.colorPreview {
+ width: 12px;
+ height: 12px;
+ border-radius: 3px;
+ display: inline-block;
+ border: 1px solid rgba(0, 0, 0, 0.25);
+}
+
+.link {
+ text-decoration: underline;
+ pointer-events: all;
+}
diff --git a/packages/jsoncrack-react/src/components/TextRenderer.tsx b/packages/jsoncrack-react/src/components/TextRenderer.tsx
new file mode 100644
index 00000000..943172ba
--- /dev/null
+++ b/packages/jsoncrack-react/src/components/TextRenderer.tsx
@@ -0,0 +1,55 @@
+import React from "react";
+import styles from "./TextRenderer.module.css";
+
+const URL_PATTERN =
+ /^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/i;
+const HEX_CODE_PATTERN = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
+const RGB_PATTERN = /^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/;
+const RGBA_PATTERN = /^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(0|1|0\.\d+)\s*\)$/;
+
+const isURL = (word: string) => {
+ return URL_PATTERN.test(word);
+};
+
+const isColorFormat = (colorString: string) => {
+ return (
+ HEX_CODE_PATTERN.test(colorString) ||
+ RGB_PATTERN.test(colorString) ||
+ RGBA_PATTERN.test(colorString)
+ );
+};
+
+const LinkifiedText = ({ text }: { text: string }) => {
+ if (!isURL(text)) return <>{text}>;
+
+ const href = text.startsWith("http://") || text.startsWith("https://") ? text : `https://${text}`;
+
+ return (
+ event.stopPropagation()}
+ href={href}
+ target="_blank"
+ rel="noopener noreferrer"
+ >
+ {text}
+
+ );
+};
+
+export const TextRenderer = ({ children }: React.PropsWithChildren) => {
+ if (typeof children === "string" && isColorFormat(children)) {
+ return (
+
+
+ {children}
+
+ );
+ }
+
+ if (typeof children === "string") {
+ return ;
+ }
+
+ return <>{`${children}`}>;
+};
diff --git a/packages/jsoncrack-react/src/components/nodeStyles.ts b/packages/jsoncrack-react/src/components/nodeStyles.ts
new file mode 100644
index 00000000..f128b9ad
--- /dev/null
+++ b/packages/jsoncrack-react/src/components/nodeStyles.ts
@@ -0,0 +1,13 @@
+type TextColorOptions = {
+ type?: string;
+ value?: string | number | null | boolean;
+};
+
+export const getTextColor = ({ type, value }: TextColorOptions) => {
+ if (value === null) return "var(--node-null)";
+ if (type === "object") return "var(--node-key)";
+ if (type === "number") return "var(--node-integer)";
+ if (value === true) return "var(--node-bool-true)";
+ if (value === false) return "var(--node-bool-false)";
+ return "var(--node-value)";
+};
diff --git a/packages/jsoncrack-react/src/css-modules.d.ts b/packages/jsoncrack-react/src/css-modules.d.ts
new file mode 100644
index 00000000..c65e67a2
--- /dev/null
+++ b/packages/jsoncrack-react/src/css-modules.d.ts
@@ -0,0 +1,4 @@
+declare module "*.module.css" {
+ const classes: Record;
+ export default classes;
+}
diff --git a/packages/jsoncrack-react/src/index.ts b/packages/jsoncrack-react/src/index.ts
new file mode 100644
index 00000000..cf78600f
--- /dev/null
+++ b/packages/jsoncrack-react/src/index.ts
@@ -0,0 +1,12 @@
+export { JsonCrack } from "./JsonCrack";
+export { parseGraph } from "./parser";
+export type { JsonCrackProps, JsonCrackRef } from "./JsonCrack";
+export type { ParseGraphOptions, ParseGraphResult } from "./parser";
+export type {
+ CanvasThemeMode,
+ EdgeData,
+ GraphData,
+ LayoutDirection,
+ NodeData,
+ NodeRow,
+} from "./types";
diff --git a/packages/jsoncrack-react/src/parser.ts b/packages/jsoncrack-react/src/parser.ts
new file mode 100644
index 00000000..a41efb95
--- /dev/null
+++ b/packages/jsoncrack-react/src/parser.ts
@@ -0,0 +1,236 @@
+import { getNodePath, parseTree, type Node, type ParseError } from "jsonc-parser";
+import type { EdgeData, GraphData, NodeData, NodeRow } from "./types";
+import { calculateNodeSize } from "./utils/calculateNodeSize";
+
+export interface ParseGraphOptions {
+ imagePreviewEnabled?: boolean;
+}
+
+export interface ParseGraphResult extends GraphData {
+ errors: ParseError[];
+}
+
+export const parseGraph = (json: string, options: ParseGraphOptions = {}): ParseGraphResult => {
+ const parseErrors: ParseError[] = [];
+ const jsonTree = parseTree(json, parseErrors);
+
+ if (!jsonTree) {
+ return {
+ nodes: [],
+ edges: [],
+ errors: parseErrors,
+ };
+ }
+
+ const nodes: NodeData[] = [];
+ const edges: EdgeData[] = [];
+ let nodeId = 1;
+ let edgeId = 1;
+
+ function traverse(node: Node, parentId?: string): string | undefined {
+ const id = String(nodeId++);
+ const text: NodeRow[] = [];
+
+ if (parentId !== undefined && node.parent?.type === "array") {
+ edges.push({
+ id: String(edgeId++),
+ from: parentId,
+ to: id,
+ text: "",
+ });
+ }
+
+ const isArray = node.type === "array";
+ const isRootArray = !node.parent || node.parent.type === "array";
+
+ if (isArray && isRootArray) {
+ const { width, height } = calculateNodeSize(
+ `[${node.children?.length ?? "0"} items]`,
+ false,
+ options.imagePreviewEnabled ?? true
+ );
+
+ nodes.push({
+ id,
+ text: [
+ {
+ key: null,
+ value: `[${node.children?.length ?? 0} items]`,
+ type: "array",
+ childrenCount: node.children?.length,
+ },
+ ],
+ width,
+ height,
+ path: [],
+ });
+
+ node.children?.forEach(child => {
+ traverse(child, id);
+ });
+
+ return id;
+ }
+
+ node.children?.forEach(child => {
+ if (!child.children || !child.children[1]) {
+ traverse(child, id);
+ return;
+ }
+
+ const key = child.children[0].value?.toString() ?? null;
+ const valueNode = child.children[1];
+ const type = valueNode.type;
+
+ if (type === "array") {
+ const targetIds: string[] = [];
+
+ valueNode.children?.forEach(arrayChild => {
+ const arrayChildId = traverse(arrayChild, undefined);
+ if (arrayChildId) targetIds.push(arrayChildId);
+ });
+
+ text.push({
+ key,
+ value: valueNode.value as NodeRow["value"],
+ type,
+ to: targetIds.length > 0 ? targetIds : undefined,
+ childrenCount: valueNode.children?.length,
+ });
+
+ targetIds.forEach(targetId => {
+ edges.push({
+ id: String(edgeId++),
+ from: id,
+ to: targetId,
+ text: key,
+ });
+ });
+ } else if (type === "object") {
+ const objectNodeId = traverse(valueNode, id);
+
+ text.push({
+ key,
+ value: valueNode.value as NodeRow["value"],
+ type,
+ childrenCount: Object.keys(valueNode.children ?? {}).length,
+ ...(objectNodeId && { to: [objectNodeId] }),
+ });
+
+ if (objectNodeId) {
+ edges.push({
+ id: String(edgeId++),
+ from: id,
+ to: objectNodeId,
+ text: key,
+ });
+ }
+ } else {
+ text.push({
+ key,
+ value: valueNode.value as NodeRow["value"],
+ type,
+ });
+ }
+ });
+
+ if (node.parent?.type === "array" && node.type === "object" && node.children?.length === 0) {
+ text.push({
+ key: null,
+ value: "{0 keys}",
+ type: "object",
+ childrenCount: 0,
+ });
+ }
+
+ const appendParentKey = () => {
+ const getParentKey = (targetNode: Node) => {
+ const path = getNodePath(targetNode);
+ return path?.pop()?.toString();
+ };
+
+ if (!node.parent) {
+ return { parentKey: getParentKey(node), parentType: node.type };
+ }
+
+ if (node.parent.type === "array") {
+ return { parentKey: getParentKey(node.parent), parentType: "array" };
+ }
+
+ if (node.parent.type === "property") {
+ return { parentKey: getParentKey(node), parentType: "object" };
+ }
+
+ return {
+ parentKey: getParentKey(node),
+ parentType: node.parent.type.replace("property", "object"),
+ };
+ };
+
+ if (text.length === 0) {
+ if (typeof node.value === "undefined") return undefined;
+
+ const { width, height } = calculateNodeSize(
+ node.value as string | number,
+ false,
+ options.imagePreviewEnabled ?? true
+ );
+
+ nodes.push({
+ id,
+ text: [
+ {
+ key: null,
+ value: node.value as NodeRow["value"],
+ type: node.type,
+ },
+ ],
+ width,
+ height,
+ path: getNodePath(node),
+ ...appendParentKey(),
+ });
+ } else {
+ let displayText: string | [string, string][] = "";
+
+ if (text.some(row => row.key !== null)) {
+ displayText = text.map(row => {
+ const keyStr = row.key === null ? "" : row.key;
+
+ if (row.type === "object") return [keyStr, `{${row.childrenCount ?? 0} keys}`];
+ if (row.type === "array") return [keyStr, `[${row.childrenCount ?? 0} items]`];
+ if (row.value === null) return [keyStr, "null"];
+
+ return [keyStr, `${row.value}`];
+ });
+ } else {
+ displayText = `${text[0].value}`;
+ }
+
+ const { width, height } = calculateNodeSize(
+ displayText,
+ false,
+ options.imagePreviewEnabled ?? true
+ );
+
+ nodes.push({
+ id,
+ text,
+ width,
+ height,
+ path: getNodePath(node),
+ ...appendParentKey(),
+ });
+ }
+
+ return id;
+ }
+
+ traverse(jsonTree);
+
+ return {
+ nodes,
+ edges,
+ errors: parseErrors,
+ };
+};
diff --git a/packages/jsoncrack-react/src/theme.ts b/packages/jsoncrack-react/src/theme.ts
new file mode 100644
index 00000000..90cbf5d9
--- /dev/null
+++ b/packages/jsoncrack-react/src/theme.ts
@@ -0,0 +1,71 @@
+import type { CanvasThemeMode } from "./types";
+
+export interface JsonCrackTheme {
+ NODE_COLORS: {
+ TEXT: string;
+ NODE_KEY: string;
+ NODE_VALUE: string;
+ INTEGER: string;
+ NULL: string;
+ BOOL: {
+ FALSE: string;
+ TRUE: string;
+ };
+ CHILD_COUNT: string;
+ DIVIDER: string;
+ };
+ INTERACTIVE_NORMAL: string;
+ BACKGROUND_NODE: string;
+ BACKGROUND_MODIFIER_ACCENT: string;
+ TEXT_POSITIVE: string;
+ GRID_BG_COLOR: string;
+ GRID_COLOR_PRIMARY: string;
+ GRID_COLOR_SECONDARY: string;
+}
+
+export const themes: Record = {
+ dark: {
+ NODE_COLORS: {
+ TEXT: "#DCE5E7",
+ NODE_KEY: "#59b8ff",
+ NODE_VALUE: "#DCE5E7",
+ INTEGER: "#e8c479",
+ NULL: "#939598",
+ BOOL: {
+ FALSE: "#F85C50",
+ TRUE: "#00DC7D",
+ },
+ CHILD_COUNT: "#FFFFFF",
+ DIVIDER: "#383838",
+ },
+ INTERACTIVE_NORMAL: "#b9bbbe",
+ BACKGROUND_NODE: "#2B2C3E",
+ BACKGROUND_MODIFIER_ACCENT: "rgba(79,84,92,0.48)",
+ TEXT_POSITIVE: "hsl(139,calc(var(--saturation-factor, 1)*51.6%),52.2%)",
+ GRID_BG_COLOR: "#141414",
+ GRID_COLOR_PRIMARY: "#1c1b1b",
+ GRID_COLOR_SECONDARY: "#191919",
+ },
+ light: {
+ NODE_COLORS: {
+ TEXT: "#000000",
+ NODE_KEY: "#761CEA",
+ NODE_VALUE: "#535353",
+ INTEGER: "#FD0079",
+ NULL: "#afafaf",
+ BOOL: {
+ FALSE: "#FF0000",
+ TRUE: "#748700",
+ },
+ CHILD_COUNT: "#535353",
+ DIVIDER: "#e6e6e6",
+ },
+ INTERACTIVE_NORMAL: "#4f5660",
+ BACKGROUND_NODE: "#F6F8FA",
+ BACKGROUND_MODIFIER_ACCENT: "rgba(106,116,128,0.24)",
+ TEXT_POSITIVE: "#008736",
+ GRID_BG_COLOR: "#f7f7f7",
+ GRID_COLOR_PRIMARY: "#ebe8e8",
+ GRID_COLOR_SECONDARY: "#f2eeee",
+ },
+};
diff --git a/src/types/graph.ts b/packages/jsoncrack-react/src/types.ts
similarity index 68%
rename from src/types/graph.ts
rename to packages/jsoncrack-react/src/types.ts
index 428dd646..d361280b 100644
--- a/src/types/graph.ts
+++ b/packages/jsoncrack-react/src/types.ts
@@ -2,7 +2,7 @@ import type { JSONPath, Node } from "jsonc-parser";
export interface NodeRow {
key: string | null;
- value: string | number | null;
+ value: string | number | null | boolean;
type: Node["type"];
childrenCount?: number;
to?: string[];
@@ -14,6 +14,8 @@ export interface NodeData {
width: number;
height: number;
path?: JSONPath;
+ parentKey?: string;
+ parentType?: string;
}
export interface EdgeData {
@@ -23,4 +25,11 @@ export interface EdgeData {
text: string | null;
}
+export interface GraphData {
+ nodes: NodeData[];
+ edges: EdgeData[];
+}
+
export type LayoutDirection = "LEFT" | "RIGHT" | "DOWN" | "UP";
+
+export type CanvasThemeMode = "light" | "dark";
diff --git a/packages/jsoncrack-react/src/utils/calculateNodeSize.ts b/packages/jsoncrack-react/src/utils/calculateNodeSize.ts
new file mode 100644
index 00000000..f8ab80a5
--- /dev/null
+++ b/packages/jsoncrack-react/src/utils/calculateNodeSize.ts
@@ -0,0 +1,98 @@
+const NODE_DIMENSIONS = {
+ ROW_HEIGHT: 30,
+ PARENT_HEIGHT: 36,
+} as const;
+
+type Text = number | string | [string, string][];
+type Size = { width: number; height: number };
+
+const CACHE_TTL_MS = 120_000;
+const sizeCache = new Map();
+let lastCacheClearAt = Date.now();
+
+export const isContentImage = (value: Text) => {
+ if (typeof value !== "string") return false;
+
+ const isImageURL = /(https?:\/\/.*\.(?:png|jpg|jpeg|gif|svg|webp))/i.test(value);
+ const isBase64 = value.startsWith("data:image/") && value.includes("base64");
+
+ return isImageURL || isBase64;
+};
+
+const calculateLines = (text: Text): string => {
+ if (Array.isArray(text)) {
+ return text.map(([k, v]) => `${k}: ${JSON.stringify(v).slice(0, 80)}`).join("\n");
+ }
+
+ return `${text}`;
+};
+
+const fallbackSize = (str: string, single: boolean): Size => {
+ const lines = str.split("\n");
+ const longestLine = lines.reduce((max, line) => Math.max(max, line.length), 0);
+
+ return {
+ width: Math.min(700, Math.max(45, longestLine * 8 + 24)),
+ height: single ? NODE_DIMENSIONS.PARENT_HEIGHT : lines.length * NODE_DIMENSIONS.ROW_HEIGHT,
+ };
+};
+
+const calculateWidthAndHeight = (str: string, single = false): Size => {
+ if (!str) return { width: 45, height: 45 };
+
+ if (typeof document === "undefined") {
+ return fallbackSize(str, single);
+ }
+
+ const dummyElement = document.createElement("div");
+ dummyElement.style.position = "absolute";
+ dummyElement.style.visibility = "hidden";
+ dummyElement.style.pointerEvents = "none";
+ dummyElement.style.whiteSpace = single ? "nowrap" : "pre-wrap";
+ dummyElement.innerText = str;
+ dummyElement.style.fontSize = "12px";
+ dummyElement.style.width = "fit-content";
+ dummyElement.style.padding = "0 10px";
+ dummyElement.style.fontWeight = "500";
+ dummyElement.style.fontFamily = "monospace";
+ document.body.appendChild(dummyElement);
+
+ const clientRect = dummyElement.getBoundingClientRect();
+ const lines = str.split("\n").length;
+
+ const width = clientRect.width + 4;
+ const height = single ? NODE_DIMENSIONS.PARENT_HEIGHT : lines * NODE_DIMENSIONS.ROW_HEIGHT;
+
+ document.body.removeChild(dummyElement);
+ return { width, height };
+};
+
+const maybeClearCache = () => {
+ if (Date.now() - lastCacheClearAt < CACHE_TTL_MS) return;
+ sizeCache.clear();
+ lastCacheClearAt = Date.now();
+};
+
+export const calculateNodeSize = (text: Text, isParent = false, imagePreviewEnabled = true) => {
+ maybeClearCache();
+
+ const isImage = isContentImage(text) && imagePreviewEnabled;
+ const cacheKey = `${JSON.stringify(text)}-${isParent}-${imagePreviewEnabled}`;
+
+ const cached = sizeCache.get(cacheKey);
+ if (cached) return cached;
+
+ const lines = calculateLines(text);
+ const sizes = calculateWidthAndHeight(lines, typeof text === "string");
+
+ if (isImage) {
+ sizes.width = 80;
+ sizes.height = 80;
+ }
+
+ if (isParent) sizes.width += 80;
+ if (sizes.width > 700) sizes.width = 700;
+
+ sizeCache.set(cacheKey, sizes);
+ return sizes;
+};
diff --git a/packages/jsoncrack-react/tsconfig.build.json b/packages/jsoncrack-react/tsconfig.build.json
new file mode 100644
index 00000000..d431320f
--- /dev/null
+++ b/packages/jsoncrack-react/tsconfig.build.json
@@ -0,0 +1,19 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "lib": ["DOM", "ES2020"],
+ "module": "ESNext",
+ "moduleResolution": "Bundler",
+ "strict": true,
+ "declaration": true,
+ "declarationMap": true,
+ "emitDeclarationOnly": true,
+ "outDir": "dist",
+ "rootDir": "src",
+ "jsx": "react-jsx",
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "forceConsistentCasingInFileNames": true
+ },
+ "include": ["src"]
+}
diff --git a/packages/jsoncrack-react/tsconfig.json b/packages/jsoncrack-react/tsconfig.json
new file mode 100644
index 00000000..11954826
--- /dev/null
+++ b/packages/jsoncrack-react/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "./tsconfig.build.json",
+ "compilerOptions": {
+ "noEmit": true
+ },
+ "include": ["src"],
+ "exclude": ["dist", "node_modules"]
+}
diff --git a/packages/jsoncrack-react/vite.config.ts b/packages/jsoncrack-react/vite.config.ts
new file mode 100644
index 00000000..ded85fcc
--- /dev/null
+++ b/packages/jsoncrack-react/vite.config.ts
@@ -0,0 +1,27 @@
+import react from "@vitejs/plugin-react";
+import { resolve } from "node:path";
+import { defineConfig } from "vite";
+
+export default defineConfig({
+ plugins: [react()],
+ build: {
+ lib: {
+ entry: resolve(__dirname, "src/index.ts"),
+ formats: ["es"],
+ fileName: "index",
+ },
+ rollupOptions: {
+ external: [
+ "react",
+ "react-dom",
+ "react/jsx-runtime",
+ "reaflow",
+ "react-zoomable-ui",
+ "jsonc-parser",
+ ],
+ output: {
+ assetFileNames: "index[extname]",
+ },
+ },
+ },
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d25d621b..11c1c61b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -5,6 +5,8 @@ settings:
excludeLinksFromLockfile: false
overrides:
+ react: 19.2.4
+ react-dom: 19.2.4
'@types/react': 19.2.11
'@types/react-dom': 19.2.3
html-to-image: 1.11.11
@@ -13,6 +15,100 @@ overrides:
importers:
.:
+ devDependencies:
+ turbo:
+ specifier: ^2.8.8
+ version: 2.8.8
+
+ apps/vscode:
+ dependencies:
+ jsoncrack-react:
+ specifier: workspace:*
+ version: link:../../packages/jsoncrack-react
+ react:
+ specifier: 19.2.4
+ version: 19.2.4
+ react-dom:
+ specifier: 19.2.4
+ version: 19.2.4(react@19.2.4)
+ devDependencies:
+ '@babel/plugin-proposal-private-property-in-object':
+ specifier: ^7.21.11
+ version: 7.21.11(@babel/core@7.29.0)
+ '@mantine/code-highlight':
+ specifier: ^7.16.2
+ version: 7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.2.4))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@7.17.8(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@mantine/core':
+ specifier: ^7.16.2
+ version: 7.17.8(@mantine/hooks@7.17.8(react@19.2.4))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@mantine/hooks':
+ specifier: ^7.16.2
+ version: 7.17.8(react@19.2.4)
+ '@trivago/prettier-plugin-sort-imports':
+ specifier: ^4.3.0
+ version: 4.3.0(prettier@3.8.1)
+ '@types/node':
+ specifier: 16.x
+ version: 16.18.126
+ '@types/react':
+ specifier: 19.2.11
+ version: 19.2.11
+ '@types/react-dom':
+ specifier: 19.2.3
+ version: 19.2.3(@types/react@19.2.11)
+ '@types/vscode':
+ specifier: ^1.86.0
+ version: 1.109.0
+ '@types/webpack-env':
+ specifier: ^1.18.5
+ version: 1.18.8
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^5.31.0
+ version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/parser':
+ specifier: ^5.31.0
+ version: 5.62.0(eslint@8.57.1)(typescript@5.9.3)
+ eslint:
+ specifier: ^8.20.0
+ version: 8.57.1
+ eslint-config-prettier:
+ specifier: ^9.1.0
+ version: 9.1.2(eslint@8.57.1)
+ eslint-plugin-prettier:
+ specifier: ^5.2.1
+ version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.8.1)
+ eslint-plugin-unused-imports:
+ specifier: ^4.1.4
+ version: 4.4.1(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)
+ nodemon:
+ specifier: ^2.0.20
+ version: 2.0.22
+ prettier:
+ specifier: ^3.3.3
+ version: 3.8.1
+ react-scripts:
+ specifier: ^5.0.1
+ version: 5.0.1(@babel/plugin-syntax-flow@7.28.6(@babel/core@7.29.0))(@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.29.0))(@types/babel__core@7.20.5)(eslint@8.57.1)(react@19.2.4)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))(type-fest@4.41.0)(typescript@5.9.3)(webpack-cli@5.1.4)
+ rewire:
+ specifier: ^7.0.0
+ version: 7.0.0
+ ts-loader:
+ specifier: ^9.5.1
+ version: 9.5.4(typescript@5.9.3)(webpack@5.105.2)
+ typescript:
+ specifier: ^5.6.3
+ version: 5.9.3
+ vsce:
+ specifier: ^2.15.0
+ version: 2.15.0
+ webpack:
+ specifier: ^5.95.0
+ version: 5.105.2(webpack-cli@5.1.4)
+ webpack-cli:
+ specifier: ^5.1.4
+ version: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.105.2)
+
+ apps/www:
dependencies:
'@mantine/code-highlight':
specifier: ^8.3.14
@@ -28,7 +124,7 @@ importers:
version: 8.3.14(react@19.2.4)
'@monaco-editor/react':
specifier: ^4.7.0
- version: 4.7.0(monaco-editor@0.52.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ version: 4.7.0(monaco-editor@0.55.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
allotment:
specifier: ^1.20.5
version: 1.20.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
@@ -59,6 +155,9 @@ importers:
jsonc-parser:
specifier: 3.3.1
version: 3.3.1
+ jsoncrack-react:
+ specifier: workspace:*
+ version: link:../../packages/jsoncrack-react
jsonpath-plus:
specifier: 10.3.0
version: 10.3.0
@@ -67,16 +166,16 @@ importers:
version: 4.0.8
next:
specifier: 16.1.6
- version: 16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ version: 16.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
next-seo:
specifier: ^7.1.0
- version: 7.1.0(next@16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)
+ version: 7.1.0(next@16.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)
next-sitemap:
specifier: ^4.2.3
- version: 4.2.3(next@16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))
+ version: 4.2.3(next@16.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4))
nextjs-google-analytics:
specifier: ^2.3.7
- version: 2.3.7(next@16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)
+ version: 2.3.7(next@16.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)
react:
specifier: 19.2.4
version: 19.2.4
@@ -106,13 +205,16 @@ importers:
version: 3.22.0
styled-components:
specifier: ^6.3.8
- version: 6.3.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ version: 6.3.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
use-long-press:
specifier: ^3.3.0
version: 3.3.0(react@19.2.4)
+ use-sync-external-store:
+ specifier: ^1.6.0
+ version: 1.6.0(react@19.2.4)
zustand:
specifier: ^5.0.11
- version: 5.0.11(@types/react@19.2.11)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
+ version: 5.0.11(@types/react@19.2.11)(immer@9.0.21)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
devDependencies:
'@eslint/eslintrc':
specifier: ^3.2.0
@@ -131,7 +233,7 @@ importers:
version: 4.0.9
'@types/node':
specifier: ^25.2.0
- version: 25.2.0
+ version: 25.2.3
'@types/react':
specifier: 19.2.11
version: 19.2.11
@@ -140,34 +242,108 @@ importers:
version: 19.2.3(@types/react@19.2.11)
'@typescript-eslint/eslint-plugin':
specifier: ^8.54.0
- version: 8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)
+ version: 8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
eslint:
specifier: ^9.39.2
- version: 9.39.2
+ version: 9.39.2(jiti@1.21.7)
eslint-config-next:
specifier: 16.1.6
- version: 16.1.6(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)
+ version: 16.1.6(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
eslint-config-prettier:
specifier: ^10.1.8
- version: 10.1.8(eslint@9.39.2)
+ version: 10.1.8(eslint@9.39.2(jiti@1.21.7))
eslint-plugin-prettier:
specifier: ^5.5.5
- version: 5.5.5(eslint-config-prettier@10.1.8(eslint@9.39.2))(eslint@9.39.2)(prettier@3.8.1)
+ version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@1.21.7)))(eslint@9.39.2(jiti@1.21.7))(prettier@3.8.1)
eslint-plugin-unused-imports:
specifier: ^4.3.0
- version: 4.3.0(@typescript-eslint/eslint-plugin@8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)
+ version: 4.4.1(@typescript-eslint/eslint-plugin@8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))
prettier:
specifier: ^3.8.1
version: 3.8.1
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@types/node@25.2.0)(typescript@5.9.3)
+ version: 10.9.2(@types/node@25.2.3)(typescript@5.9.3)
typescript:
specifier: 5.9.3
version: 5.9.3
+ packages/jsoncrack-react:
+ dependencies:
+ jsonc-parser:
+ specifier: ^3.3.1
+ version: 3.3.1
+ react:
+ specifier: 19.2.4
+ version: 19.2.4
+ react-dom:
+ specifier: 19.2.4
+ version: 19.2.4(react@19.2.4)
+ react-zoomable-ui:
+ specifier: ^0.11.0
+ version: 0.11.0(react@19.2.4)
+ reaflow:
+ specifier: 5.4.1
+ version: 5.4.1(@emotion/is-prop-valid@1.4.0)(@types/react@19.2.11)(prop-types@15.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ devDependencies:
+ '@eslint/eslintrc':
+ specifier: ^3.2.0
+ version: 3.3.3
+ '@eslint/js':
+ specifier: ^9.39.2
+ version: 9.39.2
+ '@trivago/prettier-plugin-sort-imports':
+ specifier: ^4.3.0
+ version: 4.3.0(prettier@3.8.1)
+ '@types/react':
+ specifier: 19.2.11
+ version: 19.2.11
+ '@types/react-dom':
+ specifier: 19.2.3
+ version: 19.2.3(@types/react@19.2.11)
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^8.54.0
+ version: 8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/parser':
+ specifier: ^8.54.0
+ version: 8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+ '@vitejs/plugin-react':
+ specifier: ^4.3.0
+ version: 4.7.0(vite@6.4.1(@types/node@25.2.3)(jiti@1.21.7)(terser@5.46.0))
+ eslint:
+ specifier: ^9.39.2
+ version: 9.39.2(jiti@1.21.7)
+ eslint-config-prettier:
+ specifier: ^10.1.8
+ version: 10.1.8(eslint@9.39.2(jiti@1.21.7))
+ eslint-plugin-prettier:
+ specifier: ^5.5.5
+ version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@1.21.7)))(eslint@9.39.2(jiti@1.21.7))(prettier@3.8.1)
+ eslint-plugin-unused-imports:
+ specifier: ^4.3.0
+ version: 4.4.1(@typescript-eslint/eslint-plugin@8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))
+ prettier:
+ specifier: ^3.8.1
+ version: 3.8.1
+ typescript:
+ specifier: ^5.9.3
+ version: 5.9.3
+ vite:
+ specifier: ^6.0.0
+ version: 6.4.1(@types/node@25.2.3)(jiti@1.21.7)(terser@5.46.0)
+
packages:
+ '@alloc/quick-lru@5.2.0':
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+
+ '@apideck/better-ajv-errors@0.3.6':
+ resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ ajv: '>=8'
+
'@babel/code-frame@7.29.0':
resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
engines: {node: '>=6.9.0'}
@@ -180,18 +356,66 @@ packages:
resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==}
engines: {node: '>=6.9.0'}
+ '@babel/eslint-parser@7.28.6':
+ resolution: {integrity: sha512-QGmsKi2PBO/MHSQk+AAgA9R6OHQr+VqnniFE0eMWZcVcfBZoA2dKn2hUsl3Csg/Plt9opRUWdY7//VXsrIlEiA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0}
+ peerDependencies:
+ '@babel/core': ^7.11.0
+ eslint: ^7.5.0 || ^8.0.0 || ^9.0.0
+
+ '@babel/generator@7.17.7':
+ resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==}
+ engines: {node: '>=6.9.0'}
+
'@babel/generator@7.29.1':
resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-annotate-as-pure@7.27.3':
+ resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-compilation-targets@7.28.6':
resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-create-class-features-plugin@7.28.6':
+ resolution: {integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-create-regexp-features-plugin@7.28.5':
+ resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-define-polyfill-provider@0.6.6':
+ resolution: {integrity: sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ '@babel/helper-environment-visitor@7.24.7':
+ resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-function-name@7.24.7':
+ resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-globals@7.28.0':
resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-hoist-variables@7.24.7':
+ resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-member-expression-to-functions@7.28.5':
+ resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-module-imports@7.28.6':
resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
engines: {node: '>=6.9.0'}
@@ -202,6 +426,34 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
+ '@babel/helper-optimise-call-expression@7.27.1':
+ resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-plugin-utils@7.28.6':
+ resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-remap-async-to-generator@7.27.1':
+ resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-replace-supers@7.28.6':
+ resolution: {integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-split-export-declaration@7.24.7':
+ resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-string-parser@7.27.1':
resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
@@ -214,6 +466,10 @@ packages:
resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-wrap-function@7.28.6':
+ resolution: {integrity: sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helpers@7.28.6':
resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==}
engines: {node: '>=6.9.0'}
@@ -223,6 +479,594 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5':
+ resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1':
+ resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1':
+ resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1':
+ resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6':
+ resolution: {integrity: sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-proposal-class-properties@7.18.6':
+ resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-decorators@7.29.0':
+ resolution: {integrity: sha512-CVBVv3VY/XRMxRYq5dwr2DS7/MvqPm23cOCjbwNnVrfOqcWlnefua1uUs0sjdKOGjvPUG633o07uWzJq4oI6dA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6':
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-numeric-separator@7.18.6':
+ resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-optional-chaining@7.21.0':
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-private-methods@7.18.6':
+ resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.11':
+ resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-async-generators@7.8.4':
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-bigint@7.8.3':
+ resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-class-properties@7.12.13':
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-class-static-block@7.14.5':
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-decorators@7.28.6':
+ resolution: {integrity: sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-flow@7.28.6':
+ resolution: {integrity: sha512-D+OrJumc9McXNEBI/JmFnc/0uCM2/Y3PEBG3gfV3QIYkKv5pvnpzFrl1kYCrcHJP8nOeFB/SHi1IHz29pNGuew==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-assertions@7.28.6':
+ resolution: {integrity: sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-attributes@7.28.6':
+ resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-meta@7.10.4':
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-json-strings@7.8.3':
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-jsx@7.28.6':
+ resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4':
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-numeric-separator@7.10.4':
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-object-rest-spread@7.8.3':
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3':
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3':
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-private-property-in-object@7.14.5':
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-top-level-await@7.14.5':
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-typescript@7.28.6':
+ resolution: {integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-arrow-functions@7.27.1':
+ resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-generator-functions@7.29.0':
+ resolution: {integrity: sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-to-generator@7.28.6':
+ resolution: {integrity: sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoped-functions@7.27.1':
+ resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoping@7.28.6':
+ resolution: {integrity: sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-properties@7.28.6':
+ resolution: {integrity: sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-static-block@7.28.6':
+ resolution: {integrity: sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+
+ '@babel/plugin-transform-classes@7.28.6':
+ resolution: {integrity: sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-computed-properties@7.28.6':
+ resolution: {integrity: sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-destructuring@7.28.5':
+ resolution: {integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-dotall-regex@7.28.6':
+ resolution: {integrity: sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-keys@7.27.1':
+ resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0':
+ resolution: {integrity: sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-dynamic-import@7.27.1':
+ resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-explicit-resource-management@7.28.6':
+ resolution: {integrity: sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-exponentiation-operator@7.28.6':
+ resolution: {integrity: sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-export-namespace-from@7.27.1':
+ resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-flow-strip-types@7.27.1':
+ resolution: {integrity: sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-for-of@7.27.1':
+ resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-function-name@7.27.1':
+ resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-json-strings@7.28.6':
+ resolution: {integrity: sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-literals@7.27.1':
+ resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-logical-assignment-operators@7.28.6':
+ resolution: {integrity: sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-member-expression-literals@7.27.1':
+ resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-amd@7.27.1':
+ resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-commonjs@7.28.6':
+ resolution: {integrity: sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-systemjs@7.29.0':
+ resolution: {integrity: sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-umd@7.27.1':
+ resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.29.0':
+ resolution: {integrity: sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-new-target@7.27.1':
+ resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.28.6':
+ resolution: {integrity: sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-numeric-separator@7.28.6':
+ resolution: {integrity: sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-rest-spread@7.28.6':
+ resolution: {integrity: sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-super@7.27.1':
+ resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-catch-binding@7.28.6':
+ resolution: {integrity: sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-chaining@7.28.6':
+ resolution: {integrity: sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-parameters@7.27.7':
+ resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-methods@7.28.6':
+ resolution: {integrity: sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-property-in-object@7.28.6':
+ resolution: {integrity: sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-property-literals@7.27.1':
+ resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-constant-elements@7.27.1':
+ resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-display-name@7.28.0':
+ resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx-development@7.27.1':
+ resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@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/plugin-transform-react-jsx@7.28.6':
+ resolution: {integrity: sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-pure-annotations@7.27.1':
+ resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regenerator@7.29.0':
+ resolution: {integrity: sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regexp-modifiers@7.28.6':
+ resolution: {integrity: sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-reserved-words@7.27.1':
+ resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-runtime@7.29.0':
+ resolution: {integrity: sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-shorthand-properties@7.27.1':
+ resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-spread@7.28.6':
+ resolution: {integrity: sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-sticky-regex@7.27.1':
+ resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-template-literals@7.27.1':
+ resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typeof-symbol@7.27.1':
+ resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typescript@7.28.6':
+ resolution: {integrity: sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-escapes@7.27.1':
+ resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-property-regex@7.28.6':
+ resolution: {integrity: sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-regex@7.27.1':
+ resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-sets-regex@7.28.6':
+ resolution: {integrity: sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/preset-env@7.29.0':
+ resolution: {integrity: sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-modules@0.1.6-no-external-plugins':
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+
+ '@babel/preset-react@7.28.5':
+ resolution: {integrity: sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-typescript@7.28.5':
+ resolution: {integrity: sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/runtime@7.28.6':
resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==}
engines: {node: '>=6.9.0'}
@@ -231,14 +1075,25 @@ packages:
resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
engines: {node: '>=6.9.0'}
+ '@babel/traverse@7.23.2':
+ resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/traverse@7.29.0':
resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.17.0':
+ resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/types@7.29.0':
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
+ '@bcoe/v8-coverage@0.2.3':
+ resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+
'@corex/deepmerge@4.0.43':
resolution: {integrity: sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==}
@@ -246,6 +1101,99 @@ packages:
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
engines: {node: '>=12'}
+ '@csstools/normalize.css@12.1.1':
+ resolution: {integrity: sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==}
+
+ '@csstools/postcss-cascade-layers@1.1.1':
+ resolution: {integrity: sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-color-function@1.1.1':
+ resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-font-format-keywords@1.0.1':
+ resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-hwb-function@1.0.2':
+ resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-ic-unit@1.0.1':
+ resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-is-pseudo-class@2.0.7':
+ resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-nested-calc@1.0.0':
+ resolution: {integrity: sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-normalize-display-values@1.0.1':
+ resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-oklab-function@1.1.1':
+ resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-progressive-custom-properties@1.3.0':
+ resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.3
+
+ '@csstools/postcss-stepped-value-functions@1.0.1':
+ resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-text-decoration-shorthand@1.0.0':
+ resolution: {integrity: sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-trigonometric-functions@1.0.2':
+ resolution: {integrity: sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==}
+ engines: {node: ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/postcss-unset-value@1.0.2':
+ resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ '@csstools/selector-specificity@2.2.0':
+ resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ postcss-selector-parser: ^6.0.10
+
'@discoveryjs/json-ext@0.5.7':
resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
engines: {node: '>=10.0.0'}
@@ -268,6 +1216,162 @@ packages:
'@emotion/unitless@0.10.0':
resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==}
+ '@esbuild/aix-ppc64@0.25.12':
+ resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.25.12':
+ resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.25.12':
+ resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.25.12':
+ resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.25.12':
+ resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.25.12':
+ resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.25.12':
+ resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.25.12':
+ resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.25.12':
+ resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.25.12':
+ resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.25.12':
+ resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.25.12':
+ resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.25.12':
+ resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.25.12':
+ resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.25.12':
+ resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.25.12':
+ resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.25.12':
+ resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-arm64@0.25.12':
+ resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.25.12':
+ resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-arm64@0.25.12':
+ resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.25.12':
+ resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openharmony-arm64@0.25.12':
+ resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@esbuild/sunos-x64@0.25.12':
+ resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.25.12':
+ resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.25.12':
+ resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.25.12':
+ resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
'@eslint-community/eslint-utils@4.9.1':
resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -290,10 +1394,18 @@ packages:
resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/eslintrc@2.1.4':
+ resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
'@eslint/eslintrc@3.3.3':
resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/js@8.57.1':
+ resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
'@eslint/js@9.39.2':
resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -315,20 +1427,20 @@ packages:
'@floating-ui/react-dom@2.1.7':
resolution: {integrity: sha512-0tLRojf/1Go2JgEVm+3Frg9A3IW8bJgKgdO0BN5RkF//ufuz2joZM63Npau2ff3J6lUVYgDSNzNkR+aH3IVfjg==}
peerDependencies:
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
+ react: 19.2.4
+ react-dom: 19.2.4
'@floating-ui/react@0.26.28':
resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==}
peerDependencies:
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
+ react: 19.2.4
+ react-dom: 19.2.4
'@floating-ui/react@0.27.17':
resolution: {integrity: sha512-LGVZKHwmWGg6MRHjLLgsfyaX2y2aCNgnD1zT/E6B+/h+vxg+nIJUqHPAlTzsHDyqdgEpJ1Np5kxWuFEErXzoGg==}
peerDependencies:
- react: '>=17.0.0'
- react-dom: '>=17.0.0'
+ react: 19.2.4
+ react-dom: 19.2.4
'@floating-ui/utils@0.2.10':
resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
@@ -341,10 +1453,19 @@ packages:
resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
engines: {node: '>=18.18.0'}
+ '@humanwhocodes/config-array@0.13.0':
+ resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
+ engines: {node: '>=10.10.0'}
+ deprecated: Use @eslint/config-array instead
+
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
+ '@humanwhocodes/object-schema@2.0.3':
+ resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
+ deprecated: Use @eslint/object-schema instead
+
'@humanwhocodes/retry@0.4.3':
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
@@ -486,6 +1607,84 @@ packages:
cpu: [x64]
os: [win32]
+ '@istanbuljs/load-nyc-config@1.1.0':
+ resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
+ engines: {node: '>=8'}
+
+ '@istanbuljs/schema@0.1.3':
+ resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
+ engines: {node: '>=8'}
+
+ '@jest/console@27.5.1':
+ resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/console@28.1.3':
+ resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==}
+ engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
+
+ '@jest/core@27.5.1':
+ resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ '@jest/environment@27.5.1':
+ resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/fake-timers@27.5.1':
+ resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/globals@27.5.1':
+ resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/reporters@27.5.1':
+ resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ '@jest/schemas@28.1.3':
+ resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==}
+ engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
+
+ '@jest/source-map@27.5.1':
+ resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/test-result@27.5.1':
+ resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/test-result@28.1.3':
+ resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==}
+ engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
+
+ '@jest/test-sequencer@27.5.1':
+ resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/transform@27.5.1':
+ resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/types@27.5.1':
+ resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/types@28.1.3':
+ resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==}
+ engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
+
'@jridgewell/gen-mapping@0.3.13':
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
@@ -496,6 +1695,9 @@ packages:
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
+ '@jridgewell/source-map@0.3.11':
+ resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==}
+
'@jridgewell/sourcemap-codec@1.5.5':
resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
@@ -520,6 +1722,9 @@ packages:
'@juggle/resize-observer@3.4.0':
resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
+ '@leichtgewicht/ip-codec@2.0.5':
+ resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==}
+
'@ljharb/resumer@0.0.1':
resolution: {integrity: sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==}
engines: {node: '>= 0.4'}
@@ -528,33 +1733,53 @@ packages:
resolution: {integrity: sha512-ajBvlKpWucBB17FuQYUShqpqy8GRgYEpJW0vWJbUu1CV9lWyrDCapy0lScU8T8Z6qn49sSwJB3+M+evYIdGg+A==}
engines: {node: '>= 0.4'}
+ '@mantine/code-highlight@7.17.8':
+ resolution: {integrity: sha512-KfdLi8MhpoeHiXkLMfuPQz1IDTUjvP2w3hbdx8Oz/hL0o+mbPYfgrU/w/D3ONjVQMoEbPpEL5vSA2eTYCmwVKg==}
+ peerDependencies:
+ '@mantine/core': 7.17.8
+ '@mantine/hooks': 7.17.8
+ react: 19.2.4
+ react-dom: 19.2.4
+
'@mantine/code-highlight@8.3.14':
resolution: {integrity: sha512-7ywMnadaw4O/QG9sQOCIWPZKh6Q97ibyZgkH2cjVNvVbChmZKXIlcHW/QbQJUS84Bs/eGDhnkxwnq78v9w16gQ==}
peerDependencies:
'@mantine/core': 8.3.14
'@mantine/hooks': 8.3.14
- react: ^18.x || ^19.x
- react-dom: ^18.x || ^19.x
+ react: 19.2.4
+ react-dom: 19.2.4
+
+ '@mantine/core@7.17.8':
+ resolution: {integrity: sha512-42sfdLZSCpsCYmLCjSuntuPcDg3PLbakSmmYfz5Auea8gZYLr+8SS5k647doVu0BRAecqYOytkX2QC5/u/8VHw==}
+ peerDependencies:
+ '@mantine/hooks': 7.17.8
+ react: 19.2.4
+ react-dom: 19.2.4
'@mantine/core@8.3.14':
resolution: {integrity: sha512-ZOxggx65Av1Ii1NrckCuqzluRpmmG+8DyEw24wDom3rmwsPg9UV+0le2QTyI5Eo60LzPfUju1KuEPiUzNABIPg==}
peerDependencies:
'@mantine/hooks': 8.3.14
- react: ^18.x || ^19.x
- react-dom: ^18.x || ^19.x
+ react: 19.2.4
+ react-dom: 19.2.4
'@mantine/dropzone@8.3.14':
resolution: {integrity: sha512-+wpsiLMqhyJMRxFj+q+wTZ+xk8VAH/5TBojjFcvt9riDn/ujGYpWZ7j+RFbmRVHOqcG0mkbCVUzCyPywuYjqLQ==}
peerDependencies:
'@mantine/core': 8.3.14
'@mantine/hooks': 8.3.14
- react: ^18.x || ^19.x
- react-dom: ^18.x || ^19.x
+ react: 19.2.4
+ react-dom: 19.2.4
+
+ '@mantine/hooks@7.17.8':
+ resolution: {integrity: sha512-96qygbkTjRhdkzd5HDU8fMziemN/h758/EwrFu7TlWrEP10Vw076u+Ap/sG6OT4RGPZYYoHrTlT+mkCZblWHuw==}
+ peerDependencies:
+ react: 19.2.4
'@mantine/hooks@8.3.14':
resolution: {integrity: sha512-0SbHnGEuHcF2QyjzBBcqidpjNmIb6n7TC3obnhkBToYhUTbMcJSK/8ei/yHtAelridJH4CPeohRlQdc0HajHyQ==}
peerDependencies:
- react: ^18.x || ^19.x
+ react: 19.2.4
'@marko19907/string-to-color@1.0.2':
resolution: {integrity: sha512-kADXIfypDWoCnqvqAjvgTm7curpHoigUpPVXKQY5fP2hUFfX72xx5H7ga4T7CwdBmIbYrbvU4zU/Al2NWPD+qQ==}
@@ -566,8 +1791,8 @@ packages:
resolution: {integrity: sha512-cyzXQCtO47ydzxpQtCGSQGOC8Gk3ZUeBXFAxD+CWXYFo5OqZyZUonFl0DwUlTyAfRHntBfw2p3w4s9R6oe1eCA==}
peerDependencies:
monaco-editor: '>= 0.25.0 < 1'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: 19.2.4
+ react-dom: 19.2.4
'@napi-rs/wasm-runtime@0.2.12':
resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
@@ -632,6 +1857,9 @@ packages:
cpu: [x64]
os: [win32]
+ '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1':
+ resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==}
+
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -652,6 +1880,32 @@ packages:
resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ '@pmmmwh/react-refresh-webpack-plugin@0.5.17':
+ resolution: {integrity: sha512-tXDyE1/jzFsHXjhRZQ3hMl0IVhYe5qula43LDWIhVfjp9G/nT5OQY5AORVOrkEGAUltBJOfOWeETbmhm6kHhuQ==}
+ engines: {node: '>= 10.13'}
+ peerDependencies:
+ '@types/webpack': 4.x || 5.x
+ react-refresh: '>=0.10.0 <1.0.0'
+ sockjs-client: ^1.4.0
+ type-fest: '>=0.17.0 <5.0.0'
+ webpack: '>=4.43.0 <6.0.0'
+ webpack-dev-server: 3.x || 4.x || 5.x
+ webpack-hot-middleware: 2.x
+ webpack-plugin-serve: 0.x || 1.x
+ peerDependenciesMeta:
+ '@types/webpack':
+ optional: true
+ sockjs-client:
+ optional: true
+ type-fest:
+ optional: true
+ webpack-dev-server:
+ optional: true
+ webpack-hot-middleware:
+ optional: true
+ webpack-plugin-serve:
+ optional: true
+
'@polka/url@1.0.0-next.29':
resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
@@ -659,11 +1913,170 @@ packages:
resolution: {integrity: sha512-ON5RxiI0r9zNpEKHvxqT8zz3iI4kzc37NzB4t8lfXSWwCEkpzxWY9TB2JAdYp9LC3UW2tN9zxdMnaNBLz4atTw==}
peerDependencies:
fuse.js: ^6.6.2
- react: '>= 16'
+ react: 19.2.4
+
+ '@rolldown/pluginutils@1.0.0-beta.27':
+ resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==}
+
+ '@rollup/plugin-babel@5.3.1':
+ resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ '@types/babel__core': ^7.1.9
+ rollup: ^1.20.0||^2.0.0
+ peerDependenciesMeta:
+ '@types/babel__core':
+ optional: true
+
+ '@rollup/plugin-node-resolve@11.2.1':
+ resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+
+ '@rollup/plugin-replace@2.4.2':
+ resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
+ peerDependencies:
+ rollup: ^1.20.0 || ^2.0.0
+
+ '@rollup/pluginutils@3.1.0':
+ resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+
+ '@rollup/rollup-android-arm-eabi@4.57.1':
+ resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.57.1':
+ resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.57.1':
+ resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.57.1':
+ resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-freebsd-arm64@4.57.1':
+ resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@rollup/rollup-freebsd-x64@4.57.1':
+ resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.57.1':
+ resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.57.1':
+ resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-gnu@4.57.1':
+ resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-musl@4.57.1':
+ resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-loong64-gnu@4.57.1':
+ resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==}
+ cpu: [loong64]
+ os: [linux]
+
+ '@rollup/rollup-linux-loong64-musl@4.57.1':
+ resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==}
+ cpu: [loong64]
+ os: [linux]
+
+ '@rollup/rollup-linux-ppc64-gnu@4.57.1':
+ resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@rollup/rollup-linux-ppc64-musl@4.57.1':
+ resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.57.1':
+ resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-musl@4.57.1':
+ resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-s390x-gnu@4.57.1':
+ resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-gnu@4.57.1':
+ resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-musl@4.57.1':
+ resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-openbsd-x64@4.57.1':
+ resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@rollup/rollup-openharmony-arm64@4.57.1':
+ resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rollup/rollup-win32-arm64-msvc@4.57.1':
+ resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.57.1':
+ resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-gnu@4.57.1':
+ resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==}
+ cpu: [x64]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.57.1':
+ resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==}
+ cpu: [x64]
+ os: [win32]
'@rtsao/scc@1.1.0':
resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
+ '@rushstack/eslint-patch@1.15.0':
+ resolution: {integrity: sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==}
+
'@shikijs/core@3.22.0':
resolution: {integrity: sha512-iAlTtSDDbJiRpvgL5ugKEATDtHdUVkqgHDm/gbD2ZS9c88mx7G1zSYjjOxp5Qa0eaW0MAQosFRmJSk354PRoQA==}
@@ -685,9 +2098,90 @@ packages:
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
+ '@sinclair/typebox@0.24.51':
+ resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==}
+
+ '@sinonjs/commons@1.8.6':
+ resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==}
+
+ '@sinonjs/fake-timers@8.1.0':
+ resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==}
+
+ '@surma/rollup-plugin-off-main-thread@2.2.3':
+ resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
+
+ '@svgr/babel-plugin-add-jsx-attribute@5.4.0':
+ resolution: {integrity: sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==}
+ engines: {node: '>=10'}
+
+ '@svgr/babel-plugin-remove-jsx-attribute@5.4.0':
+ resolution: {integrity: sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==}
+ engines: {node: '>=10'}
+
+ '@svgr/babel-plugin-remove-jsx-empty-expression@5.0.1':
+ resolution: {integrity: sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==}
+ engines: {node: '>=10'}
+
+ '@svgr/babel-plugin-replace-jsx-attribute-value@5.0.1':
+ resolution: {integrity: sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==}
+ engines: {node: '>=10'}
+
+ '@svgr/babel-plugin-svg-dynamic-title@5.4.0':
+ resolution: {integrity: sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==}
+ engines: {node: '>=10'}
+
+ '@svgr/babel-plugin-svg-em-dimensions@5.4.0':
+ resolution: {integrity: sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==}
+ engines: {node: '>=10'}
+
+ '@svgr/babel-plugin-transform-react-native-svg@5.4.0':
+ resolution: {integrity: sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==}
+ engines: {node: '>=10'}
+
+ '@svgr/babel-plugin-transform-svg-component@5.5.0':
+ resolution: {integrity: sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==}
+ engines: {node: '>=10'}
+
+ '@svgr/babel-preset@5.5.0':
+ resolution: {integrity: sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==}
+ engines: {node: '>=10'}
+
+ '@svgr/core@5.5.0':
+ resolution: {integrity: sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==}
+ engines: {node: '>=10'}
+
+ '@svgr/hast-util-to-babel-ast@5.5.0':
+ resolution: {integrity: sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==}
+ engines: {node: '>=10'}
+
+ '@svgr/plugin-jsx@5.5.0':
+ resolution: {integrity: sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==}
+ engines: {node: '>=10'}
+
+ '@svgr/plugin-svgo@5.5.0':
+ resolution: {integrity: sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==}
+ engines: {node: '>=10'}
+
+ '@svgr/webpack@5.5.0':
+ resolution: {integrity: sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==}
+ engines: {node: '>=10'}
+
'@swc/helpers@0.5.15':
resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
+ '@tootallnate/once@1.1.2':
+ resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
+ engines: {node: '>= 6'}
+
+ '@trivago/prettier-plugin-sort-imports@4.3.0':
+ resolution: {integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==}
+ peerDependencies:
+ '@vue/compiler-sfc': 3.x
+ prettier: 2.x - 3.x
+ peerDependenciesMeta:
+ '@vue/compiler-sfc':
+ optional: true
+
'@trivago/prettier-plugin-sort-imports@6.0.2':
resolution: {integrity: sha512-3DgfkukFyC/sE/VuYjaUUWoFfuVjPK55vOFDsxD56XXynFMCZDYFogH2l/hDfOsQAm1myoU/1xByJ3tWqtulXA==}
engines: {node: '>= 20'}
@@ -707,6 +2201,10 @@ packages:
svelte:
optional: true
+ '@trysound/sax@0.2.0':
+ resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
+ engines: {node: '>=10.13.0'}
+
'@tsconfig/node10@1.0.12':
resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==}
@@ -722,12 +2220,78 @@ packages:
'@tybys/wasm-util@0.10.1':
resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+ '@types/babel__core@7.20.5':
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+
+ '@types/babel__generator@7.27.0':
+ resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
+
+ '@types/babel__template@7.4.4':
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+
+ '@types/babel__traverse@7.28.0':
+ resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
+
+ '@types/body-parser@1.19.6':
+ resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==}
+
+ '@types/bonjour@3.5.13':
+ resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
+
+ '@types/connect-history-api-fallback@1.5.4':
+ resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
+
+ '@types/connect@3.4.38':
+ resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+
+ '@types/eslint-scope@3.7.7':
+ resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
+
+ '@types/eslint@8.56.12':
+ resolution: {integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==}
+
+ '@types/eslint@9.6.1':
+ resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
+
+ '@types/estree@0.0.39':
+ resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
+
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+ '@types/express-serve-static-core@4.19.8':
+ resolution: {integrity: sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==}
+
+ '@types/express-serve-static-core@5.1.1':
+ resolution: {integrity: sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==}
+
+ '@types/express@4.17.25':
+ resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==}
+
+ '@types/graceful-fs@4.1.9':
+ resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
+
'@types/hast@3.0.4':
resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+ '@types/html-minifier-terser@6.1.0':
+ resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
+
+ '@types/http-errors@2.0.5':
+ resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==}
+
+ '@types/http-proxy@1.17.17':
+ resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==}
+
+ '@types/istanbul-lib-coverage@2.0.6':
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+
+ '@types/istanbul-lib-report@3.0.3':
+ resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+
+ '@types/istanbul-reports@3.0.4':
+ resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+
'@types/js-yaml@4.0.9':
resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
@@ -743,8 +2307,32 @@ packages:
'@types/mdast@4.0.4':
resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
- '@types/node@25.2.0':
- resolution: {integrity: sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==}
+ '@types/mime@1.3.5':
+ resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
+
+ '@types/node-forge@1.3.14':
+ resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==}
+
+ '@types/node@16.18.126':
+ resolution: {integrity: sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==}
+
+ '@types/node@25.2.3':
+ resolution: {integrity: sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==}
+
+ '@types/parse-json@4.0.2':
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+
+ '@types/prettier@2.7.3':
+ resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==}
+
+ '@types/q@1.5.8':
+ resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==}
+
+ '@types/qs@6.14.0':
+ resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==}
+
+ '@types/range-parser@1.2.7':
+ resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
'@types/react-dom@19.2.3':
resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
@@ -754,69 +2342,181 @@ packages:
'@types/react@19.2.11':
resolution: {integrity: sha512-tORuanb01iEzWvMGVGv2ZDhYZVeRMrw453DCSAIn/5yvcSVnMoUMTyf33nQJLahYEnv9xqrTNbgz4qY5EfSh0g==}
+ '@types/resolve@1.17.1':
+ resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
+
+ '@types/retry@0.12.0':
+ resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
+
+ '@types/semver@7.7.1':
+ resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==}
+
+ '@types/send@0.17.6':
+ resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==}
+
+ '@types/send@1.2.1':
+ resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==}
+
+ '@types/serve-index@1.9.4':
+ resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==}
+
+ '@types/serve-static@1.15.10':
+ resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==}
+
+ '@types/sockjs@0.3.36':
+ resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
+
+ '@types/stack-utils@2.0.3':
+ resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
+
'@types/stylis@4.2.7':
resolution: {integrity: sha512-VgDNokpBoKF+wrdvhAAfS55OMQpL6QRglwTwNC3kIgBrzZxA4WsFj+2eLfEA/uMUDzBcEhYmjSbwQakn/i3ajA==}
+ '@types/trusted-types@2.0.7':
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
+
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
- '@typescript-eslint/eslint-plugin@8.54.0':
- resolution: {integrity: sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==}
+ '@types/vscode@1.109.0':
+ resolution: {integrity: sha512-0Pf95rnwEIwDbmXGC08r0B4TQhAbsHQ5UyTIgVgoieDe4cOnf92usuR5dEczb6bTKEp7ziZH4TV1TRGPPCExtw==}
+
+ '@types/webpack-env@1.18.8':
+ resolution: {integrity: sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A==}
+
+ '@types/ws@8.18.1':
+ resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
+
+ '@types/yargs-parser@21.0.3':
+ resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+
+ '@types/yargs@16.0.11':
+ resolution: {integrity: sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==}
+
+ '@types/yargs@17.0.35':
+ resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==}
+
+ '@typescript-eslint/eslint-plugin@5.62.0':
+ resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/eslint-plugin@8.55.0':
+ resolution: {integrity: sha512-1y/MVSz0NglV1ijHC8OT49mPJ4qhPYjiK08YUQVbIOyu+5k862LKUHFkpKHWu//zmr7hDR2rhwUm6gnCGNmGBQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.54.0
+ '@typescript-eslint/parser': ^8.55.0
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@8.54.0':
- resolution: {integrity: sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==}
+ '@typescript-eslint/experimental-utils@5.62.0':
+ resolution: {integrity: sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ '@typescript-eslint/parser@5.62.0':
+ resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/parser@8.55.0':
+ resolution: {integrity: sha512-4z2nCSBfVIMnbuu8uinj+f0o4qOeggYJLbjpPHka3KH1om7e+H9yLKTYgksTaHcGco+NClhhY2vyO3HsMH1RGw==}
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.54.0':
- resolution: {integrity: sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==}
+ '@typescript-eslint/project-service@8.55.0':
+ resolution: {integrity: sha512-zRcVVPFUYWa3kNnjaZGXSu3xkKV1zXy8M4nO/pElzQhFweb7PPtluDLQtKArEOGmjXoRjnUZ29NjOiF0eCDkcQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.54.0':
- resolution: {integrity: sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==}
+ '@typescript-eslint/scope-manager@5.62.0':
+ resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ '@typescript-eslint/scope-manager@8.55.0':
+ resolution: {integrity: sha512-fVu5Omrd3jeqeQLiB9f1YsuK/iHFOwb04bCtY4BSCLgjNbOD33ZdV6KyEqplHr+IlpgT0QTZ/iJ+wT7hvTx49Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.54.0':
- resolution: {integrity: sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==}
+ '@typescript-eslint/tsconfig-utils@8.55.0':
+ resolution: {integrity: sha512-1R9cXqY7RQd7WuqSN47PK9EDpgFUK3VqdmbYrvWJZYDd0cavROGn+74ktWBlmJ13NXUQKlZ/iAEQHI/V0kKe0Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/type-utils@8.54.0':
- resolution: {integrity: sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==}
+ '@typescript-eslint/type-utils@5.62.0':
+ resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/type-utils@8.55.0':
+ resolution: {integrity: sha512-x1iH2unH4qAt6I37I2CGlsNs+B9WGxurP2uyZLRz6UJoZWDBx9cJL1xVN/FiOmHEONEg6RIufdvyT0TEYIgC5g==}
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.54.0':
- resolution: {integrity: sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==}
+ '@typescript-eslint/types@5.62.0':
+ resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ '@typescript-eslint/types@8.55.0':
+ resolution: {integrity: sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.54.0':
- resolution: {integrity: sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==}
+ '@typescript-eslint/typescript-estree@5.62.0':
+ resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/typescript-estree@8.55.0':
+ resolution: {integrity: sha512-EwrH67bSWdx/3aRQhCoxDaHM+CrZjotc2UCCpEDVqfCE+7OjKAGWNY2HsCSTEVvWH2clYQK8pdeLp42EVs+xQw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.54.0':
- resolution: {integrity: sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==}
+ '@typescript-eslint/utils@5.62.0':
+ resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ '@typescript-eslint/utils@8.55.0':
+ resolution: {integrity: sha512-BqZEsnPGdYpgyEIkDC1BadNY8oMwckftxBT+C8W0g1iKPdeqKZBtTfnvcq0nf60u7MkjFO8RBvpRGZBPw4L2ow==}
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.54.0':
- resolution: {integrity: sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==}
+ '@typescript-eslint/visitor-keys@5.62.0':
+ resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ '@typescript-eslint/visitor-keys@8.55.0':
+ resolution: {integrity: sha512-AxNRwEie8Nn4eFS1FzDMJWIISMGoXMb037sgCBJ3UR6o0fQTzr2tqN9WT+DkWJPhIdQCfV7T6D387566VtnCJA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@ungap/structured-clone@1.3.0':
@@ -917,36 +2617,217 @@ packages:
cpu: [x64]
os: [win32]
+ '@vitejs/plugin-react@4.7.0':
+ resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+
+ '@webassemblyjs/ast@1.14.1':
+ resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
+
+ '@webassemblyjs/floating-point-hex-parser@1.13.2':
+ resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==}
+
+ '@webassemblyjs/helper-api-error@1.13.2':
+ resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==}
+
+ '@webassemblyjs/helper-buffer@1.14.1':
+ resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==}
+
+ '@webassemblyjs/helper-numbers@1.13.2':
+ resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==}
+
+ '@webassemblyjs/helper-wasm-bytecode@1.13.2':
+ resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==}
+
+ '@webassemblyjs/helper-wasm-section@1.14.1':
+ resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==}
+
+ '@webassemblyjs/ieee754@1.13.2':
+ resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==}
+
+ '@webassemblyjs/leb128@1.13.2':
+ resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==}
+
+ '@webassemblyjs/utf8@1.13.2':
+ resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==}
+
+ '@webassemblyjs/wasm-edit@1.14.1':
+ resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==}
+
+ '@webassemblyjs/wasm-gen@1.14.1':
+ resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==}
+
+ '@webassemblyjs/wasm-opt@1.14.1':
+ resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==}
+
+ '@webassemblyjs/wasm-parser@1.14.1':
+ resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==}
+
+ '@webassemblyjs/wast-printer@1.14.1':
+ resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
+
+ '@webpack-cli/configtest@2.1.1':
+ resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==}
+ engines: {node: '>=14.15.0'}
+ peerDependencies:
+ webpack: 5.x.x
+ webpack-cli: 5.x.x
+
+ '@webpack-cli/info@2.0.2':
+ resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==}
+ engines: {node: '>=14.15.0'}
+ peerDependencies:
+ webpack: 5.x.x
+ webpack-cli: 5.x.x
+
+ '@webpack-cli/serve@2.0.5':
+ resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==}
+ engines: {node: '>=14.15.0'}
+ peerDependencies:
+ webpack: 5.x.x
+ webpack-cli: 5.x.x
+ webpack-dev-server: '*'
+ peerDependenciesMeta:
+ webpack-dev-server:
+ optional: true
+
+ '@xtuc/ieee754@1.2.0':
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+
+ '@xtuc/long@4.2.2':
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+
+ abab@2.0.6:
+ resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
+ deprecated: Use your platform's native atob() and btoa() methods instead
+
+ accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+
+ acorn-globals@6.0.0:
+ resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==}
+
+ acorn-import-phases@1.0.4:
+ resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ acorn: ^8.14.0
+
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ acorn-walk@7.2.0:
+ resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
+ engines: {node: '>=0.4.0'}
+
acorn-walk@8.3.4:
resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
engines: {node: '>=0.4.0'}
+ acorn@7.4.1:
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
acorn@8.15.0:
resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
engines: {node: '>=0.4.0'}
hasBin: true
+ address@1.2.2:
+ resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
+ engines: {node: '>= 10.0.0'}
+
+ adjust-sourcemap-loader@4.0.0:
+ resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==}
+ engines: {node: '>=8.9'}
+
+ agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+
+ ajv-formats@2.1.1:
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv-keywords@3.5.2:
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
+ peerDependencies:
+ ajv: ^6.9.1
+
+ ajv-keywords@5.1.0:
+ resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
+ peerDependencies:
+ ajv: ^8.8.2
+
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ ajv@8.18.0:
+ resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==}
+
allotment@1.20.5:
resolution: {integrity: sha512-7i4NT7ieXEyAd5lBrXmE7WHz/e7hRuo97+j+TwrPE85ha6kyFURoc76nom0dWSZ1pTKVEAMJy/+f3/Isfu/41A==}
peerDependencies:
- react: ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: 19.2.4
+ react-dom: 19.2.4
+
+ ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+
+ ansi-html-community@0.0.8:
+ resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
+ engines: {'0': node >= 0.8.0}
+ hasBin: true
+
+ ansi-html@0.0.9:
+ resolution: {integrity: sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==}
+ engines: {'0': node >= 0.8.0}
+ hasBin: true
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
+ engines: {node: '>=12'}
+
+ ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
+ ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+
+ any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
arg@4.1.3:
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
argparse@1.0.10:
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
@@ -961,10 +2842,17 @@ packages:
resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
engines: {node: '>= 0.4'}
+ array-flatten@1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+
array-includes@3.1.9:
resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==}
engines: {node: '>= 0.4'}
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
array.prototype.findlast@1.2.5:
resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
engines: {node: '>= 0.4'}
@@ -981,6 +2869,10 @@ packages:
resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
engines: {node: '>= 0.4'}
+ array.prototype.reduce@1.0.8:
+ resolution: {integrity: sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==}
+ engines: {node: '>= 0.4'}
+
array.prototype.tosorted@1.1.4:
resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
engines: {node: '>= 0.4'}
@@ -989,6 +2881,9 @@ packages:
resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
engines: {node: '>= 0.4'}
+ asap@2.0.6:
+ resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
+
ast-types-flow@0.0.8:
resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
@@ -996,10 +2891,27 @@ packages:
resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
engines: {node: '>= 0.4'}
+ async@3.2.6:
+ resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
+
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
+ at-least-node@1.0.0:
+ resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
+ engines: {node: '>= 4.0.0'}
+
attr-accept@2.2.5:
resolution: {integrity: sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==}
engines: {node: '>=4'}
+ autoprefixer@10.4.24:
+ resolution: {integrity: sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@@ -1012,16 +2924,119 @@ packages:
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
engines: {node: '>= 0.4'}
+ azure-devops-node-api@11.2.0:
+ resolution: {integrity: sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==}
+
+ babel-jest@27.5.1:
+ resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ '@babel/core': ^7.8.0
+
+ babel-loader@8.4.1:
+ resolution: {integrity: sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==}
+ engines: {node: '>= 8.9'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ webpack: '>=2'
+
+ babel-plugin-istanbul@6.1.1:
+ resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
+ engines: {node: '>=8'}
+
+ babel-plugin-jest-hoist@27.5.1:
+ resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ babel-plugin-macros@3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
+
+ babel-plugin-named-asset-import@0.3.8:
+ resolution: {integrity: sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==}
+ peerDependencies:
+ '@babel/core': ^7.1.0
+
+ babel-plugin-polyfill-corejs2@0.4.15:
+ resolution: {integrity: sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-corejs3@0.13.0:
+ resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-corejs3@0.14.0:
+ resolution: {integrity: sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-regenerator@0.6.6:
+ resolution: {integrity: sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-transform-react-remove-prop-types@0.4.24:
+ resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==}
+
+ babel-preset-current-node-syntax@1.2.0:
+ resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0 || ^8.0.0-0
+
+ babel-preset-jest@27.5.1:
+ resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ babel-preset-react-app@10.1.0:
+ resolution: {integrity: sha512-f9B1xMdnkCIqe+2dHrJsoQFRz7reChaAHE/65SdaykPklQqhme2WaC08oD3is77x9ff98/9EazAKFDZv5rFEQg==}
+
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
baseline-browser-mapping@2.9.19:
resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==}
hasBin: true
+ batch@0.6.1:
+ resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
+
+ bfj@7.1.0:
+ resolution: {integrity: sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==}
+ engines: {node: '>= 8.0.0'}
+
+ big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+
+ binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
+
+ bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+
+ bluebird@3.7.2:
+ resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
+
+ body-parser@1.20.4:
+ resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
body-scroll-lock-upgrade@1.1.0:
resolution: {integrity: sha512-nnfVAS+tB7CS9RaksuHVTpgHWHF7fE/ptIBJnwZrMqImIvWJF1OGcLnMpBhC6qhkx9oelvyxmWXwmIJXCV98Sw==}
+ bonjour-service@1.3.0:
+ resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==}
+
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
brace-expansion@1.1.12:
resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
@@ -1032,11 +3047,34 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
+ browser-process-hrtime@1.0.0:
+ resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
+
browserslist@4.28.1:
resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
+ bser@2.1.1:
+ resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
+
+ buffer-crc32@0.2.13:
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
+
+ buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+
+ builtin-modules@3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+
+ bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+
calculate-size@1.1.1:
resolution: {integrity: sha512-jJZ7pvbQVM/Ss3VO789qpsypN3xmnepg242cejOAslsmlZLYw2dnj7knnNowabQ0Kzabzx56KFTy2Pot/y6FmA==}
@@ -1059,42 +3097,132 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
+ camel-case@4.1.2:
+ resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+
+ camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
+
+ camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+
+ camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+
camelize@1.0.1:
resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
- caniuse-lite@1.0.30001767:
- resolution: {integrity: sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==}
+ caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+
+ caniuse-lite@1.0.30001769:
+ resolution: {integrity: sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==}
+
+ case-sensitive-paths-webpack-plugin@2.4.0:
+ resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==}
+ engines: {node: '>=4'}
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+ chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
+ char-regex@1.0.2:
+ resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
+ engines: {node: '>=10'}
+
+ char-regex@2.0.2:
+ resolution: {integrity: sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==}
+ engines: {node: '>=12.20'}
+
character-entities-html4@2.1.0:
resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
character-entities-legacy@3.0.0:
resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+ check-types@11.2.3:
+ resolution: {integrity: sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==}
+
+ cheerio-select@2.1.0:
+ resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
+
+ cheerio@1.2.0:
+ resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==}
+ engines: {node: '>=20.18.1'}
+
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+
+ chownr@1.1.4:
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
+
chroma-js@2.6.0:
resolution: {integrity: sha512-BLHvCB9s8Z1EV4ethr6xnkl/P2YRFOGqfgvuMG/MyCbZPrTA+NeiByY6XvgF0zP4/2deU2CXnWyMa3zu1LqQ3A==}
+ chrome-trace-event@1.0.4:
+ resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
+ engines: {node: '>=6.0'}
+
+ ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+
+ cjs-module-lexer@1.4.3:
+ resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
+
classnames@2.5.1:
resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
+ clean-css@5.3.3:
+ resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
+ engines: {node: '>= 10.0'}
+
client-only@0.0.1:
resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+ cliui@7.0.4:
+ resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+
+ clone-deep@4.0.1:
+ resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
+ engines: {node: '>=6'}
+
clsx@2.1.1:
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
engines: {node: '>=6'}
+ co@4.6.0:
+ resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+
+ coa@2.0.2:
+ resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==}
+ engines: {node: '>= 4.0'}
+
+ collect-v8-coverage@1.0.3:
+ resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==}
+
+ color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
+ color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
@@ -1105,19 +3233,108 @@ packages:
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
engines: {node: '>=12.5.0'}
+ colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+
+ colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+ commander@10.0.1:
+ resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
+ engines: {node: '>=14'}
+
+ commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+
+ commander@6.2.1:
+ resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
+ engines: {node: '>= 6'}
+
commander@7.2.0:
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
engines: {node: '>= 10'}
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
+ common-tags@1.8.2:
+ resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
+ engines: {node: '>=4.0.0'}
+
+ commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+
+ compressible@2.0.18:
+ resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
+ engines: {node: '>= 0.6'}
+
+ compression@1.8.1:
+ resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==}
+ engines: {node: '>= 0.8.0'}
+
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ confusing-browser-globals@1.0.11:
+ resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==}
+
+ connect-history-api-fallback@2.0.0:
+ resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
+ engines: {node: '>=0.8'}
+
+ content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+
+ content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
+
+ convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+ cookie-signature@1.0.7:
+ resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==}
+
+ cookie@0.7.2:
+ resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
+ engines: {node: '>= 0.6'}
+
+ core-js-compat@3.48.0:
+ resolution: {integrity: sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==}
+
+ core-js-pure@3.48.0:
+ resolution: {integrity: sha512-1slJgk89tWC51HQ1AEqG+s2VuwpTRr8ocu4n20QUcH1v9lAN0RXen0Q0AABa/DK1I7RrNWLucplOHMx8hfTGTw==}
+
+ core-js@3.48.0:
+ resolution: {integrity: sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==}
+
+ core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+
+ cosmiconfig@6.0.0:
+ resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==}
+ engines: {node: '>=8'}
+
+ cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+
coverup@0.1.1:
resolution: {integrity: sha512-Q2Fs0v3M4eMNfj0TGaFb4Oh0yuaQj9EhQbEKtFhD3Tm4HZt1Zn7TrBKX14gVEO9aeWP8KnF2/qrh7fr/rvbcXw==}
deprecated: No longer maintained
@@ -1132,13 +3349,143 @@ packages:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
+ crypto-random-string@2.0.0:
+ resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
+ engines: {node: '>=8'}
+
+ css-blank-pseudo@3.0.3:
+ resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==}
+ engines: {node: ^12 || ^14 || >=16}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.4
+
css-color-keywords@1.0.0:
resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==}
engines: {node: '>=4'}
+ css-declaration-sorter@6.4.1:
+ resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==}
+ engines: {node: ^10 || ^12 || >=14}
+ peerDependencies:
+ postcss: ^8.0.9
+
+ css-has-pseudo@3.0.4:
+ resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==}
+ engines: {node: ^12 || ^14 || >=16}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.4
+
+ css-loader@6.11.0:
+ resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+
+ css-minimizer-webpack-plugin@3.4.1:
+ resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ '@parcel/css': '*'
+ clean-css: '*'
+ csso: '*'
+ esbuild: '*'
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@parcel/css':
+ optional: true
+ clean-css:
+ optional: true
+ csso:
+ optional: true
+ esbuild:
+ optional: true
+
+ css-prefers-color-scheme@6.0.3:
+ resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==}
+ engines: {node: ^12 || ^14 || >=16}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.4
+
+ css-select-base-adapter@0.1.1:
+ resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==}
+
+ css-select@2.1.0:
+ resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==}
+
+ css-select@4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+
+ css-select@5.2.2:
+ resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==}
+
css-to-react-native@3.2.0:
resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==}
+ css-tree@1.0.0-alpha.37:
+ resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==}
+ engines: {node: '>=8.0.0'}
+
+ css-tree@1.1.3:
+ resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
+ engines: {node: '>=8.0.0'}
+
+ css-what@3.4.2:
+ resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==}
+ engines: {node: '>= 6'}
+
+ css-what@6.2.2:
+ resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
+ engines: {node: '>= 6'}
+
+ cssdb@7.11.2:
+ resolution: {integrity: sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==}
+
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ cssnano-preset-default@5.2.14:
+ resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ cssnano-utils@3.1.0:
+ resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ cssnano@5.1.15:
+ resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ csso@4.2.0:
+ resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
+ engines: {node: '>=8.0.0'}
+
+ cssom@0.3.8:
+ resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
+
+ cssom@0.4.4:
+ resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==}
+
+ cssstyle@2.3.0:
+ resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
+ engines: {node: '>=8'}
+
csstype@3.2.3:
resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
@@ -1157,6 +3504,10 @@ packages:
damerau-levenshtein@1.0.8:
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ data-urls@2.0.0:
+ resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==}
+ engines: {node: '>=10'}
+
data-view-buffer@1.0.2:
resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
engines: {node: '>= 0.4'}
@@ -1175,6 +3526,14 @@ packages:
debounce@1.2.1:
resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
+ debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -1192,6 +3551,16 @@ packages:
supports-color:
optional: true
+ decimal.js@10.6.0:
+ resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
+
+ decompress-response@6.0.0:
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
+ engines: {node: '>=10'}
+
+ dedent@0.7.0:
+ resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
+
deeks@3.1.0:
resolution: {integrity: sha512-e7oWH1LzIdv/prMQ7pmlDlaVoL64glqzvNgkgQNgyec9ORPHrT2jaOqMtRyqJuwWjtfb6v+2rk9pmaHj+F137A==}
engines: {node: '>= 16'}
@@ -1204,9 +3573,21 @@ packages:
resolution: {integrity: sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==}
engines: {node: '>= 0.4'}
+ deep-extend@0.6.0:
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
+ engines: {node: '>=4.0.0'}
+
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+
+ default-gateway@6.0.3:
+ resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
+ engines: {node: '>= 10'}
+
defaulty@2.1.0:
resolution: {integrity: sha512-dNWjHNxL32khAaX/kS7/a3rXsgvqqp7cptqt477wAVnJLgaOKjcQt+53jKgPofn6hL2xyG51MegPlB5TKImXjA==}
@@ -1214,6 +3595,10 @@ packages:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
+ define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+
define-properties@1.2.1:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'}
@@ -1221,24 +3606,70 @@ packages:
defined@1.0.1:
resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
+ depd@1.1.2:
+ resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
+ engines: {node: '>= 0.6'}
+
+ depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+
dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
+ destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
detect-libc@2.1.2:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
+ detect-newline@3.1.0:
+ resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
+ engines: {node: '>=8'}
+
detect-node-es@1.1.0:
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+ detect-node@2.1.0:
+ resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
+
+ detect-port-alt@1.1.6:
+ resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==}
+ engines: {node: '>= 4.2.1'}
+ hasBin: true
+
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+ didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+
+ diff-sequences@27.5.1:
+ resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
diff@4.0.4:
resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==}
engines: {node: '>=0.3.1'}
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
+ dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+
+ dns-packet@5.6.1:
+ resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
+ engines: {node: '>=6'}
+
doc-path@4.1.1:
resolution: {integrity: sha512-h1ErTglQAVv2gCnOpD3sFS6uolDbOKHDU1BZq+Kl3npPqroU3dYL42lUgMfd5UimlwtRgp7C9dLGwqQ5D2HYgQ==}
engines: {node: '>=16'}
@@ -1247,6 +3678,63 @@ packages:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'}
+ doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+
+ dom-converter@0.2.0:
+ resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
+
+ dom-serializer@0.2.2:
+ resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==}
+
+ dom-serializer@1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+
+ dom-serializer@2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+
+ domelementtype@1.3.1:
+ resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==}
+
+ domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ domexception@2.0.1:
+ resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==}
+ engines: {node: '>=8'}
+ deprecated: Use your platform's native DOMException instead
+
+ domhandler@4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+
+ domhandler@5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+
+ dompurify@3.2.7:
+ resolution: {integrity: sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==}
+
+ domutils@1.7.0:
+ resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==}
+
+ domutils@2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+
+ domutils@3.2.2:
+ resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
+
+ dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+
+ dotenv-expand@5.1.0:
+ resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==}
+
+ dotenv@10.0.0:
+ resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==}
+ engines: {node: '>=10'}
+
dotignore@0.1.2:
resolution: {integrity: sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==}
hasBin: true
@@ -1258,6 +3746,14 @@ packages:
duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+ ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+
+ ejs@3.1.10:
+ resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+
electron-to-chromium@1.5.286:
resolution: {integrity: sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==}
@@ -1270,13 +3766,74 @@ packages:
ellipsize@0.5.1:
resolution: {integrity: sha512-0jEAyuIRU6U8MN0S5yUqIrkK/AQWkChh642N3zQuGV57s9bsUWYLc0jJOoDIUkZ2sbEL3ySq8xfq71BvG4q3hw==}
+ emittery@0.10.2:
+ resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==}
+ engines: {node: '>=12'}
+
+ emittery@0.8.1:
+ resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==}
+ engines: {node: '>=10'}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+
+ encodeurl@2.0.0:
+ resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
+ engines: {node: '>= 0.8'}
+
+ encoding-sniffer@0.2.1:
+ resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==}
+
+ end-of-stream@1.4.5:
+ resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
+
+ enhanced-resolve@5.19.0:
+ resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==}
+ engines: {node: '>=10.13.0'}
+
+ entities@2.1.0:
+ resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==}
+
+ entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ entities@6.0.1:
+ resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
+ engines: {node: '>=0.12'}
+
+ entities@7.0.1:
+ resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
+ engines: {node: '>=0.12'}
+
+ envinfo@7.21.0:
+ resolution: {integrity: sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ error-ex@1.3.4:
+ resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
+
+ error-stack-parser@2.1.4:
+ resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
+
es-abstract@1.24.1:
resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==}
engines: {node: '>= 0.4'}
+ es-array-method-boxes-properly@1.0.0:
+ resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==}
+
es-define-property@1.0.1:
resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
engines: {node: '>= 0.4'}
@@ -1289,6 +3846,9 @@ packages:
resolution: {integrity: sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==}
engines: {node: '>= 0.4'}
+ es-module-lexer@2.0.0:
+ resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==}
+
es-object-atoms@1.1.1:
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
@@ -1305,14 +3865,35 @@ packages:
resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
engines: {node: '>= 0.4'}
+ esbuild@0.25.12:
+ resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
+ escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+
+ escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+
escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
+ escodegen@2.1.0:
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+ engines: {node: '>=6.0'}
+ hasBin: true
+
eslint-config-next@16.1.6:
resolution: {integrity: sha512-vKq40io2B0XtkkNDYyleATwblNt8xuh3FWp8SpSz3pt7P01OkBFlKsJZ2mWt5WsCySlDQLckb1zMY9yE9Qy0LA==}
peerDependencies:
@@ -1328,6 +3909,22 @@ packages:
peerDependencies:
eslint: '>=7.0.0'
+ eslint-config-prettier@9.1.2:
+ resolution: {integrity: sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==}
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
+
+ eslint-config-react-app@7.0.1:
+ resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ eslint: ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
eslint-import-resolver-node@0.3.9:
resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
@@ -1365,6 +3962,14 @@ packages:
eslint-import-resolver-webpack:
optional: true
+ eslint-plugin-flowtype@8.0.3:
+ resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@babel/plugin-syntax-flow': ^7.14.5
+ '@babel/plugin-transform-react-jsx': ^7.14.9
+ eslint: ^8.1.0
+
eslint-plugin-import@2.32.0:
resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==}
engines: {node: '>=4'}
@@ -1375,6 +3980,19 @@ packages:
'@typescript-eslint/parser':
optional: true
+ eslint-plugin-jest@25.7.0:
+ resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': ^4.0.0 || ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ jest: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+ jest:
+ optional: true
+
eslint-plugin-jsx-a11y@6.10.2:
resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==}
engines: {node: '>=4.0'}
@@ -1395,6 +4013,12 @@ packages:
eslint-config-prettier:
optional: true
+ eslint-plugin-react-hooks@4.6.2:
+ resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+
eslint-plugin-react-hooks@7.0.1:
resolution: {integrity: sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==}
engines: {node: '>=18'}
@@ -1407,19 +4031,37 @@ packages:
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
- eslint-plugin-unused-imports@4.3.0:
- resolution: {integrity: sha512-ZFBmXMGBYfHttdRtOG9nFFpmUvMtbHSjsKrS20vdWdbfiVYsO3yA2SGYy9i9XmZJDfMGBflZGBCm70SEnFQtOA==}
+ eslint-plugin-testing-library@5.11.1:
+ resolution: {integrity: sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'}
+ peerDependencies:
+ eslint: ^7.5.0 || ^8.0.0
+
+ eslint-plugin-unused-imports@4.4.1:
+ resolution: {integrity: sha512-oZGYUz1X3sRMGUB+0cZyK2VcvRX5lm/vB56PgNNcU+7ficUCKm66oZWKUubXWnOuPjQ8PvmXtCViXBMONPe7tQ==}
peerDependencies:
'@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0
- eslint: ^9.0.0 || ^8.0.0
+ eslint: ^10.0.0 || ^9.0.0 || ^8.0.0
peerDependenciesMeta:
'@typescript-eslint/eslint-plugin':
optional: true
+ eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+
+ eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
eslint-scope@8.4.0:
resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ eslint-visitor-keys@2.1.0:
+ resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
+ engines: {node: '>=10'}
+
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -1428,6 +4070,19 @@ packages:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ eslint-webpack-plugin@3.2.0:
+ resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ webpack: ^5.0.0
+
+ eslint@8.57.1:
+ resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
+ hasBin: true
+
eslint@9.39.2:
resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1445,6 +4100,15 @@ packages:
resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ esprima@1.2.5:
+ resolution: {integrity: sha512-S9VbPDU0adFErpDai3qDkjq8+G05ONtKzcyNrPKg/ZKa+tf879nX2KexNU95b31UoTJjRLInNBHHHjFPoCd7lQ==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
@@ -1458,17 +4122,55 @@ packages:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'}
+ estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+
estraverse@5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
+ estree-walker@1.0.1:
+ resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
+
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
+ etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+
+ eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+
eventemitter3@5.0.4:
resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
+ events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+
+ execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+
+ exit@0.1.2:
+ resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
+ engines: {node: '>= 0.8.0'}
+
+ expand-template@2.0.3:
+ resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
+ engines: {node: '>=6'}
+
+ expect@27.5.1:
+ resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ express@4.22.1:
+ resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==}
+ engines: {node: '>= 0.10.0'}
+
fast-deep-equal@1.1.0:
resolution: {integrity: sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==}
@@ -1492,13 +4194,30 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ fast-uri@3.1.0:
+ resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
+
fast-xml-parser@5.3.4:
resolution: {integrity: sha512-EFd6afGmXlCx8H8WTZHhAoDaWaGyuIBoZJ2mknrNxug+aZKjkp0a0dlars9Izl+jF+7Gu1/5f/2h68cQpe0IiA==}
hasBin: true
+ fastest-levenshtein@1.0.16:
+ resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
+ engines: {node: '>= 4.9.1'}
+
fastq@1.20.1:
resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
+ faye-websocket@0.11.4:
+ resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
+ engines: {node: '>=0.8.0'}
+
+ fb-watchman@2.0.2:
+ resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+
+ fd-slicer@1.1.0:
+ resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
+
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
@@ -1508,26 +4227,67 @@ packages:
picomatch:
optional: true
+ file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+
file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'}
+ file-loader@6.2.0:
+ resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
file-selector@2.1.2:
resolution: {integrity: sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig==}
engines: {node: '>= 12'}
+ filelist@1.0.4:
+ resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
+
+ filesize@8.0.7:
+ resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==}
+ engines: {node: '>= 0.4.0'}
+
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
+ finalhandler@1.3.2:
+ resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==}
+ engines: {node: '>= 0.8'}
+
+ find-cache-dir@3.3.2:
+ resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
+ engines: {node: '>=8'}
+
+ find-up@3.0.0:
+ resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
+ engines: {node: '>=6'}
+
+ find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+
find-up@5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
+ flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+
flat-cache@4.0.1:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
+ flat@5.0.2:
+ resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
+ hasBin: true
+
flatted@3.3.3:
resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
@@ -1535,25 +4295,59 @@ packages:
resolution: {integrity: sha512-PN4Ya9xf9nyj/Nd9VxBNMuD7IrlRbmaG6POAQ8VLqgtc6IY/Ln1tYakow+UIq4fihYYYFM70/2oyidE6bbiPgw==}
peerDependencies:
prop-types: ^15.8.1
- react: '>=16.3.0'
- react-dom: '>=16.3.0'
+ react: 19.2.4
+ react-dom: 19.2.4
focus-trap@7.8.0:
resolution: {integrity: sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==}
+ follow-redirects@1.15.11:
+ resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
for-each@0.3.5:
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
engines: {node: '>= 0.4'}
+ fork-ts-checker-webpack-plugin@6.5.3:
+ resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==}
+ engines: {node: '>=10', yarn: '>=1.0.0'}
+ peerDependencies:
+ eslint: '>= 6'
+ typescript: '>= 2.7'
+ vue-template-compiler: '*'
+ webpack: '>= 4'
+ peerDependenciesMeta:
+ eslint:
+ optional: true
+ vue-template-compiler:
+ optional: true
+
+ form-data@3.0.4:
+ resolution: {integrity: sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==}
+ engines: {node: '>= 6'}
+
format-util@1.0.5:
resolution: {integrity: sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==}
- framer-motion@12.31.0:
- resolution: {integrity: sha512-Tnd0FU05zGRFI3JJmBegXonF1rfuzYeuXd1QSdQ99Ysnppk0yWBWSW2wUsqzRpS5nv0zPNx+y0wtDj4kf0q5RQ==}
+ forwarded@0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
+
+ fraction.js@5.3.4:
+ resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==}
+
+ framer-motion@12.34.0:
+ resolution: {integrity: sha512-+/H49owhzkzQyxtn7nZeF4kdH++I2FWrESQ184Zbcw5cEqNHYkE5yxWxcTLSj5lNx3NWdbIRy5FHqUvetD8FWg==}
peerDependencies:
'@emotion/is-prop-valid': '*'
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
+ react: 19.2.4
+ react-dom: 19.2.4
peerDependenciesMeta:
'@emotion/is-prop-valid':
optional: true
@@ -1562,6 +4356,24 @@ packages:
react-dom:
optional: true
+ fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+
+ fs-constants@1.0.0:
+ resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
+
+ fs-extra@10.1.0:
+ resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
+ engines: {node: '>=12'}
+
+ fs-extra@9.1.0:
+ resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
+ engines: {node: '>=10'}
+
+ fs-monkey@1.1.0:
+ resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==}
+
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
@@ -1592,6 +4404,10 @@ packages:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
get-intrinsic@1.3.0:
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
@@ -1600,16 +4416,30 @@ packages:
resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
engines: {node: '>=6'}
+ get-own-enumerable-property-symbols@3.0.2:
+ resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
+
+ get-package-type@0.1.0:
+ resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
+ engines: {node: '>=8.0.0'}
+
get-proto@1.0.1:
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
engines: {node: '>= 0.4'}
+ get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+
get-symbol-description@1.1.0:
resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
engines: {node: '>= 0.4'}
- get-tsconfig@4.13.1:
- resolution: {integrity: sha512-EoY1N2xCn44xU6750Sx7OjOIT59FkmstNc3X6y5xpz7D5cBtZRe/3pSlTkDJgqsOk3WwZPkWfonhhUJfttQo3w==}
+ get-tsconfig@4.13.6:
+ resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==}
+
+ github-from-package@0.0.0:
+ resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
@@ -1619,10 +4449,29 @@ packages:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
+ glob-to-regexp@0.4.1:
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
+ global-modules@2.0.0:
+ resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==}
+ engines: {node: '>=6'}
+
+ global-prefix@3.0.0:
+ resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==}
+ engines: {node: '>=6'}
+
+ globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
+ engines: {node: '>=8'}
+
globals@14.0.0:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
@@ -1635,6 +4484,10 @@ packages:
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
engines: {node: '>= 0.4'}
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+
gofmt.js@0.0.2:
resolution: {integrity: sha512-79B7Ja5UBfWfEFutuvrQtJp2nVdiyrskFjH/66rdun2y74DENfxrfdzXTQS2QFgeSHGWOrgR9eJGrsszu8RWXA==}
@@ -1647,6 +4500,12 @@ packages:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+
gzip-size@6.0.0:
resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
engines: {node: '>=10'}
@@ -1655,10 +4514,20 @@ packages:
resolution: {integrity: sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==}
engines: {node: '>=0.8.0'}
+ handle-thing@2.0.1:
+ resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
+
+ harmony-reflect@1.6.2:
+ resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==}
+
has-bigints@1.1.0:
resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
engines: {node: '>= 0.4'}
+ has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
@@ -1692,6 +4561,10 @@ packages:
hast-util-whitespace@3.0.0:
resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+ he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+
hermes-estree@0.25.1:
resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==}
@@ -1701,19 +4574,130 @@ packages:
highlight-words-core@1.2.3:
resolution: {integrity: sha512-m1O9HW3/GNHxzSIXWw1wCNXXsgLlxrP0OI6+ycGUhiUHkikqW3OrwVHz+lxeNBe5yqLESdIcj8PowHQ2zLvUvQ==}
+ highlight.js@11.11.1:
+ resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==}
+ engines: {node: '>=12.0.0'}
+
+ hoopy@0.1.4:
+ resolution: {integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==}
+ engines: {node: '>= 6.0.0'}
+
+ hosted-git-info@4.1.0:
+ resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
+ engines: {node: '>=10'}
+
+ hpack.js@2.1.6:
+ resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
+
+ html-encoding-sniffer@2.0.1:
+ resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==}
+ engines: {node: '>=10'}
+
+ html-entities@2.6.0:
+ resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==}
+
html-escaper@2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+ html-minifier-terser@6.1.0:
+ resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
html-to-image@1.11.11:
resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==}
html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+ html-webpack-plugin@5.6.6:
+ resolution: {integrity: sha512-bLjW01UTrvoWTJQL5LsMRo1SypHW80FTm12OJRSnr3v6YHNhfe+1r0MYUZJMACxnCHURVnBWRwAsWs2yPU9Ezw==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.20.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+
+ htmlparser2@10.1.0:
+ resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==}
+
+ htmlparser2@6.1.0:
+ resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
+
+ http-deceiver@1.2.7:
+ resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
+
+ http-errors@1.8.1:
+ resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==}
+ engines: {node: '>= 0.6'}
+
+ http-errors@2.0.1:
+ resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
+ engines: {node: '>= 0.8'}
+
+ http-parser-js@0.5.10:
+ resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==}
+
+ http-proxy-agent@4.0.1:
+ resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
+ engines: {node: '>= 6'}
+
+ http-proxy-middleware@2.0.9:
+ resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@types/express': ^4.17.13
+ peerDependenciesMeta:
+ '@types/express':
+ optional: true
+
+ http-proxy@1.18.1:
+ resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
+ engines: {node: '>=8.0.0'}
+
+ https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+
human-format@1.2.1:
resolution: {integrity: sha512-o5Ldz62VWR5lYUZ8aVQaLKiN37NsHnmk3xjMoUjza3mGkk8MvMofgZT0T6HKSCKSJIir+AWk9Dx8KhxvZAUgCg==}
engines: {node: '>=4'}
+ human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+
+ iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+
+ iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+
+ icss-utils@5.1.0:
+ resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ idb@7.1.1:
+ resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
+
+ identity-obj-proxy@3.0.0:
+ resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==}
+ engines: {node: '>=4'}
+
+ ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ ignore-by-default@1.0.1:
+ resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}
+
ignore@5.3.2:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
@@ -1722,10 +4706,18 @@ packages:
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
engines: {node: '>= 4'}
+ immer@9.0.21:
+ resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
+
import-fresh@3.3.1:
resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
engines: {node: '>=6'}
+ import-local@3.2.0:
+ resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
+ engines: {node: '>=8'}
+ hasBin: true
+
imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
@@ -1737,10 +4729,25 @@ packages:
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+
internal-slot@1.1.0:
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
engines: {node: '>= 0.4'}
+ interpret@3.1.1:
+ resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==}
+ engines: {node: '>=10.13.0'}
+
+ ipaddr.js@1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
+
+ ipaddr.js@2.3.0:
+ resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==}
+ engines: {node: '>= 10'}
+
is-arguments@1.2.0:
resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==}
engines: {node: '>= 0.4'}
@@ -1749,6 +4756,9 @@ packages:
resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
engines: {node: '>= 0.4'}
+ is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
is-arrayish@0.3.4:
resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==}
@@ -1760,6 +4770,10 @@ packages:
resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
engines: {node: '>= 0.4'}
+ is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+
is-boolean-object@1.2.2:
resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
engines: {node: '>= 0.4'}
@@ -1783,6 +4797,11 @@ packages:
resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
engines: {node: '>= 0.4'}
+ is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -1791,6 +4810,14 @@ packages:
resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
engines: {node: '>= 0.4'}
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-generator-fn@2.1.0:
+ resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
+ engines: {node: '>=6'}
+
is-generator-function@1.1.2:
resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==}
engines: {node: '>= 0.4'}
@@ -1803,6 +4830,9 @@ packages:
resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
engines: {node: '>= 0.4'}
+ is-module@1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+
is-negative-zero@2.0.3:
resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
engines: {node: '>= 0.4'}
@@ -1815,10 +4845,29 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
+ is-obj@1.0.1:
+ resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
+ engines: {node: '>=0.10.0'}
+
+ is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+
+ is-plain-obj@3.0.0:
+ resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
+ engines: {node: '>=10'}
+
+ is-plain-object@2.0.4:
+ resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
+ engines: {node: '>=0.10.0'}
+
is-plain-object@5.0.0:
resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
engines: {node: '>=0.10.0'}
+ is-potential-custom-element-name@1.0.1:
+ resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+
is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
engines: {node: '>= 0.4'}
@@ -1827,6 +4876,14 @@ packages:
resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
engines: {node: '>= 0.4'}
+ is-regexp@1.0.0:
+ resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==}
+ engines: {node: '>=0.10.0'}
+
+ is-root@2.1.0:
+ resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==}
+ engines: {node: '>=6'}
+
is-set@2.0.3:
resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
engines: {node: '>= 0.4'}
@@ -1835,6 +4892,10 @@ packages:
resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
engines: {node: '>= 0.4'}
+ is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+
is-string@1.1.1:
resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
engines: {node: '>= 0.4'}
@@ -1847,6 +4908,9 @@ packages:
resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
engines: {node: '>= 0.4'}
+ is-typedarray@1.0.0:
+ resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+
is-weakmap@2.0.2:
resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
engines: {node: '>= 0.4'}
@@ -1859,19 +4923,227 @@ packages:
resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
engines: {node: '>= 0.4'}
+ is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+
+ isarray@1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+
isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ isobject@3.0.1:
+ resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
+ engines: {node: '>=0.10.0'}
+
+ istanbul-lib-coverage@3.2.2:
+ resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
+ engines: {node: '>=8'}
+
+ istanbul-lib-instrument@5.2.1:
+ resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
+ engines: {node: '>=8'}
+
+ istanbul-lib-report@3.0.1:
+ resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
+ engines: {node: '>=10'}
+
+ istanbul-lib-source-maps@4.0.1:
+ resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
+ engines: {node: '>=10'}
+
+ istanbul-reports@3.2.0:
+ resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==}
+ engines: {node: '>=8'}
+
iterator.prototype@1.1.5:
resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
engines: {node: '>= 0.4'}
+ jake@10.9.4:
+ resolution: {integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
javascript-natural-sort@0.7.1:
resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==}
+ jest-changed-files@27.5.1:
+ resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-circus@27.5.1:
+ resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-cli@27.5.1:
+ resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ jest-config@27.5.1:
+ resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ ts-node:
+ optional: true
+
+ jest-diff@27.5.1:
+ resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-docblock@27.5.1:
+ resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-each@27.5.1:
+ resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-environment-jsdom@27.5.1:
+ resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-environment-node@27.5.1:
+ resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-get-type@27.5.1:
+ resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-haste-map@27.5.1:
+ resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-jasmine2@27.5.1:
+ resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-leak-detector@27.5.1:
+ resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-matcher-utils@27.5.1:
+ resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-message-util@27.5.1:
+ resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-message-util@28.1.3:
+ resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==}
+ engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
+
+ jest-mock@27.5.1:
+ resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-pnp-resolver@1.2.3:
+ resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
+ engines: {node: '>=6'}
+ peerDependencies:
+ jest-resolve: '*'
+ peerDependenciesMeta:
+ jest-resolve:
+ optional: true
+
+ jest-regex-util@27.5.1:
+ resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-regex-util@28.0.2:
+ resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==}
+ engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
+
+ jest-resolve-dependencies@27.5.1:
+ resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-resolve@27.5.1:
+ resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-runner@27.5.1:
+ resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-runtime@27.5.1:
+ resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-serializer@27.5.1:
+ resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-snapshot@27.5.1:
+ resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-util@27.5.1:
+ resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-util@28.1.3:
+ resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==}
+ engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
+
+ jest-validate@27.5.1:
+ resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-watch-typeahead@1.1.0:
+ resolution: {integrity: sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ jest: ^27.0.0 || ^28.0.0
+
+ jest-watcher@27.5.1:
+ resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-watcher@28.1.3:
+ resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==}
+ engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
+
+ jest-worker@26.6.2:
+ resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
+ engines: {node: '>= 10.13.0'}
+
+ jest-worker@27.5.1:
+ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
+ engines: {node: '>= 10.13.0'}
+
+ jest-worker@28.1.3:
+ resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==}
+ engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
+
+ jest@27.5.1:
+ resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ jiti@1.21.7:
+ resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
+ hasBin: true
+
jq-web@0.5.1:
resolution: {integrity: sha512-3Fa3E6g3U1O1j46ljy0EM10yRr4txzILga8J7bqOG8F89gZ6Lilz82WG9z6TItWpYEO0YGa4W8yFGj+NMM1xqQ==}
@@ -1886,10 +5158,24 @@ packages:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
+ jsdom@16.7.0:
+ resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+
jsep@1.4.0:
resolution: {integrity: sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==}
engines: {node: '>= 10.16.0'}
+ jsesc@2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+
jsesc@3.1.0:
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
engines: {node: '>=6'}
@@ -1902,6 +5188,9 @@ packages:
json-buffer@3.0.1:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
json-schema-faker@0.5.9:
resolution: {integrity: sha512-fNKLHgDvfGNNTX1zqIjqFMJjCLzJ2kvnJ831x4aqkAoeE4jE2TxvpJdhOnk3JU3s42vFzmXvkpbYzH5H3ncAzg==}
hasBin: true
@@ -1913,6 +5202,12 @@ packages:
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
+ json-schema@0.4.0:
+ resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
+
json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
@@ -1931,18 +5226,35 @@ packages:
jsonc-parser@3.3.1:
resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
+ jsonfile@6.2.0:
+ resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==}
+
jsonpath-plus@10.3.0:
resolution: {integrity: sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==}
engines: {node: '>=18.0.0'}
hasBin: true
+ jsonpath@1.2.1:
+ resolution: {integrity: sha512-Jl6Jhk0jG+kP3yk59SSeGq7LFPR4JQz1DU0K+kXTysUhMostbhU3qh5mjTuf0PqFcXpAT7kvmMt9WxV10NyIgQ==}
+
+ jsonpointer@5.0.1:
+ resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
+ engines: {node: '>=0.10.0'}
+
jsx-ast-utils@3.3.5:
resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
engines: {node: '>=4.0'}
+ keytar@7.9.0:
+ resolution: {integrity: sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==}
+
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+
kld-affine@2.1.1:
resolution: {integrity: sha512-NIS9sph8ZKdnQxZa5TcggaFs/Qr9zX3brFlGwE0+0Z4EzFIvAFuqLSwNeU4GkEpaX8ndh3ggGmWV7BPPcS3vjQ==}
engines: {node: '>= 10.15.3'}
@@ -1959,6 +5271,14 @@ packages:
resolution: {integrity: sha512-PEfxjQ6tsxL9DHBIhM2UZsSes0GI+OIMjbE0kj60jr80Biq/xXl1eGfnyzmfoackAMdKZtw2060L09HdjkPP5w==}
engines: {node: '>= 10.15.3'}
+ kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+
+ klona@2.0.6:
+ resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
+ engines: {node: '>= 8'}
+
language-subtag-registry@0.3.23:
resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
@@ -1966,10 +5286,51 @@ packages:
resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
engines: {node: '>=0.10'}
+ launch-editor@2.12.0:
+ resolution: {integrity: sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==}
+
+ leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
+
levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
+ lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+
+ 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==}
+
+ linkify-it@3.0.3:
+ resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==}
+
+ loader-runner@4.3.1:
+ resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==}
+ engines: {node: '>=6.11.5'}
+
+ loader-utils@2.0.4:
+ resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
+ engines: {node: '>=8.9.0'}
+
+ loader-utils@3.3.1:
+ resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==}
+ engines: {node: '>= 12.13.0'}
+
+ locate-path@3.0.0:
+ resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
+ engines: {node: '>=6'}
+
+ locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+
locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
@@ -1983,19 +5344,61 @@ packages:
lodash.debounce@4.0.8:
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ lodash.sortby@4.7.0:
+ resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
+
+ lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+
+ lodash@4.17.23:
+ resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==}
+
loose-envify@1.4.0:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
+ lower-case@2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+
+ magic-string@0.25.9:
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+
+ make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+
+ make-dir@4.0.0:
+ resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
+ engines: {node: '>=10'}
+
make-error@1.3.6:
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+ makeerror@1.0.12:
+ resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
+
+ markdown-it@12.3.2:
+ resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==}
+ hasBin: true
+
+ marked@14.0.0:
+ resolution: {integrity: sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==}
+ engines: {node: '>= 18'}
+ hasBin: true
+
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
@@ -2003,13 +5406,40 @@ packages:
mdast-util-to-hast@13.2.1:
resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==}
+ mdn-data@2.0.14:
+ resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
+
+ mdn-data@2.0.4:
+ resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==}
+
+ mdurl@1.0.1:
+ resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
+
+ media-typer@0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+ engines: {node: '>= 0.6'}
+
+ memfs@3.5.3:
+ resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
+ engines: {node: '>= 4.0.0'}
+
memoize-one@4.0.3:
resolution: {integrity: sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw==}
+ merge-descriptors@1.0.3:
+ resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
+
+ merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
+ methods@1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+ engines: {node: '>= 0.6'}
+
micromark-util-character@2.1.1:
resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
@@ -2029,9 +5459,47 @@ packages:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-db@1.54.0:
+ resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ mimic-response@3.1.0:
+ resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
+ engines: {node: '>=10'}
+
+ mini-css-extract-plugin@2.10.0:
+ resolution: {integrity: sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+
+ minimalistic-assert@1.0.1:
+ resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ minimatch@5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+
minimatch@9.0.5:
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -2039,25 +5507,32 @@ packages:
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ mkdirp-classic@0.5.3:
+ resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
+
+ mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+
mock-property@1.0.3:
resolution: {integrity: sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==}
engines: {node: '>= 0.4'}
- monaco-editor@0.52.2:
- resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==}
+ monaco-editor@0.55.1:
+ resolution: {integrity: sha512-jz4x+TJNFHwHtwuV9vA9rMujcZRb0CEilTEwG2rRSpe/A7Jdkuj8xPKttCgOh+v/lkHy7HsZ64oj+q3xoAFl9A==}
- motion-dom@12.30.1:
- resolution: {integrity: sha512-QXB+iFJRzZTqL+Am4a1CRoHdH+0Nq12wLdqQQZZsfHlp9AMt6PA098L/61oVZsDA+Ep3QSGudzpViyRrhYhGcQ==}
+ motion-dom@12.34.0:
+ resolution: {integrity: sha512-Lql3NuEcScRDxTAO6GgUsRHBZOWI/3fnMlkMcH5NftzcN37zJta+bpbMAV9px4Nj057TuvRooMK7QrzMCgtz6Q==}
motion-utils@12.29.2:
resolution: {integrity: sha512-G3kc34H2cX2gI63RqU+cZq+zWRRPSsNIOjpdl9TN4AQwC4sgwYPl/Q/Obf/d53nOm569T0fYK+tcoSV50BWx8A==}
- motion@12.31.0:
- resolution: {integrity: sha512-KpZQik3LLFdsiaLdFXQGnty84KcDvvdvBCHSvA9aH+RjQTP6jkJGyngRPSngau13ARUI6TbPphf/Vv/QxwxRJQ==}
+ motion@12.34.0:
+ resolution: {integrity: sha512-01Sfa/zgsD/di8zA/uFW5Eb7/SPXoGyUfy+uMRMW5Spa8j0z/UbfQewAYvPMYFCXRlyD6e5aLHh76TxeeJD+RA==}
peerDependencies:
'@emotion/is-prop-valid': '*'
- react: ^18.0.0 || ^19.0.0
- react-dom: ^18.0.0 || ^19.0.0
+ react: 19.2.4
+ react-dom: 19.2.4
peerDependenciesMeta:
'@emotion/is-prop-valid':
optional: true
@@ -2070,9 +5545,22 @@ packages:
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
engines: {node: '>=10'}
+ ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ multicast-dns@7.2.5:
+ resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
+ hasBin: true
+
+ mute-stream@0.0.8:
+ resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
+
+ mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+
name-initials@0.1.3:
resolution: {integrity: sha512-UJcpCmyftGuZ7I46dqOw776VvH3VqHhAM7ma4eyY0t52FahFv/VhmDqSeekwSZFXyK9HLg9MXmb9udeOJ3YtCA==}
@@ -2081,19 +5569,36 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ napi-build-utils@2.0.0:
+ resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==}
+
napi-postinstall@0.3.4:
resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
hasBin: true
+ natural-compare-lite@1.4.0:
+ resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
+
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+
+ negotiator@0.6.4:
+ resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==}
+ engines: {node: '>= 0.6'}
+
+ neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+
next-seo@7.1.0:
resolution: {integrity: sha512-gTWm9wnAXvtqD8QPIpbBA6iMnqMp1WyNTGza9QJPabVIPoX+ZDt1/J0KUkziiIKRyad+nSGLC0BfHgekqcfq0Q==}
peerDependencies:
next: '>=13.4.0'
- react: '>=18.2.0'
+ react: 19.2.4
next-sitemap@4.2.3:
resolution: {integrity: sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==}
@@ -2110,8 +5615,8 @@ packages:
'@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
+ react: 19.2.4
+ react-dom: 19.2.4
sass: ^1.3.0
peerDependenciesMeta:
'@opentelemetry/api':
@@ -2127,15 +5632,62 @@ packages:
resolution: {integrity: sha512-kuE5OcqmAg1qh9J6LskoDLybj8WmLyfxD+KsVGGvRe5zZg6bGQ/QM/1/7TdJq/u7hIeVqFqcloadD0pcosRXUw==}
peerDependencies:
next: '>=11.0.0'
- react: '>=17.0.0'
+ react: 19.2.4
+
+ no-case@3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+
+ node-abi@3.87.0:
+ resolution: {integrity: sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==}
+ engines: {node: '>=10'}
+
+ node-addon-api@4.3.0:
+ resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==}
+
+ node-forge@1.3.3:
+ resolution: {integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==}
+ engines: {node: '>= 6.13.0'}
+
+ node-int64@0.4.0:
+ resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
node-releases@2.0.27:
resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==}
+ nodemon@2.0.22:
+ resolution: {integrity: sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==}
+ engines: {node: '>=8.10.0'}
+ hasBin: true
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-url@6.1.0:
+ resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
+ engines: {node: '>=10'}
+
+ npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+
+ nth-check@1.0.2:
+ resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==}
+
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+
+ nwsapi@2.2.23:
+ resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==}
+
object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
+ object-hash@3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
+
object-inspect@1.12.3:
resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
@@ -2163,6 +5715,10 @@ packages:
resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
engines: {node: '>= 0.4'}
+ object.getownpropertydescriptors@2.1.9:
+ resolution: {integrity: sha512-mt8YM6XwsTTovI+kdZdHSxoyF2DI59up034orlC9NfweclcWOt7CVascNNLp6U+bjFVCVCIh9PwS76tDM/rH8g==}
+ engines: {node: '>= 0.4'}
+
object.groupby@1.0.3:
resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
engines: {node: '>= 0.4'}
@@ -2171,9 +5727,24 @@ packages:
resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
engines: {node: '>= 0.4'}
+ obuf@1.1.2:
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
+
+ on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+
+ on-headers@1.1.0:
+ resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==}
+ engines: {node: '>= 0.8'}
+
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+
oniguruma-parser@0.12.1:
resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
@@ -2183,6 +5754,10 @@ packages:
ono@4.0.11:
resolution: {integrity: sha512-jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g==}
+ open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+
opener@1.5.2:
resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
hasBin: true
@@ -2199,14 +5774,37 @@ packages:
resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
engines: {node: '>=12.20'}
+ p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+
p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
+ p-locate@3.0.0:
+ resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
+ engines: {node: '>=6'}
+
+ p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+
p-locate@5.0.0:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
+ p-retry@4.6.2:
+ resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
+ engines: {node: '>=8'}
+
+ p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+ param-case@3.0.4:
+ resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
+
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -2214,9 +5812,39 @@ packages:
parse-imports-exports@0.2.4:
resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==}
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+
+ parse-semver@1.1.1:
+ resolution: {integrity: sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==}
+
parse-statements@1.0.11:
resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==}
+ parse5-htmlparser2-tree-adapter@7.1.0:
+ resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==}
+
+ parse5-parser-stream@7.1.2:
+ resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==}
+
+ parse5@6.0.1:
+ resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
+
+ parse5@7.3.0:
+ resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
+
+ parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+
+ pascal-case@3.1.2:
+ resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
+
+ path-exists@3.0.0:
+ resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
+ engines: {node: '>=4'}
+
path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
@@ -2232,6 +5860,22 @@ packages:
path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ path-to-regexp@0.1.12:
+ resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ pend@1.2.0:
+ resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
+
+ performance-now@2.1.0:
+ resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
+
+ picocolors@0.2.1:
+ resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==}
+
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -2243,6 +5887,22 @@ packages:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
+ pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+
+ pirates@4.0.7:
+ resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
+ engines: {node: '>= 6'}
+
+ pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+
+ pkg-up@3.1.0:
+ resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
+ engines: {node: '>=8'}
+
pluralize@8.0.0:
resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
engines: {node: '>=4'}
@@ -2251,9 +5911,438 @@ packages:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
+ postcss-attribute-case-insensitive@5.0.2:
+ resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-browser-comments@4.0.0:
+ resolution: {integrity: sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==}
+ engines: {node: '>=8'}
+ peerDependencies:
+ browserslist: '>=4'
+ postcss: '>=8'
+
+ postcss-calc@8.2.4:
+ resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==}
+ peerDependencies:
+ postcss: ^8.2.2
+
+ postcss-clamp@4.1.0:
+ resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==}
+ engines: {node: '>=7.6.0'}
+ peerDependencies:
+ postcss: ^8.4.6
+
+ postcss-color-functional-notation@4.2.4:
+ resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-color-hex-alpha@8.0.4:
+ resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-color-rebeccapurple@7.1.1:
+ resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-colormin@5.3.1:
+ resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-convert-values@5.1.3:
+ resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-custom-media@8.0.2:
+ resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.3
+
+ postcss-custom-properties@12.1.11:
+ resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-custom-selectors@6.0.3:
+ resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.3
+
+ postcss-dir-pseudo-class@6.0.5:
+ resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-discard-comments@5.1.2:
+ resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-duplicates@5.1.0:
+ resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-empty@5.1.1:
+ resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-overridden@5.1.0:
+ resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-double-position-gradients@3.1.2:
+ resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-env-function@4.0.6:
+ resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-flexbugs-fixes@5.0.2:
+ resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==}
+ peerDependencies:
+ postcss: ^8.1.4
+
+ postcss-focus-visible@6.0.4:
+ resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-focus-within@5.0.4:
+ resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-font-variant@5.0.0:
+ resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-gap-properties@3.0.5:
+ resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-image-set-function@4.0.7:
+ resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-import@15.1.0:
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+
+ postcss-initial@4.0.1:
+ resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==}
+ peerDependencies:
+ postcss: ^8.0.0
+
+ postcss-js@4.1.0:
+ resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
+
+ postcss-lab-function@4.2.1:
+ resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ 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-loader@6.2.1:
+ resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ postcss: ^7.0.0 || ^8.0.1
+ webpack: ^5.0.0
+
+ postcss-logical@5.0.4:
+ resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.4
+
+ postcss-media-minmax@5.0.0:
+ resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-merge-longhand@5.1.7:
+ resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-merge-rules@5.1.4:
+ resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-font-values@5.1.0:
+ resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-gradients@5.1.1:
+ resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-params@5.1.4:
+ resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-selectors@5.2.1:
+ resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-modules-extract-imports@3.1.0:
+ resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-local-by-default@4.2.0:
+ resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-scope@3.2.1:
+ resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-values@4.0.0:
+ resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-nested@6.2.0:
+ resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+
+ postcss-nesting@10.2.0:
+ resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-normalize-charset@5.1.0:
+ resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-display-values@5.1.0:
+ resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-positions@5.1.1:
+ resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-repeat-style@5.1.1:
+ resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-string@5.1.0:
+ resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-timing-functions@5.1.0:
+ resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-unicode@5.1.1:
+ resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-url@5.1.0:
+ resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-whitespace@5.1.1:
+ resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize@10.0.1:
+ resolution: {integrity: sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==}
+ engines: {node: '>= 12'}
+ peerDependencies:
+ browserslist: '>= 4'
+ postcss: '>= 8'
+
+ postcss-opacity-percentage@1.1.3:
+ resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-ordered-values@5.1.3:
+ resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-overflow-shorthand@3.0.4:
+ resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-page-break@3.0.4:
+ resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==}
+ peerDependencies:
+ postcss: ^8
+
+ postcss-place@7.0.5:
+ resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-preset-env@7.8.3:
+ resolution: {integrity: sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-pseudo-class-any-link@7.1.6:
+ resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-reduce-initial@5.1.2:
+ resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-reduce-transforms@5.1.0:
+ resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-replace-overflow-wrap@4.0.0:
+ resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==}
+ peerDependencies:
+ postcss: ^8.0.3
+
+ postcss-selector-not@6.0.1:
+ resolution: {integrity: sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==}
+ engines: {node: ^12 || ^14 || >=16}
+ peerDependencies:
+ postcss: ^8.2
+
+ postcss-selector-parser@6.1.2:
+ resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
+ engines: {node: '>=4'}
+
+ postcss-selector-parser@7.1.1:
+ resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==}
+ engines: {node: '>=4'}
+
+ postcss-svgo@5.1.0:
+ resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-unique-selectors@5.1.1:
+ resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ postcss@7.0.39:
+ resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==}
+ engines: {node: '>=6.0.0'}
+
postcss@8.4.31:
resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
engines: {node: ^10 || ^12 || >=14}
@@ -2262,6 +6351,15 @@ packages:
resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
engines: {node: ^10 || ^12 || >=14}
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ prebuild-install@7.1.3:
+ resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==}
+ engines: {node: '>=10'}
+ hasBin: true
+
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -2275,24 +6373,99 @@ packages:
engines: {node: '>=14'}
hasBin: true
+ pretty-bytes@5.6.0:
+ resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
+ engines: {node: '>=6'}
+
+ pretty-error@4.0.0:
+ resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
+
+ pretty-format@27.5.1:
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ pretty-format@28.1.3:
+ resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==}
+ engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
+
+ process-nextick-args@2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+
+ promise@8.3.0:
+ resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==}
+
+ prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+
prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
property-information@7.1.0:
resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
+ proxy-addr@2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
+
+ psl@1.15.0:
+ resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==}
+
+ pstree.remy@1.1.8:
+ resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==}
+
+ pump@3.0.3:
+ resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==}
+
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
+ q@1.5.1:
+ resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==}
+ engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
+ deprecated: |-
+ You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.
+
+ (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)
+
+ qs@6.14.2:
+ resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==}
+ engines: {node: '>=0.6'}
+
+ querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ raf@3.4.1:
+ resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==}
+
+ randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+
+ range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+
+ raw-body@2.5.3:
+ resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==}
+ engines: {node: '>= 0.8'}
+
+ rc@1.2.8:
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
+ hasBin: true
+
reablocks@8.7.15:
resolution: {integrity: sha512-Ruzzyacl5f2OKplL+G9eg4BJPqhs07JzG/8D/PDR7SdYAn0H7UToaMGgQ1iTAWqFuae0fTqIaNwnO+2Z6LR4Vg==}
peerDependencies:
- react: '>=16'
- react-dom: '>=16'
+ react: 19.2.4
+ react-dom: 19.2.4
+
+ react-app-polyfill@3.0.0:
+ resolution: {integrity: sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==}
+ engines: {node: '>=14'}
react-base16-styling@0.10.0:
resolution: {integrity: sha512-H1k2eFB6M45OaiRru3PBXkuCcn2qNmx+gzLb4a9IPMR7tMH8oBRXU5jGbPDYG1Hz+82d88ED0vjR8BmqU3pQdg==}
@@ -2300,18 +6473,31 @@ packages:
react-cool-dimensions@2.0.7:
resolution: {integrity: sha512-z1VwkAAJ5d8QybDRuYIXTE41RxGr5GYsv1bQhbOBE8cMfoZQZpcF0odL64vdgrQVzat2jayedj1GoYi80FWcbA==}
peerDependencies:
- react: '>= 16.8.0'
+ react: 19.2.4
+
+ react-dev-utils@12.0.1:
+ resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=2.7'
+ webpack: '>=4'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
react-dom@19.2.4:
resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==}
peerDependencies:
- react: ^19.2.4
+ react: 19.2.4
react-dropzone@14.3.8:
resolution: {integrity: sha512-sBgODnq+lcA4P296DY4wacOZz3JFpD99fp+hb//iBO2HHnyeZU3FwWyXJ6salNpqQdsZrgMrotuko/BdJMV8Ug==}
engines: {node: '>= 10.13'}
peerDependencies:
- react: '>= 16.8 || 18.0.0'
+ react: 19.2.4
+
+ react-error-overlay@6.1.0:
+ resolution: {integrity: sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==}
react-fast-compare@3.2.2:
resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
@@ -2319,46 +6505,60 @@ packages:
react-highlight-words@0.20.0:
resolution: {integrity: sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA==}
peerDependencies:
- react: ^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0
+ react: 19.2.4
react-hot-toast@2.6.0:
resolution: {integrity: sha512-bH+2EBMZ4sdyou/DPrfgIouFpcRLCJ+HoCA32UoAYHn6T3Ur5yfcDCeSr5mwldl6pFOsiocmrXMuoCJ1vV8bWg==}
engines: {node: '>=10'}
peerDependencies:
- react: '>=16'
- react-dom: '>=16'
+ react: 19.2.4
+ react-dom: 19.2.4
react-icons@5.5.0:
resolution: {integrity: sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==}
peerDependencies:
- react: '*'
+ react: 19.2.4
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+
+ react-is@18.3.1:
+ resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+
react-json-tree@0.20.0:
resolution: {integrity: sha512-h+f9fUNAxzBx1rbrgUF7+zSWKGHDtt2VPYLErIuB0JyKGnWgFMM21ksqQyb3EXwXNnoMW2rdE5kuAaubgGOx2Q==}
peerDependencies:
'@types/react': 19.2.11
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: 19.2.4
react-linkify-it@2.0.0:
resolution: {integrity: sha512-L9FY853JgBL+HXyXUZMvMin95WZ/lHNrpBs28P8WYk7B4zC2z7e0j/BrDfjIqB8ZeDCpcBgcWi+Cwjbd4/OlyQ==}
peerDependencies:
- react: '*'
+ react: 19.2.4
react-number-format@5.4.4:
resolution: {integrity: sha512-wOmoNZoOpvMminhifQYiYSTCLUDOiUbBunrMrMjA+dV52sY+vck1S4UhR6PkgnoCquvvMSeJjErXZ4qSaWCliA==}
peerDependencies:
- react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: 19.2.4
+ react-dom: 19.2.4
+
+ react-refresh@0.11.0:
+ resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==}
+ engines: {node: '>=0.10.0'}
+
+ react-refresh@0.17.0:
+ resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
+ engines: {node: '>=0.10.0'}
react-remove-scroll-bar@2.3.8:
resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
engines: {node: '>=10'}
peerDependencies:
'@types/react': 19.2.11
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: 19.2.4
peerDependenciesMeta:
'@types/react':
optional: true
@@ -2368,17 +6568,29 @@ packages:
engines: {node: '>=10'}
peerDependencies:
'@types/react': 19.2.11
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ react: 19.2.4
peerDependenciesMeta:
'@types/react':
optional: true
+ react-scripts@5.0.1:
+ resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+ peerDependencies:
+ eslint: '*'
+ react: 19.2.4
+ typescript: ^3.2.1 || ^4
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
react-style-singleton@2.2.3:
resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
engines: {node: '>=10'}
peerDependencies:
'@types/react': 19.2.11
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ react: 19.2.4
peerDependenciesMeta:
'@types/react':
optional: true
@@ -2387,39 +6599,78 @@ packages:
resolution: {integrity: sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==}
engines: {node: '>=10'}
peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: 19.2.4
react-use-gesture@8.0.1:
resolution: {integrity: sha512-CXzUNkulUdgouaAlvAsC5ZVo0fi9KGSBSk81WrE4kOIcJccpANe9zZkAYr5YZZhqpicIFxitsrGVS4wmoMun9A==}
deprecated: This package is no longer maintained. Please use @use-gesture/react instead
peerDependencies:
- react: '>= 16.8.0'
+ react: 19.2.4
react-zoomable-ui@0.11.0:
resolution: {integrity: sha512-2msg8DyZUToHNTek3WfvlvZ6mumWyocp7xPzUvMaYpQAwjXvenRYR9nlmmITLymJdZReNqR2nDW8I5yUC8mXiQ==}
peerDependencies:
- react: '*'
+ react: 19.2.4
react@19.2.4:
resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==}
engines: {node: '>=0.10.0'}
+ read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+
+ read@1.0.7:
+ resolution: {integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==}
+ engines: {node: '>=0.8'}
+
+ readable-stream@2.3.8:
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+
+ readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+
+ readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+
reaflow@5.4.1:
resolution: {integrity: sha512-E9Pr1yv9HJ8TeSw9FU9lbZ/S6Hv9DzwPs0lToIO+iFURnwziAkDzTB+F1aJ6aIhfmQ9sV9eaqOJNwSwf7/svjw==}
peerDependencies:
- react: '>=16'
- react-dom: '>=16'
+ react: 19.2.4
+ react-dom: 19.2.4
reakeys@2.0.6:
resolution: {integrity: sha512-dmZPhOwU3NuLjy61CLqf3dGEhhetx4Du7m/DlX1eqZrBKcKrDqpR0O1tHyYMB95KVdhVRjrfcuFFawI7EqGyxQ==}
peerDependencies:
- react: '>=16'
- react-dom: '>=16'
+ react: 19.2.4
+ react-dom: 19.2.4
+
+ rechoir@0.8.0:
+ resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
+ engines: {node: '>= 10.13.0'}
+
+ recursive-readdir@2.2.3:
+ resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==}
+ engines: {node: '>=6.0.0'}
reflect.getprototypeof@1.0.10:
resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
engines: {node: '>= 0.4'}
+ regenerate-unicode-properties@10.2.2:
+ resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==}
+ engines: {node: '>=4'}
+
+ regenerate@1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+
+ regenerator-runtime@0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+
+ regex-parser@2.3.1:
+ resolution: {integrity: sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==}
+
regex-recursion@6.0.2:
resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
@@ -2433,13 +6684,66 @@ packages:
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
engines: {node: '>= 0.4'}
+ regexpu-core@6.4.0:
+ resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==}
+ engines: {node: '>=4'}
+
+ regjsgen@0.8.0:
+ resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
+
+ regjsparser@0.13.0:
+ resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==}
+ hasBin: true
+
+ relateurl@0.2.7:
+ resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
+ engines: {node: '>= 0.10'}
+
+ renderkid@3.0.0:
+ resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
+
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+ requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+
+ resolve-cwd@3.0.0:
+ resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
+ engines: {node: '>=8'}
+
resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
+ resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+
resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+ resolve-url-loader@4.0.0:
+ resolution: {integrity: sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==}
+ engines: {node: '>=8.9'}
+ peerDependencies:
+ rework: 1.0.1
+ rework-visit: 1.0.0
+ peerDependenciesMeta:
+ rework:
+ optional: true
+ rework-visit:
+ optional: true
+
+ resolve.exports@1.1.1:
+ resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==}
+ engines: {node: '>=10'}
+
resolve@1.22.11:
resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
engines: {node: '>= 0.4'}
@@ -2449,10 +6753,38 @@ packages:
resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
hasBin: true
+ retry@0.13.1:
+ resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
+ engines: {node: '>= 4'}
+
reusify@1.1.0:
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ rewire@7.0.0:
+ resolution: {integrity: sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==}
+
+ rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
+ hasBin: true
+
+ rollup-plugin-terser@7.0.2:
+ resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
+ deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
+ peerDependencies:
+ rollup: ^2.0.0
+
+ rollup@2.79.2:
+ resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+
+ rollup@4.57.1:
+ resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
@@ -2460,6 +6792,12 @@ packages:
resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
engines: {node: '>=0.4'}
+ safe-buffer@5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
safe-push-apply@1.0.0:
resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
engines: {node: '>= 0.4'}
@@ -2468,18 +6806,103 @@ packages:
resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
engines: {node: '>= 0.4'}
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ sanitize.css@13.0.0:
+ resolution: {integrity: sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==}
+
+ sass-loader@12.6.0:
+ resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ fibers: '>= 3.1.0'
+ node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+ sass: ^1.3.0
+ sass-embedded: '*'
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ fibers:
+ optional: true
+ node-sass:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+
+ sax@1.2.4:
+ resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
+
+ sax@1.4.4:
+ resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==}
+ engines: {node: '>=11.0.0'}
+
+ saxes@5.0.1:
+ resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==}
+ engines: {node: '>=10'}
+
scheduler@0.27.0:
resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
+ schema-utils@2.7.0:
+ resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==}
+ engines: {node: '>= 8.9.0'}
+
+ schema-utils@2.7.1:
+ resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==}
+ engines: {node: '>= 8.9.0'}
+
+ schema-utils@3.3.0:
+ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
+ engines: {node: '>= 10.13.0'}
+
+ schema-utils@4.3.3:
+ resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==}
+ engines: {node: '>= 10.13.0'}
+
+ select-hose@2.0.0:
+ resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
+
+ selfsigned@2.4.1:
+ resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
+ engines: {node: '>=10'}
+
+ semver@5.7.2:
+ resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+ hasBin: true
+
semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
- semver@7.7.3:
- resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
+ semver@7.0.0:
+ resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==}
+ hasBin: true
+
+ semver@7.7.4:
+ resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
engines: {node: '>=10'}
hasBin: true
+ send@0.19.2:
+ resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==}
+ engines: {node: '>= 0.8.0'}
+
+ serialize-javascript@4.0.0:
+ resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==}
+
+ serialize-javascript@6.0.2:
+ resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+
+ serve-index@1.9.2:
+ resolution: {integrity: sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==}
+ engines: {node: '>= 0.8.0'}
+
+ serve-static@1.16.3:
+ resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==}
+ engines: {node: '>= 0.8.0'}
+
set-function-length@1.2.2:
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
engines: {node: '>= 0.4'}
@@ -2492,6 +6915,13 @@ packages:
resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
engines: {node: '>= 0.4'}
+ setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+
+ shallow-clone@3.0.1:
+ resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
+ engines: {node: '>=8'}
+
shallowequal@1.1.0:
resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
@@ -2507,6 +6937,10 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
+ shell-quote@1.8.3:
+ resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==}
+ engines: {node: '>= 0.4'}
+
shiki@3.22.0:
resolution: {integrity: sha512-LBnhsoYEe0Eou4e1VgJACes+O6S6QC0w71fCSp5Oya79inkwkm15gQ1UF6VtQ8j/taMDh79hAB49WUk8ALQW3g==}
@@ -2526,33 +6960,137 @@ packages:
resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
engines: {node: '>= 0.4'}
+ signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ simple-concat@1.0.1:
+ resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
+
+ simple-get@4.0.1:
+ resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
+
simple-swizzle@0.2.4:
resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==}
+ simple-update-notifier@1.1.0:
+ resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==}
+ engines: {node: '>=8.10.0'}
+
sirv@2.0.4:
resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
engines: {node: '>= 10'}
+ sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+ slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ slash@4.0.0:
+ resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
+ engines: {node: '>=12'}
+
+ sockjs@0.3.24:
+ resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
+
+ source-list-map@2.0.1:
+ resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==}
+
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
+ source-map-loader@3.0.2:
+ resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+
+ source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+
+ source-map@0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
+
+ source-map@0.8.0-beta.0:
+ resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
+ engines: {node: '>= 8'}
+ deprecated: The work that was done in this beta branch won't be included in future versions
+
+ sourcemap-codec@1.4.8:
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ deprecated: Please use @jridgewell/sourcemap-codec instead
+
space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+ spdy-transport@3.0.0:
+ resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
+
+ spdy@4.0.2:
+ resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
+ engines: {node: '>=6.0.0'}
+
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
stable-hash@0.0.5:
resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==}
+ stable@0.1.8:
+ resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
+ deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+
+ stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
+
+ stackframe@1.3.4:
+ resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
+
state-local@1.0.7:
resolution: {integrity: sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==}
+ static-eval@2.1.1:
+ resolution: {integrity: sha512-MgWpQ/ZjGieSVB3eOJVs4OA2LT/q1vx98KPCTTQPzq/aLr0YUXTsgryTXr4SLfR0ZfUUCiedM9n/ABeDIyy4mA==}
+
+ statuses@1.5.0:
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
+ engines: {node: '>= 0.6'}
+
+ statuses@2.0.2:
+ resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
+ engines: {node: '>= 0.8'}
+
stop-iteration-iterator@1.1.0:
resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
engines: {node: '>= 0.4'}
+ string-length@4.0.2:
+ resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
+ engines: {node: '>=10'}
+
+ string-length@5.0.1:
+ resolution: {integrity: sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==}
+ engines: {node: '>=12.20'}
+
+ string-natural-compare@3.0.1:
+ resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
string.prototype.includes@2.0.1:
resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==}
engines: {node: '>= 0.4'}
@@ -2576,13 +7114,47 @@ packages:
resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
engines: {node: '>= 0.4'}
+ string_decoder@1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+
+ string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+
stringify-entities@4.0.4:
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
+ stringify-object@3.3.0:
+ resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
+ engines: {node: '>=4'}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.2:
+ resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
+ engines: {node: '>=12'}
+
strip-bom@3.0.0:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
+ strip-bom@4.0.0:
+ resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
+ engines: {node: '>=8'}
+
+ strip-comments@2.0.1:
+ resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==}
+ engines: {node: '>=10'}
+
+ strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+
+ strip-json-comments@2.0.1:
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
+ engines: {node: '>=0.10.0'}
+
strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
@@ -2590,12 +7162,18 @@ packages:
strnum@2.1.2:
resolution: {integrity: sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==}
- styled-components@6.3.8:
- resolution: {integrity: sha512-Kq/W41AKQloOqKM39zfaMdJ4BcYDw/N5CIq4/GTI0YjU6pKcZ1KKhk6b4du0a+6RA9pIfOP/eu94Ge7cu+PDCA==}
+ style-loader@3.3.4:
+ resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+
+ styled-components@6.3.9:
+ resolution: {integrity: sha512-J72R4ltw0UBVUlEjTzI0gg2STOqlI9JBhQOL4Dxt7aJOnnSesy0qJDn4PYfMCafk9cWOaVg129Pesl5o+DIh0Q==}
engines: {node: '>= 16'}
peerDependencies:
- react: '>= 16.8.0'
- react-dom: '>= 16.8.0'
+ react: 19.2.4
+ react-dom: 19.2.4
peerDependenciesMeta:
react-dom:
optional: true
@@ -2606,24 +7184,64 @@ packages:
peerDependencies:
'@babel/core': '*'
babel-plugin-macros: '*'
- react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
+ react: 19.2.4
peerDependenciesMeta:
'@babel/core':
optional: true
babel-plugin-macros:
optional: true
+ stylehacks@5.1.1:
+ resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
stylis@4.3.6:
resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==}
+ sucrase@3.35.1:
+ resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+
+ supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
+ supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+
+ supports-hyperlinks@2.3.0:
+ resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==}
+ engines: {node: '>=8'}
+
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
+ svg-parser@2.0.4:
+ resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==}
+
+ svgo@1.3.2:
+ resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==}
+ engines: {node: '>=4.0.0'}
+ deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x.
+ hasBin: true
+
+ svgo@2.8.0:
+ resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ symbol-tree@3.2.4:
+ resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+
synckit@0.11.12:
resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==}
engines: {node: ^14.18.0 || >=16.0.0}
@@ -2634,35 +7252,151 @@ packages:
tailwind-merge@2.6.1:
resolution: {integrity: sha512-Oo6tHdpZsGpkKG88HJ8RR1rg/RdnEkQEfMoEk2x1XRI3F1AxeU+ijRXpiVUF4UbLfcxxRGw6TbUINKYdWVsQTQ==}
+ tailwindcss@3.4.19:
+ resolution: {integrity: sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
+ tapable@1.1.3:
+ resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==}
+ engines: {node: '>=6'}
+
+ tapable@2.3.0:
+ resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
+ engines: {node: '>=6'}
+
tape@4.17.0:
resolution: {integrity: sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw==}
hasBin: true
+ tar-fs@2.1.4:
+ resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==}
+
+ tar-stream@2.2.0:
+ resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
+ engines: {node: '>=6'}
+
+ temp-dir@2.0.0:
+ resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
+ engines: {node: '>=8'}
+
+ tempy@0.6.0:
+ resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==}
+ engines: {node: '>=10'}
+
+ terminal-link@2.1.1:
+ resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==}
+ engines: {node: '>=8'}
+
+ terser-webpack-plugin@5.3.16:
+ resolution: {integrity: sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+
+ terser@5.46.0:
+ resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ test-exclude@6.0.0:
+ resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
+ engines: {node: '>=8'}
+
+ text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+
+ 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==}
+
+ throat@6.0.2:
+ resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==}
+
+ thunky@1.1.0:
+ resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
+
tinyglobby@0.2.15:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
+ tmp@0.2.5:
+ resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==}
+ engines: {node: '>=14.14'}
+
+ tmpl@1.0.5:
+ resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
+
+ to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
+ toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+
totalist@3.0.1:
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
engines: {node: '>=6'}
+ touch@3.1.1:
+ resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==}
+ hasBin: true
+
+ tough-cookie@4.1.4:
+ resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
+ engines: {node: '>=6'}
+
+ tr46@1.0.1:
+ resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
+
+ tr46@2.1.0:
+ resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
+ engines: {node: '>=8'}
+
trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+ tryer@1.0.1:
+ resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==}
+
ts-api-utils@2.4.0:
resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==}
engines: {node: '>=18.12'}
peerDependencies:
typescript: '>=4.8.4'
+ ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+
ts-invariant@0.10.3:
resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==}
engines: {node: '>=8'}
+ ts-loader@9.5.4:
+ resolution: {integrity: sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ typescript: '*'
+ webpack: ^5.0.0
+
ts-node@10.9.2:
resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
hasBin: true
@@ -2680,17 +7414,87 @@ packages:
tsconfig-paths@3.15.0:
resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+ tslib@1.14.1:
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+ tsutils@3.21.0:
+ resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
+ engines: {node: '>= 6'}
+ peerDependencies:
+ typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
+
+ tunnel-agent@0.6.0:
+ resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
+
+ tunnel@0.0.6:
+ resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==}
+ engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'}
+
+ turbo-darwin-64@2.8.8:
+ resolution: {integrity: sha512-7R/XRAleyNB8nIJuenRpS7EnmCM/kYFgcG1rW3F5DF57Nl4WyBO3DzxqwooRheuoXDD1UsJvDse0yRufgxjClA==}
+ cpu: [x64]
+ os: [darwin]
+
+ turbo-darwin-arm64@2.8.8:
+ resolution: {integrity: sha512-whpveO0w/dMcgQ0zFrzqK76mG2W+RBQ/pKIpW+sEvNr+T4UcYd2gZpfV2euehJLvdeFErWgW74dIt/MFfkG1bA==}
+ cpu: [arm64]
+ os: [darwin]
+
+ turbo-linux-64@2.8.8:
+ resolution: {integrity: sha512-BISkcKk+5/Dh11q+YhdQIGONXmdlQ6LY0iQ+GBIK7QOBAJyJFKmKvUeAeMdWGXOa3sImz2oZ6u2StyR+0Y/VVA==}
+ cpu: [x64]
+ os: [linux]
+
+ turbo-linux-arm64@2.8.8:
+ resolution: {integrity: sha512-B+DQWWtM3O+AexFF4aYucT0MvvnQOW4n5y9LA5h3Zc3Lpj10yl9K4dEBzJvMVQ2jTkCRNAvA8q9G3EjqmGmGGA==}
+ cpu: [arm64]
+ os: [linux]
+
+ turbo-windows-64@2.8.8:
+ resolution: {integrity: sha512-KP5TRVrmVnrxDyvERvQq7VXu+h5AiEiBwyr90YsRuYy/Z5zLz8hrNZXejTyUR17xmnuI+RbUSxrQlfmPnxiW1A==}
+ cpu: [x64]
+ os: [win32]
+
+ turbo-windows-arm64@2.8.8:
+ resolution: {integrity: sha512-X45sTOksR8iidk+PZUXpNcfEkOhGCTS2p2J8nSUExr1v7u3T4FixwplzliuWmG7QTPGJapAwItzHbi+d/9ckNQ==}
+ cpu: [arm64]
+ os: [win32]
+
+ turbo@2.8.8:
+ resolution: {integrity: sha512-wP+axjWAKzYfZ7bghuggVST9bX4j5cn3NPMU9NPQqtwaUKL9n9JOnWWBIc9gdrEma1aViYR73EoPjDEpVq+liQ==}
+ hasBin: true
+
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
+ type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+
+ type-fest@0.16.0:
+ resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
+ engines: {node: '>=10'}
+
+ type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+
+ type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+
type-fest@4.41.0:
resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
engines: {node: '>=16'}
+ type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+
typed-array-buffer@1.0.3:
resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
engines: {node: '>= 0.4'}
@@ -2707,8 +7511,14 @@ packages:
resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
engines: {node: '>= 0.4'}
- typescript-eslint@8.54.0:
- resolution: {integrity: sha512-CKsJ+g53QpsNPqbzUsfKVgd3Lny4yKZ1pP4qN3jdMOg/sisIDLGyDMezycquXLE5JsEU0wp3dGNdzig0/fmSVQ==}
+ typed-rest-client@1.8.11:
+ resolution: {integrity: sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==}
+
+ typedarray-to-buffer@3.1.5:
+ resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+
+ typescript-eslint@8.55.0:
+ resolution: {integrity: sha512-HE4wj+r5lmDVS9gdaN0/+iqNvPZwGfnJ5lZuz7s5vLlg9ODw0bIiiETaios9LvFI1U94/VBXGm3CB2Y5cNFMpw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -2719,16 +7529,52 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
+ uc.micro@1.0.6:
+ resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
+
unbox-primitive@1.1.0:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
+ undefsafe@2.0.5:
+ resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
+
+ underscore@1.13.6:
+ resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==}
+
+ underscore@1.13.7:
+ resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==}
+
undici-types@7.16.0:
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
+ undici@7.22.0:
+ resolution: {integrity: sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==}
+ engines: {node: '>=20.18.1'}
+
undoo@0.5.0:
resolution: {integrity: sha512-SPlDcde+AUHoFKeVlH2uBJxqVkw658I4WR2rPoygC1eRCzm3GeoP8S6xXZVJeBVOQQid8X2xUBW0N4tOvvHH3Q==}
+ unicode-canonical-property-names-ecmascript@2.0.1:
+ resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-value-ecmascript@2.2.1:
+ resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==}
+ engines: {node: '>=4'}
+
+ unicode-property-aliases-ecmascript@2.2.0:
+ resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==}
+ engines: {node: '>=4'}
+
+ unique-string@2.0.0:
+ resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
+ engines: {node: '>=8'}
+
unist-util-is@6.0.1:
resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==}
@@ -2744,9 +7590,28 @@ packages:
unist-util-visit@5.1.0:
resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==}
+ universalify@0.2.0:
+ resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
+ engines: {node: '>= 4.0.0'}
+
+ universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+
+ unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+
+ unquote@1.1.1:
+ resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==}
+
unrs-resolver@1.11.1:
resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==}
+ upath@1.2.0:
+ resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==}
+ engines: {node: '>=4'}
+
update-browserslist-db@1.2.3:
resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
hasBin: true
@@ -2756,12 +7621,18 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ url-join@4.0.1:
+ resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==}
+
+ url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+
use-callback-ref@1.3.3:
resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
engines: {node: '>=10'}
peerDependencies:
'@types/react': 19.2.11
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ react: 19.2.4
peerDependenciesMeta:
'@types/react':
optional: true
@@ -2770,7 +7641,7 @@ packages:
resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==}
peerDependencies:
'@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: 19.2.4
peerDependenciesMeta:
'@types/react':
optional: true
@@ -2779,7 +7650,7 @@ packages:
resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==}
peerDependencies:
'@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: 19.2.4
peerDependenciesMeta:
'@types/react':
optional: true
@@ -2788,7 +7659,7 @@ packages:
resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==}
peerDependencies:
'@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: 19.2.4
peerDependenciesMeta:
'@types/react':
optional: true
@@ -2796,14 +7667,14 @@ packages:
use-long-press@3.3.0:
resolution: {integrity: sha512-Yedz46ILxsb1BTS6kUzpV/wyEZPUlJDq+8Oat0LP1eOZQHbS887baJHJbIGENqCo8wTKNxmoTHLdY8lU/e+wvw==}
peerDependencies:
- react: '>=16.8.0'
+ react: 19.2.4
use-sidecar@1.1.3:
resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
engines: {node: '>=10'}
peerDependencies:
'@types/react': 19.2.11
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ react: 19.2.4
peerDependenciesMeta:
'@types/react':
optional: true
@@ -2811,31 +7682,232 @@ packages:
use-sync-external-store@1.6.0:
resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==}
peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: 19.2.4
usehooks-ts@3.1.1:
resolution: {integrity: sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==}
engines: {node: '>=16.15.0'}
peerDependencies:
- react: ^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc
+ react: 19.2.4
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ util.promisify@1.0.1:
+ resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==}
+
+ utila@0.4.0:
+ resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
+
+ utils-merge@1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+ engines: {node: '>= 0.4.0'}
+
+ uuid@8.3.2:
+ resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
+ hasBin: true
v8-compile-cache-lib@3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
+ v8-to-istanbul@8.1.1:
+ resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==}
+ engines: {node: '>=10.12.0'}
+
+ vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+
vfile-message@4.0.3:
resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+ vite@6.4.1:
+ resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+ jiti: '>=1.21.0'
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ sass-embedded: '*'
+ stylus: '*'
+ sugarss: '*'
+ 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
+
+ vsce@2.15.0:
+ resolution: {integrity: sha512-P8E9LAZvBCQnoGoizw65JfGvyMqNGlHdlUXD1VAuxtvYAaHBKLBdKPnpy60XKVDAkQCfmMu53g+gq9FM+ydepw==}
+ engines: {node: '>= 14'}
+ deprecated: vsce has been renamed to @vscode/vsce. Install using @vscode/vsce instead.
+ hasBin: true
+
+ w3c-hr-time@1.0.2:
+ resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
+ deprecated: Use your platform's native performance.now() and performance.timeOrigin.
+
+ w3c-xmlserializer@2.0.0:
+ resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==}
+ engines: {node: '>=10'}
+
+ walker@1.0.8:
+ resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+
+ watchpack@2.5.1:
+ resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==}
+ engines: {node: '>=10.13.0'}
+
+ wbuf@1.7.3:
+ resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
+
web-worker@1.5.0:
resolution: {integrity: sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==}
+ webidl-conversions@4.0.2:
+ resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
+
+ webidl-conversions@5.0.0:
+ resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==}
+ engines: {node: '>=8'}
+
+ webidl-conversions@6.1.0:
+ resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==}
+ engines: {node: '>=10.4'}
+
webpack-bundle-analyzer@4.10.1:
resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==}
engines: {node: '>= 10.13.0'}
hasBin: true
+ webpack-cli@5.1.4:
+ resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==}
+ engines: {node: '>=14.15.0'}
+ hasBin: true
+ peerDependencies:
+ '@webpack-cli/generators': '*'
+ webpack: 5.x.x
+ webpack-bundle-analyzer: '*'
+ webpack-dev-server: '*'
+ peerDependenciesMeta:
+ '@webpack-cli/generators':
+ optional: true
+ webpack-bundle-analyzer:
+ optional: true
+ webpack-dev-server:
+ optional: true
+
+ webpack-dev-middleware@5.3.4:
+ resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ webpack-dev-server@4.15.2:
+ resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==}
+ engines: {node: '>= 12.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack: ^4.37.0 || ^5.0.0
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack:
+ optional: true
+ webpack-cli:
+ optional: true
+
+ webpack-manifest-plugin@4.1.1:
+ resolution: {integrity: sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==}
+ engines: {node: '>=12.22.0'}
+ peerDependencies:
+ webpack: ^4.44.2 || ^5.47.0
+
+ webpack-merge@5.10.0:
+ resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==}
+ engines: {node: '>=10.0.0'}
+
+ webpack-sources@1.4.3:
+ resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==}
+
+ webpack-sources@2.3.1:
+ resolution: {integrity: sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==}
+ engines: {node: '>=10.13.0'}
+
+ webpack-sources@3.3.3:
+ resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==}
+ engines: {node: '>=10.13.0'}
+
+ webpack@5.105.2:
+ resolution: {integrity: sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+
+ websocket-driver@0.7.4:
+ resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
+ engines: {node: '>=0.8.0'}
+
+ websocket-extensions@0.1.4:
+ resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
+ engines: {node: '>=0.8.0'}
+
+ whatwg-encoding@1.0.5:
+ resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==}
+ deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation
+
+ whatwg-encoding@3.1.1:
+ resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
+ engines: {node: '>=18'}
+ deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation
+
+ whatwg-fetch@3.6.20:
+ resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==}
+
+ whatwg-mimetype@2.3.0:
+ resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==}
+
+ whatwg-mimetype@4.0.0:
+ resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
+ engines: {node: '>=18'}
+
+ whatwg-url@7.1.0:
+ resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
+
+ whatwg-url@8.7.0:
+ resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==}
+ engines: {node: '>=10'}
+
which-boxed-primitive@1.1.1:
resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
engines: {node: '>= 0.4'}
@@ -2852,18 +7924,89 @@ packages:
resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==}
engines: {node: '>= 0.4'}
+ which@1.3.1:
+ resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
+ hasBin: true
+
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
hasBin: true
+ wildcard@2.0.1:
+ resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
+
word-wrap@1.2.5:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
+ workbox-background-sync@6.6.0:
+ resolution: {integrity: sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==}
+
+ workbox-broadcast-update@6.6.0:
+ resolution: {integrity: sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==}
+
+ workbox-build@6.6.0:
+ resolution: {integrity: sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==}
+ engines: {node: '>=10.0.0'}
+
+ workbox-cacheable-response@6.6.0:
+ resolution: {integrity: sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==}
+ deprecated: workbox-background-sync@6.6.0
+
+ workbox-core@6.6.0:
+ resolution: {integrity: sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==}
+
+ workbox-expiration@6.6.0:
+ resolution: {integrity: sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==}
+
+ workbox-google-analytics@6.6.0:
+ resolution: {integrity: sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==}
+ deprecated: It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained
+
+ workbox-navigation-preload@6.6.0:
+ resolution: {integrity: sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==}
+
+ workbox-precaching@6.6.0:
+ resolution: {integrity: sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==}
+
+ workbox-range-requests@6.6.0:
+ resolution: {integrity: sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==}
+
+ workbox-recipes@6.6.0:
+ resolution: {integrity: sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==}
+
+ workbox-routing@6.6.0:
+ resolution: {integrity: sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==}
+
+ workbox-strategies@6.6.0:
+ resolution: {integrity: sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==}
+
+ workbox-streams@6.6.0:
+ resolution: {integrity: sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==}
+
+ workbox-sw@6.6.0:
+ resolution: {integrity: sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==}
+
+ workbox-webpack-plugin@6.6.0:
+ resolution: {integrity: sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ webpack: ^4.4.0 || ^5.9.0
+
+ workbox-window@6.6.0:
+ resolution: {integrity: sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==}
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ write-file-atomic@3.0.3:
+ resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
+
ws@7.5.10:
resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
engines: {node: '>=8.3.0'}
@@ -2876,9 +8019,60 @@ packages:
utf-8-validate:
optional: true
+ ws@8.19.0:
+ resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ xml-name-validator@3.0.0:
+ resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
+
+ xml2js@0.4.23:
+ resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==}
+ engines: {node: '>=4.0.0'}
+
+ xmlbuilder@11.0.1:
+ resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
+ engines: {node: '>=4.0'}
+
+ xmlchars@2.2.0:
+ resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
+ yargs-parser@20.2.9:
+ resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
+ engines: {node: '>=10'}
+
+ yargs@16.2.0:
+ resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
+ engines: {node: '>=10'}
+
+ yauzl@2.10.0:
+ resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
+
+ yazl@2.5.1:
+ resolution: {integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==}
+
yn@3.1.1:
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
engines: {node: '>=6'}
@@ -2902,7 +8096,7 @@ packages:
peerDependencies:
'@types/react': 19.2.11
immer: '>=9.0.6'
- react: '>=18.0.0'
+ react: 19.2.4
use-sync-external-store: '>=1.2.0'
peerDependenciesMeta:
'@types/react':
@@ -2919,6 +8113,15 @@ packages:
snapshots:
+ '@alloc/quick-lru@5.2.0': {}
+
+ '@apideck/better-ajv-errors@0.3.6(ajv@8.18.0)':
+ dependencies:
+ ajv: 8.18.0
+ json-schema: 0.4.0
+ jsonpointer: 5.0.1
+ leven: 3.1.0
+
'@babel/code-frame@7.29.0':
dependencies:
'@babel/helper-validator-identifier': 7.28.5
@@ -2947,6 +8150,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/eslint-parser@7.28.6(@babel/core@7.29.0)(eslint@8.57.1)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
+ eslint: 8.57.1
+ eslint-visitor-keys: 2.1.0
+ semver: 6.3.1
+
+ '@babel/generator@7.17.7':
+ dependencies:
+ '@babel/types': 7.29.0
+ jsesc: 2.5.2
+ source-map: 0.5.7
+
'@babel/generator@7.29.1':
dependencies:
'@babel/parser': 7.29.0
@@ -2955,6 +8172,10 @@ snapshots:
'@jridgewell/trace-mapping': 0.3.31
jsesc: 3.1.0
+ '@babel/helper-annotate-as-pure@7.27.3':
+ dependencies:
+ '@babel/types': 7.29.0
+
'@babel/helper-compilation-targets@7.28.6':
dependencies:
'@babel/compat-data': 7.29.0
@@ -2963,8 +8184,59 @@ snapshots:
lru-cache: 5.1.1
semver: 6.3.1
+ '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-member-expression-to-functions': 7.28.5
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/traverse': 7.29.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-annotate-as-pure': 7.27.3
+ regexpu-core: 6.4.0
+ semver: 6.3.1
+
+ '@babel/helper-define-polyfill-provider@0.6.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-compilation-targets': 7.28.6
+ '@babel/helper-plugin-utils': 7.28.6
+ debug: 4.4.3
+ lodash.debounce: 4.0.8
+ resolve: 1.22.11
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-environment-visitor@7.24.7':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-function-name@7.24.7':
+ dependencies:
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+
'@babel/helper-globals@7.28.0': {}
+ '@babel/helper-hoist-variables@7.24.7':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-member-expression-to-functions@7.28.5':
+ dependencies:
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/helper-module-imports@7.28.6':
dependencies:
'@babel/traverse': 7.29.0
@@ -2981,12 +8253,55 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/helper-optimise-call-expression@7.27.1':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/helper-plugin-utils@7.28.6': {}
+
+ '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-wrap-function': 7.28.6
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-replace-supers@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-member-expression-to-functions': 7.28.5
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-split-export-declaration@7.24.7':
+ dependencies:
+ '@babel/types': 7.29.0
+
'@babel/helper-string-parser@7.27.1': {}
'@babel/helper-validator-identifier@7.28.5': {}
'@babel/helper-validator-option@7.27.1': {}
+ '@babel/helper-wrap-function@7.28.6':
+ dependencies:
+ '@babel/template': 7.28.6
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/helpers@7.28.6':
dependencies:
'@babel/template': 7.28.6
@@ -2996,6 +8311,719 @@ snapshots:
dependencies:
'@babel/types': 7.29.0
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-decorators': 7.28.6(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.0)
+
+ '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.0)
+
+ '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-decorators@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-flow@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0)
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-module-imports': 7.28.6
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-classes@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-compilation-targets': 7.28.6
+ '@babel/helper-globals': 7.28.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0)
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/template': 7.28.6
+
+ '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-flow': 7.28.6(@babel/core@7.29.0)
+
+ '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-compilation-targets': 7.28.6
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-literals@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-systemjs@7.29.0(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-validator-identifier': 7.28.5
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-compilation-targets': 7.28.6
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0)
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-module-imports': 7.28.6
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0)
+ '@babel/types': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-runtime@7.29.0(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-module-imports': 7.28.6
+ '@babel/helper-plugin-utils': 7.28.6
+ babel-plugin-polyfill-corejs2: 0.4.15(@babel/core@7.29.0)
+ babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.0)
+ babel-plugin-polyfill-regenerator: 0.6.6(@babel/core@7.29.0)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-spread@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-typescript@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/preset-env@7.29.0(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/compat-data': 7.29.0
+ '@babel/core': 7.29.0
+ '@babel/helper-compilation-targets': 7.28.6
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.29.0)
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0)
+ '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.29.0)
+ '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0)
+ '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0)
+ '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-explicit-resource-management': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-modules-systemjs': 7.29.0(@babel/core@7.29.0)
+ '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0)
+ '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0)
+ '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.29.0)
+ '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.29.0)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.0)
+ babel-plugin-polyfill-corejs2: 0.4.15(@babel/core@7.29.0)
+ babel-plugin-polyfill-corejs3: 0.14.0(@babel/core@7.29.0)
+ babel-plugin-polyfill-regenerator: 0.6.6(@babel/core@7.29.0)
+ core-js-compat: 3.48.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/types': 7.29.0
+ esutils: 2.0.3
+
+ '@babel/preset-react@7.28.5(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.29.0)
+ '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/preset-typescript@7.28.5(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/runtime@7.28.6': {}
'@babel/template@7.28.6':
@@ -3004,6 +9032,21 @@ snapshots:
'@babel/parser': 7.29.0
'@babel/types': 7.29.0
+ '@babel/traverse@7.23.2':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/generator': 7.29.1
+ '@babel/helper-environment-visitor': 7.24.7
+ '@babel/helper-function-name': 7.24.7
+ '@babel/helper-hoist-variables': 7.24.7
+ '@babel/helper-split-export-declaration': 7.24.7
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+ debug: 4.4.3
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/traverse@7.29.0':
dependencies:
'@babel/code-frame': 7.29.0
@@ -3016,17 +9059,104 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/types@7.17.0':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.28.5
+ to-fast-properties: 2.0.0
+
'@babel/types@7.29.0':
dependencies:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
+ '@bcoe/v8-coverage@0.2.3': {}
+
'@corex/deepmerge@4.0.43': {}
'@cspotcode/source-map-support@0.8.1':
dependencies:
'@jridgewell/trace-mapping': 0.3.9
+ '@csstools/normalize.css@12.1.1': {}
+
+ '@csstools/postcss-cascade-layers@1.1.1(postcss@8.4.49)':
+ dependencies:
+ '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2)
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ '@csstools/postcss-color-function@1.1.1(postcss@8.4.49)':
+ dependencies:
+ '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.49)':
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-hwb-function@1.0.2(postcss@8.4.49)':
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-ic-unit@1.0.1(postcss@8.4.49)':
+ dependencies:
+ '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.49)':
+ dependencies:
+ '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2)
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ '@csstools/postcss-nested-calc@1.0.0(postcss@8.4.49)':
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.49)':
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-oklab-function@1.1.1(postcss@8.4.49)':
+ dependencies:
+ '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.49)':
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.49)':
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.4.49)':
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.4.49)':
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ '@csstools/postcss-unset-value@1.0.2(postcss@8.4.49)':
+ dependencies:
+ postcss: 8.4.49
+
+ '@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.1.2)':
+ dependencies:
+ postcss-selector-parser: 6.1.2
+
'@discoveryjs/json-ext@0.5.7': {}
'@emnapi/core@1.8.1':
@@ -3053,9 +9183,92 @@ snapshots:
'@emotion/unitless@0.10.0': {}
- '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2)':
+ '@esbuild/aix-ppc64@0.25.12':
+ optional: true
+
+ '@esbuild/android-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/android-arm@0.25.12':
+ optional: true
+
+ '@esbuild/android-x64@0.25.12':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/darwin-x64@0.25.12':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-arm@0.25.12':
+ optional: true
+
+ '@esbuild/linux-ia32@0.25.12':
+ optional: true
+
+ '@esbuild/linux-loong64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.25.12':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-s390x@0.25.12':
+ optional: true
+
+ '@esbuild/linux-x64@0.25.12':
+ optional: true
+
+ '@esbuild/netbsd-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.25.12':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.25.12':
+ optional: true
+
+ '@esbuild/openharmony-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/sunos-x64@0.25.12':
+ optional: true
+
+ '@esbuild/win32-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/win32-ia32@0.25.12':
+ optional: true
+
+ '@esbuild/win32-x64@0.25.12':
+ optional: true
+
+ '@eslint-community/eslint-utils@4.9.1(eslint@8.57.1)':
dependencies:
- eslint: 9.39.2
+ eslint: 8.57.1
+ eslint-visitor-keys: 3.4.3
+
+ '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@1.21.7))':
+ dependencies:
+ eslint: 9.39.2(jiti@1.21.7)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {}
@@ -3076,6 +9289,20 @@ snapshots:
dependencies:
'@types/json-schema': 7.0.15
+ '@eslint/eslintrc@2.1.4':
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.4.3
+ espree: 9.6.1
+ globals: 13.24.0
+ ignore: 5.3.2
+ import-fresh: 3.3.1
+ js-yaml: 4.1.1
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
'@eslint/eslintrc@3.3.3':
dependencies:
ajv: 6.12.6
@@ -3090,6 +9317,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@eslint/js@8.57.1': {}
+
'@eslint/js@9.39.2': {}
'@eslint/object-schema@2.1.7': {}
@@ -3139,8 +9368,18 @@ snapshots:
'@humanfs/core': 0.19.1
'@humanwhocodes/retry': 0.4.3
+ '@humanwhocodes/config-array@0.13.0':
+ dependencies:
+ '@humanwhocodes/object-schema': 2.0.3
+ debug: 4.4.3
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
'@humanwhocodes/module-importer@1.0.1': {}
+ '@humanwhocodes/object-schema@2.0.3': {}
+
'@humanwhocodes/retry@0.4.3': {}
'@img/colour@1.0.0':
@@ -3240,6 +9479,193 @@ snapshots:
'@img/sharp-win32-x64@0.34.5':
optional: true
+ '@istanbuljs/load-nyc-config@1.1.0':
+ dependencies:
+ camelcase: 5.3.1
+ find-up: 4.1.0
+ get-package-type: 0.1.0
+ js-yaml: 3.14.2
+ resolve-from: 5.0.0
+
+ '@istanbuljs/schema@0.1.3': {}
+
+ '@jest/console@27.5.1':
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+ chalk: 4.1.2
+ jest-message-util: 27.5.1
+ jest-util: 27.5.1
+ slash: 3.0.0
+
+ '@jest/console@28.1.3':
+ dependencies:
+ '@jest/types': 28.1.3
+ '@types/node': 16.18.126
+ chalk: 4.1.2
+ jest-message-util: 28.1.3
+ jest-util: 28.1.3
+ slash: 3.0.0
+
+ '@jest/core@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))':
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/reporters': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ emittery: 0.8.1
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ jest-changed-files: 27.5.1
+ jest-config: 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))
+ jest-haste-map: 27.5.1
+ jest-message-util: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-resolve-dependencies: 27.5.1
+ jest-runner: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ jest-watcher: 27.5.1
+ micromatch: 4.0.8
+ rimraf: 3.0.2
+ slash: 3.0.0
+ strip-ansi: 6.0.1
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+
+ '@jest/environment@27.5.1':
+ dependencies:
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+ jest-mock: 27.5.1
+
+ '@jest/fake-timers@27.5.1':
+ dependencies:
+ '@jest/types': 27.5.1
+ '@sinonjs/fake-timers': 8.1.0
+ '@types/node': 16.18.126
+ jest-message-util: 27.5.1
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+
+ '@jest/globals@27.5.1':
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/types': 27.5.1
+ expect: 27.5.1
+
+ '@jest/reporters@27.5.1':
+ dependencies:
+ '@bcoe/v8-coverage': 0.2.3
+ '@jest/console': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+ chalk: 4.1.2
+ collect-v8-coverage: 1.0.3
+ exit: 0.1.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-instrument: 5.2.1
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 4.0.1
+ istanbul-reports: 3.2.0
+ jest-haste-map: 27.5.1
+ jest-resolve: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ slash: 3.0.0
+ source-map: 0.6.1
+ string-length: 4.0.2
+ terminal-link: 2.1.1
+ v8-to-istanbul: 8.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/schemas@28.1.3':
+ dependencies:
+ '@sinclair/typebox': 0.24.51
+
+ '@jest/source-map@27.5.1':
+ dependencies:
+ callsites: 3.1.0
+ graceful-fs: 4.2.11
+ source-map: 0.6.1
+
+ '@jest/test-result@27.5.1':
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/istanbul-lib-coverage': 2.0.6
+ collect-v8-coverage: 1.0.3
+
+ '@jest/test-result@28.1.3':
+ dependencies:
+ '@jest/console': 28.1.3
+ '@jest/types': 28.1.3
+ '@types/istanbul-lib-coverage': 2.0.6
+ collect-v8-coverage: 1.0.3
+
+ '@jest/test-sequencer@27.5.1':
+ dependencies:
+ '@jest/test-result': 27.5.1
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-runtime: 27.5.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/transform@27.5.1':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@jest/types': 27.5.1
+ babel-plugin-istanbul: 6.1.1
+ chalk: 4.1.2
+ convert-source-map: 1.9.0
+ fast-json-stable-stringify: 2.1.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-util: 27.5.1
+ micromatch: 4.0.8
+ pirates: 4.0.7
+ slash: 3.0.0
+ source-map: 0.6.1
+ write-file-atomic: 3.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/types@27.5.1':
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 16.18.126
+ '@types/yargs': 16.0.11
+ chalk: 4.1.2
+
+ '@jest/types@28.1.3':
+ dependencies:
+ '@jest/schemas': 28.1.3
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 16.18.126
+ '@types/yargs': 17.0.35
+ chalk: 4.1.2
+
'@jridgewell/gen-mapping@0.3.13':
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -3252,6 +9678,11 @@ snapshots:
'@jridgewell/resolve-uri@3.1.2': {}
+ '@jridgewell/source-map@0.3.11':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+
'@jridgewell/sourcemap-codec@1.5.5': {}
'@jridgewell/trace-mapping@0.3.31':
@@ -3274,6 +9705,8 @@ snapshots:
'@juggle/resize-observer@3.4.0': {}
+ '@leichtgewicht/ip-codec@2.0.5': {}
+
'@ljharb/resumer@0.0.1':
dependencies:
'@ljharb/through': 2.3.14
@@ -3282,6 +9715,15 @@ snapshots:
dependencies:
call-bind: 1.0.8
+ '@mantine/code-highlight@7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.2.4))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@7.17.8(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ dependencies:
+ '@mantine/core': 7.17.8(@mantine/hooks@7.17.8(react@19.2.4))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@mantine/hooks': 7.17.8(react@19.2.4)
+ clsx: 2.1.1
+ highlight.js: 11.11.1
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+
'@mantine/code-highlight@8.3.14(@mantine/core@8.3.14(@mantine/hooks@8.3.14(react@19.2.4))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.14(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@mantine/core': 8.3.14(@mantine/hooks@8.3.14(react@19.2.4))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
@@ -3290,6 +9732,20 @@ snapshots:
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
+ '@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.2.4))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ dependencies:
+ '@floating-ui/react': 0.26.28(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@mantine/hooks': 7.17.8(react@19.2.4)
+ clsx: 2.1.1
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+ react-number-format: 5.4.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react-remove-scroll: 2.7.2(@types/react@19.2.11)(react@19.2.4)
+ react-textarea-autosize: 8.5.9(@types/react@19.2.11)(react@19.2.4)
+ type-fest: 4.41.0
+ transitivePeerDependencies:
+ - '@types/react'
+
'@mantine/core@8.3.14(@mantine/hooks@8.3.14(react@19.2.4))(@types/react@19.2.11)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@floating-ui/react': 0.27.17(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
@@ -3312,6 +9768,10 @@ snapshots:
react-dom: 19.2.4(react@19.2.4)
react-dropzone: 14.3.8(react@19.2.4)
+ '@mantine/hooks@7.17.8(react@19.2.4)':
+ dependencies:
+ react: 19.2.4
+
'@mantine/hooks@8.3.14(react@19.2.4)':
dependencies:
react: 19.2.4
@@ -3324,10 +9784,10 @@ snapshots:
dependencies:
state-local: 1.0.7
- '@monaco-editor/react@4.7.0(monaco-editor@0.52.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@monaco-editor/react@4.7.0(monaco-editor@0.55.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@monaco-editor/loader': 1.7.0
- monaco-editor: 0.52.2
+ monaco-editor: 0.55.1
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
@@ -3377,6 +9837,10 @@ snapshots:
'@next/swc-win32-x64-msvc@16.1.6':
optional: true
+ '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1':
+ dependencies:
+ eslint-scope: 5.1.1
+
'@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -3393,6 +9857,21 @@ snapshots:
'@pkgr/core@0.2.9': {}
+ '@pmmmwh/react-refresh-webpack-plugin@0.5.17(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@4.15.2)(webpack@5.105.2)':
+ dependencies:
+ ansi-html: 0.0.9
+ core-js-pure: 3.48.0
+ error-stack-parser: 2.1.4
+ html-entities: 2.6.0
+ loader-utils: 2.0.4
+ react-refresh: 0.11.0
+ schema-utils: 4.3.3
+ source-map: 0.7.6
+ webpack: 5.105.2(webpack-cli@5.1.4)
+ optionalDependencies:
+ type-fest: 4.41.0
+ webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.105.2)
+
'@polka/url@1.0.0-next.29': {}
'@reaviz/react-use-fuzzy@1.0.3(fuse.js@6.6.2)(react@19.2.4)':
@@ -3400,8 +9879,121 @@ snapshots:
fuse.js: 6.6.2
react: 19.2.4
+ '@rolldown/pluginutils@1.0.0-beta.27': {}
+
+ '@rollup/plugin-babel@5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@2.79.2)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-module-imports': 7.28.6
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.2)
+ rollup: 2.79.2
+ optionalDependencies:
+ '@types/babel__core': 7.20.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@rollup/plugin-node-resolve@11.2.1(rollup@2.79.2)':
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.2)
+ '@types/resolve': 1.17.1
+ builtin-modules: 3.3.0
+ deepmerge: 4.3.1
+ is-module: 1.0.0
+ resolve: 1.22.11
+ rollup: 2.79.2
+
+ '@rollup/plugin-replace@2.4.2(rollup@2.79.2)':
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.2)
+ magic-string: 0.25.9
+ rollup: 2.79.2
+
+ '@rollup/pluginutils@3.1.0(rollup@2.79.2)':
+ dependencies:
+ '@types/estree': 0.0.39
+ estree-walker: 1.0.1
+ picomatch: 2.3.1
+ rollup: 2.79.2
+
+ '@rollup/rollup-android-arm-eabi@4.57.1':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.57.1':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.57.1':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.57.1':
+ optional: true
+
+ '@rollup/rollup-freebsd-arm64@4.57.1':
+ optional: true
+
+ '@rollup/rollup-freebsd-x64@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-loong64-gnu@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-loong64-musl@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-ppc64-gnu@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-ppc64-musl@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-musl@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.57.1':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.57.1':
+ optional: true
+
+ '@rollup/rollup-openbsd-x64@4.57.1':
+ optional: true
+
+ '@rollup/rollup-openharmony-arm64@4.57.1':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.57.1':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.57.1':
+ optional: true
+
+ '@rollup/rollup-win32-x64-gnu@4.57.1':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.57.1':
+ optional: true
+
'@rtsao/scc@1.1.0': {}
+ '@rushstack/eslint-patch@1.15.0': {}
+
'@shikijs/core@3.22.0':
dependencies:
'@shikijs/types': 3.22.0
@@ -3435,10 +10027,108 @@ snapshots:
'@shikijs/vscode-textmate@10.0.2': {}
+ '@sinclair/typebox@0.24.51': {}
+
+ '@sinonjs/commons@1.8.6':
+ dependencies:
+ type-detect: 4.0.8
+
+ '@sinonjs/fake-timers@8.1.0':
+ dependencies:
+ '@sinonjs/commons': 1.8.6
+
+ '@surma/rollup-plugin-off-main-thread@2.2.3':
+ dependencies:
+ ejs: 3.1.10
+ json5: 2.2.3
+ magic-string: 0.25.9
+ string.prototype.matchall: 4.0.12
+
+ '@svgr/babel-plugin-add-jsx-attribute@5.4.0': {}
+
+ '@svgr/babel-plugin-remove-jsx-attribute@5.4.0': {}
+
+ '@svgr/babel-plugin-remove-jsx-empty-expression@5.0.1': {}
+
+ '@svgr/babel-plugin-replace-jsx-attribute-value@5.0.1': {}
+
+ '@svgr/babel-plugin-svg-dynamic-title@5.4.0': {}
+
+ '@svgr/babel-plugin-svg-em-dimensions@5.4.0': {}
+
+ '@svgr/babel-plugin-transform-react-native-svg@5.4.0': {}
+
+ '@svgr/babel-plugin-transform-svg-component@5.5.0': {}
+
+ '@svgr/babel-preset@5.5.0':
+ dependencies:
+ '@svgr/babel-plugin-add-jsx-attribute': 5.4.0
+ '@svgr/babel-plugin-remove-jsx-attribute': 5.4.0
+ '@svgr/babel-plugin-remove-jsx-empty-expression': 5.0.1
+ '@svgr/babel-plugin-replace-jsx-attribute-value': 5.0.1
+ '@svgr/babel-plugin-svg-dynamic-title': 5.4.0
+ '@svgr/babel-plugin-svg-em-dimensions': 5.4.0
+ '@svgr/babel-plugin-transform-react-native-svg': 5.4.0
+ '@svgr/babel-plugin-transform-svg-component': 5.5.0
+
+ '@svgr/core@5.5.0':
+ dependencies:
+ '@svgr/plugin-jsx': 5.5.0
+ camelcase: 6.3.0
+ cosmiconfig: 7.1.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@svgr/hast-util-to-babel-ast@5.5.0':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@svgr/plugin-jsx@5.5.0':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@svgr/babel-preset': 5.5.0
+ '@svgr/hast-util-to-babel-ast': 5.5.0
+ svg-parser: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@svgr/plugin-svgo@5.5.0':
+ dependencies:
+ cosmiconfig: 7.1.0
+ deepmerge: 4.3.1
+ svgo: 1.3.2
+
+ '@svgr/webpack@5.5.0':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.29.0)
+ '@babel/preset-env': 7.29.0(@babel/core@7.29.0)
+ '@babel/preset-react': 7.28.5(@babel/core@7.29.0)
+ '@svgr/core': 5.5.0
+ '@svgr/plugin-jsx': 5.5.0
+ '@svgr/plugin-svgo': 5.5.0
+ loader-utils: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
'@swc/helpers@0.5.15':
dependencies:
tslib: 2.8.1
+ '@tootallnate/once@1.1.2': {}
+
+ '@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.8.1)':
+ dependencies:
+ '@babel/generator': 7.17.7
+ '@babel/parser': 7.29.0
+ '@babel/traverse': 7.23.2
+ '@babel/types': 7.17.0
+ javascript-natural-sort: 0.7.1
+ lodash: 4.17.23
+ prettier: 3.8.1
+ transitivePeerDependencies:
+ - supports-color
+
'@trivago/prettier-plugin-sort-imports@6.0.2(prettier@3.8.1)':
dependencies:
'@babel/generator': 7.29.1
@@ -3453,6 +10143,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@trysound/sax@0.2.0': {}
+
'@tsconfig/node10@1.0.12': {}
'@tsconfig/node12@1.0.11': {}
@@ -3466,12 +10158,111 @@ snapshots:
tslib: 2.8.1
optional: true
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+ '@types/babel__generator': 7.27.0
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.28.0
+
+ '@types/babel__generator@7.27.0':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+
+ '@types/babel__traverse@7.28.0':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@types/body-parser@1.19.6':
+ dependencies:
+ '@types/connect': 3.4.38
+ '@types/node': 16.18.126
+
+ '@types/bonjour@3.5.13':
+ dependencies:
+ '@types/node': 16.18.126
+
+ '@types/connect-history-api-fallback@1.5.4':
+ dependencies:
+ '@types/express-serve-static-core': 5.1.1
+ '@types/node': 16.18.126
+
+ '@types/connect@3.4.38':
+ dependencies:
+ '@types/node': 16.18.126
+
+ '@types/eslint-scope@3.7.7':
+ dependencies:
+ '@types/eslint': 9.6.1
+ '@types/estree': 1.0.8
+
+ '@types/eslint@8.56.12':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/json-schema': 7.0.15
+
+ '@types/eslint@9.6.1':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/json-schema': 7.0.15
+
+ '@types/estree@0.0.39': {}
+
'@types/estree@1.0.8': {}
+ '@types/express-serve-static-core@4.19.8':
+ dependencies:
+ '@types/node': 16.18.126
+ '@types/qs': 6.14.0
+ '@types/range-parser': 1.2.7
+ '@types/send': 1.2.1
+
+ '@types/express-serve-static-core@5.1.1':
+ dependencies:
+ '@types/node': 16.18.126
+ '@types/qs': 6.14.0
+ '@types/range-parser': 1.2.7
+ '@types/send': 1.2.1
+
+ '@types/express@4.17.25':
+ dependencies:
+ '@types/body-parser': 1.19.6
+ '@types/express-serve-static-core': 4.19.8
+ '@types/qs': 6.14.0
+ '@types/serve-static': 1.15.10
+
+ '@types/graceful-fs@4.1.9':
+ dependencies:
+ '@types/node': 16.18.126
+
'@types/hast@3.0.4':
dependencies:
'@types/unist': 3.0.3
+ '@types/html-minifier-terser@6.1.0': {}
+
+ '@types/http-errors@2.0.5': {}
+
+ '@types/http-proxy@1.17.17':
+ dependencies:
+ '@types/node': 16.18.126
+
+ '@types/istanbul-lib-coverage@2.0.6': {}
+
+ '@types/istanbul-lib-report@3.0.3':
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+
+ '@types/istanbul-reports@3.0.4':
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.3
+
'@types/js-yaml@4.0.9': {}
'@types/json-schema@7.0.15': {}
@@ -3484,10 +10275,28 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
- '@types/node@25.2.0':
+ '@types/mime@1.3.5': {}
+
+ '@types/node-forge@1.3.14':
+ dependencies:
+ '@types/node': 16.18.126
+
+ '@types/node@16.18.126': {}
+
+ '@types/node@25.2.3':
dependencies:
undici-types: 7.16.0
+ '@types/parse-json@4.0.2': {}
+
+ '@types/prettier@2.7.3': {}
+
+ '@types/q@1.5.8': {}
+
+ '@types/qs@6.14.0': {}
+
+ '@types/range-parser@1.2.7': {}
+
'@types/react-dom@19.2.3(@types/react@19.2.11)':
dependencies:
'@types/react': 19.2.11
@@ -3496,19 +10305,91 @@ snapshots:
dependencies:
csstype: 3.2.3
+ '@types/resolve@1.17.1':
+ dependencies:
+ '@types/node': 16.18.126
+
+ '@types/retry@0.12.0': {}
+
+ '@types/semver@7.7.1': {}
+
+ '@types/send@0.17.6':
+ dependencies:
+ '@types/mime': 1.3.5
+ '@types/node': 16.18.126
+
+ '@types/send@1.2.1':
+ dependencies:
+ '@types/node': 16.18.126
+
+ '@types/serve-index@1.9.4':
+ dependencies:
+ '@types/express': 4.17.25
+
+ '@types/serve-static@1.15.10':
+ dependencies:
+ '@types/http-errors': 2.0.5
+ '@types/node': 16.18.126
+ '@types/send': 0.17.6
+
+ '@types/sockjs@0.3.36':
+ dependencies:
+ '@types/node': 16.18.126
+
+ '@types/stack-utils@2.0.3': {}
+
'@types/stylis@4.2.7': {}
+ '@types/trusted-types@2.0.7': {}
+
'@types/unist@3.0.3': {}
- '@typescript-eslint/eslint-plugin@8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)':
+ '@types/vscode@1.109.0': {}
+
+ '@types/webpack-env@1.18.8': {}
+
+ '@types/ws@8.18.1':
+ dependencies:
+ '@types/node': 16.18.126
+
+ '@types/yargs-parser@21.0.3': {}
+
+ '@types/yargs@16.0.11':
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+
+ '@types/yargs@17.0.35':
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+
+ '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.54.0(eslint@9.39.2)(typescript@5.9.3)
- '@typescript-eslint/scope-manager': 8.54.0
- '@typescript-eslint/type-utils': 8.54.0(eslint@9.39.2)(typescript@5.9.3)
- '@typescript-eslint/utils': 8.54.0(eslint@9.39.2)(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.54.0
- eslint: 9.39.2
+ '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3)
+ debug: 4.4.3
+ eslint: 8.57.1
+ graphemer: 1.4.0
+ ignore: 5.3.2
+ natural-compare-lite: 1.4.0
+ semver: 7.7.4
+ tsutils: 3.21.0(typescript@5.9.3)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/eslint-plugin@8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-community/regexpp': 4.12.2
+ '@typescript-eslint/parser': 8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.55.0
+ '@typescript-eslint/type-utils': 8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.55.0
+ eslint: 9.39.2(jiti@1.21.7)
ignore: 7.0.5
natural-compare: 1.4.0
ts-api-utils: 2.4.0(typescript@5.9.3)
@@ -3516,79 +10397,152 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3)':
+ '@typescript-eslint/experimental-utils@5.62.0(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.54.0
- '@typescript-eslint/types': 8.54.0
- '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.54.0
+ '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3)
+ eslint: 8.57.1
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ '@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3)
debug: 4.4.3
- eslint: 9.39.2
+ eslint: 8.57.1
+ optionalDependencies:
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.54.0(typescript@5.9.3)':
+ '@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.54.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.54.0
+ '@typescript-eslint/scope-manager': 8.55.0
+ '@typescript-eslint/types': 8.55.0
+ '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.55.0
+ debug: 4.4.3
+ eslint: 9.39.2(jiti@1.21.7)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/project-service@8.55.0(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/tsconfig-utils': 8.55.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.55.0
debug: 4.4.3
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.54.0':
+ '@typescript-eslint/scope-manager@5.62.0':
dependencies:
- '@typescript-eslint/types': 8.54.0
- '@typescript-eslint/visitor-keys': 8.54.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/visitor-keys': 5.62.0
- '@typescript-eslint/tsconfig-utils@8.54.0(typescript@5.9.3)':
+ '@typescript-eslint/scope-manager@8.55.0':
+ dependencies:
+ '@typescript-eslint/types': 8.55.0
+ '@typescript-eslint/visitor-keys': 8.55.0
+
+ '@typescript-eslint/tsconfig-utils@8.55.0(typescript@5.9.3)':
dependencies:
typescript: 5.9.3
- '@typescript-eslint/type-utils@8.54.0(eslint@9.39.2)(typescript@5.9.3)':
+ '@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/types': 8.54.0
- '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.54.0(eslint@9.39.2)(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3)
debug: 4.4.3
- eslint: 9.39.2
+ eslint: 8.57.1
+ tsutils: 3.21.0(typescript@5.9.3)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/type-utils@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.55.0
+ '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+ debug: 4.4.3
+ eslint: 9.39.2(jiti@1.21.7)
ts-api-utils: 2.4.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.54.0': {}
+ '@typescript-eslint/types@5.62.0': {}
- '@typescript-eslint/typescript-estree@8.54.0(typescript@5.9.3)':
+ '@typescript-eslint/types@8.55.0': {}
+
+ '@typescript-eslint/typescript-estree@5.62.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/project-service': 8.54.0(typescript@5.9.3)
- '@typescript-eslint/tsconfig-utils': 8.54.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.54.0
- '@typescript-eslint/visitor-keys': 8.54.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/visitor-keys': 5.62.0
+ debug: 4.4.3
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.7.4
+ tsutils: 3.21.0(typescript@5.9.3)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/typescript-estree@8.55.0(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/project-service': 8.55.0(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.55.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.55.0
+ '@typescript-eslint/visitor-keys': 8.55.0
debug: 4.4.3
minimatch: 9.0.5
- semver: 7.7.3
+ semver: 7.7.4
tinyglobby: 0.2.15
ts-api-utils: 2.4.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.54.0(eslint@9.39.2)(typescript@5.9.3)':
+ '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2)
- '@typescript-eslint/scope-manager': 8.54.0
- '@typescript-eslint/types': 8.54.0
- '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.9.3)
- eslint: 9.39.2
+ '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1)
+ '@types/json-schema': 7.0.15
+ '@types/semver': 7.7.1
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3)
+ eslint: 8.57.1
+ eslint-scope: 5.1.1
+ semver: 7.7.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ '@typescript-eslint/utils@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@1.21.7))
+ '@typescript-eslint/scope-manager': 8.55.0
+ '@typescript-eslint/types': 8.55.0
+ '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3)
+ eslint: 9.39.2(jiti@1.21.7)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.54.0':
+ '@typescript-eslint/visitor-keys@5.62.0':
dependencies:
- '@typescript-eslint/types': 8.54.0
+ '@typescript-eslint/types': 5.62.0
+ eslint-visitor-keys: 3.4.3
+
+ '@typescript-eslint/visitor-keys@8.55.0':
+ dependencies:
+ '@typescript-eslint/types': 8.55.0
eslint-visitor-keys: 4.2.1
'@ungap/structured-clone@1.3.0': {}
@@ -3652,16 +10606,171 @@ snapshots:
'@unrs/resolver-binding-win32-x64-msvc@1.11.1':
optional: true
+ '@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@25.2.3)(jiti@1.21.7)(terser@5.46.0))':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0)
+ '@rolldown/pluginutils': 1.0.0-beta.27
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.17.0
+ vite: 6.4.1(@types/node@25.2.3)(jiti@1.21.7)(terser@5.46.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@webassemblyjs/ast@1.14.1':
+ dependencies:
+ '@webassemblyjs/helper-numbers': 1.13.2
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+
+ '@webassemblyjs/floating-point-hex-parser@1.13.2': {}
+
+ '@webassemblyjs/helper-api-error@1.13.2': {}
+
+ '@webassemblyjs/helper-buffer@1.14.1': {}
+
+ '@webassemblyjs/helper-numbers@1.13.2':
+ dependencies:
+ '@webassemblyjs/floating-point-hex-parser': 1.13.2
+ '@webassemblyjs/helper-api-error': 1.13.2
+ '@xtuc/long': 4.2.2
+
+ '@webassemblyjs/helper-wasm-bytecode@1.13.2': {}
+
+ '@webassemblyjs/helper-wasm-section@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/wasm-gen': 1.14.1
+
+ '@webassemblyjs/ieee754@1.13.2':
+ dependencies:
+ '@xtuc/ieee754': 1.2.0
+
+ '@webassemblyjs/leb128@1.13.2':
+ dependencies:
+ '@xtuc/long': 4.2.2
+
+ '@webassemblyjs/utf8@1.13.2': {}
+
+ '@webassemblyjs/wasm-edit@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/helper-wasm-section': 1.14.1
+ '@webassemblyjs/wasm-gen': 1.14.1
+ '@webassemblyjs/wasm-opt': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ '@webassemblyjs/wast-printer': 1.14.1
+
+ '@webassemblyjs/wasm-gen@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/ieee754': 1.13.2
+ '@webassemblyjs/leb128': 1.13.2
+ '@webassemblyjs/utf8': 1.13.2
+
+ '@webassemblyjs/wasm-opt@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/wasm-gen': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+
+ '@webassemblyjs/wasm-parser@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-api-error': 1.13.2
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/ieee754': 1.13.2
+ '@webassemblyjs/leb128': 1.13.2
+ '@webassemblyjs/utf8': 1.13.2
+
+ '@webassemblyjs/wast-printer@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@xtuc/long': 4.2.2
+
+ '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.105.2)':
+ dependencies:
+ webpack: 5.105.2(webpack-cli@5.1.4)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.105.2)
+
+ '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.105.2)':
+ dependencies:
+ webpack: 5.105.2(webpack-cli@5.1.4)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.105.2)
+
+ '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.105.2)':
+ dependencies:
+ webpack: 5.105.2(webpack-cli@5.1.4)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.105.2)
+ optionalDependencies:
+ webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.105.2)
+
+ '@xtuc/ieee754@1.2.0': {}
+
+ '@xtuc/long@4.2.2': {}
+
+ abab@2.0.6: {}
+
+ accepts@1.3.8:
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+
+ acorn-globals@6.0.0:
+ dependencies:
+ acorn: 7.4.1
+ acorn-walk: 7.2.0
+
+ acorn-import-phases@1.0.4(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
+
acorn-jsx@5.3.2(acorn@8.15.0):
dependencies:
acorn: 8.15.0
+ acorn-walk@7.2.0: {}
+
acorn-walk@8.3.4:
dependencies:
acorn: 8.15.0
+ acorn@7.4.1: {}
+
acorn@8.15.0: {}
+ address@1.2.2: {}
+
+ adjust-sourcemap-loader@4.0.0:
+ dependencies:
+ loader-utils: 2.0.4
+ regex-parser: 2.3.1
+
+ agent-base@6.0.2:
+ dependencies:
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ ajv-formats@2.1.1(ajv@8.18.0):
+ optionalDependencies:
+ ajv: 8.18.0
+
+ ajv-keywords@3.5.2(ajv@6.12.6):
+ dependencies:
+ ajv: 6.12.6
+
+ ajv-keywords@5.1.0(ajv@8.18.0):
+ dependencies:
+ ajv: 8.18.0
+ fast-deep-equal: 3.1.3
+
ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
@@ -3669,6 +10778,13 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
+ ajv@8.18.0:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.1.0
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+
allotment@1.20.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
classnames: 2.5.1
@@ -3680,12 +10796,39 @@ snapshots:
react-dom: 19.2.4(react@19.2.4)
usehooks-ts: 3.1.1(react@19.2.4)
+ ansi-escapes@4.3.2:
+ dependencies:
+ type-fest: 0.21.3
+
+ ansi-html-community@0.0.8: {}
+
+ ansi-html@0.0.9: {}
+
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.2.2: {}
+
+ ansi-styles@3.2.1:
+ dependencies:
+ color-convert: 1.9.3
+
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
+ ansi-styles@5.2.0: {}
+
+ any-promise@1.3.0: {}
+
+ anymatch@3.1.3:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
arg@4.1.3: {}
+ arg@5.0.2: {}
+
argparse@1.0.10:
dependencies:
sprintf-js: 1.0.3
@@ -3699,6 +10842,8 @@ snapshots:
call-bound: 1.0.4
is-array-buffer: 3.0.5
+ array-flatten@1.1.1: {}
+
array-includes@3.1.9:
dependencies:
call-bind: 1.0.8
@@ -3710,6 +10855,8 @@ snapshots:
is-string: 1.1.1
math-intrinsics: 1.1.0
+ array-union@2.1.0: {}
+
array.prototype.findlast@1.2.5:
dependencies:
call-bind: 1.0.8
@@ -3743,6 +10890,17 @@ snapshots:
es-abstract: 1.24.1
es-shim-unscopables: 1.1.0
+ array.prototype.reduce@1.0.8:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-abstract: 1.24.1
+ es-array-method-boxes-properly: 1.0.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ is-string: 1.1.1
+
array.prototype.tosorted@1.1.4:
dependencies:
call-bind: 1.0.8
@@ -3761,12 +10919,29 @@ snapshots:
get-intrinsic: 1.3.0
is-array-buffer: 3.0.5
+ asap@2.0.6: {}
+
ast-types-flow@0.0.8: {}
async-function@1.0.0: {}
+ async@3.2.6: {}
+
+ asynckit@0.4.0: {}
+
+ at-least-node@1.0.0: {}
+
attr-accept@2.2.5: {}
+ autoprefixer@10.4.24(postcss@8.4.49):
+ dependencies:
+ browserslist: 4.28.1
+ caniuse-lite: 1.0.30001769
+ fraction.js: 5.3.4
+ picocolors: 1.1.1
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.1.0
@@ -3775,12 +10950,196 @@ snapshots:
axobject-query@4.1.0: {}
+ azure-devops-node-api@11.2.0:
+ dependencies:
+ tunnel: 0.0.6
+ typed-rest-client: 1.8.11
+
+ babel-jest@27.5.1(@babel/core@7.29.0):
+ dependencies:
+ '@babel/core': 7.29.0
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/babel__core': 7.20.5
+ babel-plugin-istanbul: 6.1.1
+ babel-preset-jest: 27.5.1(@babel/core@7.29.0)
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ slash: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-loader@8.4.1(@babel/core@7.29.0)(webpack@5.105.2):
+ dependencies:
+ '@babel/core': 7.29.0
+ find-cache-dir: 3.3.2
+ loader-utils: 2.0.4
+ make-dir: 3.1.0
+ schema-utils: 2.7.1
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ babel-plugin-istanbul@6.1.1:
+ dependencies:
+ '@babel/helper-plugin-utils': 7.28.6
+ '@istanbuljs/load-nyc-config': 1.1.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-instrument: 5.2.1
+ test-exclude: 6.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-jest-hoist@27.5.1:
+ dependencies:
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+ '@types/babel__core': 7.20.5
+ '@types/babel__traverse': 7.28.0
+
+ babel-plugin-macros@3.1.0:
+ dependencies:
+ '@babel/runtime': 7.28.6
+ cosmiconfig: 7.1.0
+ resolve: 1.22.11
+
+ babel-plugin-named-asset-import@0.3.8(@babel/core@7.29.0):
+ dependencies:
+ '@babel/core': 7.29.0
+
+ babel-plugin-polyfill-corejs2@0.4.15(@babel/core@7.29.0):
+ dependencies:
+ '@babel/compat-data': 7.29.0
+ '@babel/core': 7.29.0
+ '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.0):
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0)
+ core-js-compat: 3.48.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-corejs3@0.14.0(@babel/core@7.29.0):
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0)
+ core-js-compat: 3.48.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-regenerator@0.6.6(@babel/core@7.29.0):
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-react-remove-prop-types@0.4.24: {}
+
+ babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.0):
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.0)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.0)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.0)
+ '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.0)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.0)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.0)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.0)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.0)
+
+ babel-preset-jest@27.5.1(@babel/core@7.29.0):
+ dependencies:
+ '@babel/core': 7.29.0
+ babel-plugin-jest-hoist: 27.5.1
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0)
+
+ babel-preset-react-app@10.1.0:
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.29.0)
+ '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.29.0)
+ '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.29.0)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.29.0)
+ '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.29.0)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.29.0)
+ '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.29.0)
+ '@babel/plugin-transform-runtime': 7.29.0(@babel/core@7.29.0)
+ '@babel/preset-env': 7.29.0(@babel/core@7.29.0)
+ '@babel/preset-react': 7.28.5(@babel/core@7.29.0)
+ '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0)
+ '@babel/runtime': 7.28.6
+ babel-plugin-macros: 3.1.0
+ babel-plugin-transform-react-remove-prop-types: 0.4.24
+ transitivePeerDependencies:
+ - supports-color
+
balanced-match@1.0.2: {}
+ base64-js@1.5.1: {}
+
baseline-browser-mapping@2.9.19: {}
+ batch@0.6.1: {}
+
+ bfj@7.1.0:
+ dependencies:
+ bluebird: 3.7.2
+ check-types: 11.2.3
+ hoopy: 0.1.4
+ jsonpath: 1.2.1
+ tryer: 1.0.1
+
+ big.js@5.2.2: {}
+
+ binary-extensions@2.3.0: {}
+
+ bl@4.1.0:
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ bluebird@3.7.2: {}
+
+ body-parser@1.20.4:
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.5
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.1
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.14.2
+ raw-body: 2.5.3
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
body-scroll-lock-upgrade@1.1.0: {}
+ bonjour-service@1.3.0:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ multicast-dns: 7.2.5
+
+ boolbase@1.0.0: {}
+
brace-expansion@1.1.12:
dependencies:
balanced-match: 1.0.2
@@ -3794,14 +11153,33 @@ snapshots:
dependencies:
fill-range: 7.1.1
+ browser-process-hrtime@1.0.0: {}
+
browserslist@4.28.1:
dependencies:
baseline-browser-mapping: 2.9.19
- caniuse-lite: 1.0.30001767
+ caniuse-lite: 1.0.30001769
electron-to-chromium: 1.5.286
node-releases: 2.0.27
update-browserslist-db: 1.2.3(browserslist@4.28.1)
+ bser@2.1.1:
+ dependencies:
+ node-int64: 0.4.0
+
+ buffer-crc32@0.2.13: {}
+
+ buffer-from@1.1.2: {}
+
+ buffer@5.7.1:
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+
+ builtin-modules@3.3.0: {}
+
+ bytes@3.1.2: {}
+
calculate-size@1.1.1: {}
call-bind-apply-helpers@1.0.2:
@@ -3825,33 +11203,140 @@ snapshots:
callsites@3.1.0: {}
+ camel-case@4.1.2:
+ dependencies:
+ pascal-case: 3.1.2
+ tslib: 2.8.1
+
+ camelcase-css@2.0.1: {}
+
+ camelcase@5.3.1: {}
+
+ camelcase@6.3.0: {}
+
camelize@1.0.1: {}
- caniuse-lite@1.0.30001767: {}
+ caniuse-api@3.0.0:
+ dependencies:
+ browserslist: 4.28.1
+ caniuse-lite: 1.0.30001769
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+
+ caniuse-lite@1.0.30001769: {}
+
+ case-sensitive-paths-webpack-plugin@2.4.0: {}
ccount@2.0.1: {}
+ chalk@2.4.2:
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
supports-color: 7.2.0
+ char-regex@1.0.2: {}
+
+ char-regex@2.0.2: {}
+
character-entities-html4@2.1.0: {}
character-entities-legacy@3.0.0: {}
+ check-types@11.2.3: {}
+
+ cheerio-select@2.1.0:
+ dependencies:
+ boolbase: 1.0.0
+ css-select: 5.2.2
+ css-what: 6.2.2
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ domutils: 3.2.2
+
+ cheerio@1.2.0:
+ dependencies:
+ cheerio-select: 2.1.0
+ dom-serializer: 2.0.0
+ domhandler: 5.0.3
+ domutils: 3.2.2
+ encoding-sniffer: 0.2.1
+ htmlparser2: 10.1.0
+ parse5: 7.3.0
+ parse5-htmlparser2-tree-adapter: 7.1.0
+ parse5-parser-stream: 7.1.2
+ undici: 7.22.0
+ whatwg-mimetype: 4.0.0
+
+ chokidar@3.6.0:
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.3
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ chownr@1.1.4: {}
+
chroma-js@2.6.0: {}
+ chrome-trace-event@1.0.4: {}
+
+ ci-info@3.9.0: {}
+
+ cjs-module-lexer@1.4.3: {}
+
classnames@2.5.1: {}
+ clean-css@5.3.3:
+ dependencies:
+ source-map: 0.6.1
+
client-only@0.0.1: {}
+ cliui@7.0.4:
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+
+ clone-deep@4.0.1:
+ dependencies:
+ is-plain-object: 2.0.4
+ kind-of: 6.0.3
+ shallow-clone: 3.0.1
+
clsx@2.1.1: {}
+ co@4.6.0: {}
+
+ coa@2.0.2:
+ dependencies:
+ '@types/q': 1.5.8
+ chalk: 2.4.2
+ q: 1.5.1
+
+ collect-v8-coverage@1.0.3: {}
+
+ color-convert@1.9.3:
+ dependencies:
+ color-name: 1.1.3
+
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
+ color-name@1.1.3: {}
+
color-name@1.1.4: {}
color-string@1.9.1:
@@ -3864,14 +11349,94 @@ snapshots:
color-convert: 2.0.1
color-string: 1.9.1
+ colord@2.9.3: {}
+
+ colorette@2.0.20: {}
+
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
comma-separated-tokens@2.0.3: {}
+ commander@10.0.1: {}
+
+ commander@2.20.3: {}
+
+ commander@4.1.1: {}
+
+ commander@6.2.1: {}
+
commander@7.2.0: {}
+ commander@8.3.0: {}
+
+ common-tags@1.8.2: {}
+
+ commondir@1.0.1: {}
+
+ compressible@2.0.18:
+ dependencies:
+ mime-db: 1.54.0
+
+ compression@1.8.1:
+ dependencies:
+ bytes: 3.1.2
+ compressible: 2.0.18
+ debug: 2.6.9
+ negotiator: 0.6.4
+ on-headers: 1.1.0
+ safe-buffer: 5.2.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
concat-map@0.0.1: {}
+ confusing-browser-globals@1.0.11: {}
+
+ connect-history-api-fallback@2.0.0: {}
+
+ content-disposition@0.5.4:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ content-type@1.0.5: {}
+
+ convert-source-map@1.9.0: {}
+
convert-source-map@2.0.0: {}
+ cookie-signature@1.0.7: {}
+
+ cookie@0.7.2: {}
+
+ core-js-compat@3.48.0:
+ dependencies:
+ browserslist: 4.28.1
+
+ core-js-pure@3.48.0: {}
+
+ core-js@3.48.0: {}
+
+ core-util-is@1.0.3: {}
+
+ cosmiconfig@6.0.0:
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.1
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+
+ cosmiconfig@7.1.0:
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.1
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+
coverup@0.1.1: {}
create-global-state-hook@0.0.2: {}
@@ -3884,14 +11449,156 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
+ crypto-random-string@2.0.0: {}
+
+ css-blank-pseudo@3.0.3(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
css-color-keywords@1.0.0: {}
+ css-declaration-sorter@6.4.1(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ css-has-pseudo@3.0.4(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ css-loader@6.11.0(webpack@5.105.2):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-modules-extract-imports: 3.1.0(postcss@8.4.49)
+ postcss-modules-local-by-default: 4.2.0(postcss@8.4.49)
+ postcss-modules-scope: 3.2.1(postcss@8.4.49)
+ postcss-modules-values: 4.0.0(postcss@8.4.49)
+ postcss-value-parser: 4.2.0
+ semver: 7.7.4
+ optionalDependencies:
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ css-minimizer-webpack-plugin@3.4.1(webpack@5.105.2):
+ dependencies:
+ cssnano: 5.1.15(postcss@8.4.49)
+ jest-worker: 27.5.1
+ postcss: 8.4.49
+ schema-utils: 4.3.3
+ serialize-javascript: 6.0.2
+ source-map: 0.6.1
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ css-prefers-color-scheme@6.0.3(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ css-select-base-adapter@0.1.1: {}
+
+ css-select@2.1.0:
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 3.4.2
+ domutils: 1.7.0
+ nth-check: 1.0.2
+
+ css-select@4.3.0:
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.2.2
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+
+ css-select@5.2.2:
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.2.2
+ domhandler: 5.0.3
+ domutils: 3.2.2
+ nth-check: 2.1.1
+
css-to-react-native@3.2.0:
dependencies:
camelize: 1.0.1
css-color-keywords: 1.0.0
postcss-value-parser: 4.2.0
+ css-tree@1.0.0-alpha.37:
+ dependencies:
+ mdn-data: 2.0.4
+ source-map: 0.6.1
+
+ css-tree@1.1.3:
+ dependencies:
+ mdn-data: 2.0.14
+ source-map: 0.6.1
+
+ css-what@3.4.2: {}
+
+ css-what@6.2.2: {}
+
+ cssdb@7.11.2: {}
+
+ cssesc@3.0.0: {}
+
+ cssnano-preset-default@5.2.14(postcss@8.4.49):
+ dependencies:
+ css-declaration-sorter: 6.4.1(postcss@8.4.49)
+ cssnano-utils: 3.1.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-calc: 8.2.4(postcss@8.4.49)
+ postcss-colormin: 5.3.1(postcss@8.4.49)
+ postcss-convert-values: 5.1.3(postcss@8.4.49)
+ postcss-discard-comments: 5.1.2(postcss@8.4.49)
+ postcss-discard-duplicates: 5.1.0(postcss@8.4.49)
+ postcss-discard-empty: 5.1.1(postcss@8.4.49)
+ postcss-discard-overridden: 5.1.0(postcss@8.4.49)
+ postcss-merge-longhand: 5.1.7(postcss@8.4.49)
+ postcss-merge-rules: 5.1.4(postcss@8.4.49)
+ postcss-minify-font-values: 5.1.0(postcss@8.4.49)
+ postcss-minify-gradients: 5.1.1(postcss@8.4.49)
+ postcss-minify-params: 5.1.4(postcss@8.4.49)
+ postcss-minify-selectors: 5.2.1(postcss@8.4.49)
+ postcss-normalize-charset: 5.1.0(postcss@8.4.49)
+ postcss-normalize-display-values: 5.1.0(postcss@8.4.49)
+ postcss-normalize-positions: 5.1.1(postcss@8.4.49)
+ postcss-normalize-repeat-style: 5.1.1(postcss@8.4.49)
+ postcss-normalize-string: 5.1.0(postcss@8.4.49)
+ postcss-normalize-timing-functions: 5.1.0(postcss@8.4.49)
+ postcss-normalize-unicode: 5.1.1(postcss@8.4.49)
+ postcss-normalize-url: 5.1.0(postcss@8.4.49)
+ postcss-normalize-whitespace: 5.1.1(postcss@8.4.49)
+ postcss-ordered-values: 5.1.3(postcss@8.4.49)
+ postcss-reduce-initial: 5.1.2(postcss@8.4.49)
+ postcss-reduce-transforms: 5.1.0(postcss@8.4.49)
+ postcss-svgo: 5.1.0(postcss@8.4.49)
+ postcss-unique-selectors: 5.1.1(postcss@8.4.49)
+
+ cssnano-utils@3.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ cssnano@5.1.15(postcss@8.4.49):
+ dependencies:
+ cssnano-preset-default: 5.2.14(postcss@8.4.49)
+ lilconfig: 2.1.0
+ postcss: 8.4.49
+ yaml: 1.10.2
+
+ csso@4.2.0:
+ dependencies:
+ css-tree: 1.1.3
+
+ cssom@0.3.8: {}
+
+ cssom@0.4.4: {}
+
+ cssstyle@2.3.0:
+ dependencies:
+ cssom: 0.3.8
+
csstype@3.2.3: {}
ctrl-keys@1.0.6: {}
@@ -3904,6 +11611,12 @@ snapshots:
damerau-levenshtein@1.0.8: {}
+ data-urls@2.0.0:
+ dependencies:
+ abab: 2.0.6
+ whatwg-mimetype: 2.3.0
+ whatwg-url: 8.7.0
+
data-view-buffer@1.0.2:
dependencies:
call-bound: 1.0.4
@@ -3926,14 +11639,28 @@ snapshots:
debounce@1.2.1: {}
- debug@3.2.7:
+ debug@2.6.9:
+ dependencies:
+ ms: 2.0.0
+
+ debug@3.2.7(supports-color@5.5.0):
dependencies:
ms: 2.1.3
+ optionalDependencies:
+ supports-color: 5.5.0
debug@4.4.3:
dependencies:
ms: 2.1.3
+ decimal.js@10.6.0: {}
+
+ decompress-response@6.0.0:
+ dependencies:
+ mimic-response: 3.1.0
+
+ dedent@0.7.0: {}
+
deeks@3.1.0: {}
deep-copy@1.4.2: {}
@@ -3947,8 +11674,16 @@ snapshots:
object-keys: 1.1.1
regexp.prototype.flags: 1.5.4
+ deep-extend@0.6.0: {}
+
deep-is@0.1.4: {}
+ deepmerge@4.3.1: {}
+
+ default-gateway@6.0.3:
+ dependencies:
+ execa: 5.1.1
+
defaulty@2.1.0:
dependencies:
deep-copy: 1.4.2
@@ -3959,6 +11694,8 @@ snapshots:
es-errors: 1.3.0
gopd: 1.2.0
+ define-lazy-prop@2.0.0: {}
+
define-properties@1.2.1:
dependencies:
define-data-property: 1.1.4
@@ -3967,25 +11704,128 @@ snapshots:
defined@1.0.1: {}
+ delayed-stream@1.0.0: {}
+
+ depd@1.1.2: {}
+
+ depd@2.0.0: {}
+
dequal@2.0.3: {}
- detect-libc@2.1.2:
- optional: true
+ destroy@1.2.0: {}
+
+ detect-libc@2.1.2: {}
+
+ detect-newline@3.1.0: {}
detect-node-es@1.1.0: {}
+ detect-node@2.1.0: {}
+
+ detect-port-alt@1.1.6:
+ dependencies:
+ address: 1.2.2
+ debug: 2.6.9
+ transitivePeerDependencies:
+ - supports-color
+
devlop@1.1.0:
dependencies:
dequal: 2.0.3
+ didyoumean@1.2.2: {}
+
+ diff-sequences@27.5.1: {}
+
diff@4.0.4: {}
+ dir-glob@3.0.1:
+ dependencies:
+ path-type: 4.0.0
+
+ dlv@1.1.3: {}
+
+ dns-packet@5.6.1:
+ dependencies:
+ '@leichtgewicht/ip-codec': 2.0.5
+
doc-path@4.1.1: {}
doctrine@2.1.0:
dependencies:
esutils: 2.0.3
+ doctrine@3.0.0:
+ dependencies:
+ esutils: 2.0.3
+
+ dom-converter@0.2.0:
+ dependencies:
+ utila: 0.4.0
+
+ dom-serializer@0.2.2:
+ dependencies:
+ domelementtype: 2.3.0
+ entities: 2.2.0
+
+ dom-serializer@1.4.1:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+
+ dom-serializer@2.0.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.5.0
+
+ domelementtype@1.3.1: {}
+
+ domelementtype@2.3.0: {}
+
+ domexception@2.0.1:
+ dependencies:
+ webidl-conversions: 5.0.0
+
+ domhandler@4.3.1:
+ dependencies:
+ domelementtype: 2.3.0
+
+ domhandler@5.0.3:
+ dependencies:
+ domelementtype: 2.3.0
+
+ dompurify@3.2.7:
+ optionalDependencies:
+ '@types/trusted-types': 2.0.7
+
+ domutils@1.7.0:
+ dependencies:
+ dom-serializer: 0.2.2
+ domelementtype: 1.3.1
+
+ domutils@2.8.0:
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+
+ domutils@3.2.2:
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+
+ dot-case@3.0.4:
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.8.1
+
+ dotenv-expand@5.1.0: {}
+
+ dotenv@10.0.0: {}
+
dotignore@0.1.2:
dependencies:
minimatch: 3.1.2
@@ -3998,6 +11838,12 @@ snapshots:
duplexer@0.1.2: {}
+ ee-first@1.1.1: {}
+
+ ejs@3.1.10:
+ dependencies:
+ jake: 10.9.4
+
electron-to-chromium@1.5.286: {}
elkjs@0.10.2: {}
@@ -4008,8 +11854,52 @@ snapshots:
ellipsize@0.5.1: {}
+ emittery@0.10.2: {}
+
+ emittery@0.8.1: {}
+
+ emoji-regex@8.0.0: {}
+
emoji-regex@9.2.2: {}
+ emojis-list@3.0.0: {}
+
+ encodeurl@2.0.0: {}
+
+ encoding-sniffer@0.2.1:
+ dependencies:
+ iconv-lite: 0.6.3
+ whatwg-encoding: 3.1.1
+
+ end-of-stream@1.4.5:
+ dependencies:
+ once: 1.4.0
+
+ enhanced-resolve@5.19.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.3.0
+
+ entities@2.1.0: {}
+
+ entities@2.2.0: {}
+
+ entities@4.5.0: {}
+
+ entities@6.0.1: {}
+
+ entities@7.0.1: {}
+
+ envinfo@7.21.0: {}
+
+ error-ex@1.3.4:
+ dependencies:
+ is-arrayish: 0.2.1
+
+ error-stack-parser@2.1.4:
+ dependencies:
+ stackframe: 1.3.4
+
es-abstract@1.24.1:
dependencies:
array-buffer-byte-length: 1.0.2
@@ -4067,6 +11957,8 @@ snapshots:
unbox-primitive: 1.1.0
which-typed-array: 1.1.20
+ es-array-method-boxes-properly@1.0.0: {}
+
es-define-property@1.0.1: {}
es-errors@1.3.0: {}
@@ -4090,6 +11982,8 @@ snapshots:
iterator.prototype: 1.1.5
safe-array-concat: 1.1.3
+ es-module-lexer@2.0.0: {}
+
es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
@@ -4111,22 +12005,65 @@ snapshots:
is-date-object: 1.1.0
is-symbol: 1.1.1
+ esbuild@0.25.12:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.12
+ '@esbuild/android-arm': 0.25.12
+ '@esbuild/android-arm64': 0.25.12
+ '@esbuild/android-x64': 0.25.12
+ '@esbuild/darwin-arm64': 0.25.12
+ '@esbuild/darwin-x64': 0.25.12
+ '@esbuild/freebsd-arm64': 0.25.12
+ '@esbuild/freebsd-x64': 0.25.12
+ '@esbuild/linux-arm': 0.25.12
+ '@esbuild/linux-arm64': 0.25.12
+ '@esbuild/linux-ia32': 0.25.12
+ '@esbuild/linux-loong64': 0.25.12
+ '@esbuild/linux-mips64el': 0.25.12
+ '@esbuild/linux-ppc64': 0.25.12
+ '@esbuild/linux-riscv64': 0.25.12
+ '@esbuild/linux-s390x': 0.25.12
+ '@esbuild/linux-x64': 0.25.12
+ '@esbuild/netbsd-arm64': 0.25.12
+ '@esbuild/netbsd-x64': 0.25.12
+ '@esbuild/openbsd-arm64': 0.25.12
+ '@esbuild/openbsd-x64': 0.25.12
+ '@esbuild/openharmony-arm64': 0.25.12
+ '@esbuild/sunos-x64': 0.25.12
+ '@esbuild/win32-arm64': 0.25.12
+ '@esbuild/win32-ia32': 0.25.12
+ '@esbuild/win32-x64': 0.25.12
+
escalade@3.2.0: {}
+ escape-html@1.0.3: {}
+
+ escape-string-regexp@1.0.5: {}
+
+ escape-string-regexp@2.0.0: {}
+
escape-string-regexp@4.0.0: {}
- eslint-config-next@16.1.6(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3):
+ escodegen@2.1.0:
+ dependencies:
+ esprima: 4.0.1
+ estraverse: 5.3.0
+ esutils: 2.0.3
+ optionalDependencies:
+ source-map: 0.6.1
+
+ eslint-config-next@16.1.6(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3):
dependencies:
'@next/eslint-plugin-next': 16.1.6
- eslint: 9.39.2
+ eslint: 9.39.2(jiti@1.21.7)
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2))(eslint@9.39.2)
- eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2))(eslint@9.39.2))(eslint@9.39.2)
- eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.2)
- eslint-plugin-react: 7.37.5(eslint@9.39.2)
- eslint-plugin-react-hooks: 7.0.1(eslint@9.39.2)
+ eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@1.21.7))
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@1.21.7))
+ eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.2(jiti@1.21.7))
+ eslint-plugin-react: 7.37.5(eslint@9.39.2(jiti@1.21.7))
+ eslint-plugin-react-hooks: 7.0.1(eslint@9.39.2(jiti@1.21.7))
globals: 16.4.0
- typescript-eslint: 8.54.0(eslint@9.39.2)(typescript@5.9.3)
+ typescript-eslint: 8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
optionalDependencies:
typescript: 5.9.3
transitivePeerDependencies:
@@ -4135,56 +12072,105 @@ snapshots:
- eslint-plugin-import-x
- supports-color
- eslint-config-prettier@10.1.8(eslint@9.39.2):
+ eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@1.21.7)):
dependencies:
- eslint: 9.39.2
+ eslint: 9.39.2(jiti@1.21.7)
+
+ eslint-config-prettier@9.1.2(eslint@8.57.1):
+ dependencies:
+ eslint: 8.57.1
+
+ eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.28.6(@babel/core@7.29.0))(@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.29.0))(eslint@8.57.1)(jest@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3)))(typescript@5.9.3):
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/eslint-parser': 7.28.6(@babel/core@7.29.0)(eslint@8.57.1)
+ '@rushstack/eslint-patch': 1.15.0
+ '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.9.3)
+ babel-preset-react-app: 10.1.0
+ confusing-browser-globals: 1.0.11
+ eslint: 8.57.1
+ eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.28.6(@babel/core@7.29.0))(@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.29.0))(eslint@8.57.1)
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)
+ eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(jest@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3)))(typescript@5.9.3)
+ eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
+ eslint-plugin-react: 7.37.5(eslint@8.57.1)
+ eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1)
+ eslint-plugin-testing-library: 5.11.1(eslint@8.57.1)(typescript@5.9.3)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - '@babel/plugin-syntax-flow'
+ - '@babel/plugin-transform-react-jsx'
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - jest
+ - supports-color
eslint-import-resolver-node@0.3.9:
dependencies:
- debug: 3.2.7
+ debug: 3.2.7(supports-color@5.5.0)
is-core-module: 2.16.1
resolve: 1.22.11
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2))(eslint@9.39.2):
+ eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@1.21.7)):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.3
- eslint: 9.39.2
- get-tsconfig: 4.13.1
+ eslint: 9.39.2(jiti@1.21.7)
+ get-tsconfig: 4.13.6
is-bun-module: 2.0.0
stable-hash: 0.0.5
tinyglobby: 0.2.15
unrs-resolver: 1.11.1
optionalDependencies:
- eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2))(eslint@9.39.2))(eslint@9.39.2)
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@1.21.7))
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.1(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2))(eslint@9.39.2))(eslint@9.39.2):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1):
dependencies:
- debug: 3.2.7
+ debug: 3.2.7(supports-color@5.5.0)
optionalDependencies:
- '@typescript-eslint/parser': 8.54.0(eslint@9.39.2)(typescript@5.9.3)
- eslint: 9.39.2
+ '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.9.3)
+ eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2))(eslint@9.39.2)
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2))(eslint@9.39.2))(eslint@9.39.2):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@1.21.7)):
+ dependencies:
+ debug: 3.2.7(supports-color@5.5.0)
+ optionalDependencies:
+ '@typescript-eslint/parser': 8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+ eslint: 9.39.2(jiti@1.21.7)
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@1.21.7))
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.28.6(@babel/core@7.29.0))(@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.29.0))(eslint@8.57.1):
+ dependencies:
+ '@babel/plugin-syntax-flow': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.29.0)
+ eslint: 8.57.1
+ lodash: 4.17.23
+ string-natural-compare: 3.0.1
+
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
array.prototype.findlastindex: 1.2.6
array.prototype.flat: 1.3.3
array.prototype.flatmap: 1.3.3
- debug: 3.2.7
+ debug: 3.2.7(supports-color@5.5.0)
doctrine: 2.1.0
- eslint: 9.39.2
+ eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2))(eslint@9.39.2))(eslint@9.39.2)
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -4196,13 +12182,53 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.54.0(eslint@9.39.2)(typescript@5.9.3)
+ '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.9.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.2):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@1.21.7)):
+ dependencies:
+ '@rtsao/scc': 1.1.0
+ array-includes: 3.1.9
+ array.prototype.findlastindex: 1.2.6
+ array.prototype.flat: 1.3.3
+ array.prototype.flatmap: 1.3.3
+ debug: 3.2.7(supports-color@5.5.0)
+ doctrine: 2.1.0
+ eslint: 9.39.2(jiti@1.21.7)
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@1.21.7))
+ hasown: 2.0.2
+ is-core-module: 2.16.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.8
+ object.groupby: 1.0.3
+ object.values: 1.2.1
+ semver: 6.3.1
+ string.prototype.trimend: 1.0.9
+ tsconfig-paths: 3.15.0
+ optionalDependencies:
+ '@typescript-eslint/parser': 8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+
+ eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(jest@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3)))(typescript@5.9.3):
+ dependencies:
+ '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3)
+ eslint: 8.57.1
+ optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)
+ jest: 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1):
dependencies:
aria-query: 5.3.2
array-includes: 3.1.9
@@ -4212,7 +12238,7 @@ snapshots:
axobject-query: 4.1.0
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
- eslint: 9.39.2
+ eslint: 8.57.1
hasown: 2.0.2
jsx-ast-utils: 3.3.5
language-tags: 1.0.9
@@ -4221,27 +12247,61 @@ snapshots:
safe-regex-test: 1.1.0
string.prototype.includes: 2.0.1
- eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@9.39.2))(eslint@9.39.2)(prettier@3.8.1):
+ eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.2(jiti@1.21.7)):
dependencies:
- eslint: 9.39.2
+ aria-query: 5.3.2
+ array-includes: 3.1.9
+ array.prototype.flatmap: 1.3.3
+ ast-types-flow: 0.0.8
+ axe-core: 4.11.1
+ axobject-query: 4.1.0
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ eslint: 9.39.2(jiti@1.21.7)
+ hasown: 2.0.2
+ jsx-ast-utils: 3.3.5
+ language-tags: 1.0.9
+ minimatch: 3.1.2
+ object.fromentries: 2.0.8
+ safe-regex-test: 1.1.0
+ string.prototype.includes: 2.0.1
+
+ eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@1.21.7)))(eslint@9.39.2(jiti@1.21.7))(prettier@3.8.1):
+ dependencies:
+ eslint: 9.39.2(jiti@1.21.7)
prettier: 3.8.1
prettier-linter-helpers: 1.0.1
synckit: 0.11.12
optionalDependencies:
- eslint-config-prettier: 10.1.8(eslint@9.39.2)
+ '@types/eslint': 9.6.1
+ eslint-config-prettier: 10.1.8(eslint@9.39.2(jiti@1.21.7))
- eslint-plugin-react-hooks@7.0.1(eslint@9.39.2):
+ eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.8.1):
+ dependencies:
+ eslint: 8.57.1
+ prettier: 3.8.1
+ prettier-linter-helpers: 1.0.1
+ synckit: 0.11.12
+ optionalDependencies:
+ '@types/eslint': 9.6.1
+ eslint-config-prettier: 9.1.2(eslint@8.57.1)
+
+ eslint-plugin-react-hooks@4.6.2(eslint@8.57.1):
+ dependencies:
+ eslint: 8.57.1
+
+ eslint-plugin-react-hooks@7.0.1(eslint@9.39.2(jiti@1.21.7)):
dependencies:
'@babel/core': 7.29.0
'@babel/parser': 7.29.0
- eslint: 9.39.2
+ eslint: 9.39.2(jiti@1.21.7)
hermes-parser: 0.25.1
zod: 4.3.6
zod-validation-error: 4.0.2(zod@4.3.6)
transitivePeerDependencies:
- supports-color
- eslint-plugin-react@7.37.5(eslint@9.39.2):
+ eslint-plugin-react@7.37.5(eslint@8.57.1):
dependencies:
array-includes: 3.1.9
array.prototype.findlast: 1.2.5
@@ -4249,7 +12309,7 @@ snapshots:
array.prototype.tosorted: 1.1.4
doctrine: 2.1.0
es-iterator-helpers: 1.2.2
- eslint: 9.39.2
+ eslint: 8.57.1
estraverse: 5.3.0
hasown: 2.0.2
jsx-ast-utils: 3.3.5
@@ -4263,24 +12323,125 @@ snapshots:
string.prototype.matchall: 4.0.12
string.prototype.repeat: 1.0.0
- eslint-plugin-unused-imports@4.3.0(@typescript-eslint/eslint-plugin@8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2):
+ eslint-plugin-react@7.37.5(eslint@9.39.2(jiti@1.21.7)):
dependencies:
- eslint: 9.39.2
+ 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.2
+ eslint: 9.39.2(jiti@1.21.7)
+ 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
+
+ eslint-plugin-testing-library@5.11.1(eslint@8.57.1)(typescript@5.9.3):
+ dependencies:
+ '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3)
+ eslint: 8.57.1
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1):
+ dependencies:
+ eslint: 8.57.1
optionalDependencies:
- '@typescript-eslint/eslint-plugin': 8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)
+ '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)
+
+ eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7)):
+ dependencies:
+ eslint: 9.39.2(jiti@1.21.7)
+ optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+
+ eslint-scope@5.1.1:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+
+ eslint-scope@7.2.2:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
eslint-scope@8.4.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
+ eslint-visitor-keys@2.1.0: {}
+
eslint-visitor-keys@3.4.3: {}
eslint-visitor-keys@4.2.1: {}
- eslint@9.39.2:
+ eslint-webpack-plugin@3.2.0(eslint@8.57.1)(webpack@5.105.2):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2)
+ '@types/eslint': 8.56.12
+ eslint: 8.57.1
+ jest-worker: 28.1.3
+ micromatch: 4.0.8
+ normalize-path: 3.0.0
+ schema-utils: 4.3.3
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ eslint@8.57.1:
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1)
+ '@eslint-community/regexpp': 4.12.2
+ '@eslint/eslintrc': 2.1.4
+ '@eslint/js': 8.57.1
+ '@humanwhocodes/config-array': 0.13.0
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ '@ungap/structured-clone': 1.3.0
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.6
+ debug: 4.4.3
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.7.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.24.0
+ graphemer: 1.4.0
+ ignore: 5.3.2
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-yaml: 4.1.1
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.4
+ strip-ansi: 6.0.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint@9.39.2(jiti@1.21.7):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@1.21.7))
'@eslint-community/regexpp': 4.12.2
'@eslint/config-array': 0.21.1
'@eslint/config-helpers': 0.4.2
@@ -4314,6 +12475,8 @@ snapshots:
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.4
+ optionalDependencies:
+ jiti: 1.21.7
transitivePeerDependencies:
- supports-color
@@ -4325,6 +12488,14 @@ snapshots:
acorn-jsx: 5.3.2(acorn@8.15.0)
eslint-visitor-keys: 4.2.1
+ espree@9.6.1:
+ dependencies:
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ eslint-visitor-keys: 3.4.3
+
+ esprima@1.2.5: {}
+
esprima@4.0.1: {}
esquery@1.7.0:
@@ -4335,12 +12506,81 @@ snapshots:
dependencies:
estraverse: 5.3.0
+ estraverse@4.3.0: {}
+
estraverse@5.3.0: {}
+ estree-walker@1.0.1: {}
+
esutils@2.0.3: {}
+ etag@1.8.1: {}
+
+ eventemitter3@4.0.7: {}
+
eventemitter3@5.0.4: {}
+ events@3.3.0: {}
+
+ execa@5.1.1:
+ dependencies:
+ cross-spawn: 7.0.6
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+
+ exit@0.1.2: {}
+
+ expand-template@2.0.3: {}
+
+ expect@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ jest-get-type: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+
+ express@4.22.1:
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.4
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookie: 0.7.2
+ cookie-signature: 1.0.7
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.3.2
+ fresh: 0.5.2
+ http-errors: 2.0.1
+ merge-descriptors: 1.0.3
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.12
+ proxy-addr: 2.0.7
+ qs: 6.14.2
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.19.2
+ serve-static: 1.16.3
+ setprototypeof: 1.2.0
+ statuses: 2.0.2
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
fast-deep-equal@1.1.0: {}
fast-deep-equal@3.1.3: {}
@@ -4367,40 +12607,107 @@ snapshots:
fast-levenshtein@2.0.6: {}
+ fast-uri@3.1.0: {}
+
fast-xml-parser@5.3.4:
dependencies:
strnum: 2.1.2
+ fastest-levenshtein@1.0.16: {}
+
fastq@1.20.1:
dependencies:
reusify: 1.1.0
+ faye-websocket@0.11.4:
+ dependencies:
+ websocket-driver: 0.7.4
+
+ fb-watchman@2.0.2:
+ dependencies:
+ bser: 2.1.1
+
+ fd-slicer@1.1.0:
+ dependencies:
+ pend: 1.2.0
+
fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
picomatch: 4.0.3
+ file-entry-cache@6.0.1:
+ dependencies:
+ flat-cache: 3.2.0
+
file-entry-cache@8.0.0:
dependencies:
flat-cache: 4.0.1
+ file-loader@6.2.0(webpack@5.105.2):
+ dependencies:
+ loader-utils: 2.0.4
+ schema-utils: 3.3.0
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
file-selector@2.1.2:
dependencies:
tslib: 2.8.1
+ filelist@1.0.4:
+ dependencies:
+ minimatch: 5.1.6
+
+ filesize@8.0.7: {}
+
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
+ finalhandler@1.3.2:
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.2
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ find-cache-dir@3.3.2:
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 3.1.0
+ pkg-dir: 4.2.0
+
+ find-up@3.0.0:
+ dependencies:
+ locate-path: 3.0.0
+
+ find-up@4.1.0:
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+
find-up@5.0.0:
dependencies:
locate-path: 6.0.0
path-exists: 4.0.0
+ flat-cache@3.2.0:
+ dependencies:
+ flatted: 3.3.3
+ keyv: 4.5.4
+ rimraf: 3.0.2
+
flat-cache@4.0.1:
dependencies:
flatted: 3.3.3
keyv: 4.5.4
+ flat@5.0.2: {}
+
flatted@3.3.3: {}
focus-trap-react@10.3.1(prop-types@15.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
@@ -4415,15 +12722,49 @@ snapshots:
dependencies:
tabbable: 6.4.0
+ follow-redirects@1.15.11: {}
+
for-each@0.3.5:
dependencies:
is-callable: 1.2.7
+ fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.9.3)(webpack@5.105.2):
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@types/json-schema': 7.0.15
+ chalk: 4.1.2
+ chokidar: 3.6.0
+ cosmiconfig: 6.0.0
+ deepmerge: 4.3.1
+ fs-extra: 9.1.0
+ glob: 7.2.3
+ memfs: 3.5.3
+ minimatch: 3.1.2
+ schema-utils: 2.7.0
+ semver: 7.7.4
+ tapable: 1.1.3
+ typescript: 5.9.3
+ webpack: 5.105.2(webpack-cli@5.1.4)
+ optionalDependencies:
+ eslint: 8.57.1
+
+ form-data@3.0.4:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ hasown: 2.0.2
+ mime-types: 2.1.35
+
format-util@1.0.5: {}
- framer-motion@12.31.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
+ forwarded@0.2.0: {}
+
+ fraction.js@5.3.4: {}
+
+ framer-motion@12.34.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
- motion-dom: 12.30.1
+ motion-dom: 12.34.0
motion-utils: 12.29.2
tslib: 2.8.1
optionalDependencies:
@@ -4431,6 +12772,25 @@ snapshots:
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
+ fresh@0.5.2: {}
+
+ fs-constants@1.0.0: {}
+
+ fs-extra@10.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.2.0
+ universalify: 2.0.1
+
+ fs-extra@9.1.0:
+ dependencies:
+ at-least-node: 1.0.0
+ graceful-fs: 4.2.11
+ jsonfile: 6.2.0
+ universalify: 2.0.1
+
+ fs-monkey@1.1.0: {}
+
fs.realpath@1.0.0: {}
fsevents@2.3.3:
@@ -4455,6 +12815,8 @@ snapshots:
gensync@1.0.0-beta.2: {}
+ get-caller-file@2.0.5: {}
+
get-intrinsic@1.3.0:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -4470,21 +12832,29 @@ snapshots:
get-nonce@1.0.1: {}
+ get-own-enumerable-property-symbols@3.0.2: {}
+
+ get-package-type@0.1.0: {}
+
get-proto@1.0.1:
dependencies:
dunder-proto: 1.0.1
es-object-atoms: 1.1.1
+ get-stream@6.0.1: {}
+
get-symbol-description@1.1.0:
dependencies:
call-bound: 1.0.4
es-errors: 1.3.0
get-intrinsic: 1.3.0
- get-tsconfig@4.13.1:
+ get-tsconfig@4.13.6:
dependencies:
resolve-pkg-maps: 1.0.0
+ github-from-package@0.0.0: {}
+
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
@@ -4493,6 +12863,8 @@ snapshots:
dependencies:
is-glob: 4.0.3
+ glob-to-regexp@0.4.1: {}
+
glob@7.2.3:
dependencies:
fs.realpath: 1.0.0
@@ -4502,6 +12874,22 @@ snapshots:
once: 1.4.0
path-is-absolute: 1.0.1
+ global-modules@2.0.0:
+ dependencies:
+ global-prefix: 3.0.0
+
+ global-prefix@3.0.0:
+ dependencies:
+ ini: 1.3.8
+ kind-of: 6.0.3
+ which: 1.3.1
+
+ globals@11.12.0: {}
+
+ globals@13.24.0:
+ dependencies:
+ type-fest: 0.20.2
+
globals@14.0.0: {}
globals@16.4.0: {}
@@ -4511,6 +12899,15 @@ snapshots:
define-properties: 1.2.1
gopd: 1.2.0
+ globby@11.1.0:
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.3
+ ignore: 5.3.2
+ merge2: 1.4.1
+ slash: 3.0.0
+
gofmt.js@0.0.2: {}
goober@2.1.18(csstype@3.2.3):
@@ -4519,14 +12916,24 @@ snapshots:
gopd@1.2.0: {}
+ graceful-fs@4.2.11: {}
+
+ graphemer@1.4.0: {}
+
gzip-size@6.0.0:
dependencies:
duplexer: 0.1.2
hammerjs@2.0.8: {}
+ handle-thing@2.0.1: {}
+
+ harmony-reflect@1.6.2: {}
+
has-bigints@1.1.0: {}
+ has-flag@3.0.0: {}
+
has-flag@4.0.0: {}
has-property-descriptors@1.0.2:
@@ -4567,6 +12974,8 @@ snapshots:
dependencies:
'@types/hast': 3.0.4
+ he@1.2.0: {}
+
hermes-estree@0.25.1: {}
hermes-parser@0.25.1:
@@ -4575,23 +12984,164 @@ snapshots:
highlight-words-core@1.2.3: {}
+ highlight.js@11.11.1: {}
+
+ hoopy@0.1.4: {}
+
+ hosted-git-info@4.1.0:
+ dependencies:
+ lru-cache: 6.0.0
+
+ hpack.js@2.1.6:
+ dependencies:
+ inherits: 2.0.4
+ obuf: 1.1.2
+ readable-stream: 2.3.8
+ wbuf: 1.7.3
+
+ html-encoding-sniffer@2.0.1:
+ dependencies:
+ whatwg-encoding: 1.0.5
+
+ html-entities@2.6.0: {}
+
html-escaper@2.0.2: {}
+ html-minifier-terser@6.1.0:
+ dependencies:
+ camel-case: 4.1.2
+ clean-css: 5.3.3
+ commander: 8.3.0
+ he: 1.2.0
+ param-case: 3.0.4
+ relateurl: 0.2.7
+ terser: 5.46.0
+
html-to-image@1.11.11: {}
html-void-elements@3.0.0: {}
+ html-webpack-plugin@5.6.6(webpack@5.105.2):
+ dependencies:
+ '@types/html-minifier-terser': 6.1.0
+ html-minifier-terser: 6.1.0
+ lodash: 4.17.23
+ pretty-error: 4.0.0
+ tapable: 2.3.0
+ optionalDependencies:
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ htmlparser2@10.1.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ domutils: 3.2.2
+ entities: 7.0.1
+
+ htmlparser2@6.1.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ entities: 2.2.0
+
+ http-deceiver@1.2.7: {}
+
+ http-errors@1.8.1:
+ dependencies:
+ depd: 1.1.2
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 1.5.0
+ toidentifier: 1.0.1
+
+ http-errors@2.0.1:
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.2
+ toidentifier: 1.0.1
+
+ http-parser-js@0.5.10: {}
+
+ http-proxy-agent@4.0.1:
+ dependencies:
+ '@tootallnate/once': 1.1.2
+ agent-base: 6.0.2
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ http-proxy-middleware@2.0.9(@types/express@4.17.25):
+ dependencies:
+ '@types/http-proxy': 1.17.17
+ http-proxy: 1.18.1
+ is-glob: 4.0.3
+ is-plain-obj: 3.0.0
+ micromatch: 4.0.8
+ optionalDependencies:
+ '@types/express': 4.17.25
+ transitivePeerDependencies:
+ - debug
+
+ http-proxy@1.18.1:
+ dependencies:
+ eventemitter3: 4.0.7
+ follow-redirects: 1.15.11
+ requires-port: 1.0.0
+ transitivePeerDependencies:
+ - debug
+
+ https-proxy-agent@5.0.1:
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
human-format@1.2.1: {}
+ human-signals@2.1.0: {}
+
+ iconv-lite@0.4.24:
+ dependencies:
+ safer-buffer: 2.1.2
+
+ iconv-lite@0.6.3:
+ dependencies:
+ safer-buffer: 2.1.2
+
+ icss-utils@5.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ idb@7.1.1: {}
+
+ identity-obj-proxy@3.0.0:
+ dependencies:
+ harmony-reflect: 1.6.2
+
+ ieee754@1.2.1: {}
+
+ ignore-by-default@1.0.1: {}
+
ignore@5.3.2: {}
ignore@7.0.5: {}
+ immer@9.0.21: {}
+
import-fresh@3.3.1:
dependencies:
parent-module: 1.0.1
resolve-from: 4.0.0
+ import-local@3.2.0:
+ dependencies:
+ pkg-dir: 4.2.0
+ resolve-cwd: 3.0.0
+
imurmurhash@0.1.4: {}
inflight@1.0.6:
@@ -4601,12 +13151,20 @@ snapshots:
inherits@2.0.4: {}
+ ini@1.3.8: {}
+
internal-slot@1.1.0:
dependencies:
es-errors: 1.3.0
hasown: 2.0.2
side-channel: 1.1.0
+ interpret@3.1.1: {}
+
+ ipaddr.js@1.9.1: {}
+
+ ipaddr.js@2.3.0: {}
+
is-arguments@1.2.0:
dependencies:
call-bound: 1.0.4
@@ -4618,6 +13176,8 @@ snapshots:
call-bound: 1.0.4
get-intrinsic: 1.3.0
+ is-arrayish@0.2.1: {}
+
is-arrayish@0.3.4: {}
is-async-function@2.1.1:
@@ -4632,6 +13192,10 @@ snapshots:
dependencies:
has-bigints: 1.1.0
+ is-binary-path@2.1.0:
+ dependencies:
+ binary-extensions: 2.3.0
+
is-boolean-object@1.2.2:
dependencies:
call-bound: 1.0.4
@@ -4639,7 +13203,7 @@ snapshots:
is-bun-module@2.0.0:
dependencies:
- semver: 7.7.3
+ semver: 7.7.4
is-callable@1.2.7: {}
@@ -4658,12 +13222,18 @@ snapshots:
call-bound: 1.0.4
has-tostringtag: 1.0.2
+ is-docker@2.2.1: {}
+
is-extglob@2.1.1: {}
is-finalizationregistry@1.1.1:
dependencies:
call-bound: 1.0.4
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-generator-fn@2.1.0: {}
+
is-generator-function@1.1.2:
dependencies:
call-bound: 1.0.4
@@ -4678,6 +13248,8 @@ snapshots:
is-map@2.0.3: {}
+ is-module@1.0.0: {}
+
is-negative-zero@2.0.3: {}
is-number-object@1.1.1:
@@ -4687,8 +13259,20 @@ snapshots:
is-number@7.0.0: {}
+ is-obj@1.0.1: {}
+
+ is-path-inside@3.0.3: {}
+
+ is-plain-obj@3.0.0: {}
+
+ is-plain-object@2.0.4:
+ dependencies:
+ isobject: 3.0.1
+
is-plain-object@5.0.0: {}
+ is-potential-custom-element-name@1.0.1: {}
+
is-regex@1.1.4:
dependencies:
call-bind: 1.0.8
@@ -4701,12 +13285,18 @@ snapshots:
has-tostringtag: 1.0.2
hasown: 2.0.2
+ is-regexp@1.0.0: {}
+
+ is-root@2.1.0: {}
+
is-set@2.0.3: {}
is-shared-array-buffer@1.0.4:
dependencies:
call-bound: 1.0.4
+ is-stream@2.0.1: {}
+
is-string@1.1.1:
dependencies:
call-bound: 1.0.4
@@ -4722,6 +13312,8 @@ snapshots:
dependencies:
which-typed-array: 1.1.20
+ is-typedarray@1.0.0: {}
+
is-weakmap@2.0.2: {}
is-weakref@1.1.1:
@@ -4733,10 +13325,49 @@ snapshots:
call-bound: 1.0.4
get-intrinsic: 1.3.0
+ is-wsl@2.2.0:
+ dependencies:
+ is-docker: 2.2.1
+
+ isarray@1.0.0: {}
+
isarray@2.0.5: {}
isexe@2.0.0: {}
+ isobject@3.0.1: {}
+
+ istanbul-lib-coverage@3.2.2: {}
+
+ istanbul-lib-instrument@5.2.1:
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/parser': 7.29.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-coverage: 3.2.2
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ istanbul-lib-report@3.0.1:
+ dependencies:
+ istanbul-lib-coverage: 3.2.2
+ make-dir: 4.0.0
+ supports-color: 7.2.0
+
+ istanbul-lib-source-maps@4.0.1:
+ dependencies:
+ debug: 4.4.3
+ istanbul-lib-coverage: 3.2.2
+ source-map: 0.6.1
+ transitivePeerDependencies:
+ - supports-color
+
+ istanbul-reports@3.2.0:
+ dependencies:
+ html-escaper: 2.0.2
+ istanbul-lib-report: 3.0.1
+
iterator.prototype@1.1.5:
dependencies:
define-data-property: 1.1.4
@@ -4746,8 +13377,432 @@ snapshots:
has-symbols: 1.1.0
set-function-name: 2.0.2
+ jake@10.9.4:
+ dependencies:
+ async: 3.2.6
+ filelist: 1.0.4
+ picocolors: 1.1.1
+
javascript-natural-sort@0.7.1: {}
+ jest-changed-files@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ execa: 5.1.1
+ throat: 6.0.2
+
+ jest-circus@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+ chalk: 4.1.2
+ co: 4.6.0
+ dedent: 0.7.0
+ expect: 27.5.1
+ is-generator-fn: 2.1.0
+ jest-each: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-cli@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3)):
+ dependencies:
+ '@jest/core': 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ import-local: 3.2.0
+ jest-config: 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ prompts: 2.4.2
+ yargs: 16.2.0
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+
+ jest-config@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3)):
+ dependencies:
+ '@babel/core': 7.29.0
+ '@jest/test-sequencer': 27.5.1
+ '@jest/types': 27.5.1
+ babel-jest: 27.5.1(@babel/core@7.29.0)
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ deepmerge: 4.3.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-circus: 27.5.1
+ jest-environment-jsdom: 27.5.1
+ jest-environment-node: 27.5.1
+ jest-get-type: 27.5.1
+ jest-jasmine2: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-runner: 27.5.1
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ micromatch: 4.0.8
+ parse-json: 5.2.0
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ strip-json-comments: 3.1.1
+ optionalDependencies:
+ ts-node: 10.9.2(@types/node@16.18.126)(typescript@5.9.3)
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+
+ jest-diff@27.5.1:
+ dependencies:
+ chalk: 4.1.2
+ diff-sequences: 27.5.1
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-docblock@27.5.1:
+ dependencies:
+ detect-newline: 3.1.0
+
+ jest-each@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ jest-get-type: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-environment-jsdom@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+ jsdom: 16.7.0
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+
+ jest-environment-node@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+
+ jest-get-type@27.5.1: {}
+
+ jest-haste-map@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/graceful-fs': 4.1.9
+ '@types/node': 16.18.126
+ anymatch: 3.1.3
+ fb-watchman: 2.0.2
+ graceful-fs: 4.2.11
+ jest-regex-util: 27.5.1
+ jest-serializer: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ micromatch: 4.0.8
+ walker: 1.0.8
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ jest-jasmine2@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/source-map': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+ chalk: 4.1.2
+ co: 4.6.0
+ expect: 27.5.1
+ is-generator-fn: 2.1.0
+ jest-each: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-leak-detector@27.5.1:
+ dependencies:
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-matcher-utils@27.5.1:
+ dependencies:
+ chalk: 4.1.2
+ jest-diff: 27.5.1
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-message-util@27.5.1:
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@jest/types': 27.5.1
+ '@types/stack-utils': 2.0.3
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.8
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ stack-utils: 2.0.6
+
+ jest-message-util@28.1.3:
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@jest/types': 28.1.3
+ '@types/stack-utils': 2.0.3
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.8
+ pretty-format: 28.1.3
+ slash: 3.0.0
+ stack-utils: 2.0.6
+
+ jest-mock@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+
+ jest-pnp-resolver@1.2.3(jest-resolve@27.5.1):
+ optionalDependencies:
+ jest-resolve: 27.5.1
+
+ jest-regex-util@27.5.1: {}
+
+ jest-regex-util@28.0.2: {}
+
+ jest-resolve-dependencies@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ jest-regex-util: 27.5.1
+ jest-snapshot: 27.5.1
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-resolve@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1)
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ resolve: 1.22.11
+ resolve.exports: 1.1.1
+ slash: 3.0.0
+
+ jest-runner@27.5.1:
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/environment': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+ chalk: 4.1.2
+ emittery: 0.8.1
+ graceful-fs: 4.2.11
+ jest-docblock: 27.5.1
+ jest-environment-jsdom: 27.5.1
+ jest-environment-node: 27.5.1
+ jest-haste-map: 27.5.1
+ jest-leak-detector: 27.5.1
+ jest-message-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-runtime: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ source-map-support: 0.5.21
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+
+ jest-runtime@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/globals': 27.5.1
+ '@jest/source-map': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ cjs-module-lexer: 1.4.3
+ collect-v8-coverage: 1.0.3
+ execa: 5.1.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-message-util: 27.5.1
+ jest-mock: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ slash: 3.0.0
+ strip-bom: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-serializer@27.5.1:
+ dependencies:
+ '@types/node': 16.18.126
+ graceful-fs: 4.2.11
+
+ jest-snapshot@27.5.1:
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/generator': 7.29.1
+ '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0)
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/babel__traverse': 7.28.0
+ '@types/prettier': 2.7.3
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0)
+ chalk: 4.1.2
+ expect: 27.5.1
+ graceful-fs: 4.2.11
+ jest-diff: 27.5.1
+ jest-get-type: 27.5.1
+ jest-haste-map: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-util: 27.5.1
+ natural-compare: 1.4.0
+ pretty-format: 27.5.1
+ semver: 7.7.4
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-util@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
+
+ jest-util@28.1.3:
+ dependencies:
+ '@jest/types': 28.1.3
+ '@types/node': 16.18.126
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
+
+ jest-validate@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ jest-get-type: 27.5.1
+ leven: 3.1.0
+ pretty-format: 27.5.1
+
+ jest-watch-typeahead@1.1.0(jest@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))):
+ dependencies:
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ jest: 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))
+ jest-regex-util: 28.0.2
+ jest-watcher: 28.1.3
+ slash: 4.0.0
+ string-length: 5.0.1
+ strip-ansi: 7.1.2
+
+ jest-watcher@27.5.1:
+ dependencies:
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 16.18.126
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ jest-util: 27.5.1
+ string-length: 4.0.2
+
+ jest-watcher@28.1.3:
+ dependencies:
+ '@jest/test-result': 28.1.3
+ '@jest/types': 28.1.3
+ '@types/node': 16.18.126
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ emittery: 0.10.2
+ jest-util: 28.1.3
+ string-length: 4.0.2
+
+ jest-worker@26.6.2:
+ dependencies:
+ '@types/node': 16.18.126
+ merge-stream: 2.0.0
+ supports-color: 7.2.0
+
+ jest-worker@27.5.1:
+ dependencies:
+ '@types/node': 16.18.126
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+
+ jest-worker@28.1.3:
+ dependencies:
+ '@types/node': 16.18.126
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+
+ jest@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3)):
+ dependencies:
+ '@jest/core': 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))
+ import-local: 3.2.0
+ jest-cli: 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+
+ jiti@1.21.7: {}
+
jq-web@0.5.1: {}
js-tokens@4.0.0: {}
@@ -4761,8 +13816,44 @@ snapshots:
dependencies:
argparse: 2.0.1
+ jsdom@16.7.0:
+ dependencies:
+ abab: 2.0.6
+ acorn: 8.15.0
+ acorn-globals: 6.0.0
+ cssom: 0.4.4
+ cssstyle: 2.3.0
+ data-urls: 2.0.0
+ decimal.js: 10.6.0
+ domexception: 2.0.1
+ escodegen: 2.1.0
+ form-data: 3.0.4
+ html-encoding-sniffer: 2.0.1
+ http-proxy-agent: 4.0.1
+ https-proxy-agent: 5.0.1
+ is-potential-custom-element-name: 1.0.1
+ nwsapi: 2.2.23
+ parse5: 6.0.1
+ saxes: 5.0.1
+ symbol-tree: 3.2.4
+ tough-cookie: 4.1.4
+ w3c-hr-time: 1.0.2
+ w3c-xmlserializer: 2.0.0
+ webidl-conversions: 6.1.0
+ whatwg-encoding: 1.0.5
+ whatwg-mimetype: 2.3.0
+ whatwg-url: 8.7.0
+ ws: 7.5.10
+ xml-name-validator: 3.0.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
jsep@1.4.0: {}
+ jsesc@2.5.2: {}
+
jsesc@3.1.0: {}
json-2-csv@5.5.10:
@@ -4772,6 +13863,8 @@ snapshots:
json-buffer@3.0.1: {}
+ json-parse-even-better-errors@2.3.1: {}
+
json-schema-faker@0.5.9:
dependencies:
json-schema-ref-parser: 6.1.0
@@ -4785,6 +13878,10 @@ snapshots:
json-schema-traverse@0.4.1: {}
+ json-schema-traverse@1.0.0: {}
+
+ json-schema@0.4.0: {}
+
json-stable-stringify-without-jsonify@1.0.1: {}
json5@1.0.2:
@@ -4797,12 +13894,26 @@ snapshots:
jsonc-parser@3.3.1: {}
+ jsonfile@6.2.0:
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+
jsonpath-plus@10.3.0:
dependencies:
'@jsep-plugin/assignment': 1.3.0(jsep@1.4.0)
'@jsep-plugin/regex': 1.0.4(jsep@1.4.0)
jsep: 1.4.0
+ jsonpath@1.2.1:
+ dependencies:
+ esprima: 1.2.5
+ static-eval: 2.1.1
+ underscore: 1.13.6
+
+ jsonpointer@5.0.1: {}
+
jsx-ast-utils@3.3.5:
dependencies:
array-includes: 3.1.9
@@ -4810,10 +13921,17 @@ snapshots:
object.assign: 4.1.7
object.values: 1.2.1
+ keytar@7.9.0:
+ dependencies:
+ node-addon-api: 4.3.0
+ prebuild-install: 7.1.3
+
keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
+ kind-of@6.0.3: {}
+
kld-affine@2.1.1: {}
kld-intersections@0.7.0:
@@ -4826,17 +13944,57 @@ snapshots:
kld-polynomial@0.3.0: {}
+ kleur@3.0.3: {}
+
+ klona@2.0.6: {}
+
language-subtag-registry@0.3.23: {}
language-tags@1.0.9:
dependencies:
language-subtag-registry: 0.3.23
+ launch-editor@2.12.0:
+ dependencies:
+ picocolors: 1.1.1
+ shell-quote: 1.8.3
+
+ leven@3.1.0: {}
+
levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
+ lilconfig@2.1.0: {}
+
+ lilconfig@3.1.3: {}
+
+ lines-and-columns@1.2.4: {}
+
+ linkify-it@3.0.3:
+ dependencies:
+ uc.micro: 1.0.6
+
+ loader-runner@4.3.1: {}
+
+ loader-utils@2.0.4:
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 2.2.3
+
+ loader-utils@3.3.1: {}
+
+ locate-path@3.0.0:
+ dependencies:
+ p-locate: 3.0.0
+ path-exists: 3.0.0
+
+ locate-path@5.0.0:
+ dependencies:
+ p-locate: 4.1.0
+
locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
@@ -4847,18 +14005,60 @@ snapshots:
lodash.debounce@4.0.8: {}
+ lodash.memoize@4.1.2: {}
+
lodash.merge@4.6.2: {}
+ lodash.sortby@4.7.0: {}
+
+ lodash.uniq@4.5.0: {}
+
+ lodash@4.17.23: {}
+
loose-envify@1.4.0:
dependencies:
js-tokens: 4.0.0
+ lower-case@2.0.2:
+ dependencies:
+ tslib: 2.8.1
+
lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
+ lru-cache@6.0.0:
+ dependencies:
+ yallist: 4.0.0
+
+ magic-string@0.25.9:
+ dependencies:
+ sourcemap-codec: 1.4.8
+
+ make-dir@3.1.0:
+ dependencies:
+ semver: 6.3.1
+
+ make-dir@4.0.0:
+ dependencies:
+ semver: 7.7.4
+
make-error@1.3.6: {}
+ makeerror@1.0.12:
+ dependencies:
+ tmpl: 1.0.5
+
+ markdown-it@12.3.2:
+ dependencies:
+ argparse: 2.0.1
+ entities: 2.1.0
+ linkify-it: 3.0.3
+ mdurl: 1.0.1
+ uc.micro: 1.0.6
+
+ marked@14.0.0: {}
+
math-intrinsics@1.1.0: {}
mdast-util-to-hast@13.2.1:
@@ -4873,10 +14073,28 @@ snapshots:
unist-util-visit: 5.1.0
vfile: 6.0.3
+ mdn-data@2.0.14: {}
+
+ mdn-data@2.0.4: {}
+
+ mdurl@1.0.1: {}
+
+ media-typer@0.3.0: {}
+
+ memfs@3.5.3:
+ dependencies:
+ fs-monkey: 1.1.0
+
memoize-one@4.0.3: {}
+ merge-descriptors@1.0.3: {}
+
+ merge-stream@2.0.0: {}
+
merge2@1.4.1: {}
+ methods@1.1.2: {}
+
micromark-util-character@2.1.1:
dependencies:
micromark-util-symbol: 2.0.1
@@ -4899,16 +14117,48 @@ snapshots:
braces: 3.0.3
picomatch: 2.3.1
+ mime-db@1.52.0: {}
+
+ mime-db@1.54.0: {}
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
+ mime@1.6.0: {}
+
+ mimic-fn@2.1.0: {}
+
+ mimic-response@3.1.0: {}
+
+ mini-css-extract-plugin@2.10.0(webpack@5.105.2):
+ dependencies:
+ schema-utils: 4.3.3
+ tapable: 2.3.0
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ minimalistic-assert@1.0.1: {}
+
minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.12
+ minimatch@5.1.6:
+ dependencies:
+ brace-expansion: 2.0.2
+
minimatch@9.0.5:
dependencies:
brace-expansion: 2.0.2
minimist@1.2.8: {}
+ mkdirp-classic@0.5.3: {}
+
+ mkdirp@0.5.6:
+ dependencies:
+ minimist: 1.2.8
+
mock-property@1.0.3:
dependencies:
define-data-property: 1.1.4
@@ -4918,17 +14168,20 @@ snapshots:
hasown: 2.0.2
isarray: 2.0.5
- monaco-editor@0.52.2: {}
+ monaco-editor@0.55.1:
+ dependencies:
+ dompurify: 3.2.7
+ marked: 14.0.0
- motion-dom@12.30.1:
+ motion-dom@12.34.0:
dependencies:
motion-utils: 12.29.2
motion-utils@12.29.2: {}
- motion@12.31.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
+ motion@12.34.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
- framer-motion: 12.31.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ framer-motion: 12.34.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
tslib: 2.8.1
optionalDependencies:
'@emotion/is-prop-valid': 1.4.0
@@ -4937,39 +14190,64 @@ snapshots:
mrmime@2.0.1: {}
+ ms@2.0.0: {}
+
ms@2.1.3: {}
+ multicast-dns@7.2.5:
+ dependencies:
+ dns-packet: 5.6.1
+ thunky: 1.1.0
+
+ mute-stream@0.0.8: {}
+
+ mz@2.7.0:
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+
name-initials@0.1.3: {}
nanoid@3.3.11: {}
+ napi-build-utils@2.0.0: {}
+
napi-postinstall@0.3.4: {}
+ natural-compare-lite@1.4.0: {}
+
natural-compare@1.4.0: {}
- next-seo@7.1.0(next@16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4):
+ negotiator@0.6.3: {}
+
+ negotiator@0.6.4: {}
+
+ neo-async@2.6.2: {}
+
+ next-seo@7.1.0(next@16.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4):
dependencies:
- next: 16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ next: 16.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
- next-sitemap@4.2.3(next@16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)):
+ next-sitemap@4.2.3(next@16.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)):
dependencies:
'@corex/deepmerge': 4.0.43
'@next/env': 13.5.11
fast-glob: 3.3.3
minimist: 1.2.8
- next: 16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ next: 16.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- next@16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
+ next@16.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
'@next/env': 16.1.6
'@swc/helpers': 0.5.15
baseline-browser-mapping: 2.9.19
- caniuse-lite: 1.0.30001767
+ caniuse-lite: 1.0.30001769
postcss: 8.4.31
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.4)
+ styled-jsx: 5.1.6(react@19.2.4)
optionalDependencies:
'@next/swc-darwin-arm64': 16.1.6
'@next/swc-darwin-x64': 16.1.6
@@ -4984,17 +14262,65 @@ snapshots:
- '@babel/core'
- babel-plugin-macros
- nextjs-google-analytics@2.3.7(next@16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4):
+ nextjs-google-analytics@2.3.7(next@16.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4):
dependencies:
- next: 16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ next: 16.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
optionalDependencies:
fsevents: 2.3.3
+ no-case@3.0.4:
+ dependencies:
+ lower-case: 2.0.2
+ tslib: 2.8.1
+
+ node-abi@3.87.0:
+ dependencies:
+ semver: 7.7.4
+
+ node-addon-api@4.3.0: {}
+
+ node-forge@1.3.3: {}
+
+ node-int64@0.4.0: {}
+
node-releases@2.0.27: {}
+ nodemon@2.0.22:
+ dependencies:
+ chokidar: 3.6.0
+ debug: 3.2.7(supports-color@5.5.0)
+ ignore-by-default: 1.0.1
+ minimatch: 3.1.2
+ pstree.remy: 1.1.8
+ semver: 5.7.2
+ simple-update-notifier: 1.1.0
+ supports-color: 5.5.0
+ touch: 3.1.1
+ undefsafe: 2.0.5
+
+ normalize-path@3.0.0: {}
+
+ normalize-url@6.1.0: {}
+
+ npm-run-path@4.0.1:
+ dependencies:
+ path-key: 3.1.1
+
+ nth-check@1.0.2:
+ dependencies:
+ boolbase: 1.0.0
+
+ nth-check@2.1.1:
+ dependencies:
+ boolbase: 1.0.0
+
+ nwsapi@2.2.23: {}
+
object-assign@4.1.1: {}
+ object-hash@3.0.0: {}
+
object-inspect@1.12.3: {}
object-inspect@1.13.4: {}
@@ -5029,6 +14355,16 @@ snapshots:
es-abstract: 1.24.1
es-object-atoms: 1.1.1
+ object.getownpropertydescriptors@2.1.9:
+ dependencies:
+ array.prototype.reduce: 1.0.8
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.1
+ es-object-atoms: 1.1.1
+ gopd: 1.2.0
+ safe-array-concat: 1.1.3
+
object.groupby@1.0.3:
dependencies:
call-bind: 1.0.8
@@ -5042,10 +14378,22 @@ snapshots:
define-properties: 1.2.1
es-object-atoms: 1.1.1
+ obuf@1.1.2: {}
+
+ on-finished@2.4.1:
+ dependencies:
+ ee-first: 1.1.1
+
+ on-headers@1.1.0: {}
+
once@1.4.0:
dependencies:
wrappy: 1.0.2
+ onetime@5.1.2:
+ dependencies:
+ mimic-fn: 2.1.0
+
oniguruma-parser@0.12.1: {}
oniguruma-to-es@4.3.4:
@@ -5058,6 +14406,12 @@ snapshots:
dependencies:
format-util: 1.0.5
+ open@8.4.2:
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
opener@1.5.2: {}
optionator@0.9.4:
@@ -5077,14 +14431,38 @@ snapshots:
p-cancelable@3.0.0: {}
+ p-limit@2.3.0:
+ dependencies:
+ p-try: 2.2.0
+
p-limit@3.1.0:
dependencies:
yocto-queue: 0.1.0
+ p-locate@3.0.0:
+ dependencies:
+ p-limit: 2.3.0
+
+ p-locate@4.1.0:
+ dependencies:
+ p-limit: 2.3.0
+
p-locate@5.0.0:
dependencies:
p-limit: 3.1.0
+ p-retry@4.6.2:
+ dependencies:
+ '@types/retry': 0.12.0
+ retry: 0.13.1
+
+ p-try@2.2.0: {}
+
+ param-case@3.0.4:
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.8.1
+
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
@@ -5093,8 +14471,43 @@ snapshots:
dependencies:
parse-statements: 1.0.11
+ parse-json@5.2.0:
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ error-ex: 1.3.4
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+
+ parse-semver@1.1.1:
+ dependencies:
+ semver: 5.7.2
+
parse-statements@1.0.11: {}
+ parse5-htmlparser2-tree-adapter@7.1.0:
+ dependencies:
+ domhandler: 5.0.3
+ parse5: 7.3.0
+
+ parse5-parser-stream@7.1.2:
+ dependencies:
+ parse5: 7.3.0
+
+ parse5@6.0.1: {}
+
+ parse5@7.3.0:
+ dependencies:
+ entities: 6.0.1
+
+ parseurl@1.3.3: {}
+
+ pascal-case@3.1.2:
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.8.1
+
+ path-exists@3.0.0: {}
+
path-exists@4.0.0: {}
path-is-absolute@1.0.1: {}
@@ -5103,18 +14516,461 @@ snapshots:
path-parse@1.0.7: {}
+ path-to-regexp@0.1.12: {}
+
+ path-type@4.0.0: {}
+
+ pend@1.2.0: {}
+
+ performance-now@2.1.0: {}
+
+ picocolors@0.2.1: {}
+
picocolors@1.1.1: {}
picomatch@2.3.1: {}
picomatch@4.0.3: {}
+ pify@2.3.0: {}
+
+ pirates@4.0.7: {}
+
+ pkg-dir@4.2.0:
+ dependencies:
+ find-up: 4.1.0
+
+ pkg-up@3.1.0:
+ dependencies:
+ find-up: 3.0.0
+
pluralize@8.0.0: {}
possible-typed-array-names@1.1.0: {}
+ postcss-attribute-case-insensitive@5.0.2(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ postcss-browser-comments@4.0.0(browserslist@4.28.1)(postcss@8.4.49):
+ dependencies:
+ browserslist: 4.28.1
+ postcss: 8.4.49
+
+ postcss-calc@8.2.4(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+ postcss-value-parser: 4.2.0
+
+ postcss-clamp@4.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-color-functional-notation@4.2.4(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-color-hex-alpha@8.0.4(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-color-rebeccapurple@7.1.1(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-colormin@5.3.1(postcss@8.4.49):
+ dependencies:
+ browserslist: 4.28.1
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-convert-values@5.1.3(postcss@8.4.49):
+ dependencies:
+ browserslist: 4.28.1
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-custom-media@8.0.2(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-custom-properties@12.1.11(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-custom-selectors@6.0.3(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ postcss-dir-pseudo-class@6.0.5(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ postcss-discard-comments@5.1.2(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-discard-duplicates@5.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-discard-empty@5.1.1(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-discard-overridden@5.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-double-position-gradients@3.1.2(postcss@8.4.49):
+ dependencies:
+ '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-env-function@4.0.6(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-flexbugs-fixes@5.0.2(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-focus-visible@6.0.4(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ postcss-focus-within@5.0.4(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ postcss-font-variant@5.0.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-gap-properties@3.0.5(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-image-set-function@4.0.7(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-import@15.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.11
+
+ postcss-initial@4.0.1(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-js@4.1.0(postcss@8.4.49):
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.49
+
+ postcss-lab-function@4.2.1(postcss@8.4.49):
+ dependencies:
+ '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.4.49):
+ dependencies:
+ lilconfig: 3.1.3
+ optionalDependencies:
+ jiti: 1.21.7
+ postcss: 8.4.49
+
+ postcss-loader@6.2.1(postcss@8.4.49)(webpack@5.105.2):
+ dependencies:
+ cosmiconfig: 7.1.0
+ klona: 2.0.6
+ postcss: 8.4.49
+ semver: 7.7.4
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ postcss-logical@5.0.4(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-media-minmax@5.0.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-merge-longhand@5.1.7(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+ stylehacks: 5.1.1(postcss@8.4.49)
+
+ postcss-merge-rules@5.1.4(postcss@8.4.49):
+ dependencies:
+ browserslist: 4.28.1
+ caniuse-api: 3.0.0
+ cssnano-utils: 3.1.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ postcss-minify-font-values@5.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-gradients@5.1.1(postcss@8.4.49):
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 3.1.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-params@5.1.4(postcss@8.4.49):
+ dependencies:
+ browserslist: 4.28.1
+ cssnano-utils: 3.1.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-selectors@5.2.1(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ postcss-modules-extract-imports@3.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-modules-local-by-default@4.2.0(postcss@8.4.49):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-selector-parser: 7.1.1
+ postcss-value-parser: 4.2.0
+
+ postcss-modules-scope@3.2.1(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 7.1.1
+
+ postcss-modules-values@4.0.0(postcss@8.4.49):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.49)
+ postcss: 8.4.49
+
+ postcss-nested@6.2.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ postcss-nesting@10.2.0(postcss@8.4.49):
+ dependencies:
+ '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2)
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ postcss-normalize-charset@5.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-normalize-display-values@5.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-positions@5.1.1(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-repeat-style@5.1.1(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-string@5.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-timing-functions@5.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-unicode@5.1.1(postcss@8.4.49):
+ dependencies:
+ browserslist: 4.28.1
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-url@5.1.0(postcss@8.4.49):
+ dependencies:
+ normalize-url: 6.1.0
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-whitespace@5.1.1(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize@10.0.1(browserslist@4.28.1)(postcss@8.4.49):
+ dependencies:
+ '@csstools/normalize.css': 12.1.1
+ browserslist: 4.28.1
+ postcss: 8.4.49
+ postcss-browser-comments: 4.0.0(browserslist@4.28.1)(postcss@8.4.49)
+ sanitize.css: 13.0.0
+
+ postcss-opacity-percentage@1.1.3(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-ordered-values@5.1.3(postcss@8.4.49):
+ dependencies:
+ cssnano-utils: 3.1.0(postcss@8.4.49)
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-overflow-shorthand@3.0.4(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-page-break@3.0.4(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-place@7.0.5(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-preset-env@7.8.3(postcss@8.4.49):
+ dependencies:
+ '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.4.49)
+ '@csstools/postcss-color-function': 1.1.1(postcss@8.4.49)
+ '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.4.49)
+ '@csstools/postcss-hwb-function': 1.0.2(postcss@8.4.49)
+ '@csstools/postcss-ic-unit': 1.0.1(postcss@8.4.49)
+ '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.4.49)
+ '@csstools/postcss-nested-calc': 1.0.0(postcss@8.4.49)
+ '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.4.49)
+ '@csstools/postcss-oklab-function': 1.1.1(postcss@8.4.49)
+ '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.49)
+ '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.4.49)
+ '@csstools/postcss-text-decoration-shorthand': 1.0.0(postcss@8.4.49)
+ '@csstools/postcss-trigonometric-functions': 1.0.2(postcss@8.4.49)
+ '@csstools/postcss-unset-value': 1.0.2(postcss@8.4.49)
+ autoprefixer: 10.4.24(postcss@8.4.49)
+ browserslist: 4.28.1
+ css-blank-pseudo: 3.0.3(postcss@8.4.49)
+ css-has-pseudo: 3.0.4(postcss@8.4.49)
+ css-prefers-color-scheme: 6.0.3(postcss@8.4.49)
+ cssdb: 7.11.2
+ postcss: 8.4.49
+ postcss-attribute-case-insensitive: 5.0.2(postcss@8.4.49)
+ postcss-clamp: 4.1.0(postcss@8.4.49)
+ postcss-color-functional-notation: 4.2.4(postcss@8.4.49)
+ postcss-color-hex-alpha: 8.0.4(postcss@8.4.49)
+ postcss-color-rebeccapurple: 7.1.1(postcss@8.4.49)
+ postcss-custom-media: 8.0.2(postcss@8.4.49)
+ postcss-custom-properties: 12.1.11(postcss@8.4.49)
+ postcss-custom-selectors: 6.0.3(postcss@8.4.49)
+ postcss-dir-pseudo-class: 6.0.5(postcss@8.4.49)
+ postcss-double-position-gradients: 3.1.2(postcss@8.4.49)
+ postcss-env-function: 4.0.6(postcss@8.4.49)
+ postcss-focus-visible: 6.0.4(postcss@8.4.49)
+ postcss-focus-within: 5.0.4(postcss@8.4.49)
+ postcss-font-variant: 5.0.0(postcss@8.4.49)
+ postcss-gap-properties: 3.0.5(postcss@8.4.49)
+ postcss-image-set-function: 4.0.7(postcss@8.4.49)
+ postcss-initial: 4.0.1(postcss@8.4.49)
+ postcss-lab-function: 4.2.1(postcss@8.4.49)
+ postcss-logical: 5.0.4(postcss@8.4.49)
+ postcss-media-minmax: 5.0.0(postcss@8.4.49)
+ postcss-nesting: 10.2.0(postcss@8.4.49)
+ postcss-opacity-percentage: 1.1.3(postcss@8.4.49)
+ postcss-overflow-shorthand: 3.0.4(postcss@8.4.49)
+ postcss-page-break: 3.0.4(postcss@8.4.49)
+ postcss-place: 7.0.5(postcss@8.4.49)
+ postcss-pseudo-class-any-link: 7.1.6(postcss@8.4.49)
+ postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.49)
+ postcss-selector-not: 6.0.1(postcss@8.4.49)
+ postcss-value-parser: 4.2.0
+
+ postcss-pseudo-class-any-link@7.1.6(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ postcss-reduce-initial@5.1.2(postcss@8.4.49):
+ dependencies:
+ browserslist: 4.28.1
+ caniuse-api: 3.0.0
+ postcss: 8.4.49
+
+ postcss-reduce-transforms@5.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-replace-overflow-wrap@4.0.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+
+ postcss-selector-not@6.0.1(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+ postcss-selector-parser@6.1.2:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-selector-parser@7.1.1:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-svgo@5.1.0(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+ svgo: 2.8.0
+
+ postcss-unique-selectors@5.1.1(postcss@8.4.49):
+ dependencies:
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
postcss-value-parser@4.2.0: {}
+ postcss@7.0.39:
+ dependencies:
+ picocolors: 0.2.1
+ source-map: 0.6.1
+
postcss@8.4.31:
dependencies:
nanoid: 3.3.11
@@ -5127,6 +14983,27 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
+ postcss@8.5.6:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ prebuild-install@7.1.3:
+ dependencies:
+ detect-libc: 2.1.2
+ expand-template: 2.0.3
+ github-from-package: 0.0.0
+ minimist: 1.2.8
+ mkdirp-classic: 0.5.3
+ napi-build-utils: 2.0.0
+ node-abi: 3.87.0
+ pump: 3.0.3
+ rc: 1.2.8
+ simple-get: 4.0.1
+ tar-fs: 2.1.4
+ tunnel-agent: 0.6.0
+
prelude-ls@1.2.1: {}
prettier-linter-helpers@1.0.1:
@@ -5135,6 +15012,37 @@ snapshots:
prettier@3.8.1: {}
+ pretty-bytes@5.6.0: {}
+
+ pretty-error@4.0.0:
+ dependencies:
+ lodash: 4.17.23
+ renderkid: 3.0.0
+
+ pretty-format@27.5.1:
+ dependencies:
+ ansi-regex: 5.0.1
+ ansi-styles: 5.2.0
+ react-is: 17.0.2
+
+ pretty-format@28.1.3:
+ dependencies:
+ '@jest/schemas': 28.1.3
+ ansi-regex: 5.0.1
+ ansi-styles: 5.2.0
+ react-is: 18.3.1
+
+ process-nextick-args@2.0.1: {}
+
+ promise@8.3.0:
+ dependencies:
+ asap: 2.0.6
+
+ prompts@2.4.2:
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+
prop-types@15.8.1:
dependencies:
loose-envify: 1.4.0
@@ -5143,10 +15051,58 @@ snapshots:
property-information@7.1.0: {}
+ proxy-addr@2.0.7:
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+
+ psl@1.15.0:
+ dependencies:
+ punycode: 2.3.1
+
+ pstree.remy@1.1.8: {}
+
+ pump@3.0.3:
+ dependencies:
+ end-of-stream: 1.4.5
+ once: 1.4.0
+
punycode@2.3.1: {}
+ q@1.5.1: {}
+
+ qs@6.14.2:
+ dependencies:
+ side-channel: 1.1.0
+
+ querystringify@2.2.0: {}
+
queue-microtask@1.2.3: {}
+ raf@3.4.1:
+ dependencies:
+ performance-now: 2.1.0
+
+ randombytes@2.1.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ range-parser@1.2.1: {}
+
+ raw-body@2.5.3:
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.1
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+
+ rc@1.2.8:
+ dependencies:
+ deep-extend: 0.6.0
+ ini: 1.3.8
+ minimist: 1.2.8
+ strip-json-comments: 2.0.1
+
reablocks@8.7.15(@emotion/is-prop-valid@1.4.0)(@types/react@19.2.11)(prop-types@15.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
'@floating-ui/react': 0.26.28(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
@@ -5163,7 +15119,7 @@ snapshots:
focus-trap-react: 10.3.1(prop-types@15.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
fuse.js: 6.6.2
human-format: 1.2.1
- motion: 12.31.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ motion: 12.34.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
name-initials: 0.1.3
pluralize: 8.0.0
react: 19.2.4
@@ -5177,6 +15133,15 @@ snapshots:
- '@types/react'
- prop-types
+ react-app-polyfill@3.0.0:
+ dependencies:
+ core-js: 3.48.0
+ object-assign: 4.1.1
+ promise: 8.3.0
+ raf: 3.4.1
+ regenerator-runtime: 0.13.11
+ whatwg-fetch: 3.6.20
+
react-base16-styling@0.10.0:
dependencies:
'@types/lodash': 4.17.23
@@ -5188,6 +15153,40 @@ snapshots:
dependencies:
react: 19.2.4
+ react-dev-utils@12.0.1(eslint@8.57.1)(typescript@5.9.3)(webpack@5.105.2):
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ address: 1.2.2
+ browserslist: 4.28.1
+ chalk: 4.1.2
+ cross-spawn: 7.0.6
+ detect-port-alt: 1.1.6
+ escape-string-regexp: 4.0.0
+ filesize: 8.0.7
+ find-up: 5.0.0
+ fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.9.3)(webpack@5.105.2)
+ global-modules: 2.0.0
+ globby: 11.1.0
+ gzip-size: 6.0.0
+ immer: 9.0.21
+ is-root: 2.1.0
+ loader-utils: 3.3.1
+ open: 8.4.2
+ pkg-up: 3.1.0
+ prompts: 2.4.2
+ react-error-overlay: 6.1.0
+ recursive-readdir: 2.2.3
+ shell-quote: 1.8.3
+ strip-ansi: 6.0.1
+ text-table: 0.2.0
+ webpack: 5.105.2(webpack-cli@5.1.4)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
+ - vue-template-compiler
+
react-dom@19.2.4(react@19.2.4):
dependencies:
react: 19.2.4
@@ -5200,6 +15199,8 @@ snapshots:
prop-types: 15.8.1
react: 19.2.4
+ react-error-overlay@6.1.0: {}
+
react-fast-compare@3.2.2: {}
react-highlight-words@0.20.0(react@19.2.4):
@@ -5222,6 +15223,10 @@ snapshots:
react-is@16.13.1: {}
+ react-is@17.0.2: {}
+
+ react-is@18.3.1: {}
+
react-json-tree@0.20.0(@types/react@19.2.11)(react@19.2.4):
dependencies:
'@types/lodash': 4.17.23
@@ -5238,6 +15243,10 @@ snapshots:
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
+ react-refresh@0.11.0: {}
+
+ react-refresh@0.17.0: {}
+
react-remove-scroll-bar@2.3.8(@types/react@19.2.11)(react@19.2.4):
dependencies:
react: 19.2.4
@@ -5257,6 +15266,95 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.11
+ react-scripts@5.0.1(@babel/plugin-syntax-flow@7.28.6(@babel/core@7.29.0))(@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.29.0))(@types/babel__core@7.20.5)(eslint@8.57.1)(react@19.2.4)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))(type-fest@4.41.0)(typescript@5.9.3)(webpack-cli@5.1.4):
+ dependencies:
+ '@babel/core': 7.29.0
+ '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@4.15.2)(webpack@5.105.2)
+ '@svgr/webpack': 5.5.0
+ babel-jest: 27.5.1(@babel/core@7.29.0)
+ babel-loader: 8.4.1(@babel/core@7.29.0)(webpack@5.105.2)
+ babel-plugin-named-asset-import: 0.3.8(@babel/core@7.29.0)
+ babel-preset-react-app: 10.1.0
+ bfj: 7.1.0
+ browserslist: 4.28.1
+ camelcase: 6.3.0
+ case-sensitive-paths-webpack-plugin: 2.4.0
+ css-loader: 6.11.0(webpack@5.105.2)
+ css-minimizer-webpack-plugin: 3.4.1(webpack@5.105.2)
+ dotenv: 10.0.0
+ dotenv-expand: 5.1.0
+ eslint: 8.57.1
+ eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.28.6(@babel/core@7.29.0))(@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.29.0))(eslint@8.57.1)(jest@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3)))(typescript@5.9.3)
+ eslint-webpack-plugin: 3.2.0(eslint@8.57.1)(webpack@5.105.2)
+ file-loader: 6.2.0(webpack@5.105.2)
+ fs-extra: 10.1.0
+ html-webpack-plugin: 5.6.6(webpack@5.105.2)
+ identity-obj-proxy: 3.0.0
+ jest: 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3))
+ jest-resolve: 27.5.1
+ jest-watch-typeahead: 1.1.0(jest@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3)))
+ mini-css-extract-plugin: 2.10.0(webpack@5.105.2)
+ postcss: 8.4.49
+ postcss-flexbugs-fixes: 5.0.2(postcss@8.4.49)
+ postcss-loader: 6.2.1(postcss@8.4.49)(webpack@5.105.2)
+ postcss-normalize: 10.0.1(browserslist@4.28.1)(postcss@8.4.49)
+ postcss-preset-env: 7.8.3(postcss@8.4.49)
+ prompts: 2.4.2
+ react: 19.2.4
+ react-app-polyfill: 3.0.0
+ react-dev-utils: 12.0.1(eslint@8.57.1)(typescript@5.9.3)(webpack@5.105.2)
+ react-refresh: 0.11.0
+ resolve: 1.22.11
+ resolve-url-loader: 4.0.0
+ sass-loader: 12.6.0(webpack@5.105.2)
+ semver: 7.7.4
+ source-map-loader: 3.0.2(webpack@5.105.2)
+ style-loader: 3.3.4(webpack@5.105.2)
+ tailwindcss: 3.4.19
+ terser-webpack-plugin: 5.3.16(webpack@5.105.2)
+ webpack: 5.105.2(webpack-cli@5.1.4)
+ webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.105.2)
+ webpack-manifest-plugin: 4.1.1(webpack@5.105.2)
+ workbox-webpack-plugin: 6.6.0(@types/babel__core@7.20.5)(webpack@5.105.2)
+ optionalDependencies:
+ fsevents: 2.3.3
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - '@babel/plugin-syntax-flow'
+ - '@babel/plugin-transform-react-jsx'
+ - '@parcel/css'
+ - '@rspack/core'
+ - '@swc/core'
+ - '@types/babel__core'
+ - '@types/webpack'
+ - bufferutil
+ - canvas
+ - clean-css
+ - csso
+ - debug
+ - esbuild
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - fibers
+ - node-notifier
+ - node-sass
+ - rework
+ - rework-visit
+ - sass
+ - sass-embedded
+ - sockjs-client
+ - supports-color
+ - ts-node
+ - tsx
+ - type-fest
+ - uglify-js
+ - utf-8-validate
+ - vue-template-compiler
+ - webpack-cli
+ - webpack-hot-middleware
+ - webpack-plugin-serve
+ - yaml
+
react-style-singleton@2.2.3(@types/react@19.2.11)(react@19.2.4):
dependencies:
get-nonce: 1.0.1
@@ -5286,6 +15384,34 @@ snapshots:
react@19.2.4: {}
+ read-cache@1.0.0:
+ dependencies:
+ pify: 2.3.0
+
+ read@1.0.7:
+ dependencies:
+ mute-stream: 0.0.8
+
+ readable-stream@2.3.8:
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+
+ readable-stream@3.6.2:
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+
+ readdirp@3.6.0:
+ dependencies:
+ picomatch: 2.3.1
+
reaflow@5.4.1(@emotion/is-prop-valid@1.4.0)(@types/react@19.2.11)(prop-types@15.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
'@juggle/resize-observer': 3.4.0
@@ -5296,7 +15422,7 @@ snapshots:
ellipsize: 0.2.0
kld-affine: 2.1.1
kld-intersections: 0.7.0
- motion: 12.31.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ motion: 12.34.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
p-cancelable: 3.0.0
reablocks: 8.7.15(@emotion/is-prop-valid@1.4.0)(@types/react@19.2.11)(prop-types@15.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
@@ -5318,6 +15444,14 @@ snapshots:
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
+ rechoir@0.8.0:
+ dependencies:
+ resolve: 1.22.11
+
+ recursive-readdir@2.2.3:
+ dependencies:
+ minimatch: 3.1.2
+
reflect.getprototypeof@1.0.10:
dependencies:
call-bind: 1.0.8
@@ -5329,6 +15463,16 @@ snapshots:
get-proto: 1.0.1
which-builtin-type: 1.2.1
+ regenerate-unicode-properties@10.2.2:
+ dependencies:
+ regenerate: 1.4.2
+
+ regenerate@1.4.2: {}
+
+ regenerator-runtime@0.13.11: {}
+
+ regex-parser@2.3.1: {}
+
regex-recursion@6.0.2:
dependencies:
regex-utilities: 2.3.0
@@ -5348,10 +15492,57 @@ snapshots:
gopd: 1.2.0
set-function-name: 2.0.2
+ regexpu-core@6.4.0:
+ dependencies:
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.2.2
+ regjsgen: 0.8.0
+ regjsparser: 0.13.0
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.2.1
+
+ regjsgen@0.8.0: {}
+
+ regjsparser@0.13.0:
+ dependencies:
+ jsesc: 3.1.0
+
+ relateurl@0.2.7: {}
+
+ renderkid@3.0.0:
+ dependencies:
+ css-select: 4.3.0
+ dom-converter: 0.2.0
+ htmlparser2: 6.1.0
+ lodash: 4.17.23
+ strip-ansi: 6.0.1
+
+ require-directory@2.1.1: {}
+
+ require-from-string@2.0.2: {}
+
+ requires-port@1.0.0: {}
+
+ resolve-cwd@3.0.0:
+ dependencies:
+ resolve-from: 5.0.0
+
resolve-from@4.0.0: {}
+ resolve-from@5.0.0: {}
+
resolve-pkg-maps@1.0.0: {}
+ resolve-url-loader@4.0.0:
+ dependencies:
+ adjust-sourcemap-loader: 4.0.0
+ convert-source-map: 1.9.0
+ loader-utils: 2.0.4
+ postcss: 7.0.39
+ source-map: 0.6.1
+
+ resolve.exports@1.1.1: {}
+
resolve@1.22.11:
dependencies:
is-core-module: 2.16.1
@@ -5364,8 +15555,63 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
+ retry@0.13.1: {}
+
reusify@1.1.0: {}
+ rewire@7.0.0:
+ dependencies:
+ eslint: 8.57.1
+ transitivePeerDependencies:
+ - supports-color
+
+ rimraf@3.0.2:
+ dependencies:
+ glob: 7.2.3
+
+ rollup-plugin-terser@7.0.2(rollup@2.79.2):
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ jest-worker: 26.6.2
+ rollup: 2.79.2
+ serialize-javascript: 4.0.0
+ terser: 5.46.0
+
+ rollup@2.79.2:
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ rollup@4.57.1:
+ dependencies:
+ '@types/estree': 1.0.8
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.57.1
+ '@rollup/rollup-android-arm64': 4.57.1
+ '@rollup/rollup-darwin-arm64': 4.57.1
+ '@rollup/rollup-darwin-x64': 4.57.1
+ '@rollup/rollup-freebsd-arm64': 4.57.1
+ '@rollup/rollup-freebsd-x64': 4.57.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.57.1
+ '@rollup/rollup-linux-arm-musleabihf': 4.57.1
+ '@rollup/rollup-linux-arm64-gnu': 4.57.1
+ '@rollup/rollup-linux-arm64-musl': 4.57.1
+ '@rollup/rollup-linux-loong64-gnu': 4.57.1
+ '@rollup/rollup-linux-loong64-musl': 4.57.1
+ '@rollup/rollup-linux-ppc64-gnu': 4.57.1
+ '@rollup/rollup-linux-ppc64-musl': 4.57.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.57.1
+ '@rollup/rollup-linux-riscv64-musl': 4.57.1
+ '@rollup/rollup-linux-s390x-gnu': 4.57.1
+ '@rollup/rollup-linux-x64-gnu': 4.57.1
+ '@rollup/rollup-linux-x64-musl': 4.57.1
+ '@rollup/rollup-openbsd-x64': 4.57.1
+ '@rollup/rollup-openharmony-arm64': 4.57.1
+ '@rollup/rollup-win32-arm64-msvc': 4.57.1
+ '@rollup/rollup-win32-ia32-msvc': 4.57.1
+ '@rollup/rollup-win32-x64-gnu': 4.57.1
+ '@rollup/rollup-win32-x64-msvc': 4.57.1
+ fsevents: 2.3.3
+
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
@@ -5378,6 +15624,10 @@ snapshots:
has-symbols: 1.1.0
isarray: 2.0.5
+ safe-buffer@5.1.2: {}
+
+ safe-buffer@5.2.1: {}
+
safe-push-apply@1.0.0:
dependencies:
es-errors: 1.3.0
@@ -5389,11 +15639,112 @@ snapshots:
es-errors: 1.3.0
is-regex: 1.2.1
+ safer-buffer@2.1.2: {}
+
+ sanitize.css@13.0.0: {}
+
+ sass-loader@12.6.0(webpack@5.105.2):
+ dependencies:
+ klona: 2.0.6
+ neo-async: 2.6.2
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ sax@1.2.4: {}
+
+ sax@1.4.4: {}
+
+ saxes@5.0.1:
+ dependencies:
+ xmlchars: 2.2.0
+
scheduler@0.27.0: {}
+ schema-utils@2.7.0:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ schema-utils@2.7.1:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ schema-utils@3.3.0:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ schema-utils@4.3.3:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 8.18.0
+ ajv-formats: 2.1.1(ajv@8.18.0)
+ ajv-keywords: 5.1.0(ajv@8.18.0)
+
+ select-hose@2.0.0: {}
+
+ selfsigned@2.4.1:
+ dependencies:
+ '@types/node-forge': 1.3.14
+ node-forge: 1.3.3
+
+ semver@5.7.2: {}
+
semver@6.3.1: {}
- semver@7.7.3: {}
+ semver@7.0.0: {}
+
+ semver@7.7.4: {}
+
+ send@0.19.2:
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.1
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ serialize-javascript@4.0.0:
+ dependencies:
+ randombytes: 2.1.0
+
+ serialize-javascript@6.0.2:
+ dependencies:
+ randombytes: 2.1.0
+
+ serve-index@1.9.2:
+ dependencies:
+ accepts: 1.3.8
+ batch: 0.6.1
+ debug: 2.6.9
+ escape-html: 1.0.3
+ http-errors: 1.8.1
+ mime-types: 2.1.35
+ parseurl: 1.3.3
+ transitivePeerDependencies:
+ - supports-color
+
+ serve-static@1.16.3:
+ dependencies:
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.19.2
+ transitivePeerDependencies:
+ - supports-color
set-function-length@1.2.2:
dependencies:
@@ -5417,13 +15768,19 @@ snapshots:
es-errors: 1.3.0
es-object-atoms: 1.1.1
+ setprototypeof@1.2.0: {}
+
+ shallow-clone@3.0.1:
+ dependencies:
+ kind-of: 6.0.3
+
shallowequal@1.1.0: {}
sharp@0.34.5:
dependencies:
'@img/colour': 1.0.0
detect-libc: 2.1.2
- semver: 7.7.3
+ semver: 7.7.4
optionalDependencies:
'@img/sharp-darwin-arm64': 0.34.5
'@img/sharp-darwin-x64': 0.34.5
@@ -5457,6 +15814,8 @@ snapshots:
shebang-regex@3.0.0: {}
+ shell-quote@1.8.3: {}
+
shiki@3.22.0:
dependencies:
'@shikijs/core': 3.22.0
@@ -5496,31 +15855,138 @@ snapshots:
side-channel-map: 1.0.1
side-channel-weakmap: 1.0.2
+ signal-exit@3.0.7: {}
+
+ simple-concat@1.0.1: {}
+
+ simple-get@4.0.1:
+ dependencies:
+ decompress-response: 6.0.0
+ once: 1.4.0
+ simple-concat: 1.0.1
+
simple-swizzle@0.2.4:
dependencies:
is-arrayish: 0.3.4
+ simple-update-notifier@1.1.0:
+ dependencies:
+ semver: 7.0.0
+
sirv@2.0.4:
dependencies:
'@polka/url': 1.0.0-next.29
mrmime: 2.0.1
totalist: 3.0.1
+ sisteransi@1.0.5: {}
+
+ slash@3.0.0: {}
+
+ slash@4.0.0: {}
+
+ sockjs@0.3.24:
+ dependencies:
+ faye-websocket: 0.11.4
+ uuid: 8.3.2
+ websocket-driver: 0.7.4
+
+ source-list-map@2.0.1: {}
+
source-map-js@1.2.1: {}
+ source-map-loader@3.0.2(webpack@5.105.2):
+ dependencies:
+ abab: 2.0.6
+ iconv-lite: 0.6.3
+ source-map-js: 1.2.1
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ source-map-support@0.5.21:
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+
+ source-map@0.5.7: {}
+
+ source-map@0.6.1: {}
+
+ source-map@0.7.6: {}
+
+ source-map@0.8.0-beta.0:
+ dependencies:
+ whatwg-url: 7.1.0
+
+ sourcemap-codec@1.4.8: {}
+
space-separated-tokens@2.0.2: {}
+ spdy-transport@3.0.0:
+ dependencies:
+ debug: 4.4.3
+ detect-node: 2.1.0
+ hpack.js: 2.1.6
+ obuf: 1.1.2
+ readable-stream: 3.6.2
+ wbuf: 1.7.3
+ transitivePeerDependencies:
+ - supports-color
+
+ spdy@4.0.2:
+ dependencies:
+ debug: 4.4.3
+ handle-thing: 2.0.1
+ http-deceiver: 1.2.7
+ select-hose: 2.0.0
+ spdy-transport: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
sprintf-js@1.0.3: {}
stable-hash@0.0.5: {}
+ stable@0.1.8: {}
+
+ stack-utils@2.0.6:
+ dependencies:
+ escape-string-regexp: 2.0.0
+
+ stackframe@1.3.4: {}
+
state-local@1.0.7: {}
+ static-eval@2.1.1:
+ dependencies:
+ escodegen: 2.1.0
+
+ statuses@1.5.0: {}
+
+ statuses@2.0.2: {}
+
stop-iteration-iterator@1.1.0:
dependencies:
es-errors: 1.3.0
internal-slot: 1.1.0
+ string-length@4.0.2:
+ dependencies:
+ char-regex: 1.0.2
+ strip-ansi: 6.0.1
+
+ string-length@5.0.1:
+ dependencies:
+ char-regex: 2.0.2
+ strip-ansi: 7.1.2
+
+ string-natural-compare@3.0.1: {}
+
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
string.prototype.includes@2.0.1:
dependencies:
call-bind: 1.0.8
@@ -5571,18 +16037,52 @@ snapshots:
define-properties: 1.2.1
es-object-atoms: 1.1.1
+ string_decoder@1.1.1:
+ dependencies:
+ safe-buffer: 5.1.2
+
+ string_decoder@1.3.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
stringify-entities@4.0.4:
dependencies:
character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0
+ stringify-object@3.3.0:
+ dependencies:
+ get-own-enumerable-property-symbols: 3.0.2
+ is-obj: 1.0.1
+ is-regexp: 1.0.0
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.1.2:
+ dependencies:
+ ansi-regex: 6.2.2
+
strip-bom@3.0.0: {}
+ strip-bom@4.0.0: {}
+
+ strip-comments@2.0.1: {}
+
+ strip-final-newline@2.0.0: {}
+
+ strip-json-comments@2.0.1: {}
+
strip-json-comments@3.1.1: {}
strnum@2.1.2: {}
- styled-components@6.3.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
+ style-loader@3.3.4(webpack@5.105.2):
+ dependencies:
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ styled-components@6.3.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
'@emotion/is-prop-valid': 1.4.0
'@emotion/unitless': 0.10.0
@@ -5597,21 +16097,78 @@ snapshots:
optionalDependencies:
react-dom: 19.2.4(react@19.2.4)
- styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.4):
+ styled-jsx@5.1.6(react@19.2.4):
dependencies:
client-only: 0.0.1
react: 19.2.4
- optionalDependencies:
- '@babel/core': 7.29.0
+
+ stylehacks@5.1.1(postcss@8.4.49):
+ dependencies:
+ browserslist: 4.28.1
+ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
stylis@4.3.6: {}
+ sucrase@3.35.1:
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ commander: 4.1.1
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.7
+ tinyglobby: 0.2.15
+ ts-interface-checker: 0.1.13
+
+ supports-color@5.5.0:
+ dependencies:
+ has-flag: 3.0.0
+
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
+ supports-color@8.1.1:
+ dependencies:
+ has-flag: 4.0.0
+
+ supports-hyperlinks@2.3.0:
+ dependencies:
+ has-flag: 4.0.0
+ supports-color: 7.2.0
+
supports-preserve-symlinks-flag@1.0.0: {}
+ svg-parser@2.0.4: {}
+
+ svgo@1.3.2:
+ dependencies:
+ chalk: 2.4.2
+ coa: 2.0.2
+ css-select: 2.1.0
+ css-select-base-adapter: 0.1.1
+ css-tree: 1.0.0-alpha.37
+ csso: 4.2.0
+ js-yaml: 3.14.2
+ mkdirp: 0.5.6
+ object.values: 1.2.1
+ sax: 1.2.4
+ stable: 0.1.8
+ unquote: 1.1.1
+ util.promisify: 1.0.1
+
+ svgo@2.8.0:
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 4.3.0
+ css-tree: 1.1.3
+ csso: 4.2.0
+ picocolors: 1.1.1
+ stable: 0.1.8
+
+ symbol-tree@3.2.4: {}
+
synckit@0.11.12:
dependencies:
'@pkgr/core': 0.2.9
@@ -5620,6 +16177,38 @@ snapshots:
tailwind-merge@2.6.1: {}
+ tailwindcss@3.4.19:
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ arg: 5.0.2
+ chokidar: 3.6.0
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.3.3
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ jiti: 1.21.7
+ lilconfig: 3.1.3
+ micromatch: 4.0.8
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.1.1
+ postcss: 8.4.49
+ postcss-import: 15.1.0(postcss@8.4.49)
+ postcss-js: 4.1.0(postcss@8.4.49)
+ postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.4.49)
+ postcss-nested: 6.2.0(postcss@8.4.49)
+ postcss-selector-parser: 6.1.2
+ resolve: 1.22.11
+ sucrase: 3.35.1
+ transitivePeerDependencies:
+ - tsx
+ - yaml
+
+ tapable@1.1.3: {}
+
+ tapable@2.3.0: {}
+
tape@4.17.0:
dependencies:
'@ljharb/resumer': 0.0.1
@@ -5639,35 +16228,158 @@ snapshots:
resolve: 1.22.11
string.prototype.trim: 1.2.10
+ tar-fs@2.1.4:
+ dependencies:
+ chownr: 1.1.4
+ mkdirp-classic: 0.5.3
+ pump: 3.0.3
+ tar-stream: 2.2.0
+
+ tar-stream@2.2.0:
+ dependencies:
+ bl: 4.1.0
+ end-of-stream: 1.4.5
+ fs-constants: 1.0.0
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ temp-dir@2.0.0: {}
+
+ tempy@0.6.0:
+ dependencies:
+ is-stream: 2.0.1
+ temp-dir: 2.0.0
+ type-fest: 0.16.0
+ unique-string: 2.0.0
+
+ terminal-link@2.1.1:
+ dependencies:
+ ansi-escapes: 4.3.2
+ supports-hyperlinks: 2.3.0
+
+ terser-webpack-plugin@5.3.16(webpack@5.105.2):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ jest-worker: 27.5.1
+ schema-utils: 4.3.3
+ serialize-javascript: 6.0.2
+ terser: 5.46.0
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ terser@5.46.0:
+ dependencies:
+ '@jridgewell/source-map': 0.3.11
+ acorn: 8.15.0
+ commander: 2.20.3
+ source-map-support: 0.5.21
+
+ test-exclude@6.0.0:
+ dependencies:
+ '@istanbuljs/schema': 0.1.3
+ glob: 7.2.3
+ minimatch: 3.1.2
+
+ text-table@0.2.0: {}
+
+ thenify-all@1.6.0:
+ dependencies:
+ thenify: 3.3.1
+
+ thenify@3.3.1:
+ dependencies:
+ any-promise: 1.3.0
+
+ throat@6.0.2: {}
+
+ thunky@1.1.0: {}
+
tinyglobby@0.2.15:
dependencies:
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
+ tmp@0.2.5: {}
+
+ tmpl@1.0.5: {}
+
+ to-fast-properties@2.0.0: {}
+
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
+ toidentifier@1.0.1: {}
+
totalist@3.0.1: {}
+ touch@3.1.1: {}
+
+ tough-cookie@4.1.4:
+ dependencies:
+ psl: 1.15.0
+ punycode: 2.3.1
+ universalify: 0.2.0
+ url-parse: 1.5.10
+
+ tr46@1.0.1:
+ dependencies:
+ punycode: 2.3.1
+
+ tr46@2.1.0:
+ dependencies:
+ punycode: 2.3.1
+
trim-lines@3.0.1: {}
+ tryer@1.0.1: {}
+
ts-api-utils@2.4.0(typescript@5.9.3):
dependencies:
typescript: 5.9.3
+ ts-interface-checker@0.1.13: {}
+
ts-invariant@0.10.3:
dependencies:
tslib: 2.8.1
- ts-node@10.9.2(@types/node@25.2.0)(typescript@5.9.3):
+ ts-loader@9.5.4(typescript@5.9.3)(webpack@5.105.2):
+ dependencies:
+ chalk: 4.1.2
+ enhanced-resolve: 5.19.0
+ micromatch: 4.0.8
+ semver: 7.7.4
+ source-map: 0.7.6
+ typescript: 5.9.3
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ ts-node@10.9.2(@types/node@16.18.126)(typescript@5.9.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.12
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
- '@types/node': 25.2.0
+ '@types/node': 16.18.126
+ acorn: 8.15.0
+ acorn-walk: 8.3.4
+ arg: 4.1.3
+ create-require: 1.1.1
+ diff: 4.0.4
+ make-error: 1.3.6
+ typescript: 5.9.3
+ v8-compile-cache-lib: 3.0.1
+ yn: 3.1.1
+ optional: true
+
+ ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3):
+ dependencies:
+ '@cspotcode/source-map-support': 0.8.1
+ '@tsconfig/node10': 1.0.12
+ '@tsconfig/node12': 1.0.11
+ '@tsconfig/node14': 1.0.3
+ '@tsconfig/node16': 1.0.4
+ '@types/node': 25.2.3
acorn: 8.15.0
acorn-walk: 8.3.4
arg: 4.1.3
@@ -5685,14 +16397,67 @@ snapshots:
minimist: 1.2.8
strip-bom: 3.0.0
+ tslib@1.14.1: {}
+
tslib@2.8.1: {}
+ tsutils@3.21.0(typescript@5.9.3):
+ dependencies:
+ tslib: 1.14.1
+ typescript: 5.9.3
+
+ tunnel-agent@0.6.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ tunnel@0.0.6: {}
+
+ turbo-darwin-64@2.8.8:
+ optional: true
+
+ turbo-darwin-arm64@2.8.8:
+ optional: true
+
+ turbo-linux-64@2.8.8:
+ optional: true
+
+ turbo-linux-arm64@2.8.8:
+ optional: true
+
+ turbo-windows-64@2.8.8:
+ optional: true
+
+ turbo-windows-arm64@2.8.8:
+ optional: true
+
+ turbo@2.8.8:
+ optionalDependencies:
+ turbo-darwin-64: 2.8.8
+ turbo-darwin-arm64: 2.8.8
+ turbo-linux-64: 2.8.8
+ turbo-linux-arm64: 2.8.8
+ turbo-windows-64: 2.8.8
+ turbo-windows-arm64: 2.8.8
+
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
+ type-detect@4.0.8: {}
+
+ type-fest@0.16.0: {}
+
+ type-fest@0.20.2: {}
+
+ type-fest@0.21.3: {}
+
type-fest@4.41.0: {}
+ type-is@1.6.18:
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+
typed-array-buffer@1.0.3:
dependencies:
call-bound: 1.0.4
@@ -5726,19 +16491,31 @@ snapshots:
possible-typed-array-names: 1.1.0
reflect.getprototypeof: 1.0.10
- typescript-eslint@8.54.0(eslint@9.39.2)(typescript@5.9.3):
+ typed-rest-client@1.8.11:
dependencies:
- '@typescript-eslint/eslint-plugin': 8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)
- '@typescript-eslint/parser': 8.54.0(eslint@9.39.2)(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.54.0(eslint@9.39.2)(typescript@5.9.3)
- eslint: 9.39.2
+ qs: 6.14.2
+ tunnel: 0.0.6
+ underscore: 1.13.7
+
+ typedarray-to-buffer@3.1.5:
+ dependencies:
+ is-typedarray: 1.0.0
+
+ typescript-eslint@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3):
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
+ eslint: 9.39.2(jiti@1.21.7)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
typescript@5.9.3: {}
+ uc.micro@1.0.6: {}
+
unbox-primitive@1.1.0:
dependencies:
call-bound: 1.0.4
@@ -5746,13 +16523,36 @@ snapshots:
has-symbols: 1.1.0
which-boxed-primitive: 1.1.1
+ undefsafe@2.0.5: {}
+
+ underscore@1.13.6: {}
+
+ underscore@1.13.7: {}
+
undici-types@7.16.0: {}
+ undici@7.22.0: {}
+
undoo@0.5.0:
dependencies:
defaulty: 2.1.0
fast-deep-equal: 1.1.0
+ unicode-canonical-property-names-ecmascript@2.0.1: {}
+
+ unicode-match-property-ecmascript@2.0.0:
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.1
+ unicode-property-aliases-ecmascript: 2.2.0
+
+ unicode-match-property-value-ecmascript@2.2.1: {}
+
+ unicode-property-aliases-ecmascript@2.2.0: {}
+
+ unique-string@2.0.0:
+ dependencies:
+ crypto-random-string: 2.0.0
+
unist-util-is@6.0.1:
dependencies:
'@types/unist': 3.0.3
@@ -5776,6 +16576,14 @@ snapshots:
unist-util-is: 6.0.1
unist-util-visit-parents: 6.0.2
+ universalify@0.2.0: {}
+
+ universalify@2.0.1: {}
+
+ unpipe@1.0.0: {}
+
+ unquote@1.1.1: {}
+
unrs-resolver@1.11.1:
dependencies:
napi-postinstall: 0.3.4
@@ -5800,6 +16608,8 @@ snapshots:
'@unrs/resolver-binding-win32-ia32-msvc': 1.11.1
'@unrs/resolver-binding-win32-x64-msvc': 1.11.1
+ upath@1.2.0: {}
+
update-browserslist-db@1.2.3(browserslist@4.28.1):
dependencies:
browserslist: 4.28.1
@@ -5810,6 +16620,13 @@ snapshots:
dependencies:
punycode: 2.3.1
+ url-join@4.0.1: {}
+
+ url-parse@1.5.10:
+ dependencies:
+ querystringify: 2.2.0
+ requires-port: 1.0.0
+
use-callback-ref@1.3.3(@types/react@19.2.11)(react@19.2.4):
dependencies:
react: 19.2.4
@@ -5851,15 +16668,37 @@ snapshots:
use-sync-external-store@1.6.0(react@19.2.4):
dependencies:
react: 19.2.4
- optional: true
usehooks-ts@3.1.1(react@19.2.4):
dependencies:
lodash.debounce: 4.0.8
react: 19.2.4
+ util-deprecate@1.0.2: {}
+
+ util.promisify@1.0.1:
+ dependencies:
+ define-properties: 1.2.1
+ es-abstract: 1.24.1
+ has-symbols: 1.1.0
+ object.getownpropertydescriptors: 2.1.9
+
+ utila@0.4.0: {}
+
+ utils-merge@1.0.1: {}
+
+ uuid@8.3.2: {}
+
v8-compile-cache-lib@3.0.1: {}
+ v8-to-istanbul@8.1.1:
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ convert-source-map: 1.9.0
+ source-map: 0.7.6
+
+ vary@1.1.2: {}
+
vfile-message@4.0.3:
dependencies:
'@types/unist': 3.0.3
@@ -5870,8 +16709,72 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
+ vite@6.4.1(@types/node@25.2.3)(jiti@1.21.7)(terser@5.46.0):
+ dependencies:
+ esbuild: 0.25.12
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+ postcss: 8.5.6
+ rollup: 4.57.1
+ tinyglobby: 0.2.15
+ optionalDependencies:
+ '@types/node': 25.2.3
+ fsevents: 2.3.3
+ jiti: 1.21.7
+ terser: 5.46.0
+
+ vsce@2.15.0:
+ dependencies:
+ azure-devops-node-api: 11.2.0
+ chalk: 2.4.2
+ cheerio: 1.2.0
+ commander: 6.2.1
+ glob: 7.2.3
+ hosted-git-info: 4.1.0
+ keytar: 7.9.0
+ leven: 3.1.0
+ markdown-it: 12.3.2
+ mime: 1.6.0
+ minimatch: 3.1.2
+ parse-semver: 1.1.1
+ read: 1.0.7
+ semver: 5.7.2
+ tmp: 0.2.5
+ typed-rest-client: 1.8.11
+ url-join: 4.0.1
+ xml2js: 0.4.23
+ yauzl: 2.10.0
+ yazl: 2.5.1
+
+ w3c-hr-time@1.0.2:
+ dependencies:
+ browser-process-hrtime: 1.0.0
+
+ w3c-xmlserializer@2.0.0:
+ dependencies:
+ xml-name-validator: 3.0.0
+
+ walker@1.0.8:
+ dependencies:
+ makeerror: 1.0.12
+
+ watchpack@2.5.1:
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+
+ wbuf@1.7.3:
+ dependencies:
+ minimalistic-assert: 1.0.1
+
web-worker@1.5.0: {}
+ webidl-conversions@4.0.2: {}
+
+ webidl-conversions@5.0.0: {}
+
+ webidl-conversions@6.1.0: {}
+
webpack-bundle-analyzer@4.10.1:
dependencies:
'@discoveryjs/json-ext': 0.5.7
@@ -5891,6 +16794,167 @@ snapshots:
- bufferutil
- utf-8-validate
+ webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.105.2):
+ dependencies:
+ '@discoveryjs/json-ext': 0.5.7
+ '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.105.2)
+ '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.105.2)
+ '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.105.2)
+ colorette: 2.0.20
+ commander: 10.0.1
+ cross-spawn: 7.0.6
+ envinfo: 7.21.0
+ fastest-levenshtein: 1.0.16
+ import-local: 3.2.0
+ interpret: 3.1.1
+ rechoir: 0.8.0
+ webpack: 5.105.2(webpack-cli@5.1.4)
+ webpack-merge: 5.10.0
+ optionalDependencies:
+ webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.105.2)
+
+ webpack-dev-middleware@5.3.4(webpack@5.105.2):
+ dependencies:
+ colorette: 2.0.20
+ memfs: 3.5.3
+ mime-types: 2.1.35
+ range-parser: 1.2.1
+ schema-utils: 4.3.3
+ webpack: 5.105.2(webpack-cli@5.1.4)
+
+ webpack-dev-server@4.15.2(webpack-cli@5.1.4)(webpack@5.105.2):
+ dependencies:
+ '@types/bonjour': 3.5.13
+ '@types/connect-history-api-fallback': 1.5.4
+ '@types/express': 4.17.25
+ '@types/serve-index': 1.9.4
+ '@types/serve-static': 1.15.10
+ '@types/sockjs': 0.3.36
+ '@types/ws': 8.18.1
+ ansi-html-community: 0.0.8
+ bonjour-service: 1.3.0
+ chokidar: 3.6.0
+ colorette: 2.0.20
+ compression: 1.8.1
+ connect-history-api-fallback: 2.0.0
+ default-gateway: 6.0.3
+ express: 4.22.1
+ graceful-fs: 4.2.11
+ html-entities: 2.6.0
+ http-proxy-middleware: 2.0.9(@types/express@4.17.25)
+ ipaddr.js: 2.3.0
+ launch-editor: 2.12.0
+ open: 8.4.2
+ p-retry: 4.6.2
+ rimraf: 3.0.2
+ schema-utils: 4.3.3
+ selfsigned: 2.4.1
+ serve-index: 1.9.2
+ sockjs: 0.3.24
+ spdy: 4.0.2
+ webpack-dev-middleware: 5.3.4(webpack@5.105.2)
+ ws: 8.19.0
+ optionalDependencies:
+ webpack: 5.105.2(webpack-cli@5.1.4)
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.105.2)
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - supports-color
+ - utf-8-validate
+
+ webpack-manifest-plugin@4.1.1(webpack@5.105.2):
+ dependencies:
+ tapable: 2.3.0
+ webpack: 5.105.2(webpack-cli@5.1.4)
+ webpack-sources: 2.3.1
+
+ webpack-merge@5.10.0:
+ dependencies:
+ clone-deep: 4.0.1
+ flat: 5.0.2
+ wildcard: 2.0.1
+
+ webpack-sources@1.4.3:
+ dependencies:
+ source-list-map: 2.0.1
+ source-map: 0.6.1
+
+ webpack-sources@2.3.1:
+ dependencies:
+ source-list-map: 2.0.1
+ source-map: 0.6.1
+
+ webpack-sources@3.3.3: {}
+
+ webpack@5.105.2(webpack-cli@5.1.4):
+ dependencies:
+ '@types/eslint-scope': 3.7.7
+ '@types/estree': 1.0.8
+ '@types/json-schema': 7.0.15
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/wasm-edit': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ acorn: 8.15.0
+ acorn-import-phases: 1.0.4(acorn@8.15.0)
+ browserslist: 4.28.1
+ chrome-trace-event: 1.0.4
+ enhanced-resolve: 5.19.0
+ es-module-lexer: 2.0.0
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.1
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 4.3.3
+ tapable: 2.3.0
+ terser-webpack-plugin: 5.3.16(webpack@5.105.2)
+ watchpack: 2.5.1
+ webpack-sources: 3.3.3
+ optionalDependencies:
+ webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.105.2)
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+
+ websocket-driver@0.7.4:
+ dependencies:
+ http-parser-js: 0.5.10
+ safe-buffer: 5.2.1
+ websocket-extensions: 0.1.4
+
+ websocket-extensions@0.1.4: {}
+
+ whatwg-encoding@1.0.5:
+ dependencies:
+ iconv-lite: 0.4.24
+
+ whatwg-encoding@3.1.1:
+ dependencies:
+ iconv-lite: 0.6.3
+
+ whatwg-fetch@3.6.20: {}
+
+ whatwg-mimetype@2.3.0: {}
+
+ whatwg-mimetype@4.0.0: {}
+
+ whatwg-url@7.1.0:
+ dependencies:
+ lodash.sortby: 4.7.0
+ tr46: 1.0.1
+ webidl-conversions: 4.0.2
+
+ whatwg-url@8.7.0:
+ dependencies:
+ lodash: 4.17.23
+ tr46: 2.1.0
+ webidl-conversions: 6.1.0
+
which-boxed-primitive@1.1.1:
dependencies:
is-bigint: 1.1.0
@@ -5932,18 +16996,202 @@ snapshots:
gopd: 1.2.0
has-tostringtag: 1.0.2
+ which@1.3.1:
+ dependencies:
+ isexe: 2.0.0
+
which@2.0.2:
dependencies:
isexe: 2.0.0
+ wildcard@2.0.1: {}
+
word-wrap@1.2.5: {}
+ workbox-background-sync@6.6.0:
+ dependencies:
+ idb: 7.1.1
+ workbox-core: 6.6.0
+
+ workbox-broadcast-update@6.6.0:
+ dependencies:
+ workbox-core: 6.6.0
+
+ workbox-build@6.6.0(@types/babel__core@7.20.5):
+ dependencies:
+ '@apideck/better-ajv-errors': 0.3.6(ajv@8.18.0)
+ '@babel/core': 7.29.0
+ '@babel/preset-env': 7.29.0(@babel/core@7.29.0)
+ '@babel/runtime': 7.28.6
+ '@rollup/plugin-babel': 5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@2.79.2)
+ '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.2)
+ '@rollup/plugin-replace': 2.4.2(rollup@2.79.2)
+ '@surma/rollup-plugin-off-main-thread': 2.2.3
+ ajv: 8.18.0
+ common-tags: 1.8.2
+ fast-json-stable-stringify: 2.1.0
+ fs-extra: 9.1.0
+ glob: 7.2.3
+ lodash: 4.17.23
+ pretty-bytes: 5.6.0
+ rollup: 2.79.2
+ rollup-plugin-terser: 7.0.2(rollup@2.79.2)
+ source-map: 0.8.0-beta.0
+ stringify-object: 3.3.0
+ strip-comments: 2.0.1
+ tempy: 0.6.0
+ upath: 1.2.0
+ workbox-background-sync: 6.6.0
+ workbox-broadcast-update: 6.6.0
+ workbox-cacheable-response: 6.6.0
+ workbox-core: 6.6.0
+ workbox-expiration: 6.6.0
+ workbox-google-analytics: 6.6.0
+ workbox-navigation-preload: 6.6.0
+ workbox-precaching: 6.6.0
+ workbox-range-requests: 6.6.0
+ workbox-recipes: 6.6.0
+ workbox-routing: 6.6.0
+ workbox-strategies: 6.6.0
+ workbox-streams: 6.6.0
+ workbox-sw: 6.6.0
+ workbox-window: 6.6.0
+ transitivePeerDependencies:
+ - '@types/babel__core'
+ - supports-color
+
+ workbox-cacheable-response@6.6.0:
+ dependencies:
+ workbox-core: 6.6.0
+
+ workbox-core@6.6.0: {}
+
+ workbox-expiration@6.6.0:
+ dependencies:
+ idb: 7.1.1
+ workbox-core: 6.6.0
+
+ workbox-google-analytics@6.6.0:
+ dependencies:
+ workbox-background-sync: 6.6.0
+ workbox-core: 6.6.0
+ workbox-routing: 6.6.0
+ workbox-strategies: 6.6.0
+
+ workbox-navigation-preload@6.6.0:
+ dependencies:
+ workbox-core: 6.6.0
+
+ workbox-precaching@6.6.0:
+ dependencies:
+ workbox-core: 6.6.0
+ workbox-routing: 6.6.0
+ workbox-strategies: 6.6.0
+
+ workbox-range-requests@6.6.0:
+ dependencies:
+ workbox-core: 6.6.0
+
+ workbox-recipes@6.6.0:
+ dependencies:
+ workbox-cacheable-response: 6.6.0
+ workbox-core: 6.6.0
+ workbox-expiration: 6.6.0
+ workbox-precaching: 6.6.0
+ workbox-routing: 6.6.0
+ workbox-strategies: 6.6.0
+
+ workbox-routing@6.6.0:
+ dependencies:
+ workbox-core: 6.6.0
+
+ workbox-strategies@6.6.0:
+ dependencies:
+ workbox-core: 6.6.0
+
+ workbox-streams@6.6.0:
+ dependencies:
+ workbox-core: 6.6.0
+ workbox-routing: 6.6.0
+
+ workbox-sw@6.6.0: {}
+
+ workbox-webpack-plugin@6.6.0(@types/babel__core@7.20.5)(webpack@5.105.2):
+ dependencies:
+ fast-json-stable-stringify: 2.1.0
+ pretty-bytes: 5.6.0
+ upath: 1.2.0
+ webpack: 5.105.2(webpack-cli@5.1.4)
+ webpack-sources: 1.4.3
+ workbox-build: 6.6.0(@types/babel__core@7.20.5)
+ transitivePeerDependencies:
+ - '@types/babel__core'
+ - supports-color
+
+ workbox-window@6.6.0:
+ dependencies:
+ '@types/trusted-types': 2.0.7
+ workbox-core: 6.6.0
+
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
wrappy@1.0.2: {}
+ write-file-atomic@3.0.3:
+ dependencies:
+ imurmurhash: 0.1.4
+ is-typedarray: 1.0.0
+ signal-exit: 3.0.7
+ typedarray-to-buffer: 3.1.5
+
ws@7.5.10: {}
+ ws@8.19.0: {}
+
+ xml-name-validator@3.0.0: {}
+
+ xml2js@0.4.23:
+ dependencies:
+ sax: 1.4.4
+ xmlbuilder: 11.0.1
+
+ xmlbuilder@11.0.1: {}
+
+ xmlchars@2.2.0: {}
+
+ y18n@5.0.8: {}
+
yallist@3.1.1: {}
+ yallist@4.0.0: {}
+
+ yaml@1.10.2: {}
+
+ yargs-parser@20.2.9: {}
+
+ yargs@16.2.0:
+ dependencies:
+ cliui: 7.0.4
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 20.2.9
+
+ yauzl@2.10.0:
+ dependencies:
+ buffer-crc32: 0.2.13
+ fd-slicer: 1.1.0
+
+ yazl@2.5.1:
+ dependencies:
+ buffer-crc32: 0.2.13
+
yn@3.1.1: {}
yocto-queue@0.1.0: {}
@@ -5954,9 +17202,10 @@ snapshots:
zod@4.3.6: {}
- zustand@5.0.11(@types/react@19.2.11)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)):
+ zustand@5.0.11(@types/react@19.2.11)(immer@9.0.21)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)):
optionalDependencies:
'@types/react': 19.2.11
+ immer: 9.0.21
react: 19.2.4
use-sync-external-store: 1.6.0(react@19.2.4)
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 00000000..286cf7f5
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,3 @@
+packages:
+ - apps/*
+ - packages/*
diff --git a/src/features/editor/views/GraphView/index.tsx b/src/features/editor/views/GraphView/index.tsx
deleted file mode 100644
index 2fbd05ca..00000000
--- a/src/features/editor/views/GraphView/index.tsx
+++ /dev/null
@@ -1,198 +0,0 @@
-import React from "react";
-import { Box, LoadingOverlay, useComputedColorScheme } from "@mantine/core";
-import { useDebouncedValue } from "@mantine/hooks";
-import styled from "styled-components";
-import debounce from "lodash.debounce";
-import { Space } from "react-zoomable-ui";
-import { Canvas } from "reaflow";
-import type { ElkRoot } from "reaflow";
-import { useLongPress } from "use-long-press";
-import useConfig from "../../../../store/useConfig";
-import { CustomEdge } from "./CustomEdge";
-import { CustomNode } from "./CustomNode";
-import { NotSupported } from "./NotSupported";
-import { OptionsMenu } from "./OptionsMenu";
-import { SecureInfo } from "./SecureInfo";
-import { ZoomControl } from "./ZoomControl";
-import useGraph from "./stores/useGraph";
-
-const StyledEditorWrapper = styled.div<{ $widget: boolean; $showRulers: boolean }>`
- width: 100%;
- height: 100vh;
-
- --bg-color: ${({ theme }) => theme.GRID_BG_COLOR};
- --line-color-1: ${({ theme }) => theme.GRID_COLOR_PRIMARY};
- --line-color-2: ${({ theme }) => theme.GRID_COLOR_SECONDARY};
-
- background-color: var(--bg-color);
- ${({ $showRulers }) =>
- $showRulers &&
- `
- background-image: linear-gradient(var(--line-color-1) 1.5px, transparent 1.5px),
- linear-gradient(90deg, var(--line-color-1) 1.5px, transparent 1.5px),
- linear-gradient(var(--line-color-2) 1px, transparent 1px),
- linear-gradient(90deg, var(--line-color-2) 1px, transparent 1px);
- background-position:
- -1.5px -1.5px,
- -1.5px -1.5px,
- -1px -1px,
- -1px -1px;
- background-size:
- 100px 100px,
- 100px 100px,
- 20px 20px,
- 20px 20px;
- `};
-
- .jsoncrack-space {
- cursor: url("/assets/cursor.svg"), auto;
- }
-
- :active {
- cursor: move;
- }
-
- .dragging,
- .dragging button {
- pointer-events: none;
- }
-
- text {
- fill: ${({ theme }) => theme.INTERACTIVE_NORMAL} !important;
- }
-
- rect {
- fill: ${({ theme }) => theme.BACKGROUND_NODE};
- }
-
- @media only screen and (max-width: 320px) {
- height: 100vh;
- }
-`;
-
-const layoutOptions = {
- "elk.layered.compaction.postCompaction.strategy": "EDGE_LENGTH",
- "elk.layered.nodePlacement.strategy": "NETWORK_SIMPLEX",
- "elk.spacing.edgeLabel": "15",
-};
-
-interface GraphProps {
- isWidget?: boolean;
-}
-
-const GraphCanvas = ({ isWidget }: GraphProps) => {
- const setLoading = useGraph(state => state.setLoading);
- const centerView = useGraph(state => state.centerView);
- const direction = useGraph(state => state.direction);
- const nodes = useGraph(state => state.nodes);
- const edges = useGraph(state => state.edges);
- const colorScheme = useComputedColorScheme();
- const [paneWidth, setPaneWidth] = React.useState(2000);
- const [paneHeight, setPaneHeight] = React.useState(2000);
-
- const onLayoutChange = React.useCallback(
- (layout: ElkRoot) => {
- if (layout.width && layout.height) {
- const areaSize = layout.width * layout.height;
- const changeRatio = Math.abs((areaSize * 100) / (paneWidth * paneHeight) - 100);
-
- setPaneWidth(layout.width + 50);
- setPaneHeight((layout.height as number) + 50);
-
- setTimeout(() => {
- window.requestAnimationFrame(() => {
- if (changeRatio > 70 || isWidget) centerView();
- setLoading(false);
- });
- });
- }
- },
- [isWidget, paneHeight, paneWidth, centerView, setLoading]
- );
-
- return (
- }
- edge={p => }
- nodes={nodes}
- edges={edges}
- arrow={null}
- maxHeight={paneHeight}
- maxWidth={paneWidth}
- height={paneHeight}
- width={paneWidth}
- direction={direction}
- layoutOptions={layoutOptions}
- key={[direction, colorScheme].join("-")}
- pannable={false}
- zoomable={false}
- animated={false}
- readonly={true}
- dragEdge={null}
- dragNode={null}
- fit={true}
- />
- );
-};
-
-export const GraphView = ({ isWidget = false }: GraphProps) => {
- const setViewPort = useGraph(state => state.setViewPort);
- const viewPort = useGraph(state => state.viewPort);
- const aboveSupportedLimit = useGraph(state => state.aboveSupportedLimit);
- const loading = useGraph(state => state.loading);
- const gesturesEnabled = useConfig(state => state.gesturesEnabled);
- const rulersEnabled = useConfig(state => state.rulersEnabled);
- const [debouncedLoading] = useDebouncedValue(loading, 300);
-
- const callback = React.useCallback(() => {
- const canvas = document.querySelector(".jsoncrack-canvas") as HTMLDivElement | null;
- canvas?.classList.add("dragging");
- }, []);
-
- const bindLongPress = useLongPress(callback, {
- threshold: 150,
- onFinish: () => {
- const canvas = document.querySelector(".jsoncrack-canvas") as HTMLDivElement | null;
- canvas?.classList.remove("dragging");
- },
- });
-
- const blurOnClick = React.useCallback(() => {
- if ("activeElement" in document) (document.activeElement as HTMLElement)?.blur();
- }, []);
-
- const debouncedOnZoomChangeHandler = debounce(() => {
- setViewPort(viewPort!);
- }, 300);
-
- return (
-
- {aboveSupportedLimit && }
-
- {!isWidget && }
- {!isWidget && }
-
- e.preventDefault()}
- onClick={blurOnClick}
- key={String(gesturesEnabled)}
- $showRulers={rulersEnabled}
- {...bindLongPress()}
- >
- debouncedOnZoomChangeHandler()}
- onCreate={setViewPort}
- onContextMenu={e => e.preventDefault()}
- treatTwoFingerTrackPadGesturesLikeTouch={gesturesEnabled}
- pollForElementResizing
- className="jsoncrack-space"
- >
-
-
-
-
- );
-};
diff --git a/turbo.json b/turbo.json
new file mode 100644
index 00000000..09db4f73
--- /dev/null
+++ b/turbo.json
@@ -0,0 +1,36 @@
+{
+ "$schema": "https://turborepo.com/schema.json",
+ "tasks": {
+ "build": {
+ "dependsOn": ["^build"],
+ "outputs": [".next/**", "!.next/cache/**", "dist/**", "out/**", "build/**"]
+ },
+ "dev": {
+ "dependsOn": ["^build"],
+ "cache": false,
+ "persistent": true
+ },
+ "start": {
+ "cache": false,
+ "persistent": true
+ },
+ "lint": {
+ "dependsOn": ["^build"],
+ "outputs": []
+ },
+ "lint:fix": {
+ "cache": false
+ },
+ "analyze": {
+ "dependsOn": ["^build"],
+ "outputs": [".next/**", "!.next/cache/**", "out/**", "build/**"]
+ },
+ "clean": {
+ "cache": false
+ },
+ "watch-build": {
+ "cache": false,
+ "persistent": true
+ }
+ }
+}