diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index be67e435..383b39bd 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -1,19 +1,33 @@
-from fedora:41
-
-RUN dnf update -y
-
-RUN dnf group list
-RUN dnf install -y @c-development @development-tools
-
-RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
-
-RUN dnf install -y \
- nodejs \
- webkit2gtk4.1-devel \
- openssl-devel \
- curl \
- wget \
- file \
- libappindicator-gtk3-devel \
- librsvg2-devel \
- libgudev-devel
+from fedora:41
+
+RUN dnf update -y
+
+RUN dnf group list
+RUN dnf install -y @c-development @development-tools
+RUN dnf check-update
+RUN dnf install -y \
+ nodejs \
+ webkit2gtk4.1-devel \
+ openssl-devel \
+ curl \
+ wget \
+ file \
+ libappindicator-gtk3-devel \
+ librsvg2-devel \
+ lld llvm \
+ mingw64-nsis \
+ clang-cl
+
+RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+
+ENV PATH="/root/.cargo/bin:${PATH}"
+# RUN dnf install -y mingw64-gcc mingw64-crt mingw64-winpthreads mingw64-headers
+# RUN wget https://github.com/tauri-apps/binary-releases/releases/download/nsis-3/nsis-3.zip
+# RUN unzip nsis-3.zip
+# RUN ls -la nsis-3.08
+# RUN cp nsis-3.08/Stubs/* /usr/share/nsis/Stubs/
+# RUN cp -r nsis-3.08/Plugins/** /usr/share/nsis/Plugins/
+
+RUN rustup target add x86_64-pc-windows-msvc
+
+RUN cargo install --locked cargo-xwin
\ No newline at end of file
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 200a1665..6cf40a27 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -1,19 +1,19 @@
-module.exports = {
- root: true,
- env: { browser: true, es2020: true },
- extends: [
- "eslint:recommended",
- "plugin:@typescript-eslint/recommended",
- "plugin:react-hooks/recommended",
- "plugin:storybook/recommended",
- ],
- ignorePatterns: ["dist", ".eslintrc.cjs"],
- parser: "@typescript-eslint/parser",
- plugins: ["react-refresh"],
- rules: {
- "react-refresh/only-export-components": [
- "warn",
- { allowConstantExport: true },
- ],
- },
-};
+module.exports = {
+ root: true,
+ env: { browser: true, es2020: true },
+ extends: [
+ "eslint:recommended",
+ "plugin:@typescript-eslint/recommended",
+ "plugin:react-hooks/recommended",
+ "plugin:storybook/recommended",
+ ],
+ ignorePatterns: ["dist", ".eslintrc.cjs"],
+ parser: "@typescript-eslint/parser",
+ plugins: ["react-refresh"],
+ rules: {
+ "react-refresh/only-export-components": [
+ "warn",
+ { allowConstantExport: true },
+ ],
+ },
+};
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 9a315205..4e37203d 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,33 +1,33 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: ''
-labels: bug
-assignees: ''
-
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior:
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Environment (please complete the following information):**
- - OS: [e.g. iOS]
- - Browser or App [e.g. chrome, edge, app]
- - Version [e.g. 22]
- - Device [e.g. Corne with nice!nano v2]
-
-**Additional context**
-Add any other context about the problem here.
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: bug
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**Environment (please complete the following information):**
+ - OS: [e.g. iOS]
+ - Browser or App [e.g. chrome, edge, app]
+ - Version [e.g. 22]
+ - Device [e.g. Corne with nice!nano v2]
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index 11fc491e..73987eda 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -1,20 +1,20 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: ''
-labels: enhancement
-assignees: ''
-
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: enhancement
+assignees: ''
+
+---
+
+**Is your feature request related to a problem? Please describe.**
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+
+**Describe the solution you'd like**
+A clear and concise description of what you want to happen.
+
+**Describe alternatives you've considered**
+A clear and concise description of any alternative solutions or features you've considered.
+
+**Additional context**
+Add any other context or screenshots about the feature request here.
diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml
index 02df13dc..e2112662 100644
--- a/.github/workflows/release-please.yml
+++ b/.github/workflows/release-please.yml
@@ -1,31 +1,31 @@
-on:
- push:
- branches:
- - main
-
-permissions: {}
-
-name: release-please
-
-jobs:
- release-please:
- runs-on: ubuntu-latest
- permissions:
- contents: write
- pull-requests: write
- steps:
- - uses: googleapis/release-please-action@v4
- id: release
- with:
- token: ${{ secrets.ZMK_STUDIO_RELEASE_TOKEN }}
- - uses: actions/checkout@v4
- if: ${{ steps.release.outputs.release_created }}
- with:
- ref: prod
- - name: publish to prod branch
- if: ${{ steps.release.outputs.release_created }}
- run: |
- git fetch origin main
- git pull --ff-only origin main
- git remote set-url origin "https://x-access-token:${{ secrets.ZMK_STUDIO_RELEASE_TOKEN }}@github.com/${{ github.repository }}.git"
- git push
+on:
+ push:
+ branches:
+ - main
+
+permissions: {}
+
+name: release-please
+
+jobs:
+ release-please:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ pull-requests: write
+ steps:
+ - uses: googleapis/release-please-action@v4
+ id: release
+ with:
+ token: ${{ secrets.ZMK_STUDIO_RELEASE_TOKEN }}
+ - uses: actions/checkout@v4
+ if: ${{ steps.release.outputs.release_created }}
+ with:
+ ref: prod
+ - name: publish to prod branch
+ if: ${{ steps.release.outputs.release_created }}
+ run: |
+ git fetch origin main
+ git pull --ff-only origin main
+ git remote set-url origin "https://x-access-token:${{ secrets.ZMK_STUDIO_RELEASE_TOKEN }}@github.com/${{ github.repository }}.git"
+ git push
diff --git a/.github/workflows/tauri-build.yml b/.github/workflows/tauri-build.yml
index 901b2b30..ec9368ba 100644
--- a/.github/workflows/tauri-build.yml
+++ b/.github/workflows/tauri-build.yml
@@ -1,114 +1,114 @@
-name: "tauri-build"
-
-on:
- workflow_dispatch:
- push:
- release:
- types: [published]
-
-jobs:
- publish-tauri:
- permissions:
- contents: write
- strategy:
- fail-fast: false
- matrix:
- include:
- - platform: "macos-latest"
- name: macos
- args: "--target universal-apple-darwin"
- - platform: "ubuntu-24.04"
- name: linux
- args: ""
- - platform: "windows-latest"
- name: windows
- args: ""
-
- runs-on: ${{ matrix.platform }}
- steps:
- - uses: actions/checkout@v4
-
- - name: install dependencies (ubuntu only)
- if: matrix.platform == 'ubuntu-24.04' # This must match the platform value defined above.
- run: |
- sudo apt-get update
- sudo apt-get install -y libappindicator3-dev librsvg2-dev libudev-dev patchelf \
- libwebkit2gtk-4.1-0=2.44.0-2 \
- libwebkit2gtk-4.1-dev=2.44.0-2 \
- libjavascriptcoregtk-4.1-0=2.44.0-2 \
- libjavascriptcoregtk-4.1-dev=2.44.0-2 \
- gir1.2-javascriptcoregtk-4.1=2.44.0-2 \
- gir1.2-webkit2-4.1=2.44.0-2
-
- - name: Get release
- id: get_release
- if: github.event_name == 'release'
- uses: bruceadams/get-release@v1.3.2
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- - name: install dependencies (windows only)
- if: matrix.platform == 'windows-latest'
- run: |
- nuget.exe install Microsoft.Trusted.Signing.Client -Version 1.0.53 -x
-
- - name: Set up Windows Kit into PATH (windows only)
- if: matrix.platform == 'windows-latest'
- run: |
- echo "${env:ProgramFiles(x86)}\Windows Kits\10\bin\10.0.22621.0\x64\" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
-
- - name: setup node
- uses: actions/setup-node@v4
- with:
- node-version: lts/*
- cache: "npm" # Set this to npm, yarn or pnpm.
-
- - name: install Rust stable
- uses: dtolnay/rust-toolchain@stable # Set this to dtolnay/rust-toolchain@nightly
- with:
- # Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds.
- targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
-
- - name: Rust cache
- uses: swatinem/rust-cache@v2
- with:
- workspaces: "./src-tauri -> target"
-
- - name: install frontend dependencies
- # If you don't have `beforeBuildCommand` configured you may want to build your frontend here too.
- run: npm ci
-
- - uses: tauri-apps/tauri-action@v0
- name: build
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
- APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
- APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
- APPLE_ID: ${{ secrets.APPLE_ID }}
- APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
- APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
- AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
- AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
- AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
- with:
- releaseId: ${{ steps.get_release.outputs.id }}
- args: ${{ matrix.args }}
-
- - uses: actions/upload-artifact@v4
- with:
- name: zmk-studio-${{ matrix.name }}
- path: |
- src-tauri/target/release/bundle/**/*.deb
- src-tauri/target/release/bundle/**/*.AppImage
- src-tauri/target/*/release/bundle/**/*.dmg
- src-tauri/target/*/release/bundle/**/*.app
- src-tauri/target/release/bundle/**/*.msi
- src-tauri/target/release/bundle/**/*.exe
- deploy-netlify:
- if: github.event_name == 'release'
- needs: publish-tauri
- runs-on: ubuntu-latest
- steps:
- - name: Deploy to Netlify
- run: curl -X POST -d '{}' ${{ secrets.NETLIFY_DEPLOY_HOOK }}
+name: "tauri-build"
+
+on:
+ workflow_dispatch:
+ push:
+ release:
+ types: [published]
+
+jobs:
+ publish-tauri:
+ permissions:
+ contents: write
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - platform: "macos-latest"
+ name: macos
+ args: "--target universal-apple-darwin"
+ - platform: "ubuntu-24.04"
+ name: linux
+ args: ""
+ - platform: "windows-latest"
+ name: windows
+ args: ""
+
+ runs-on: ${{ matrix.platform }}
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: install dependencies (ubuntu only)
+ if: matrix.platform == 'ubuntu-24.04' # This must match the platform value defined above.
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y libappindicator3-dev librsvg2-dev libudev-dev patchelf \
+ libwebkit2gtk-4.1-0=2.44.0-2 \
+ libwebkit2gtk-4.1-dev=2.44.0-2 \
+ libjavascriptcoregtk-4.1-0=2.44.0-2 \
+ libjavascriptcoregtk-4.1-dev=2.44.0-2 \
+ gir1.2-javascriptcoregtk-4.1=2.44.0-2 \
+ gir1.2-webkit2-4.1=2.44.0-2
+
+ - name: Get release
+ id: get_release
+ if: github.event_name == 'release'
+ uses: bruceadams/get-release@v1.3.2
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: install dependencies (windows only)
+ if: matrix.platform == 'windows-latest'
+ run: |
+ nuget.exe install Microsoft.Trusted.Signing.Client -Version 1.0.53 -x
+
+ - name: Set up Windows Kit into PATH (windows only)
+ if: matrix.platform == 'windows-latest'
+ run: |
+ echo "${env:ProgramFiles(x86)}\Windows Kits\10\bin\10.0.22621.0\x64\" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
+
+ - name: setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ cache: "npm" # Set this to npm, yarn or pnpm.
+
+ - name: install Rust stable
+ uses: dtolnay/rust-toolchain@stable # Set this to dtolnay/rust-toolchain@nightly
+ with:
+ # Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds.
+ targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
+
+ - name: Rust cache
+ uses: swatinem/rust-cache@v2
+ with:
+ workspaces: "./src-tauri -> target"
+
+ - name: install frontend dependencies
+ # If you don't have `beforeBuildCommand` configured you may want to build your frontend here too.
+ run: npm ci
+
+ - uses: tauri-apps/tauri-action@v0
+ name: build
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
+ APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
+ APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
+ APPLE_ID: ${{ secrets.APPLE_ID }}
+ APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
+ APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
+ AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
+ AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
+ AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
+ with:
+ releaseId: ${{ steps.get_release.outputs.id }}
+ args: ${{ matrix.args }}
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: zmk-studio-${{ matrix.name }}
+ path: |
+ src-tauri/target/release/bundle/**/*.deb
+ src-tauri/target/release/bundle/**/*.AppImage
+ src-tauri/target/*/release/bundle/**/*.dmg
+ src-tauri/target/*/release/bundle/**/*.app
+ src-tauri/target/release/bundle/**/*.msi
+ src-tauri/target/release/bundle/**/*.exe
+ deploy-netlify:
+ if: github.event_name == 'release'
+ needs: publish-tauri
+ runs-on: ubuntu-latest
+ steps:
+ - name: Deploy to Netlify
+ run: curl -X POST -d '{}' ${{ secrets.NETLIFY_DEPLOY_HOOK }}
diff --git a/.gitignore b/.gitignore
index 5618eb16..cab0a787 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,27 +1,27 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-dist
-dist-ssr
-*.local
-src/data
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
-
-*storybook.log
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+src/data
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+*storybook.log
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 1b52d878..baf2bcdf 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,17 +1,17 @@
-# See https://pre-commit.com for more information
-# See https://pre-commit.com/hooks.html for more hooks
-repos:
- - repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.4.0
- hooks:
- - id: trailing-whitespace
- - id: end-of-file-fixer
- - id: check-yaml
- - id: check-added-large-files
- - repo: https://github.com/pre-commit/mirrors-prettier
- rev: v2.7.1
- hooks:
- - id: prettier
- # Workaround for https://github.com/pre-commit/mirrors-prettier/issues/29
- additional_dependencies:
- - prettier@2.8.7
+# See https://pre-commit.com for more information
+# See https://pre-commit.com/hooks.html for more hooks
+repos:
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v4.4.0
+ hooks:
+ - id: trailing-whitespace
+ - id: end-of-file-fixer
+ - id: check-yaml
+ - id: check-added-large-files
+ - repo: https://github.com/pre-commit/mirrors-prettier
+ rev: v2.7.1
+ hooks:
+ - id: prettier
+ # Workaround for https://github.com/pre-commit/mirrors-prettier/issues/29
+ additional_dependencies:
+ - prettier@2.8.7
diff --git a/.prettierignore b/.prettierignore
index d3661fe0..98698bf8 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,6 +1,6 @@
-src-tauri/
-dist/
-public/
-*.rs
-src/HidUsageTables-1.5.json
-src/keyboard-and-consumer-usage-tables.json
+src-tauri/
+dist/
+public/
+*.rs
+src/HidUsageTables-1.5.json
+src/keyboard-and-consumer-usage-tables.json
diff --git a/.prettierrc b/.prettierrc
index 0967ef42..69a88e3b 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1 +1 @@
-{}
+{}
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 816df2d5..e21b9d03 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
-{
- ".": "0.3.1"
-}
+{
+ ".": "0.3.1"
+}
diff --git a/.storybook/main.ts b/.storybook/main.ts
index 69ac0074..eba1f71e 100644
--- a/.storybook/main.ts
+++ b/.storybook/main.ts
@@ -1,20 +1,20 @@
-import type { StorybookConfig } from "@storybook/react-vite";
-
-const config: StorybookConfig = {
- stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
- addons: [
- "@storybook/addon-onboarding",
- "@storybook/addon-links",
- "@storybook/addon-essentials",
- "@chromatic-com/storybook",
- "@storybook/addon-interactions",
- ],
- framework: {
- name: "@storybook/react-vite",
- options: {},
- },
- docs: {
- autodocs: "tag",
- },
-};
-export default config;
+import type { StorybookConfig } from "@storybook/react-vite";
+
+const config: StorybookConfig = {
+ stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
+ addons: [
+ "@storybook/addon-onboarding",
+ "@storybook/addon-links",
+ "@storybook/addon-essentials",
+ "@chromatic-com/storybook",
+ "@storybook/addon-interactions",
+ ],
+ framework: {
+ name: "@storybook/react-vite",
+ options: {},
+ },
+ docs: {
+ autodocs: "tag",
+ },
+};
+export default config;
diff --git a/.storybook/preview.ts b/.storybook/preview.ts
index cd8e0cda..02c84fdb 100644
--- a/.storybook/preview.ts
+++ b/.storybook/preview.ts
@@ -1,15 +1,15 @@
-import "../src/index.css";
-import type { Preview } from "@storybook/react";
-
-const preview: Preview = {
- parameters: {
- controls: {
- matchers: {
- color: /(background|color)$/i,
- date: /Date$/i,
- },
- },
- },
-};
-
-export default preview;
+import "../src/index.css";
+import type { Preview } from "@storybook/react";
+
+const preview: Preview = {
+ parameters: {
+ controls: {
+ matchers: {
+ color: /(background|color)$/i,
+ date: /Date$/i,
+ },
+ },
+ },
+};
+
+export default preview;
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9279c158..39ef6198 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,188 +1,188 @@
-# Changelog
-
-## [0.3.1](https://github.com/zmkfirmware/zmk-studio/compare/v0.3.0...v0.3.1) (2025-01-20)
-
-
-### Bug Fixes
-
-* **ci:** Support token auth on release fetch ([#126](https://github.com/zmkfirmware/zmk-studio/issues/126)) ([0662e6d](https://github.com/zmkfirmware/zmk-studio/commit/0662e6d506715232b1cee872f7354435c0cdea16))
-
-## [0.3.0](https://github.com/zmkfirmware/zmk-studio/compare/v0.2.4...v0.3.0) (2025-01-20)
-
-
-### Features
-
-* Add Download Page ([#105](https://github.com/zmkfirmware/zmk-studio/issues/105)) ([2b88c5c](https://github.com/zmkfirmware/zmk-studio/commit/2b88c5c6248c42719b404a67c33fa25a133a057a))
-* Support MacOS Universal Installer ([c43357e](https://github.com/zmkfirmware/zmk-studio/commit/c43357e3784da10ca4129ac02a20b6159e0a1c3b))
-* Support MacOS Universal Installer ([#104](https://github.com/zmkfirmware/zmk-studio/issues/104)) ([c43357e](https://github.com/zmkfirmware/zmk-studio/commit/c43357e3784da10ca4129ac02a20b6159e0a1c3b))
-
-
-### Bug Fixes
-
-* app crash when reach last index of undo stack ([#111](https://github.com/zmkfirmware/zmk-studio/issues/111)) ([3370faa](https://github.com/zmkfirmware/zmk-studio/commit/3370faa3c9f6288dda613d35c42a8d30001edff6))
-
-## [0.2.4](https://github.com/zmkfirmware/zmk-studio/compare/v0.2.3...v0.2.4) (2024-11-22)
-
-
-### Bug Fixes
-
-* **app:** Tweak webkit dep version for CI builds ([#92](https://github.com/zmkfirmware/zmk-studio/issues/92)) ([5c018bc](https://github.com/zmkfirmware/zmk-studio/commit/5c018bcbc44d0dfb219cab239877a9b1d441c101))
-
-## [0.2.3](https://github.com/zmkfirmware/zmk-studio/compare/v0.2.2...v0.2.3) (2024-11-13)
-
-
-### Bug Fixes
-
-* Add link to unlock behavior docs in unlock modal ([#90](https://github.com/zmkfirmware/zmk-studio/issues/90)) ([9d35061](https://github.com/zmkfirmware/zmk-studio/commit/9d35061b30b394b21dd12df6d763cd9daeed355e))
-* Remove beta warning from connect modal. ([#88](https://github.com/zmkfirmware/zmk-studio/issues/88)) ([6edb4b0](https://github.com/zmkfirmware/zmk-studio/commit/6edb4b02a104add079ae2f85cfa0d239a54f553b)), closes [#87](https://github.com/zmkfirmware/zmk-studio/issues/87)
-
-## [0.2.2](https://github.com/zmkfirmware/zmk-studio/compare/v0.2.1...v0.2.2) (2024-11-12)
-
-
-### Bug Fixes
-
-* **ci:** Bump tauri.conf.json version as well. ([#84](https://github.com/zmkfirmware/zmk-studio/issues/84)) ([435512a](https://github.com/zmkfirmware/zmk-studio/commit/435512a27bd55978e925db95b271fe844befb688))
-
-## [0.2.1](https://github.com/zmkfirmware/zmk-studio/compare/v0.2.0...v0.2.1) (2024-11-12)
-
-
-### Bug Fixes
-
-* **ci:** Proper release-please support for Tauri ([#77](https://github.com/zmkfirmware/zmk-studio/issues/77)) ([0902316](https://github.com/zmkfirmware/zmk-studio/commit/0902316fb498d7801d99d4ac021b69ca0b2ee7fd))
-
-## [0.2.0](https://github.com/zmkfirmware/zmk-studio/compare/v0.1.2...v0.2.0) (2024-11-11)
-
-
-### Features
-
-* Sort behaviors by label ([#75](https://github.com/zmkfirmware/zmk-studio/issues/75)) ([a996e4e](https://github.com/zmkfirmware/zmk-studio/commit/a996e4efefd9405cbf35f35d3ceaa62b71b0deb9))
-
-## [0.1.2](https://github.com/zmkfirmware/zmk-studio/compare/v0.1.1...v0.1.2) (2024-10-16)
-
-
-### Bug Fixes
-
-* Raise and report errors on connect. ([#65](https://github.com/zmkfirmware/zmk-studio/issues/65)) ([957aabe](https://github.com/zmkfirmware/zmk-studio/commit/957aabea1bf9b7316b81e0d9b68580b398f816c2))
-
-## [0.1.1](https://github.com/zmkfirmware/zmk-studio/compare/v0.1.0...v0.1.1) (2024-10-10)
-
-
-### Bug Fixes
-
-* Add beta warning to the connect modal. ([#58](https://github.com/zmkfirmware/zmk-studio/issues/58)) ([5152b1d](https://github.com/zmkfirmware/zmk-studio/commit/5152b1d2f795c7647ad77facbd3a1480c56949ce))
-* Add ZMK links to the about modal. ([#56](https://github.com/zmkfirmware/zmk-studio/issues/56)) ([3c319b5](https://github.com/zmkfirmware/zmk-studio/commit/3c319b5668279c9f118cf6721b64ce203e882613))
-
-## [0.1.0](https://github.com/zmkfirmware/zmk-studio/compare/v0.0.3...v0.1.0) (2024-10-09)
-
-
-### Features
-
-* Add alert on connect failures, bump deps. ([#47](https://github.com/zmkfirmware/zmk-studio/issues/47)) ([997edc9](https://github.com/zmkfirmware/zmk-studio/commit/997edc97754c3e831175d0c065202c61fcf12a3f))
-* Detailed save changes response data. ([#49](https://github.com/zmkfirmware/zmk-studio/issues/49)) ([967aff4](https://github.com/zmkfirmware/zmk-studio/commit/967aff48eee504fe0f1a8b22fc36146536c70368))
-* Improved key rendering for HID usages. ([#53](https://github.com/zmkfirmware/zmk-studio/issues/53)) ([14bcaa7](https://github.com/zmkfirmware/zmk-studio/commit/14bcaa79781e53e11af7e9c9d50ae7b7999747d0))
-
-
-### Bug Fixes
-
-* **app:** Handle manual disconnect for serial transport ([#55](https://github.com/zmkfirmware/zmk-studio/issues/55)) ([3da464f](https://github.com/zmkfirmware/zmk-studio/commit/3da464f892edfe3a459de78b5da862fa938cf3b4))
-* Fix Wayland resize/decoration bug. ([#51](https://github.com/zmkfirmware/zmk-studio/issues/51)) ([3ca0679](https://github.com/zmkfirmware/zmk-studio/commit/3ca0679c8238eef02fbfaadd84f712beb2f6735b))
-
-## [0.0.3](https://github.com/zmkfirmware/zmk-studio/compare/v0.0.2...v0.0.3) (2024-10-02)
-
-
-### Miscellaneous Chores
-
-* Fixes for prod push for releases. ([#45](https://github.com/zmkfirmware/zmk-studio/issues/45)) ([6e05f49](https://github.com/zmkfirmware/zmk-studio/commit/6e05f49b42343c202b0da2bfa8da01bfebe3c550))
-
-## [0.0.2](https://github.com/zmkfirmware/zmk-studio/compare/v0.0.1...v0.0.2) (2024-10-02)
-
-
-### Miscellaneous Chores
-
-* Bump to Tauri v2 release. ([#42](https://github.com/zmkfirmware/zmk-studio/issues/42)) ([57b3274](https://github.com/zmkfirmware/zmk-studio/commit/57b3274688161a3599f96fba5db1cd671620cf0c))
-* Fix release-please automation. ([#43](https://github.com/zmkfirmware/zmk-studio/issues/43)) ([1156c47](https://github.com/zmkfirmware/zmk-studio/commit/1156c47fe3c761e2240128b77f5a72d8dfe17efe))
-
-## 0.0.1 (2024-09-30)
-
-
-### Features
-
-* Add a few more Consumer overrides. ([2e32100](https://github.com/zmkfirmware/zmk-studio/commit/2e321002843a90d614b7f3b802a44b8cd3a229f5))
-* Add a few more HID name overrides. ([30789f6](https://github.com/zmkfirmware/zmk-studio/commit/30789f603b83d8431272c0dac14ceadb1f0105fc))
-* Add aboud and license notice modals. ([b9d2692](https://github.com/zmkfirmware/zmk-studio/commit/b9d2692f434740ced2eb40158a2793ec830b6fa7))
-* Add disconnect and settings reset UI. ([18b3f22](https://github.com/zmkfirmware/zmk-studio/commit/18b3f22a0bc09223b9bce777da24303b7e276780))
-* Add HID label overrides. ([5216e8e](https://github.com/zmkfirmware/zmk-studio/commit/5216e8e9a4557a42e31d499a0453a2462634247d))
-* Add HID usage modifier editing. ([14a1578](https://github.com/zmkfirmware/zmk-studio/commit/14a157851569b5940033c8c9031941119d6cdd0b))
-* add hover effects to device menu items ([ffd42ee](https://github.com/zmkfirmware/zmk-studio/commit/ffd42eea2eac3ccf5fea92619d236d2932250cb0))
-* Add layout rotation support. ([4331681](https://github.com/zmkfirmware/zmk-studio/commit/4331681489e23dd7b7a7cb616876536bb5d2962f))
-* Add limits for usages in the list, re-render fixes. ([30f7077](https://github.com/zmkfirmware/zmk-studio/commit/30f707731fe593e6159d15ba1b1316fdf02aa6ea))
-* Add names for some keypad key codes ([#34](https://github.com/zmkfirmware/zmk-studio/issues/34)) ([59a6441](https://github.com/zmkfirmware/zmk-studio/commit/59a6441f83ce7857530d62bc666b2652d7706582))
-* Add primitive layout picker control. ([e77c09b](https://github.com/zmkfirmware/zmk-studio/commit/e77c09bee86f3baa50f8c8bbfe6c9a1d0628c4b5))
-* Add tauri CLI for connecting to serial port. ([86840df](https://github.com/zmkfirmware/zmk-studio/commit/86840dfabb4c743c36a70a4b88f48dbcce9adc92))
-* Add UI in connect model when no transports ([9d58e0e](https://github.com/zmkfirmware/zmk-studio/commit/9d58e0e21cbfe0b0781b3b20386bfba1b5b2f068)), closes [#16](https://github.com/zmkfirmware/zmk-studio/issues/16)
-* add UI to close about license modals ([01cc93b](https://github.com/zmkfirmware/zmk-studio/commit/01cc93bf630acb71dbb76795da26948ffdb35ed6))
-* Add unlock/lock handling. ([6a742e1](https://github.com/zmkfirmware/zmk-studio/commit/6a742e1169c9640619827f097ffb4c76851dea6c))
-* Auto-zoom keymap layout ([c98743e](https://github.com/zmkfirmware/zmk-studio/commit/c98743e6a742a568cacf7f908e381956c4299071))
-* Basic CI for building apps across platforms. ([2360283](https://github.com/zmkfirmware/zmk-studio/commit/236028364cfc17a75060647cd97f1366285e3214))
-* Better detection of proper conn. ([6963c29](https://github.com/zmkfirmware/zmk-studio/commit/6963c299dfbe02fb625b2176ae75bc17adb3127a))
-* Better physical layout picker with preview. ([89b38b3](https://github.com/zmkfirmware/zmk-studio/commit/89b38b3ad7e35e7ebddfa962f429e6ba38ff217a))
-* Bump client version. ([1b0c8c4](https://github.com/zmkfirmware/zmk-studio/commit/1b0c8c4b9aec2dfbbf4c47e5005c463ac9d8021d))
-* Display device name in header. ([d4285a6](https://github.com/zmkfirmware/zmk-studio/commit/d4285a65608e2c283a64133d9d04e3c0e2f3bd22))
-* Handle keymap/layout mismatches. ([67bc71a](https://github.com/zmkfirmware/zmk-studio/commit/67bc71abde19679c35297892cce3fe54905cfe77))
-* Initial work on skeleton of ZMK Studio UI. ([5a19aa4](https://github.com/zmkfirmware/zmk-studio/commit/5a19aa4a098b76b99954e771120715fc3f50b97c))
-* Initial work to reload keymap on layout change. ([fc55232](https://github.com/zmkfirmware/zmk-studio/commit/fc5523214fb99d1dfbef973604361840c590a3f5))
-* Layer reordering ([a7bc01d](https://github.com/zmkfirmware/zmk-studio/commit/a7bc01d3ab5321174aafa86c6143f24bb18eaac6))
-* More complete disconnect and notif support. ([77062af](https://github.com/zmkfirmware/zmk-studio/commit/77062af5ede8e4e2c28b9e64f5d8206f6f5c1242))
-* Move to proper layer IDs. ([44badf1](https://github.com/zmkfirmware/zmk-studio/commit/44badf16fc2eba70b6931919f7f427d781b8fc88))
-* Propagate layout selection to the device. ([c2cf65c](https://github.com/zmkfirmware/zmk-studio/commit/c2cf65c35bc3ab36cc57bcddc5842a33f40886eb))
-* Properly implement Discard. ([e7a25c0](https://github.com/zmkfirmware/zmk-studio/commit/e7a25c02356d141f988bc9c04d09757c611916c1))
-* Release automation using release-please ([f69b015](https://github.com/zmkfirmware/zmk-studio/commit/f69b0151edbc56c95fd0d2e2287e2d8942b2fe79))
-* replace edit label prompt with modal ([44acf8c](https://github.com/zmkfirmware/zmk-studio/commit/44acf8c1f5bb8aac8911811fa13cd033be606ba0))
-* Show selected key in a physical layout. ([1dc11c8](https://github.com/zmkfirmware/zmk-studio/commit/1dc11c8fb34c8c6fecb8070ed78aea502b078e16))
-* Start to incorporate theme colors. ([664d6f3](https://github.com/zmkfirmware/zmk-studio/commit/664d6f3b360e0169cb496871f7e9f87b107a8631))
-* Style adjustments ([332d737](https://github.com/zmkfirmware/zmk-studio/commit/332d7374550039a7c6b527ddd10b475f98000d9b))
-* Tailwind, prettier, Gorton keys. ([f942781](https://github.com/zmkfirmware/zmk-studio/commit/f942781394954dfad22768929637ac86f36cdcac))
-* Ton of layer operations. ([28f2625](https://github.com/zmkfirmware/zmk-studio/commit/28f262557fe457a6eb7d01c1733fb97171a73f27))
-* Tons of layout fixes, device selection. ([177f2df](https://github.com/zmkfirmware/zmk-studio/commit/177f2dfe38982c9acba8f08a2737963f460ac1f5))
-* Undo/redo, binding updates, save changes. ([47eeb1c](https://github.com/zmkfirmware/zmk-studio/commit/47eeb1caba476868420ca3e0cbf94558e1865a8e))
-* Various layout/key render work, theme fixes ([d66d560](https://github.com/zmkfirmware/zmk-studio/commit/d66d560a6c3de41d25502e8f601e63b20cbab38f))
-* Windows app/installer signing. ([81a42b5](https://github.com/zmkfirmware/zmk-studio/commit/81a42b5bb91471dfd6a83f5c80cce697097204e2))
-
-
-### Bug Fixes
-
-* Add `will-change: transform` to force anti-aliasing. ([899c355](https://github.com/zmkfirmware/zmk-studio/commit/899c3556b8ca5c87434912afbd19d109cd26ac7d))
-* Add Info.plist for BT access request on macOS. ([2412e70](https://github.com/zmkfirmware/zmk-studio/commit/2412e70ee14f8beeadc3cfe794f913701f0c7be6))
-* **app:** Properly load when BT adapter is off. ([3241568](https://github.com/zmkfirmware/zmk-studio/commit/324156873ae69850c319ccedda613635fcc8c342))
-* **app:** Workaround for GNOME/Wayland resize bug. ([153a035](https://github.com/zmkfirmware/zmk-studio/commit/153a0355a0a09e0303ed66f845deae7c94801304))
-* BT connections on macOS must explicitly connect. ([adf1d01](https://github.com/zmkfirmware/zmk-studio/commit/adf1d01bffaa265215a8c328f8af084431fef58c))
-* Build fixes after tweaks. ([679c5ec](https://github.com/zmkfirmware/zmk-studio/commit/679c5ec3c99a2dd203ca2da61245683b8d3a2e38))
-* Build gatt transport on macOS. ([1351d5f](https://github.com/zmkfirmware/zmk-studio/commit/1351d5fa34b941e51ef7e132be0e47449a103d4b))
-* Bump tauri deps to use custom IPC encoding. ([c6de9de](https://github.com/zmkfirmware/zmk-studio/commit/c6de9de6b0bf4e585f06ccaf39e56e5156e53db8))
-* Bump tauri versions, fix CSP ICP issue. ([ba15adc](https://github.com/zmkfirmware/zmk-studio/commit/ba15adc034efe970f2cc263e8f1bf0b8e2987103))
-* Bump to client with Windows fixes. ([ad48405](https://github.com/zmkfirmware/zmk-studio/commit/ad48405ce7f83f5ccbc02d29e6535ebd2da5f698))
-* Fix up bluest usage for CoreBluetooth. ([0df090b](https://github.com/zmkfirmware/zmk-studio/commit/0df090b34610b2aeaf03f350b1ac5845b8143e72))
-* HID override build fix, more overrides. ([8c1633e](https://github.com/zmkfirmware/zmk-studio/commit/8c1633e3bbf68ca647bd76ea45f509343ac9b233))
-* Layout fixes. ([eb1d836](https://github.com/zmkfirmware/zmk-studio/commit/eb1d836499e197f0c7e41d431db5922497ec75c9))
-* Layout rotation fixes. ([4e53eaf](https://github.com/zmkfirmware/zmk-studio/commit/4e53eaf452e98526f985120c44c68187528c84bc))
-* Minor TS fix. ([d377f6c](https://github.com/zmkfirmware/zmk-studio/commit/d377f6c5f5ac6c8fd3c91d613900a56297bea257))
-* Modifier selection sizing fixes. ([d966f9d](https://github.com/zmkfirmware/zmk-studio/commit/d966f9d4b90d3686dd38d618a0f1584810468edf))
-* Only force connect to devices on macos. ([c199d58](https://github.com/zmkfirmware/zmk-studio/commit/c199d583b77ceef0c4179191881042a370b3a30c))
-* Proper 2-param behavior editing. ([b254dac](https://github.com/zmkfirmware/zmk-studio/commit/b254dac0168c763b21d6c002f1eac3c01c9f69fd))
-* Proper disconnect/reconnect of BLE. ([635d7b9](https://github.com/zmkfirmware/zmk-studio/commit/635d7b9b195a1cae039022360ec8e7e0b334b3d2))
-* Proper logo and title. ([8df6f1e](https://github.com/zmkfirmware/zmk-studio/commit/8df6f1e1791e867e41672bb3b42ef1ad81fe75c4))
-* Proper type for device info RPC response. ([7f02898](https://github.com/zmkfirmware/zmk-studio/commit/7f0289829f3a64854d7a44680dc1a8e1ae2c5f92))
-* Properly handle USB serial disconnects. ([3d13643](https://github.com/zmkfirmware/zmk-studio/commit/3d13643971ddf218412e7d51591891141156811d))
-* Properly include keyboard page modifiers in the picker. ([cfda89e](https://github.com/zmkfirmware/zmk-studio/commit/cfda89e2ced2030dc7d0f72a8d9b3d041f4da697))
-* Reopen the connect/lock modals if closed with esc. ([028c1c9](https://github.com/zmkfirmware/zmk-studio/commit/028c1c96f1627238e0d26421184d06c8d4e3ba53))
-* Revert attempts at running tauri in container. ([e00bff4](https://github.com/zmkfirmware/zmk-studio/commit/e00bff4311f377b1dfce83d33dbf249a419eaf68))
-* Selection state fixes. ([9b41000](https://github.com/zmkfirmware/zmk-studio/commit/9b41000b5e9e559b83d04fd54a3e00dab964ac45))
-* Show selection of first key, binding fixes for no-params behaviors. ([32147a9](https://github.com/zmkfirmware/zmk-studio/commit/32147a90e1f2a748fadac0a3f9e22210015a3e06))
-* Tweak macOS app signing for testing. ([6d8ef6c](https://github.com/zmkfirmware/zmk-studio/commit/6d8ef6cb69dab87cf8132547a767b3125bd54b24))
-* Typo in a vendor name. ([35d0118](https://github.com/zmkfirmware/zmk-studio/commit/35d0118238930b94a8771108b93d008dac91de8e))
-* Undo/redo fixes. ([8b25218](https://github.com/zmkfirmware/zmk-studio/commit/8b252185384b41df2d38823e546c891e80227cf7))
-
-
-### Miscellaneous Chores
-
-* Prepare 0.0.1 release ([1a233de](https://github.com/zmkfirmware/zmk-studio/commit/1a233de12cbe6be3be4e9a3ef766a0b1d9aa3ce1))
+# Changelog
+
+## [0.3.1](https://github.com/zmkfirmware/zmk-studio/compare/v0.3.0...v0.3.1) (2025-01-20)
+
+
+### Bug Fixes
+
+* **ci:** Support token auth on release fetch ([#126](https://github.com/zmkfirmware/zmk-studio/issues/126)) ([0662e6d](https://github.com/zmkfirmware/zmk-studio/commit/0662e6d506715232b1cee872f7354435c0cdea16))
+
+## [0.3.0](https://github.com/zmkfirmware/zmk-studio/compare/v0.2.4...v0.3.0) (2025-01-20)
+
+
+### Features
+
+* Add Download Page ([#105](https://github.com/zmkfirmware/zmk-studio/issues/105)) ([2b88c5c](https://github.com/zmkfirmware/zmk-studio/commit/2b88c5c6248c42719b404a67c33fa25a133a057a))
+* Support MacOS Universal Installer ([c43357e](https://github.com/zmkfirmware/zmk-studio/commit/c43357e3784da10ca4129ac02a20b6159e0a1c3b))
+* Support MacOS Universal Installer ([#104](https://github.com/zmkfirmware/zmk-studio/issues/104)) ([c43357e](https://github.com/zmkfirmware/zmk-studio/commit/c43357e3784da10ca4129ac02a20b6159e0a1c3b))
+
+
+### Bug Fixes
+
+* app crash when reach last index of undo stack ([#111](https://github.com/zmkfirmware/zmk-studio/issues/111)) ([3370faa](https://github.com/zmkfirmware/zmk-studio/commit/3370faa3c9f6288dda613d35c42a8d30001edff6))
+
+## [0.2.4](https://github.com/zmkfirmware/zmk-studio/compare/v0.2.3...v0.2.4) (2024-11-22)
+
+
+### Bug Fixes
+
+* **app:** Tweak webkit dep version for CI builds ([#92](https://github.com/zmkfirmware/zmk-studio/issues/92)) ([5c018bc](https://github.com/zmkfirmware/zmk-studio/commit/5c018bcbc44d0dfb219cab239877a9b1d441c101))
+
+## [0.2.3](https://github.com/zmkfirmware/zmk-studio/compare/v0.2.2...v0.2.3) (2024-11-13)
+
+
+### Bug Fixes
+
+* Add link to unlock behavior docs in unlock modal ([#90](https://github.com/zmkfirmware/zmk-studio/issues/90)) ([9d35061](https://github.com/zmkfirmware/zmk-studio/commit/9d35061b30b394b21dd12df6d763cd9daeed355e))
+* Remove beta warning from connect modal. ([#88](https://github.com/zmkfirmware/zmk-studio/issues/88)) ([6edb4b0](https://github.com/zmkfirmware/zmk-studio/commit/6edb4b02a104add079ae2f85cfa0d239a54f553b)), closes [#87](https://github.com/zmkfirmware/zmk-studio/issues/87)
+
+## [0.2.2](https://github.com/zmkfirmware/zmk-studio/compare/v0.2.1...v0.2.2) (2024-11-12)
+
+
+### Bug Fixes
+
+* **ci:** Bump tauri.conf.json version as well. ([#84](https://github.com/zmkfirmware/zmk-studio/issues/84)) ([435512a](https://github.com/zmkfirmware/zmk-studio/commit/435512a27bd55978e925db95b271fe844befb688))
+
+## [0.2.1](https://github.com/zmkfirmware/zmk-studio/compare/v0.2.0...v0.2.1) (2024-11-12)
+
+
+### Bug Fixes
+
+* **ci:** Proper release-please support for Tauri ([#77](https://github.com/zmkfirmware/zmk-studio/issues/77)) ([0902316](https://github.com/zmkfirmware/zmk-studio/commit/0902316fb498d7801d99d4ac021b69ca0b2ee7fd))
+
+## [0.2.0](https://github.com/zmkfirmware/zmk-studio/compare/v0.1.2...v0.2.0) (2024-11-11)
+
+
+### Features
+
+* Sort behaviors by label ([#75](https://github.com/zmkfirmware/zmk-studio/issues/75)) ([a996e4e](https://github.com/zmkfirmware/zmk-studio/commit/a996e4efefd9405cbf35f35d3ceaa62b71b0deb9))
+
+## [0.1.2](https://github.com/zmkfirmware/zmk-studio/compare/v0.1.1...v0.1.2) (2024-10-16)
+
+
+### Bug Fixes
+
+* Raise and report errors on connect. ([#65](https://github.com/zmkfirmware/zmk-studio/issues/65)) ([957aabe](https://github.com/zmkfirmware/zmk-studio/commit/957aabea1bf9b7316b81e0d9b68580b398f816c2))
+
+## [0.1.1](https://github.com/zmkfirmware/zmk-studio/compare/v0.1.0...v0.1.1) (2024-10-10)
+
+
+### Bug Fixes
+
+* Add beta warning to the connect modal. ([#58](https://github.com/zmkfirmware/zmk-studio/issues/58)) ([5152b1d](https://github.com/zmkfirmware/zmk-studio/commit/5152b1d2f795c7647ad77facbd3a1480c56949ce))
+* Add ZMK links to the about modal. ([#56](https://github.com/zmkfirmware/zmk-studio/issues/56)) ([3c319b5](https://github.com/zmkfirmware/zmk-studio/commit/3c319b5668279c9f118cf6721b64ce203e882613))
+
+## [0.1.0](https://github.com/zmkfirmware/zmk-studio/compare/v0.0.3...v0.1.0) (2024-10-09)
+
+
+### Features
+
+* Add alert on connect failures, bump deps. ([#47](https://github.com/zmkfirmware/zmk-studio/issues/47)) ([997edc9](https://github.com/zmkfirmware/zmk-studio/commit/997edc97754c3e831175d0c065202c61fcf12a3f))
+* Detailed save changes response data. ([#49](https://github.com/zmkfirmware/zmk-studio/issues/49)) ([967aff4](https://github.com/zmkfirmware/zmk-studio/commit/967aff48eee504fe0f1a8b22fc36146536c70368))
+* Improved key rendering for HID usages. ([#53](https://github.com/zmkfirmware/zmk-studio/issues/53)) ([14bcaa7](https://github.com/zmkfirmware/zmk-studio/commit/14bcaa79781e53e11af7e9c9d50ae7b7999747d0))
+
+
+### Bug Fixes
+
+* **app:** Handle manual disconnect for serial transport ([#55](https://github.com/zmkfirmware/zmk-studio/issues/55)) ([3da464f](https://github.com/zmkfirmware/zmk-studio/commit/3da464f892edfe3a459de78b5da862fa938cf3b4))
+* Fix Wayland resize/decoration bug. ([#51](https://github.com/zmkfirmware/zmk-studio/issues/51)) ([3ca0679](https://github.com/zmkfirmware/zmk-studio/commit/3ca0679c8238eef02fbfaadd84f712beb2f6735b))
+
+## [0.0.3](https://github.com/zmkfirmware/zmk-studio/compare/v0.0.2...v0.0.3) (2024-10-02)
+
+
+### Miscellaneous Chores
+
+* Fixes for prod push for releases. ([#45](https://github.com/zmkfirmware/zmk-studio/issues/45)) ([6e05f49](https://github.com/zmkfirmware/zmk-studio/commit/6e05f49b42343c202b0da2bfa8da01bfebe3c550))
+
+## [0.0.2](https://github.com/zmkfirmware/zmk-studio/compare/v0.0.1...v0.0.2) (2024-10-02)
+
+
+### Miscellaneous Chores
+
+* Bump to Tauri v2 release. ([#42](https://github.com/zmkfirmware/zmk-studio/issues/42)) ([57b3274](https://github.com/zmkfirmware/zmk-studio/commit/57b3274688161a3599f96fba5db1cd671620cf0c))
+* Fix release-please automation. ([#43](https://github.com/zmkfirmware/zmk-studio/issues/43)) ([1156c47](https://github.com/zmkfirmware/zmk-studio/commit/1156c47fe3c761e2240128b77f5a72d8dfe17efe))
+
+## 0.0.1 (2024-09-30)
+
+
+### Features
+
+* Add a few more Consumer overrides. ([2e32100](https://github.com/zmkfirmware/zmk-studio/commit/2e321002843a90d614b7f3b802a44b8cd3a229f5))
+* Add a few more HID name overrides. ([30789f6](https://github.com/zmkfirmware/zmk-studio/commit/30789f603b83d8431272c0dac14ceadb1f0105fc))
+* Add aboud and license notice modals. ([b9d2692](https://github.com/zmkfirmware/zmk-studio/commit/b9d2692f434740ced2eb40158a2793ec830b6fa7))
+* Add disconnect and settings reset UI. ([18b3f22](https://github.com/zmkfirmware/zmk-studio/commit/18b3f22a0bc09223b9bce777da24303b7e276780))
+* Add HID label overrides. ([5216e8e](https://github.com/zmkfirmware/zmk-studio/commit/5216e8e9a4557a42e31d499a0453a2462634247d))
+* Add HID usage modifier editing. ([14a1578](https://github.com/zmkfirmware/zmk-studio/commit/14a157851569b5940033c8c9031941119d6cdd0b))
+* add hover effects to device menu items ([ffd42ee](https://github.com/zmkfirmware/zmk-studio/commit/ffd42eea2eac3ccf5fea92619d236d2932250cb0))
+* Add layout rotation support. ([4331681](https://github.com/zmkfirmware/zmk-studio/commit/4331681489e23dd7b7a7cb616876536bb5d2962f))
+* Add limits for usages in the list, re-render fixes. ([30f7077](https://github.com/zmkfirmware/zmk-studio/commit/30f707731fe593e6159d15ba1b1316fdf02aa6ea))
+* Add names for some keypad key codes ([#34](https://github.com/zmkfirmware/zmk-studio/issues/34)) ([59a6441](https://github.com/zmkfirmware/zmk-studio/commit/59a6441f83ce7857530d62bc666b2652d7706582))
+* Add primitive layout picker control. ([e77c09b](https://github.com/zmkfirmware/zmk-studio/commit/e77c09bee86f3baa50f8c8bbfe6c9a1d0628c4b5))
+* Add tauri CLI for connecting to serial port. ([86840df](https://github.com/zmkfirmware/zmk-studio/commit/86840dfabb4c743c36a70a4b88f48dbcce9adc92))
+* Add UI in connect model when no transports ([9d58e0e](https://github.com/zmkfirmware/zmk-studio/commit/9d58e0e21cbfe0b0781b3b20386bfba1b5b2f068)), closes [#16](https://github.com/zmkfirmware/zmk-studio/issues/16)
+* add UI to close about license modals ([01cc93b](https://github.com/zmkfirmware/zmk-studio/commit/01cc93bf630acb71dbb76795da26948ffdb35ed6))
+* Add unlock/lock handling. ([6a742e1](https://github.com/zmkfirmware/zmk-studio/commit/6a742e1169c9640619827f097ffb4c76851dea6c))
+* Auto-zoom keymap layout ([c98743e](https://github.com/zmkfirmware/zmk-studio/commit/c98743e6a742a568cacf7f908e381956c4299071))
+* Basic CI for building apps across platforms. ([2360283](https://github.com/zmkfirmware/zmk-studio/commit/236028364cfc17a75060647cd97f1366285e3214))
+* Better detection of proper conn. ([6963c29](https://github.com/zmkfirmware/zmk-studio/commit/6963c299dfbe02fb625b2176ae75bc17adb3127a))
+* Better physical layout picker with preview. ([89b38b3](https://github.com/zmkfirmware/zmk-studio/commit/89b38b3ad7e35e7ebddfa962f429e6ba38ff217a))
+* Bump client version. ([1b0c8c4](https://github.com/zmkfirmware/zmk-studio/commit/1b0c8c4b9aec2dfbbf4c47e5005c463ac9d8021d))
+* Display device name in header. ([d4285a6](https://github.com/zmkfirmware/zmk-studio/commit/d4285a65608e2c283a64133d9d04e3c0e2f3bd22))
+* Handle keymap/layout mismatches. ([67bc71a](https://github.com/zmkfirmware/zmk-studio/commit/67bc71abde19679c35297892cce3fe54905cfe77))
+* Initial work on skeleton of ZMK Studio UI. ([5a19aa4](https://github.com/zmkfirmware/zmk-studio/commit/5a19aa4a098b76b99954e771120715fc3f50b97c))
+* Initial work to reload keymap on layout change. ([fc55232](https://github.com/zmkfirmware/zmk-studio/commit/fc5523214fb99d1dfbef973604361840c590a3f5))
+* Layer reordering ([a7bc01d](https://github.com/zmkfirmware/zmk-studio/commit/a7bc01d3ab5321174aafa86c6143f24bb18eaac6))
+* More complete disconnect and notif support. ([77062af](https://github.com/zmkfirmware/zmk-studio/commit/77062af5ede8e4e2c28b9e64f5d8206f6f5c1242))
+* Move to proper layer IDs. ([44badf1](https://github.com/zmkfirmware/zmk-studio/commit/44badf16fc2eba70b6931919f7f427d781b8fc88))
+* Propagate layout selection to the device. ([c2cf65c](https://github.com/zmkfirmware/zmk-studio/commit/c2cf65c35bc3ab36cc57bcddc5842a33f40886eb))
+* Properly implement Discard. ([e7a25c0](https://github.com/zmkfirmware/zmk-studio/commit/e7a25c02356d141f988bc9c04d09757c611916c1))
+* Release automation using release-please ([f69b015](https://github.com/zmkfirmware/zmk-studio/commit/f69b0151edbc56c95fd0d2e2287e2d8942b2fe79))
+* replace edit label prompt with modal ([44acf8c](https://github.com/zmkfirmware/zmk-studio/commit/44acf8c1f5bb8aac8911811fa13cd033be606ba0))
+* Show selected key in a physical layout. ([1dc11c8](https://github.com/zmkfirmware/zmk-studio/commit/1dc11c8fb34c8c6fecb8070ed78aea502b078e16))
+* Start to incorporate theme colors. ([664d6f3](https://github.com/zmkfirmware/zmk-studio/commit/664d6f3b360e0169cb496871f7e9f87b107a8631))
+* Style adjustments ([332d737](https://github.com/zmkfirmware/zmk-studio/commit/332d7374550039a7c6b527ddd10b475f98000d9b))
+* Tailwind, prettier, Gorton keys. ([f942781](https://github.com/zmkfirmware/zmk-studio/commit/f942781394954dfad22768929637ac86f36cdcac))
+* Ton of layer operations. ([28f2625](https://github.com/zmkfirmware/zmk-studio/commit/28f262557fe457a6eb7d01c1733fb97171a73f27))
+* Tons of layout fixes, device selection. ([177f2df](https://github.com/zmkfirmware/zmk-studio/commit/177f2dfe38982c9acba8f08a2737963f460ac1f5))
+* Undo/redo, binding updates, save changes. ([47eeb1c](https://github.com/zmkfirmware/zmk-studio/commit/47eeb1caba476868420ca3e0cbf94558e1865a8e))
+* Various layout/key render work, theme fixes ([d66d560](https://github.com/zmkfirmware/zmk-studio/commit/d66d560a6c3de41d25502e8f601e63b20cbab38f))
+* Windows app/installer signing. ([81a42b5](https://github.com/zmkfirmware/zmk-studio/commit/81a42b5bb91471dfd6a83f5c80cce697097204e2))
+
+
+### Bug Fixes
+
+* Add `will-change: transform` to force anti-aliasing. ([899c355](https://github.com/zmkfirmware/zmk-studio/commit/899c3556b8ca5c87434912afbd19d109cd26ac7d))
+* Add Info.plist for BT access request on macOS. ([2412e70](https://github.com/zmkfirmware/zmk-studio/commit/2412e70ee14f8beeadc3cfe794f913701f0c7be6))
+* **app:** Properly load when BT adapter is off. ([3241568](https://github.com/zmkfirmware/zmk-studio/commit/324156873ae69850c319ccedda613635fcc8c342))
+* **app:** Workaround for GNOME/Wayland resize bug. ([153a035](https://github.com/zmkfirmware/zmk-studio/commit/153a0355a0a09e0303ed66f845deae7c94801304))
+* BT connections on macOS must explicitly connect. ([adf1d01](https://github.com/zmkfirmware/zmk-studio/commit/adf1d01bffaa265215a8c328f8af084431fef58c))
+* Build fixes after tweaks. ([679c5ec](https://github.com/zmkfirmware/zmk-studio/commit/679c5ec3c99a2dd203ca2da61245683b8d3a2e38))
+* Build gatt transport on macOS. ([1351d5f](https://github.com/zmkfirmware/zmk-studio/commit/1351d5fa34b941e51ef7e132be0e47449a103d4b))
+* Bump tauri deps to use custom IPC encoding. ([c6de9de](https://github.com/zmkfirmware/zmk-studio/commit/c6de9de6b0bf4e585f06ccaf39e56e5156e53db8))
+* Bump tauri versions, fix CSP ICP issue. ([ba15adc](https://github.com/zmkfirmware/zmk-studio/commit/ba15adc034efe970f2cc263e8f1bf0b8e2987103))
+* Bump to client with Windows fixes. ([ad48405](https://github.com/zmkfirmware/zmk-studio/commit/ad48405ce7f83f5ccbc02d29e6535ebd2da5f698))
+* Fix up bluest usage for CoreBluetooth. ([0df090b](https://github.com/zmkfirmware/zmk-studio/commit/0df090b34610b2aeaf03f350b1ac5845b8143e72))
+* HID override build fix, more overrides. ([8c1633e](https://github.com/zmkfirmware/zmk-studio/commit/8c1633e3bbf68ca647bd76ea45f509343ac9b233))
+* Layout fixes. ([eb1d836](https://github.com/zmkfirmware/zmk-studio/commit/eb1d836499e197f0c7e41d431db5922497ec75c9))
+* Layout rotation fixes. ([4e53eaf](https://github.com/zmkfirmware/zmk-studio/commit/4e53eaf452e98526f985120c44c68187528c84bc))
+* Minor TS fix. ([d377f6c](https://github.com/zmkfirmware/zmk-studio/commit/d377f6c5f5ac6c8fd3c91d613900a56297bea257))
+* Modifier selection sizing fixes. ([d966f9d](https://github.com/zmkfirmware/zmk-studio/commit/d966f9d4b90d3686dd38d618a0f1584810468edf))
+* Only force connect to devices on macos. ([c199d58](https://github.com/zmkfirmware/zmk-studio/commit/c199d583b77ceef0c4179191881042a370b3a30c))
+* Proper 2-param behavior editing. ([b254dac](https://github.com/zmkfirmware/zmk-studio/commit/b254dac0168c763b21d6c002f1eac3c01c9f69fd))
+* Proper disconnect/reconnect of BLE. ([635d7b9](https://github.com/zmkfirmware/zmk-studio/commit/635d7b9b195a1cae039022360ec8e7e0b334b3d2))
+* Proper logo and title. ([8df6f1e](https://github.com/zmkfirmware/zmk-studio/commit/8df6f1e1791e867e41672bb3b42ef1ad81fe75c4))
+* Proper type for device info RPC response. ([7f02898](https://github.com/zmkfirmware/zmk-studio/commit/7f0289829f3a64854d7a44680dc1a8e1ae2c5f92))
+* Properly handle USB serial disconnects. ([3d13643](https://github.com/zmkfirmware/zmk-studio/commit/3d13643971ddf218412e7d51591891141156811d))
+* Properly include keyboard page modifiers in the picker. ([cfda89e](https://github.com/zmkfirmware/zmk-studio/commit/cfda89e2ced2030dc7d0f72a8d9b3d041f4da697))
+* Reopen the connect/lock modals if closed with esc. ([028c1c9](https://github.com/zmkfirmware/zmk-studio/commit/028c1c96f1627238e0d26421184d06c8d4e3ba53))
+* Revert attempts at running tauri in container. ([e00bff4](https://github.com/zmkfirmware/zmk-studio/commit/e00bff4311f377b1dfce83d33dbf249a419eaf68))
+* Selection state fixes. ([9b41000](https://github.com/zmkfirmware/zmk-studio/commit/9b41000b5e9e559b83d04fd54a3e00dab964ac45))
+* Show selection of first key, binding fixes for no-params behaviors. ([32147a9](https://github.com/zmkfirmware/zmk-studio/commit/32147a90e1f2a748fadac0a3f9e22210015a3e06))
+* Tweak macOS app signing for testing. ([6d8ef6c](https://github.com/zmkfirmware/zmk-studio/commit/6d8ef6cb69dab87cf8132547a767b3125bd54b24))
+* Typo in a vendor name. ([35d0118](https://github.com/zmkfirmware/zmk-studio/commit/35d0118238930b94a8771108b93d008dac91de8e))
+* Undo/redo fixes. ([8b25218](https://github.com/zmkfirmware/zmk-studio/commit/8b252185384b41df2d38823e546c891e80227cf7))
+
+
+### Miscellaneous Chores
+
+* Prepare 0.0.1 release ([1a233de](https://github.com/zmkfirmware/zmk-studio/commit/1a233de12cbe6be3be4e9a3ef766a0b1d9aa3ce1))
diff --git a/LICENSE b/LICENSE
index d6456956..75b52484 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,202 +1,202 @@
-
- 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 [yyyy] [name of copyright owner]
-
- 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.
+
+ 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 [yyyy] [name of copyright owner]
+
+ 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/NOTICE b/NOTICE
index 23b4200c..22048aaf 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,14 +1,14 @@
-ZMK Studio
-Copyright 2024 The ZMK Contributors
-
-This product includes software developend by the ZMK Project (https://zmk.dev/),
-licensed under the Apache License, Version 2.0 (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.
+ZMK Studio
+Copyright 2024 The ZMK Contributors
+
+This product includes software developend by the ZMK Project (https://zmk.dev/),
+licensed under the Apache License, Version 2.0 (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/README.md b/README.md
index 26c36836..e0d15028 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,3 @@
-# ZMK Studio
-
-Initial work on the ZMK Studio UI.
+# ZMK Studio
+
+Initial work on the ZMK Studio UI.
diff --git a/download.html b/download.html
index 5eb770fb..8286e468 100644
--- a/download.html
+++ b/download.html
@@ -1,13 +1,13 @@
-
-
-
-
-
-
- ZMK Studio - Download
-
-
-
-
-
-
+
+
+
+
+
+
+ ZMK Studio - Download
+
+
+
+
+
+
diff --git a/index.html b/index.html
index 307c8f75..1d41bd1f 100644
--- a/index.html
+++ b/index.html
@@ -1,13 +1,13 @@
-
-
-
-
-
-
- ZMK Studio
-
-
-
-
-
-
+
+
+
+
+
+
+ ZMK Studio
+
+
+
+
+
+
diff --git a/package-lock.json b/package-lock.json
index 77d0645a..66216d8a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,18142 +1,18142 @@
-{
- "name": "zmk-studio",
- "version": "0.3.1",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "name": "zmk-studio",
- "version": "0.3.1",
- "dependencies": {
- "@fortawesome/fontawesome-svg-core": "^6.7.1",
- "@fortawesome/free-brands-svg-icons": "^6.7.1",
- "@fortawesome/react-fontawesome": "^0.2.2",
- "@tailwindcss/container-queries": "^0.1.1",
- "@tauri-apps/api": "^2.0.0",
- "@tauri-apps/plugin-cli": "^2.0.0",
- "@zmkfirmware/zmk-studio-ts-client": "^0.0.18",
- "emittery": "^1.0.3",
- "immer": "^10.1.1",
- "lucide-react": "^0.445.0",
- "react": "^18.2.0",
- "react-aria-components": "^1.4.0",
- "react-dom": "^18.2.0",
- "tailwindcss-react-aria-components": "^1.1.3"
- },
- "devDependencies": {
- "@chromatic-com/storybook": "^1.3.5",
- "@storybook/addon-essentials": "^8.3.5",
- "@storybook/addon-interactions": "^8.0.10",
- "@storybook/addon-links": "^8.0.10",
- "@storybook/addon-onboarding": "^8.0.10",
- "@storybook/blocks": "^8.3.5",
- "@storybook/react": "^8.0.10",
- "@storybook/react-vite": "^8.0.10",
- "@storybook/test": "^8.0.10",
- "@tauri-apps/cli": "^2.0.0",
- "@types/react": "^18.2.66",
- "@types/react-dom": "^18.2.22",
- "@types/w3c-web-serial": "^1.0.6",
- "@types/web-bluetooth": "^0.0.20",
- "@typescript-eslint/eslint-plugin": "^7.2.0",
- "@typescript-eslint/parser": "^7.2.0",
- "@vitejs/plugin-react-swc": "^3.5.0",
- "autoprefixer": "^10.4.19",
- "eslint": "^8.57.0",
- "eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-react-refresh": "^0.4.6",
- "eslint-plugin-storybook": "^0.8.0",
- "postcss": "^8.4.38",
- "prettier": "3.3.2",
- "run-script-os": "^1.1.6",
- "storybook": "^8.0.10",
- "tailwindcss": "^3.4.4",
- "typescript": "^5.4.5",
- "vite": "^5.4.8"
- },
- "optionalDependencies": {
- "@esbuild/darwin-arm64": "0.23.0",
- "@rollup/rollup-darwin-arm64": "^4.18.1"
- }
- },
- "../zmk-studio-ts-client": {
- "version": "0.0.1-development",
- "extraneous": true,
- "hasInstallScript": true,
- "license": "MIT",
- "dependencies": {
- "async-mutex": "^0.5.0"
- },
- "devDependencies": {
- "@ryansonshine/commitizen": "^4.2.8",
- "@ryansonshine/cz-conventional-changelog": "^3.3.4",
- "@types/jest": "^29.0.0",
- "@types/node": "^12.20.11",
- "@types/w3c-web-serial": "^1.0.6",
- "@types/web-bluetooth": "^0.0.20",
- "@typescript-eslint/eslint-plugin": "^4.22.0",
- "@typescript-eslint/parser": "^4.22.0",
- "conventional-changelog-conventionalcommits": "^5.0.0",
- "eslint": "^7.25.0",
- "eslint-config-prettier": "^8.3.0",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-prettier": "^3.4.0",
- "husky": "^6.0.0",
- "jest": "^29.0.0",
- "lint-staged": "^13.2.1",
- "prettier": "^2.2.1",
- "semantic-release": "^21.0.1",
- "ts-jest": "^29.0.0",
- "ts-node": "^10.2.1",
- "ts-proto": "^1.174.0",
- "typescript": "^4.2.4",
- "web-streams-polyfill": "4.0.0"
- },
- "engines": {
- "node": ">=12.0"
- }
- },
- "../zmk/rpc-clients/typescript/ts-zmk-rpc-core": {
- "version": "0.0.1-development",
- "extraneous": true,
- "hasInstallScript": true,
- "license": "MIT",
- "dependencies": {
- "async-mutex": "^0.5.0"
- },
- "devDependencies": {
- "@ryansonshine/commitizen": "^4.2.8",
- "@ryansonshine/cz-conventional-changelog": "^3.3.4",
- "@types/jest": "^27.5.2",
- "@types/node": "^12.20.11",
- "@types/w3c-web-serial": "^1.0.6",
- "@types/web-bluetooth": "^0.0.20",
- "@typescript-eslint/eslint-plugin": "^4.22.0",
- "@typescript-eslint/parser": "^4.22.0",
- "conventional-changelog-conventionalcommits": "^5.0.0",
- "eslint": "^7.25.0",
- "eslint-config-prettier": "^8.3.0",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-prettier": "^3.4.0",
- "husky": "^6.0.0",
- "jest": "^27.2.0",
- "lint-staged": "^13.2.1",
- "prettier": "^2.2.1",
- "semantic-release": "^21.0.1",
- "ts-jest": "^27.0.5",
- "ts-node": "^10.2.1",
- "ts-proto": "^1.174.0",
- "typescript": "^4.2.4",
- "web-streams-polyfill": "4.0.0"
- },
- "engines": {
- "node": ">=12.0"
- }
- },
- "node_modules/@adobe/css-tools": {
- "version": "4.3.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@alloc/quick-lru": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
- "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@ampproject/remapping": {
- "version": "2.3.0",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/code-frame": {
- "version": "7.24.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/highlight": "^7.24.2",
- "picocolors": "^1.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/compat-data": {
- "version": "7.24.4",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.24.2",
- "@babel/generator": "^7.24.5",
- "@babel/helper-compilation-targets": "^7.23.6",
- "@babel/helper-module-transforms": "^7.24.5",
- "@babel/helpers": "^7.24.5",
- "@babel/parser": "^7.24.5",
- "@babel/template": "^7.24.0",
- "@babel/traverse": "^7.24.5",
- "@babel/types": "^7.24.5",
- "convert-source-map": "^2.0.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.3",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.1",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.24.5",
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.23.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.23.5",
- "@babel/helper-validator-option": "^7.23.5",
- "browserslist": "^4.22.2",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.1",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-environment-visitor": {
- "version": "7.22.20",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.23.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.22.15",
- "@babel/types": "^7.23.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-hoist-variables": {
- "version": "7.22.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.24.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.24.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-module-imports": "^7.24.3",
- "@babel/helper-simple-access": "^7.24.5",
- "@babel/helper-split-export-declaration": "^7.24.5",
- "@babel/helper-validator-identifier": "^7.24.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-simple-access": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.24.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.24.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-string-parser": {
- "version": "7.24.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-option": {
- "version": "7.23.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.24.0",
- "@babel/traverse": "^7.24.5",
- "@babel/types": "^7.24.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.24.5",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/runtime": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.24.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.23.5",
- "@babel/parser": "^7.24.0",
- "@babel/types": "^7.24.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.24.2",
- "@babel/generator": "^7.24.5",
- "@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-function-name": "^7.23.0",
- "@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.24.5",
- "@babel/parser": "^7.24.5",
- "@babel/types": "^7.24.5",
- "debug": "^4.3.1",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/globals": {
- "version": "11.12.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.24.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.24.1",
- "@babel/helper-validator-identifier": "^7.24.5",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@base2/pretty-print-object": {
- "version": "1.0.1",
- "dev": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/@chromatic-com/storybook": {
- "version": "1.3.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chromatic": "^11.3.2",
- "filesize": "^10.0.12",
- "jsonfile": "^6.1.0",
- "react-confetti": "^6.1.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=16.0.0",
- "yarn": ">=1.22.18"
- }
- },
- "node_modules/@chromatic-com/storybook/node_modules/ansi-regex": {
- "version": "6.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/@chromatic-com/storybook/node_modules/strip-ansi": {
- "version": "7.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/@esbuild/aix-ppc64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
- "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz",
- "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz",
- "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz",
- "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.23.0",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz",
- "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz",
- "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz",
- "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz",
- "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz",
- "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz",
- "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz",
- "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz",
- "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz",
- "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz",
- "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz",
- "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz",
- "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.20.2",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz",
- "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz",
- "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz",
- "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz",
- "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz",
- "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz",
- "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
- }
- },
- "node_modules/@eslint-community/regexpp": {
- "version": "4.10.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "2.1.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
- "version": "1.1.11",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/minimatch": {
- "version": "3.1.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@eslint/js": {
- "version": "8.57.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/@formatjs/ecma402-abstract": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz",
- "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==",
- "dependencies": {
- "@formatjs/intl-localematcher": "0.5.4",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@formatjs/ecma402-abstract/node_modules/tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- },
- "node_modules/@formatjs/fast-memoize": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz",
- "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@formatjs/fast-memoize/node_modules/tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- },
- "node_modules/@formatjs/icu-messageformat-parser": {
- "version": "2.7.8",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz",
- "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==",
- "dependencies": {
- "@formatjs/ecma402-abstract": "2.0.0",
- "@formatjs/icu-skeleton-parser": "1.8.2",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@formatjs/icu-messageformat-parser/node_modules/tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- },
- "node_modules/@formatjs/icu-skeleton-parser": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz",
- "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==",
- "dependencies": {
- "@formatjs/ecma402-abstract": "2.0.0",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@formatjs/icu-skeleton-parser/node_modules/tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- },
- "node_modules/@formatjs/intl-localematcher": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz",
- "integrity": "sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@formatjs/intl-localematcher/node_modules/tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- },
- "node_modules/@fortawesome/fontawesome-common-types": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.1.tgz",
- "integrity": "sha512-gbDz3TwRrIPT3i0cDfujhshnXO9z03IT1UKRIVi/VEjpNHtSBIP2o5XSm+e816FzzCFEzAxPw09Z13n20PaQJQ==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/fontawesome-svg-core": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.1.tgz",
- "integrity": "sha512-8dBIHbfsKlCk2jHQ9PoRBg2Z+4TwyE3vZICSnoDlnsHA6SiMlTwfmW6yX0lHsRmWJugkeb92sA0hZdkXJhuz+g==",
- "license": "MIT",
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.7.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/free-brands-svg-icons": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.7.1.tgz",
- "integrity": "sha512-nJR76eqPzCnMyhbiGf6X0aclDirZriTPRcFm1YFvuupyJOGwlNF022w3YBqu+yrHRhnKRpzFX+8wJKqiIjWZkA==",
- "license": "(CC-BY-4.0 AND MIT)",
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.7.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/react-fontawesome": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz",
- "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==",
- "license": "MIT",
- "dependencies": {
- "prop-types": "^15.8.1"
- },
- "peerDependencies": {
- "@fortawesome/fontawesome-svg-core": "~1 || ~6",
- "react": ">=16.3"
- }
- },
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.11.14",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@humanwhocodes/object-schema": "^2.0.2",
- "debug": "^4.3.1",
- "minimatch": "^3.0.5"
- },
- "engines": {
- "node": ">=10.10.0"
- }
- },
- "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
- "version": "1.1.11",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
- "version": "3.1.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.22"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.3",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/@internationalized/date": {
- "version": "3.5.6",
- "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.6.tgz",
- "integrity": "sha512-jLxQjefH9VI5P9UQuqB6qNKnvFt1Ky1TPIzHGsIlCi7sZZoMR8SdYbBGRvM0y+Jtb+ez4ieBzmiAUcpmPYpyOw==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "node_modules/@internationalized/message": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.5.tgz",
- "integrity": "sha512-hjEpLKFlYA3m5apldLqzHqw531qqfOEq0HlTWdfyZmcloWiUbWsYXD6YTiUmQmOtarthzhdjCAwMVrB8a4E7uA==",
- "dependencies": {
- "@swc/helpers": "^0.5.0",
- "intl-messageformat": "^10.1.0"
- }
- },
- "node_modules/@internationalized/number": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.5.4.tgz",
- "integrity": "sha512-h9huwWjNqYyE2FXZZewWqmCdkw1HeFds5q4Siuoms3hUQC5iPJK3aBmkFZoDSLN4UD0Bl8G22L/NdHpeOr+/7A==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "node_modules/@internationalized/string": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.4.tgz",
- "integrity": "sha512-BcyadXPn89Ae190QGZGDUZPqxLj/xsP4U1Br1oSy8yfIjmpJ8cJtGYleaodqW/EmzFjwELtwDojLkf3FhV6SjA==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "node_modules/@isaacs/cliui": {
- "version": "8.0.2",
- "license": "ISC",
- "dependencies": {
- "string-width": "^5.1.2",
- "string-width-cjs": "npm:string-width@^4.2.0",
- "strip-ansi": "^7.0.1",
- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
- "wrap-ansi": "^8.1.0",
- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
- "version": "6.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
- "version": "9.2.2",
- "license": "MIT"
- },
- "node_modules/@isaacs/cliui/node_modules/string-width": {
- "version": "5.1.2",
- "license": "MIT",
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
- "version": "7.1.0",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/@jest/schemas": {
- "version": "29.6.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@sinclair/typebox": "^0.27.8"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@joshwooding/vite-plugin-react-docgen-typescript": {
- "version": "0.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "glob": "^7.2.0",
- "glob-promise": "^4.2.0",
- "magic-string": "^0.27.0",
- "react-docgen-typescript": "^2.2.2"
- },
- "peerDependencies": {
- "typescript": ">= 4.3.x",
- "vite": "^3.0.0 || ^4.0.0 || ^5.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/magic-string": {
- "version": "0.27.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.13"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.2.1",
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@mdx-js/react": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz",
- "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==",
- "dev": true,
- "dependencies": {
- "@types/mdx": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- },
- "peerDependencies": {
- "@types/react": ">=16",
- "react": ">=16"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@protobufjs/aspromise": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
- "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
- },
- "node_modules/@protobufjs/base64": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
- "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
- },
- "node_modules/@protobufjs/codegen": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
- "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
- },
- "node_modules/@protobufjs/eventemitter": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
- "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
- },
- "node_modules/@protobufjs/fetch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
- "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.1",
- "@protobufjs/inquire": "^1.1.0"
- }
- },
- "node_modules/@protobufjs/float": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
- "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
- },
- "node_modules/@protobufjs/inquire": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
- "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
- },
- "node_modules/@protobufjs/path": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
- "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
- },
- "node_modules/@protobufjs/pool": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
- "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
- },
- "node_modules/@protobufjs/utf8": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
- "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
- },
- "node_modules/@react-aria/accordion": {
- "version": "3.0.0-alpha.34",
- "resolved": "https://registry.npmjs.org/@react-aria/accordion/-/accordion-3.0.0-alpha.34.tgz",
- "integrity": "sha512-3Qoj3StyQbdTYvAXVIbAIk11WtRyo3cdgn6OgwPAvN6c1r8R7X/J9DHTykZRrlF6TOGcdE0H0yrmPrlG92ObmA==",
- "dependencies": {
- "@react-aria/button": "^3.10.0",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/tree": "^3.8.5",
- "@react-types/accordion": "3.0.0-alpha.24",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/breadcrumbs": {
- "version": "3.5.17",
- "resolved": "https://registry.npmjs.org/@react-aria/breadcrumbs/-/breadcrumbs-3.5.17.tgz",
- "integrity": "sha512-LJQ+u3TbPmtAWZ3/qC6VfLCzXiwVoB6GmI+HJ2pbjs6H9L8MoiLHsA4mgcz+P0rvx7SCs0Rhvy4JurV6R/R4xw==",
- "dependencies": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/link": "^3.7.5",
- "@react-aria/utils": "^3.25.3",
- "@react-types/breadcrumbs": "^3.7.8",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/button": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/@react-aria/button/-/button-3.10.0.tgz",
- "integrity": "sha512-mhbn2tEsr991sjG6YMH6oN3ELWb4YvZZ8mnZHMNLa3l8T00PV0ClvQBsUndo6uSvuTHhpFzmMMkJFhYYUwCKlw==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/toggle": "^3.7.8",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/calendar": {
- "version": "3.5.12",
- "resolved": "https://registry.npmjs.org/@react-aria/calendar/-/calendar-3.5.12.tgz",
- "integrity": "sha512-C8VRjRwEVPaGoCtjOlC0lb3mVSz4ajbal8jfvcbp7LOqCcmOVTUbiM7EPTy60EfZRanFNSp2D1ZstEZDU+cqsg==",
- "dependencies": {
- "@internationalized/date": "^3.5.6",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/calendar": "^3.5.5",
- "@react-types/button": "^3.10.0",
- "@react-types/calendar": "^3.4.10",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/checkbox": {
- "version": "3.14.7",
- "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.14.7.tgz",
- "integrity": "sha512-aqVxXcr/8P7pQ7R34DlJX2SdBvWtHof9lLTVBY/9tgMplcKIoVBdlVUYPtqWxT3tGan+rruPQHbzTx8zJRFJyg==",
- "dependencies": {
- "@react-aria/form": "^3.0.9",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/toggle": "^3.10.8",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/checkbox": "^3.6.9",
- "@react-stately/form": "^3.0.6",
- "@react-stately/toggle": "^3.7.8",
- "@react-types/checkbox": "^3.8.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/collections": {
- "version": "3.0.0-alpha.5",
- "resolved": "https://registry.npmjs.org/@react-aria/collections/-/collections-3.0.0-alpha.5.tgz",
- "integrity": "sha512-8m8yZe1c5PYCylEN4lcG3ZL/1nyrON95nVsoknC8shY1uKP01oJd7w+f6hvVza0tJRQuVe4zW3gO4FVjv33a5g==",
- "dependencies": {
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0",
- "use-sync-external-store": "^1.2.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/color": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@react-aria/color/-/color-3.0.0.tgz",
- "integrity": "sha512-IwHI4e2fUHUOZHRrL2MsxGZFp/RCR2cLjm39gT41jVSuH4zjxueUf96NDm6c7FD0mB5vfk0jo+KJMnShL1a2rg==",
- "dependencies": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/numberfield": "^3.11.7",
- "@react-aria/slider": "^3.7.12",
- "@react-aria/spinbutton": "^3.6.9",
- "@react-aria/textfield": "^3.14.9",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/visually-hidden": "^3.8.16",
- "@react-stately/color": "^3.8.0",
- "@react-stately/form": "^3.0.6",
- "@react-types/color": "^3.0.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/combobox": {
- "version": "3.10.4",
- "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.10.4.tgz",
- "integrity": "sha512-jzLyRwpwH5SCfQl5giLSwLaw9EKlRiMG39kDZLRB4MQ1MN4sIdIP2TXBbdYcSLtYjduJm2JfRvs2ezI+QI+umA==",
- "dependencies": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/listbox": "^3.13.4",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/menu": "^3.15.4",
- "@react-aria/overlays": "^3.23.3",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/textfield": "^3.14.9",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/combobox": "^3.10.0",
- "@react-stately/form": "^3.0.6",
- "@react-types/button": "^3.10.0",
- "@react-types/combobox": "^3.13.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/datepicker": {
- "version": "3.11.3",
- "resolved": "https://registry.npmjs.org/@react-aria/datepicker/-/datepicker-3.11.3.tgz",
- "integrity": "sha512-HwGxDctFry5ew3Cu7gWpUVodaCg//V6NCihSRjLvnW/TWG+UFLzTafxTqqm8eRbicT3DJlXCLOUPk8Ek0txW6A==",
- "dependencies": {
- "@internationalized/date": "^3.5.6",
- "@internationalized/number": "^3.5.4",
- "@internationalized/string": "^3.2.4",
- "@react-aria/focus": "^3.18.3",
- "@react-aria/form": "^3.0.9",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/spinbutton": "^3.6.9",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/datepicker": "^3.10.3",
- "@react-stately/form": "^3.0.6",
- "@react-types/button": "^3.10.0",
- "@react-types/calendar": "^3.4.10",
- "@react-types/datepicker": "^3.8.3",
- "@react-types/dialog": "^3.5.13",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/dialog": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.18.tgz",
- "integrity": "sha512-j0x0OwDZKyW2GqBZl2Dw/pHl0uSCzhHOg5jNeulkZC8xQa8COuksQf5NFzPmgRPnzqpbgvSzCSs41ymS8spmFg==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/overlays": "^3.23.3",
- "@react-aria/utils": "^3.25.3",
- "@react-types/dialog": "^3.5.13",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/disclosure": {
- "version": "3.0.0-alpha.0",
- "resolved": "https://registry.npmjs.org/@react-aria/disclosure/-/disclosure-3.0.0-alpha.0.tgz",
- "integrity": "sha512-/tleriRORdkRJf2JXjiRfhLfXA5WY0nPT3DoodZJgD5Fj/aCjrWXarVGUQuEk9vsH5pwinQiQB5So+cA+xF+UQ==",
- "dependencies": {
- "@react-aria/button": "^3.10.0",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/disclosure": "3.0.0-alpha.0",
- "@react-stately/toggle": "^3.7.8",
- "@react-stately/tree": "^3.8.5",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/dnd": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/@react-aria/dnd/-/dnd-3.7.3.tgz",
- "integrity": "sha512-SF7v1AzpXr4CSf98pSzjcSBCaezpP6rsSnSJTz0j2jrYfdQhX0MPA2lyxS+kgU1AEzkK19THQeHuj8hxQc0bVw==",
- "dependencies": {
- "@internationalized/string": "^3.2.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/overlays": "^3.23.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/dnd": "^3.4.3",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/focus": {
- "version": "3.18.3",
- "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.18.3.tgz",
- "integrity": "sha512-WKUElg+5zS0D3xlVn8MntNnkzJql2J6MuzAMP8Sv5WTgFDse/XGR842dsxPTIyKKdrWVCRegCuwa4m3n/GzgJw==",
- "dependencies": {
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0",
- "clsx": "^2.0.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/form": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/@react-aria/form/-/form-3.0.9.tgz",
- "integrity": "sha512-9M6IfC5t47G19c8roHWnkKd275BrECTzyTsc4rzf5OepJfHfG4evST6x+4gGOFYi8soC9XoQdJl4TRh/mft+gw==",
- "dependencies": {
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/form": "^3.0.6",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/grid": {
- "version": "3.10.4",
- "resolved": "https://registry.npmjs.org/@react-aria/grid/-/grid-3.10.4.tgz",
- "integrity": "sha512-3AjJ0hwRhOCIHThIZrGWrjAuKDpaZuBkODW3dvgLqtsNm3tL46DI6U9O3vfp8lNbrWMsXJgjRXwvXvdv0/gwCA==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/grid": "^3.9.3",
- "@react-stately/selection": "^3.17.0",
- "@react-types/checkbox": "^3.8.4",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/gridlist": {
- "version": "3.9.4",
- "resolved": "https://registry.npmjs.org/@react-aria/gridlist/-/gridlist-3.9.4.tgz",
- "integrity": "sha512-gGzS4ToSynn2KBycf9UCsWIJIbVl4RjoCjPF4NnukwzHmrXwbtZnlF0xsORQ5QxfqHH9UehTAHWFvOOHJSZZ2w==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/grid": "^3.10.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/list": "^3.11.0",
- "@react-stately/tree": "^3.8.5",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/i18n": {
- "version": "3.12.3",
- "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.12.3.tgz",
- "integrity": "sha512-0Tp/4JwnCVNKDfuknPF+/xf3/woOc8gUjTU2nCjO3mCVb4FU7KFtjxQ2rrx+6hpIVG6g+N9qfMjRa/ggVH0CJg==",
- "dependencies": {
- "@internationalized/date": "^3.5.6",
- "@internationalized/message": "^3.1.5",
- "@internationalized/number": "^3.5.4",
- "@internationalized/string": "^3.2.4",
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/interactions": {
- "version": "3.22.3",
- "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.22.3.tgz",
- "integrity": "sha512-RRUb/aG+P0IKTIWikY/SylB6bIbLZeztnZY2vbe7RAG5MgVaCgn5HQ45SI15GlTmhsFG8CnF6slJsUFJiNHpbQ==",
- "dependencies": {
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/label": {
- "version": "3.7.12",
- "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.7.12.tgz",
- "integrity": "sha512-u9xT90lAlgb7xiv+p0md9QwCHz65XL7tjS5e29e88Rs3ptkv3aQubTqxVOUTEwzbNUT4A1QqTjUm1yfHewIRUw==",
- "dependencies": {
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/link": {
- "version": "3.7.5",
- "resolved": "https://registry.npmjs.org/@react-aria/link/-/link-3.7.5.tgz",
- "integrity": "sha512-j0F1BIdNoE7Tl+0KzzjbrmYuxt4aWAmDZDHvJKiYg71Jb1BAPz71eE1O1ybMoO04+OG/6HrRZTragfSQLAJ58A==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-types/link": "^3.5.8",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/listbox": {
- "version": "3.13.4",
- "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.13.4.tgz",
- "integrity": "sha512-2aG4jzlB+srYBeM9ap/BNZe0E04yMjY2dPGXcigkaSJt6/yYAHCygXuouf2MzvBfkdV4QWyHIIgWZmAXXl6reg==",
- "dependencies": {
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/list": "^3.11.0",
- "@react-types/listbox": "^3.5.2",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/live-announcer": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.4.0.tgz",
- "integrity": "sha512-VBxEdMq2SbtRbNTQNcDR2G6E3lEl5cJSBiHTTO8Ln1AL76LiazrylIXGgoktqzCfRQmyq0v8CHk1cNKDU9mvJg==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "node_modules/@react-aria/menu": {
- "version": "3.15.4",
- "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.15.4.tgz",
- "integrity": "sha512-4wfq8Lb7AltgSzBHdtypiPOnsRm8hHv7PUuHhlq/VT9yAkEFk4Flc7vKVF6VSFqrnCfyCf66B5aeapjNInAONg==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/overlays": "^3.23.3",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/menu": "^3.8.3",
- "@react-stately/tree": "^3.8.5",
- "@react-types/button": "^3.10.0",
- "@react-types/menu": "^3.9.12",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/meter": {
- "version": "3.4.17",
- "resolved": "https://registry.npmjs.org/@react-aria/meter/-/meter-3.4.17.tgz",
- "integrity": "sha512-08wbQhfvVWzpWilhn/WD7cQ7TqafS/66umTk7+X6BW6TrS1//6loNNJV62IC3F7sskel4iEAtl2gW0WpW8zEdg==",
- "dependencies": {
- "@react-aria/progress": "^3.4.17",
- "@react-types/meter": "^3.4.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/numberfield": {
- "version": "3.11.7",
- "resolved": "https://registry.npmjs.org/@react-aria/numberfield/-/numberfield-3.11.7.tgz",
- "integrity": "sha512-9bqg4sKqc5XLppHzJFRhgtkoeMu0N6Zg0AuVSiE/3CxE5Ad+y8tKpFEx9zh4o5BItyOWy18w5ZXnKjJGjd7waQ==",
- "dependencies": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/spinbutton": "^3.6.9",
- "@react-aria/textfield": "^3.14.9",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/form": "^3.0.6",
- "@react-stately/numberfield": "^3.9.7",
- "@react-types/button": "^3.10.0",
- "@react-types/numberfield": "^3.8.6",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/overlays": {
- "version": "3.23.3",
- "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.23.3.tgz",
- "integrity": "sha512-vRW4DL466a27BBIP6dQqmmei4nX/nsur6DyF0Hmd46ygwOdvdA+5MwvXZUz9yUamB79UeS9BMQZuBVwhjoMwBQ==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/visually-hidden": "^3.8.16",
- "@react-stately/overlays": "^3.6.11",
- "@react-types/button": "^3.10.0",
- "@react-types/overlays": "^3.8.10",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/progress": {
- "version": "3.4.17",
- "resolved": "https://registry.npmjs.org/@react-aria/progress/-/progress-3.4.17.tgz",
- "integrity": "sha512-5+01WNibLoNS5KcfU5p6vg7Lhz17plqqzv/uITx28zzj3saaj0VLR7n57Ig2fXe8ZEQoUS89BS3sIEsIf96S1A==",
- "dependencies": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/utils": "^3.25.3",
- "@react-types/progress": "^3.5.7",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/radio": {
- "version": "3.10.8",
- "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.10.8.tgz",
- "integrity": "sha512-/vKQhKqpoCB/VqHuc46OOU+31HFtg6svcYzHBbz0wN/DSVCygYeTfB/36kY7x2GWWkT0pCsB4OcHJ+/0G3EfkQ==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/form": "^3.0.9",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/radio": "^3.10.8",
- "@react-types/radio": "^3.8.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/searchfield": {
- "version": "3.7.9",
- "resolved": "https://registry.npmjs.org/@react-aria/searchfield/-/searchfield-3.7.9.tgz",
- "integrity": "sha512-EHODG7HDFthwG5tx4fh+WP2hjNOp/rPAqdNScKBAN73nEf0F/qQpIwmdZF0EycCOzGSM5hhihjm0yMtTFYuzOQ==",
- "dependencies": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/textfield": "^3.14.9",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/searchfield": "^3.5.7",
- "@react-types/button": "^3.10.0",
- "@react-types/searchfield": "^3.5.9",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/select": {
- "version": "3.14.10",
- "resolved": "https://registry.npmjs.org/@react-aria/select/-/select-3.14.10.tgz",
- "integrity": "sha512-xHkAJqvfKgnH5mVYwZj3ME7/Q3wUzgUZDK/iVuXUs3cAYap8ybM2d/2zOGcqv1keZHBUzwp9QtaN//FYK13jIA==",
- "dependencies": {
- "@react-aria/form": "^3.0.9",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/listbox": "^3.13.4",
- "@react-aria/menu": "^3.15.4",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/visually-hidden": "^3.8.16",
- "@react-stately/select": "^3.6.8",
- "@react-types/button": "^3.10.0",
- "@react-types/select": "^3.9.7",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/selection": {
- "version": "3.20.0",
- "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.20.0.tgz",
- "integrity": "sha512-h3giMcXo4SMZRL5HrqZvOLNTsdh5jCXwLUx0wpj/2EF0tcYQL6WDfn1iJ+rHARkUIs7X70fUV8iwlbUySZy1xg==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/selection": "^3.17.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/separator": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@react-aria/separator/-/separator-3.4.3.tgz",
- "integrity": "sha512-L+eCmSGfRJ9jScHZqBkmOkp44LBARisDjRdYbGrLlsAEcOiHUXufnfpxz2rgkUGBdUgnI9hIk12q5kdy0UxGjg==",
- "dependencies": {
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/slider": {
- "version": "3.7.12",
- "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.7.12.tgz",
- "integrity": "sha512-yZWBGxDHBL5Gjjdnz+igdO7VfYND9iZsSqynadZthWtfy1jA+qBR25I+Soc0D9gkr/2/JUJkFgkllYF1RzWMUQ==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/slider": "^3.5.8",
- "@react-types/shared": "^3.25.0",
- "@react-types/slider": "^3.7.6",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/spinbutton": {
- "version": "3.6.9",
- "resolved": "https://registry.npmjs.org/@react-aria/spinbutton/-/spinbutton-3.6.9.tgz",
- "integrity": "sha512-m+uVJdiIc2LrLVDGjU7p8P2O2gUvTN26GR+NgH4rl+tUSuAB0+T1rjls/C+oXEqQjCpQihEB9Bt4M+VHpzmyjA==",
- "dependencies": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/utils": "^3.25.3",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/ssr": {
- "version": "3.9.6",
- "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.6.tgz",
- "integrity": "sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- },
- "engines": {
- "node": ">= 12"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/switch": {
- "version": "3.6.8",
- "resolved": "https://registry.npmjs.org/@react-aria/switch/-/switch-3.6.8.tgz",
- "integrity": "sha512-6Q0w7o+liB0ztKPL9UaRfX+hPPuy71AL3SuVCMK7RKfPqZwcmlwUDp2gr3j5fvs8gLev0r42XtEBqmGwkHTkEw==",
- "dependencies": {
- "@react-aria/toggle": "^3.10.8",
- "@react-stately/toggle": "^3.7.8",
- "@react-types/shared": "^3.25.0",
- "@react-types/switch": "^3.5.6",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/table": {
- "version": "3.15.4",
- "resolved": "https://registry.npmjs.org/@react-aria/table/-/table-3.15.4.tgz",
- "integrity": "sha512-t4+vtUF63i6OrXmZ0AA/RmWyIt8cieUm7cSXhQMooAgUjkvVqTNkQQRsntVOb+UNI5KmiGSe4jB3H4GVXz2X9w==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/grid": "^3.10.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/visually-hidden": "^3.8.16",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/flags": "^3.0.4",
- "@react-stately/table": "^3.12.3",
- "@react-types/checkbox": "^3.8.4",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@react-types/table": "^3.10.2",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/tabs": {
- "version": "3.9.6",
- "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.9.6.tgz",
- "integrity": "sha512-iPQ2Im+srnSB06xIdVNHZZDJnZmUR0IG0MZAp6FXmbkCeLAd9tZQHgSFYwswBfgAStNnyFQHP5aSBJOJMRCACg==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/tabs": "^3.6.10",
- "@react-types/shared": "^3.25.0",
- "@react-types/tabs": "^3.3.10",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/tag": {
- "version": "3.4.6",
- "resolved": "https://registry.npmjs.org/@react-aria/tag/-/tag-3.4.6.tgz",
- "integrity": "sha512-Uf1sPabwJx99diyXJTaVguiYozS49opjQxmK1PPbb87ipNN1YlSDVbP05IelVMbnbxXHudsRmzPOBmmblcj1GQ==",
- "dependencies": {
- "@react-aria/gridlist": "^3.9.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/list": "^3.11.0",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/textfield": {
- "version": "3.14.9",
- "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.14.9.tgz",
- "integrity": "sha512-LPwZhthDVLyvnzXWco4eyYCD2pFmQ4Vw9ha9tb3QkZUIP6j8E52y76j0c59Nq7XYus3IHatVe7yYQk7kbo8Zrg==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/form": "^3.0.9",
- "@react-aria/label": "^3.7.12",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/form": "^3.0.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@react-types/textfield": "^3.9.7",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/toggle": {
- "version": "3.10.8",
- "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.10.8.tgz",
- "integrity": "sha512-N6WTgE8ByMYY+ZygUUPGON2vW5NrxwU91H98+Nozl+Rq6ZYR2fD9i8oRtLtrYPxjU2HmaFwDyQdWvmMJZuDxig==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/toggle": "^3.7.8",
- "@react-types/checkbox": "^3.8.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/toolbar": {
- "version": "3.0.0-beta.9",
- "resolved": "https://registry.npmjs.org/@react-aria/toolbar/-/toolbar-3.0.0-beta.9.tgz",
- "integrity": "sha512-P80zgbPb0aIg22fHlgHRXXUSpNSAOnh1ljsLiSHAGdXPrC5nRijYwwKi7DNRsXqD+ljEJwF6ekZPo95dXXeYAA==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/tooltip": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/@react-aria/tooltip/-/tooltip-3.7.8.tgz",
- "integrity": "sha512-dlWfS3w8E6dw5Xoist4cVX2GQE5oh3VQr88dRyLto7BAPLFrp3I+8c9mZCVUobLS/f5QcQzLkqw750s4ENCyiw==",
- "dependencies": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/tooltip": "^3.4.13",
- "@react-types/shared": "^3.25.0",
- "@react-types/tooltip": "^3.4.12",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/tree": {
- "version": "3.0.0-beta.0",
- "resolved": "https://registry.npmjs.org/@react-aria/tree/-/tree-3.0.0-beta.0.tgz",
- "integrity": "sha512-bF9sp7x+Ciy0N2KJwy8epmDoNblyVmeB4vR/KWLVIKMjANCpzTbvhWZUBpQxkpO0eupInU2uN+FMNr0WKMyd7Q==",
- "dependencies": {
- "@react-aria/gridlist": "^3.9.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/tree": "^3.8.5",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/utils": {
- "version": "3.25.3",
- "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.25.3.tgz",
- "integrity": "sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==",
- "dependencies": {
- "@react-aria/ssr": "^3.9.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0",
- "clsx": "^2.0.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/virtualizer": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@react-aria/virtualizer/-/virtualizer-4.0.3.tgz",
- "integrity": "sha512-neSf+EXtqmQiccHcp9CS2RbH3xA6FuZggLzGsM1NoqDdXIL7TLfc7lhaqi8VAZ03e1FCUSye08BCRk3DdpUiyA==",
- "dependencies": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/virtualizer": "^4.1.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-aria/visually-hidden": {
- "version": "3.8.16",
- "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.16.tgz",
- "integrity": "sha512-3zThVIzEprez4A/GajOut6/JQ4WCu2ROHGZ1xH1+2GFjBJQaTfPBIjg6UIwaT7sgHRQIik8QidogLqXHbp81yA==",
- "dependencies": {
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/calendar": {
- "version": "3.5.5",
- "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.5.5.tgz",
- "integrity": "sha512-HzaiDRhrmaYIly8hRsjjIrydLkldiw1Ws6T/130NLQOt+VPwRW/x0R+nil42mA9LZ6oV0XN0NpmG5tn7TaKRGw==",
- "dependencies": {
- "@internationalized/date": "^3.5.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/calendar": "^3.4.10",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/checkbox": {
- "version": "3.6.9",
- "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.6.9.tgz",
- "integrity": "sha512-JrY3ecnK/SSJPxw+qhGhg3YV4e0CpUcPDrVwY3mSiAE932DPd19xr+qVCknJ34H7JYYt/q0l2z0lmgPnl96RTg==",
- "dependencies": {
- "@react-stately/form": "^3.0.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/checkbox": "^3.8.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/collections": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.11.0.tgz",
- "integrity": "sha512-TiJeJjHMPSbbeAhmCXLJNSCk0fa5XnCvEuYw6HtQzDnYiq1AD7KAwkpjC5NfKkjqF3FLXs/v9RDm/P69q6rYzw==",
- "dependencies": {
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/color": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/@react-stately/color/-/color-3.8.0.tgz",
- "integrity": "sha512-lBH91HEStZeayhE/FkDMt9WC0UISQiAn8DoD2hfpTGeeWscX/soyxZA7oVL7zBOG9RfDBMNzF+CybVROrWSKAQ==",
- "dependencies": {
- "@internationalized/number": "^3.5.4",
- "@internationalized/string": "^3.2.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-stately/form": "^3.0.6",
- "@react-stately/numberfield": "^3.9.7",
- "@react-stately/slider": "^3.5.8",
- "@react-stately/utils": "^3.10.4",
- "@react-types/color": "^3.0.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/combobox": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.10.0.tgz",
- "integrity": "sha512-4W4HCCjjoddW/LZM3pSSeLoV7ncYXlaICKmqlBcbtLR5jY4U5Kx+pPpy3oJ1vCdjDHatIxZ0tVKEBP7vBQVeGQ==",
- "dependencies": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/form": "^3.0.6",
- "@react-stately/list": "^3.11.0",
- "@react-stately/overlays": "^3.6.11",
- "@react-stately/select": "^3.6.8",
- "@react-stately/utils": "^3.10.4",
- "@react-types/combobox": "^3.13.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/data": {
- "version": "3.11.7",
- "resolved": "https://registry.npmjs.org/@react-stately/data/-/data-3.11.7.tgz",
- "integrity": "sha512-2YJ+Lmca18f/h7jiZiU9j2IhBJl6BFO1BWlwvcCAH/eCWTdveX8gzsUdW++0szzpJaoCilTCYoi8z7QWyVH9jQ==",
- "dependencies": {
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/datepicker": {
- "version": "3.10.3",
- "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.10.3.tgz",
- "integrity": "sha512-6PJW1QMwk6BQMktV9L6DA4f2rfAdLfbq3iTNLy4qxd5IfNPLMUZiJGGTj+cuqx0WcEl+q5irp+YhKBpbmhPZHg==",
- "dependencies": {
- "@internationalized/date": "^3.5.6",
- "@internationalized/string": "^3.2.4",
- "@react-stately/form": "^3.0.6",
- "@react-stately/overlays": "^3.6.11",
- "@react-stately/utils": "^3.10.4",
- "@react-types/datepicker": "^3.8.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/disclosure": {
- "version": "3.0.0-alpha.0",
- "resolved": "https://registry.npmjs.org/@react-stately/disclosure/-/disclosure-3.0.0-alpha.0.tgz",
- "integrity": "sha512-CbFUrEwhsP5+44PMHipn/Cd61VTvqyKmx1yeNDyvj/4bYhmxYLgQp/Ma+iEqe23JkXJh2JO/ws3l9FnebScCJQ==",
- "dependencies": {
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/dnd": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@react-stately/dnd/-/dnd-3.4.3.tgz",
- "integrity": "sha512-sUvhmMxFEw6P2MW7walx0ntakIihxdPxA06K9YZ3+ReaUvzQuRw5cFDaTTHrlegWRMYD0CyQaKlGIaTQihhvVA==",
- "dependencies": {
- "@react-stately/selection": "^3.17.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/flags": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.0.4.tgz",
- "integrity": "sha512-RNJEkOALwKg+JeYsfNlfPc4GXm7hiBLX0yuHOkRapWEyDOfi0cinkV/TZG4goOZdQ5tBpHmemf2qqiHAxqHlzQ==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "node_modules/@react-stately/form": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@react-stately/form/-/form-3.0.6.tgz",
- "integrity": "sha512-KMsxm3/V0iCv/6ikt4JEjVM3LW2AgCzo7aNotMzRobtwIo0RwaUo7DQNY00rGgFQ3/IjzI6DcVo13D+AVE/zXg==",
- "dependencies": {
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/grid": {
- "version": "3.9.3",
- "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.9.3.tgz",
- "integrity": "sha512-P5KgCNYwm/n8bbLx6527li89RQWoESikrsg2MMyUpUd6IJ321t2pGONGRRQzxE0SBMolPRDJKV0Do2OlsjYKhQ==",
- "dependencies": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/selection": "^3.17.0",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/layout": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@react-stately/layout/-/layout-4.0.3.tgz",
- "integrity": "sha512-zFLXnPalWWVCdFGcPAb+nywSTz/xAnKRxb7zT+YDa5U80DHArDGKZcQ+by0+2Sf8yaYolROco4my+BERPXJB6A==",
- "dependencies": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/table": "^3.12.3",
- "@react-stately/virtualizer": "^4.1.0",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@react-types/table": "^3.10.2",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/list": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.11.0.tgz",
- "integrity": "sha512-O+BxXcbtoLZWn4QIT54RoFUaM+QaJQm6s0ZBJ3Jv4ILIhukVOc55ra+aWMVlXFQSpbf6I3hyVP6cz1yyvd5Rtw==",
- "dependencies": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/selection": "^3.17.0",
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/menu": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.8.3.tgz",
- "integrity": "sha512-sV63V+cMgzipx/N7dq5GaXoItfXIfFEpCtlk3PM2vKstlCJalszXrdo+x996bkeU96h0plB7znAlhlXOeTKzUg==",
- "dependencies": {
- "@react-stately/overlays": "^3.6.11",
- "@react-types/menu": "^3.9.12",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/numberfield": {
- "version": "3.9.7",
- "resolved": "https://registry.npmjs.org/@react-stately/numberfield/-/numberfield-3.9.7.tgz",
- "integrity": "sha512-PjSgCCpYasGCEAznFQNqa2JhhEQ5+/2eMiV7ZI5j76q3edTNF8G5OOCl2RazDbzFp6vDAnRVT7Kctx5Tl5R/Zw==",
- "dependencies": {
- "@internationalized/number": "^3.5.4",
- "@react-stately/form": "^3.0.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/numberfield": "^3.8.6",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/overlays": {
- "version": "3.6.11",
- "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.11.tgz",
- "integrity": "sha512-usuxitwOx4FbmOW7Og4VM8R8ZjerbHZLLbFaxZW7pWLs7Ypway1YhJ3SWcyNTYK7NEk4o602kSoU6MSev1Vgag==",
- "dependencies": {
- "@react-stately/utils": "^3.10.4",
- "@react-types/overlays": "^3.8.10",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/radio": {
- "version": "3.10.8",
- "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.10.8.tgz",
- "integrity": "sha512-VRq6Gzsbk3jzX6hdrSoDoSra9vLRsOi2pLkvW/CMrJ0GSgMwr8jjvJKnNFvYJ3eYQb20EwkarsOAfk7vPSIt/Q==",
- "dependencies": {
- "@react-stately/form": "^3.0.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/radio": "^3.8.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/searchfield": {
- "version": "3.5.7",
- "resolved": "https://registry.npmjs.org/@react-stately/searchfield/-/searchfield-3.5.7.tgz",
- "integrity": "sha512-VxEG4tWDypdXQ8f7clZBu5Qmc4osqDBeA/gNMA2i1j/h2zRVcCJ0fRCHuDeXLSWBqF1XXAI4TWV53fBBwJusbg==",
- "dependencies": {
- "@react-stately/utils": "^3.10.4",
- "@react-types/searchfield": "^3.5.9",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/select": {
- "version": "3.6.8",
- "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.6.8.tgz",
- "integrity": "sha512-fLAVzGeYSdYdBdrEVws6Pb1ywFPdapA0eWphoW5s3fS0/pKcVWwbCHeHlaBEi1ISyqEubQZFGQdeFKm/M46Hew==",
- "dependencies": {
- "@react-stately/form": "^3.0.6",
- "@react-stately/list": "^3.11.0",
- "@react-stately/overlays": "^3.6.11",
- "@react-types/select": "^3.9.7",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/selection": {
- "version": "3.17.0",
- "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.17.0.tgz",
- "integrity": "sha512-It3LRTaFOavybuDBvBH2mvCh73OL4awqvN4tZ0JzLzMtaYSBe9+YmFasYrzB0o7ca17B2q1tpUmsNWaAgIqbLA==",
- "dependencies": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/slider": {
- "version": "3.5.8",
- "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.5.8.tgz",
- "integrity": "sha512-EDgbrxMq1w3+XTN72MGl3YtAG/j65EYX1Uc3Fh56K00+inJbTdRWyYTrb3NA310fXCd0WFBbzExuH2ohlKQycg==",
- "dependencies": {
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@react-types/slider": "^3.7.6",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/table": {
- "version": "3.12.3",
- "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.12.3.tgz",
- "integrity": "sha512-8uGrLcNJYeMbFtzRQZFWCBj5kV+7v3jzwoKIL1j9TmYUKow1PTDMQbPJpAZLQhnC2wVMlaFVgDbedSlbBij7Zg==",
- "dependencies": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/flags": "^3.0.4",
- "@react-stately/grid": "^3.9.3",
- "@react-stately/selection": "^3.17.0",
- "@react-stately/utils": "^3.10.4",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@react-types/table": "^3.10.2",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/tabs": {
- "version": "3.6.10",
- "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.6.10.tgz",
- "integrity": "sha512-F7wfoiNsrBy7c02AYHyE1USGgj05HQ0hp7uXmQjp2LEa+AA0NKKi3HdswTHHySxb0ZRuoEE7E7vp/gXQYx2/Ow==",
- "dependencies": {
- "@react-stately/list": "^3.11.0",
- "@react-types/shared": "^3.25.0",
- "@react-types/tabs": "^3.3.10",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/toggle": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.7.8.tgz",
- "integrity": "sha512-ySOtkByvIY54yIu8IZ4lnvomQA0H+/mkZnd6T5fKN3tjvIzHmkUk3TAPmNInUxHX148tSW6mWwec0xvjYqEd6w==",
- "dependencies": {
- "@react-stately/utils": "^3.10.4",
- "@react-types/checkbox": "^3.8.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/tooltip": {
- "version": "3.4.13",
- "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.4.13.tgz",
- "integrity": "sha512-zQ+8FQ7Pi0Cz852dltXb6yaryjE18K3byK4tIO3e5vnrZHEGvfdxowc+v9ak5UV93kVrYoOVmfZHRcEaTXTBNA==",
- "dependencies": {
- "@react-stately/overlays": "^3.6.11",
- "@react-types/tooltip": "^3.4.12",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/tree": {
- "version": "3.8.5",
- "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.8.5.tgz",
- "integrity": "sha512-0/tYhsKWQQJTOZFDwh8hY3Qk6ejNFRldGrLeK5kS22UZdvsMFyh7WAi40FTCJy561/VoB0WqQI4oyNPOa9lYWg==",
- "dependencies": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/selection": "^3.17.0",
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/utils": {
- "version": "3.10.4",
- "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.4.tgz",
- "integrity": "sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-stately/virtualizer": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-4.1.0.tgz",
- "integrity": "sha512-MOaqpY3NloXrpCBvVUb3HL1p3Bh4YRtUq8D2ufC909u5vM6n6G5Swk1XPJ9KHfaftGhb5serwLkm2/Aha5CTbA==",
- "dependencies": {
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/accordion": {
- "version": "3.0.0-alpha.24",
- "resolved": "https://registry.npmjs.org/@react-types/accordion/-/accordion-3.0.0-alpha.24.tgz",
- "integrity": "sha512-hwDT4TJH7aHCG8m9QsTP+7xgW7x7k2TY+WHlMRr6qDS6WhTCwd41dCdagxC0SZtulzZuWqISBxZifVrh4Tynew==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/breadcrumbs": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/@react-types/breadcrumbs/-/breadcrumbs-3.7.8.tgz",
- "integrity": "sha512-+BW2a+PrY8ArZ+pKecz13oJFrUAhthvXx17o3x0BhWUhRpAdtmTYt2hjw8zNanm2j0Kvgo1HYKgvtskCRxYcOA==",
- "dependencies": {
- "@react-types/link": "^3.5.8",
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/button": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.10.0.tgz",
- "integrity": "sha512-rAyU+N9VaHLBdZop4zasn8IDwf9I5Q1EzHUKMtzIFf5aUlMUW+K460zI/l8UESWRSWAXK9/WPSXGxfcoCEjvAA==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/calendar": {
- "version": "3.4.10",
- "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.4.10.tgz",
- "integrity": "sha512-PyjqxwJxSW2IpQx6y0D9O34fRCWn1gv9q0qFhgaIigIQrPg8zTE/CC7owHLxAtgCnnCt8exJ5rqi414csaHKlA==",
- "dependencies": {
- "@internationalized/date": "^3.5.6",
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/checkbox": {
- "version": "3.8.4",
- "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.8.4.tgz",
- "integrity": "sha512-fvZrlQmlFNsYHZpl7GVmyYQlKdUtO5MczMSf8z3TlSiCb5Kl3ha9PsZgLhJqGuVnzB2ArIBz0eZrYa3k0PhcpA==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/color": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@react-types/color/-/color-3.0.0.tgz",
- "integrity": "sha512-VUH8CROAM69GsMBilrJ1xyAdVsWL01nXQYrkZJxAEApv1OrcpIGSdsXLcGrjsrhjjiNVXxWFnqYRMsKkLzIl7g==",
- "dependencies": {
- "@react-types/shared": "^3.25.0",
- "@react-types/slider": "^3.7.6"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/combobox": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.13.0.tgz",
- "integrity": "sha512-kH/a+Fjpr54M2JbHg9RXwMjZ9O+XVsdOuE5JCpWRibJP1Mfl1md8gY6y6zstmVY8COrSqFvMZWB+PzwaTWjTGw==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/datepicker": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.8.3.tgz",
- "integrity": "sha512-Y4qfPRBB6uzocosCOWSYMuwiZ3YXwLWQYiFB4KCglkvHyltbNz76LgoBEnclYA5HjwosIk4XywiXvHSYry8JnQ==",
- "dependencies": {
- "@internationalized/date": "^3.5.6",
- "@react-types/calendar": "^3.4.10",
- "@react-types/overlays": "^3.8.10",
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/dialog": {
- "version": "3.5.13",
- "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.13.tgz",
- "integrity": "sha512-9k8daVcAqQsySkzDY6NIVlyGxtpEip4TKuLyzAehthbv78GQardD5fHdjQ6eXPRS4I2qZrmytrFFrlOnwWVGHw==",
- "dependencies": {
- "@react-types/overlays": "^3.8.10",
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/form": {
- "version": "3.7.7",
- "resolved": "https://registry.npmjs.org/@react-types/form/-/form-3.7.7.tgz",
- "integrity": "sha512-CVRjCawPhYRHi/LuikOC2kz5vgvmjjKmF4/wUgR2QzD1Ok4wY1ZGSx9M9EZptCIZAt2mToR6woyLUdtzy+foeQ==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/grid": {
- "version": "3.2.9",
- "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.2.9.tgz",
- "integrity": "sha512-eMw0d2UIZ4QTzGgD1wGGPw0cv67KjAOCp4TcwWjgDV7Wa5SVV/UvOmpnIVDyfhkG/4KRI5OR9h+isy76B726qA==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/link": {
- "version": "3.5.8",
- "resolved": "https://registry.npmjs.org/@react-types/link/-/link-3.5.8.tgz",
- "integrity": "sha512-l/YGXddgAbLnIT7ekftXrK1D4n8NlLQwx0d4usyZpaxP1KwPzuwng20DxynamLc1atoKBqbUtZAnz32pe7vYgw==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/listbox": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.5.2.tgz",
- "integrity": "sha512-ML/Bt/MeO0FiixcuFQ+smpu1WguxTOqHDjSnhc1vcNxVQFWQOhyVy01LAY2J/T9TjfjyYGD41vyMTI0f6fcLEQ==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/menu": {
- "version": "3.9.12",
- "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.12.tgz",
- "integrity": "sha512-1SPnkHKJdvOfwv9fEgK1DI6DYRs4D3hW2XcWlLhVXSjaC68CzOHGwFhKIKvZiDTW/11L770PRSEloIxHR09uFQ==",
- "dependencies": {
- "@react-types/overlays": "^3.8.10",
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/meter": {
- "version": "3.4.4",
- "resolved": "https://registry.npmjs.org/@react-types/meter/-/meter-3.4.4.tgz",
- "integrity": "sha512-0SEmPkShByC1gYkW7l+iJPg8QfEe2VrgwTciAtTfC4KIqAYmJVQtq6L+4d72EMxOh8RpQHePaY/RFHEJXAh72A==",
- "dependencies": {
- "@react-types/progress": "^3.5.7"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/numberfield": {
- "version": "3.8.6",
- "resolved": "https://registry.npmjs.org/@react-types/numberfield/-/numberfield-3.8.6.tgz",
- "integrity": "sha512-VtWEMAXUO1S9EEZI8whc7xv6DVccxhbWsRthMCg/LxiwU3U5KAveadNc2c5rtXkRpd3cnD5xFzz3dExXdmHkAg==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/overlays": {
- "version": "3.8.10",
- "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.10.tgz",
- "integrity": "sha512-IcnB+VYfAJazRjWhBKZTmVMh3KTp/B1rRbcKkPx6t8djP9UQhKcohP7lAALxjJ56Jjz/GFC6rWyUcnYH0NFVRA==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/progress": {
- "version": "3.5.7",
- "resolved": "https://registry.npmjs.org/@react-types/progress/-/progress-3.5.7.tgz",
- "integrity": "sha512-EqMDHmlpoZUZzTjdejGIkSM0pS2LBI9NdadHf3bDNTycHv+5L1xpMHUg8RGOW8a3sRVLRvfN1aO9l75QZkyj+w==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/radio": {
- "version": "3.8.4",
- "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.8.4.tgz",
- "integrity": "sha512-GCuOwQL19iwKa74NAIk9hv4ivyI8oW1+ZCuc2fzyDdeQjzTIlv3qrIyShwpVy1IoI7/4DYTMZm/YXPoKhu5TTA==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/searchfield": {
- "version": "3.5.9",
- "resolved": "https://registry.npmjs.org/@react-types/searchfield/-/searchfield-3.5.9.tgz",
- "integrity": "sha512-c/x8BWpH1Zq+fWpeBtzw2AhQhGi7ahWPicV7PlnqwIGO0MrH/QCjX0dj+I+1xpcAh8Eq6ECa79HE74Rw6aJmFg==",
- "dependencies": {
- "@react-types/shared": "^3.25.0",
- "@react-types/textfield": "^3.9.7"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/select": {
- "version": "3.9.7",
- "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.9.7.tgz",
- "integrity": "sha512-Jva4ixfB4EEdy+WmZkUoLiQI7vVfHPxM73VuL7XDxvAO+YKiIztDTcU720QVNhxTMmQvCxfRBXWar8aodCjLiw==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/shared": {
- "version": "3.25.0",
- "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.25.0.tgz",
- "integrity": "sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==",
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/slider": {
- "version": "3.7.6",
- "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.7.6.tgz",
- "integrity": "sha512-z72wnEzSge6qTD9TUoUPp1A4j4jXk/MVii6rGE78XeE/Pq7HyyjU5bCagryMr9PC9MKa/oTiHcshKqWBDf57GA==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/switch": {
- "version": "3.5.6",
- "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.5.6.tgz",
- "integrity": "sha512-gJ8t2yTCgcitz4ON4ELcLLmtlDkn2MUjjfu3ez/cwA1X/NUluPYkhXj5Z6H+KOlnveqrKCZDRoTgK74cQ6Cvfg==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/table": {
- "version": "3.10.2",
- "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.10.2.tgz",
- "integrity": "sha512-YzA4hcsYfnFFpA2UyGb1KKhLpWgaj5daApqjp126tCIosl8k1KxZmhKD50cwH0Jm19lALJseqo5VdlcJtcr4qg==",
- "dependencies": {
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/tabs": {
- "version": "3.3.10",
- "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.3.10.tgz",
- "integrity": "sha512-s/Bw/HCIdWJPBw4O703ghKqhjGsIerRMIDxA88hbQYzfTDD6bkFDjCnsP2Tyy1G8Dg2rSPFUEE+k+PpLzqeEfQ==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/textfield": {
- "version": "3.9.7",
- "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.9.7.tgz",
- "integrity": "sha512-vU5+QCOF9HgWGjAmmy+cpJibVW5voFomC5POmYHokm7kivYcMMjlonsgWwg/0xXrqE2qosH3tpz4jFoEuig1NQ==",
- "dependencies": {
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@react-types/tooltip": {
- "version": "3.4.12",
- "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.4.12.tgz",
- "integrity": "sha512-FwsdSQ3UDIDORanQMGMLyzSUabw4AkKhwcRdPv4d5OT8GmJr7mBdZynfcsrKLJ0fzskIypMqspoutZidsI0MQg==",
- "dependencies": {
- "@react-types/overlays": "^3.8.10",
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/@rollup/pluginutils": {
- "version": "5.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0",
- "estree-walker": "^2.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
- },
- "peerDependenciesMeta": {
- "rollup": {
- "optional": true
- }
- }
- },
- "node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz",
- "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-android-arm64": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz",
- "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz",
- "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz",
- "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz",
- "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz",
- "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz",
- "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz",
- "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz",
- "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz",
- "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz",
- "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz",
- "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz",
- "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz",
- "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz",
- "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz",
- "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@sinclair/typebox": {
- "version": "0.27.8",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@storybook/addon-actions": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.3.5.tgz",
- "integrity": "sha512-t8D5oo+4XfD+F8091wLa2y/CDd/W2lExCeol5Vm1tp5saO+u6f2/d7iykLhTowWV84Uohi3D073uFeyTAlGebg==",
- "dev": true,
- "dependencies": {
- "@storybook/global": "^5.0.0",
- "@types/uuid": "^9.0.1",
- "dequal": "^2.0.2",
- "polished": "^4.2.2",
- "uuid": "^9.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/addon-backgrounds": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.3.5.tgz",
- "integrity": "sha512-IQGjDujuw8+iSqKREdkL8I5E/5CAHZbfOWd4A75PQK2D6qZ0fu/xRwTOQOH4jP6xn/abvfACOdL6A0d5bU90ag==",
- "dev": true,
- "dependencies": {
- "@storybook/global": "^5.0.0",
- "memoizerific": "^1.11.3",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/addon-controls": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.3.5.tgz",
- "integrity": "sha512-2eCVobUUvY1Rq7sp1U8Mx8t44VXwvi0E+hqyrsqOx5TTSC/FUQ+hNAX6GSYUcFIyQQ1ORpKNlUjAAdjxBv1ZHQ==",
- "dev": true,
- "dependencies": {
- "@storybook/global": "^5.0.0",
- "dequal": "^2.0.2",
- "lodash": "^4.17.21",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/addon-docs": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.3.5.tgz",
- "integrity": "sha512-MOVfo1bY8kXTzbvmWnx3UuSO4WNykFz7Edvb3mxltNyuW7UDRZGuIuSe32ddT/EtLJfurrC9Ja3yBy4KBUGnMA==",
- "dev": true,
- "dependencies": {
- "@mdx-js/react": "^3.0.0",
- "@storybook/blocks": "8.3.5",
- "@storybook/csf-plugin": "8.3.5",
- "@storybook/global": "^5.0.0",
- "@storybook/react-dom-shim": "8.3.5",
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "fs-extra": "^11.1.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "rehype-external-links": "^3.0.0",
- "rehype-slug": "^6.0.0",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/csf-plugin": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.3.5.tgz",
- "integrity": "sha512-ODVqNXwJt90hG7QW8I9w/XUyOGlr0l7XltmIJgXwB/2cYDvaGu3JV5Ybg7O0fxPV8uXk7JlRuUD8ZYv5Low6pA==",
- "dev": true,
- "dependencies": {
- "unplugin": "^1.3.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/react-dom-shim": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.3.5.tgz",
- "integrity": "sha512-Hf0UitJ/K0C7ajooooUK/PxOR4ihUWqsC7iCV1Gqth8U37dTeLMbaEO4PBwu0VQ+Ufg0N8BJLWfg7o6G4hrODw==",
- "dev": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/addon-essentials": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.3.5.tgz",
- "integrity": "sha512-hXTtPuN4/IsXjUrkMPAuz1qKAl8DovdXpjQgjQs7jSAVx3kc4BZaGqJ3gaVenKtO8uDchmA92BoQygpkc8eWhw==",
- "dev": true,
- "dependencies": {
- "@storybook/addon-actions": "8.3.5",
- "@storybook/addon-backgrounds": "8.3.5",
- "@storybook/addon-controls": "8.3.5",
- "@storybook/addon-docs": "8.3.5",
- "@storybook/addon-highlight": "8.3.5",
- "@storybook/addon-measure": "8.3.5",
- "@storybook/addon-outline": "8.3.5",
- "@storybook/addon-toolbars": "8.3.5",
- "@storybook/addon-viewport": "8.3.5",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/addon-highlight": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.3.5.tgz",
- "integrity": "sha512-ku0epul9aReCR3Gv/emwYnsqg3vgux5OmYMjoDcJC7s+LyfweSzLV/f5t9gSHazikJElh5TehtVkWbC4QfbGSw==",
- "dev": true,
- "dependencies": {
- "@storybook/global": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/addon-interactions": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/global": "^5.0.0",
- "@storybook/instrumenter": "8.0.10",
- "@storybook/test": "8.0.10",
- "@storybook/types": "8.0.10",
- "polished": "^4.2.2",
- "ts-dedent": "^2.2.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/addon-links": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/csf": "^0.1.4",
- "@storybook/global": "^5.0.0",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- },
- "peerDependenciesMeta": {
- "react": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/addon-measure": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.3.5.tgz",
- "integrity": "sha512-6GVehgbHhFIFS69xSfRV+12VK0cnuIAtZdp1J3eUCc2ATrcigqVjTM6wzZz6kBuX6O3dcusr7Wg46KtNliqLqg==",
- "dev": true,
- "dependencies": {
- "@storybook/global": "^5.0.0",
- "tiny-invariant": "^1.3.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/addon-onboarding": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/addon-outline": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.3.5.tgz",
- "integrity": "sha512-dwmK6GzjEnQP9Yo0VnBUQtJkXZlXdfjWyskZ/IlUVc+IFdeeCtIiMyA92oMfHo8eXt0k1g21ZqMaIn7ZltOuHw==",
- "dev": true,
- "dependencies": {
- "@storybook/global": "^5.0.0",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/addon-toolbars": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.3.5.tgz",
- "integrity": "sha512-Ml2gc9q8WbteDvmuAZGgBxt5SqWMXzuTkMjlsA8EB53hlkN1w9esX4s8YtBeNqC3HKoUzcdq8uexSBqU8fDbSA==",
- "dev": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/addon-viewport": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.3.5.tgz",
- "integrity": "sha512-FSWydoPiVWFXEittG7O1YgvuaqoU9Vb+qoq9XfP/hvQHHMDcMZvC40JaV8AnJeTXaM7ngIjcn9XDEfGbFfOzXw==",
- "dev": true,
- "dependencies": {
- "memoizerific": "^1.11.3"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "storybook": "^8.3.5"
- }
- },
- "node_modules/@storybook/blocks": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.3.5.tgz",
- "integrity": "sha512-8cHTdTywolTHlgwN8I7YH7saWAIjGzV617AwjhJ95AKlC0VtpO1gAFcAgCqr4DU9eMc+LZuvbnaU/RSvA5eCCQ==",
- "dev": true,
- "dependencies": {
- "@storybook/csf": "^0.1.11",
- "@storybook/global": "^5.0.0",
- "@storybook/icons": "^1.2.10",
- "@types/lodash": "^4.14.167",
- "color-convert": "^2.0.1",
- "dequal": "^2.0.2",
- "lodash": "^4.17.21",
- "markdown-to-jsx": "^7.4.5",
- "memoizerific": "^1.11.3",
- "polished": "^4.2.2",
- "react-colorful": "^5.1.2",
- "telejson": "^7.2.0",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
- "storybook": "^8.3.5"
- },
- "peerDependenciesMeta": {
- "react": {
- "optional": true
- },
- "react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/builder-vite": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/channels": "8.0.10",
- "@storybook/client-logger": "8.0.10",
- "@storybook/core-common": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/csf-plugin": "8.0.10",
- "@storybook/node-logger": "8.0.10",
- "@storybook/preview": "8.0.10",
- "@storybook/preview-api": "8.0.10",
- "@storybook/types": "8.0.10",
- "@types/find-cache-dir": "^3.2.1",
- "browser-assert": "^1.2.1",
- "es-module-lexer": "^0.9.3",
- "express": "^4.17.3",
- "find-cache-dir": "^3.0.0",
- "fs-extra": "^11.1.0",
- "magic-string": "^0.30.0",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "@preact/preset-vite": "*",
- "typescript": ">= 4.3.x",
- "vite": "^4.0.0 || ^5.0.0",
- "vite-plugin-glimmerx": "*"
- },
- "peerDependenciesMeta": {
- "@preact/preset-vite": {
- "optional": true
- },
- "typescript": {
- "optional": true
- },
- "vite-plugin-glimmerx": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/channels": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/client-logger": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/global": "^5.0.0",
- "telejson": "^7.2.0",
- "tiny-invariant": "^1.3.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/client-logger": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/global": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/core": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.3.5.tgz",
- "integrity": "sha512-GOGfTvdioNa/n+Huwg4u/dsyYyBcM+gEcdxi3B7i5x4yJ3I912KoVshumQAOF2myKSRdI8h8aGWdx7nnjd0+5Q==",
- "dev": true,
- "dependencies": {
- "@storybook/csf": "^0.1.11",
- "@types/express": "^4.17.21",
- "better-opn": "^3.0.2",
- "browser-assert": "^1.2.1",
- "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0",
- "esbuild-register": "^3.5.0",
- "express": "^4.19.2",
- "jsdoc-type-pratt-parser": "^4.0.0",
- "process": "^0.11.10",
- "recast": "^0.23.5",
- "semver": "^7.6.2",
- "util": "^0.12.5",
- "ws": "^8.2.3"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/core-common": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/core-events": "8.0.10",
- "@storybook/csf-tools": "8.0.10",
- "@storybook/node-logger": "8.0.10",
- "@storybook/types": "8.0.10",
- "@yarnpkg/fslib": "2.10.3",
- "@yarnpkg/libzip": "2.3.0",
- "chalk": "^4.1.0",
- "cross-spawn": "^7.0.3",
- "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0",
- "esbuild-register": "^3.5.0",
- "execa": "^5.0.0",
- "file-system-cache": "2.3.0",
- "find-cache-dir": "^3.0.0",
- "find-up": "^5.0.0",
- "fs-extra": "^11.1.0",
- "glob": "^10.0.0",
- "handlebars": "^4.7.7",
- "lazy-universal-dotenv": "^4.0.0",
- "node-fetch": "^2.0.0",
- "picomatch": "^2.3.0",
- "pkg-dir": "^5.0.0",
- "pretty-hrtime": "^1.0.3",
- "resolve-from": "^5.0.0",
- "semver": "^7.3.7",
- "tempy": "^1.0.1",
- "tiny-invariant": "^1.3.1",
- "ts-dedent": "^2.0.0",
- "util": "^0.12.4"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/core-common/node_modules/glob": {
- "version": "10.3.15",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^2.3.6",
- "minimatch": "^9.0.1",
- "minipass": "^7.0.4",
- "path-scurry": "^1.11.0"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "engines": {
- "node": ">=16 || 14 >=14.18"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@storybook/core-common/node_modules/minipass": {
- "version": "7.1.1",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/@storybook/core-common/node_modules/resolve-from": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/core-events": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/csf": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.11.tgz",
- "integrity": "sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==",
- "dev": true,
- "dependencies": {
- "type-fest": "^2.19.0"
- }
- },
- "node_modules/@storybook/csf-plugin": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/csf-tools": "8.0.10",
- "unplugin": "^1.3.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/csf-tools": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/generator": "^7.23.0",
- "@babel/parser": "^7.23.0",
- "@babel/traverse": "^7.23.2",
- "@babel/types": "^7.23.0",
- "@storybook/csf": "^0.1.4",
- "@storybook/types": "8.0.10",
- "fs-extra": "^11.1.0",
- "recast": "^0.23.5",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/csf/node_modules/type-fest": {
- "version": "2.19.0",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=12.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@storybook/docs-tools": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/core-common": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/preview-api": "8.0.10",
- "@storybook/types": "8.0.10",
- "@types/doctrine": "^0.0.3",
- "assert": "^2.1.0",
- "doctrine": "^3.0.0",
- "lodash": "^4.17.21"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/global": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@storybook/icons": {
- "version": "1.2.12",
- "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.12.tgz",
- "integrity": "sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q==",
- "dev": true,
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/@storybook/instrumenter": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/channels": "8.0.10",
- "@storybook/client-logger": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/global": "^5.0.0",
- "@storybook/preview-api": "8.0.10",
- "@vitest/utils": "^1.3.1",
- "util": "^0.12.4"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/node-logger": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/preview": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/preview-api": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/channels": "8.0.10",
- "@storybook/client-logger": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/csf": "^0.1.4",
- "@storybook/global": "^5.0.0",
- "@storybook/types": "8.0.10",
- "@types/qs": "^6.9.5",
- "dequal": "^2.0.2",
- "lodash": "^4.17.21",
- "memoizerific": "^1.11.3",
- "qs": "^6.10.0",
- "tiny-invariant": "^1.3.1",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/react": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/client-logger": "8.0.10",
- "@storybook/docs-tools": "8.0.10",
- "@storybook/global": "^5.0.0",
- "@storybook/preview-api": "8.0.10",
- "@storybook/react-dom-shim": "8.0.10",
- "@storybook/types": "8.0.10",
- "@types/escodegen": "^0.0.6",
- "@types/estree": "^0.0.51",
- "@types/node": "^18.0.0",
- "acorn": "^7.4.1",
- "acorn-jsx": "^5.3.1",
- "acorn-walk": "^7.2.0",
- "escodegen": "^2.1.0",
- "html-tags": "^3.1.0",
- "lodash": "^4.17.21",
- "prop-types": "^15.7.2",
- "react-element-to-jsx-string": "^15.0.0",
- "semver": "^7.3.7",
- "ts-dedent": "^2.0.0",
- "type-fest": "~2.19",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "typescript": ">= 4.2.x"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/react-dom-shim": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/@storybook/react-vite": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@joshwooding/vite-plugin-react-docgen-typescript": "0.3.0",
- "@rollup/pluginutils": "^5.0.2",
- "@storybook/builder-vite": "8.0.10",
- "@storybook/node-logger": "8.0.10",
- "@storybook/react": "8.0.10",
- "find-up": "^5.0.0",
- "magic-string": "^0.30.0",
- "react-docgen": "^7.0.0",
- "resolve": "^1.22.8",
- "tsconfig-paths": "^4.2.0"
- },
- "engines": {
- "node": ">=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "vite": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/@storybook/react/node_modules/@types/estree": {
- "version": "0.0.51",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@storybook/react/node_modules/acorn": {
- "version": "7.4.1",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/@storybook/react/node_modules/type-fest": {
- "version": "2.19.0",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=12.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@storybook/test": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/client-logger": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/instrumenter": "8.0.10",
- "@storybook/preview-api": "8.0.10",
- "@testing-library/dom": "^9.3.4",
- "@testing-library/jest-dom": "^6.4.2",
- "@testing-library/user-event": "^14.5.2",
- "@vitest/expect": "1.3.1",
- "@vitest/spy": "^1.3.1",
- "util": "^0.12.4"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/types": {
- "version": "8.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/channels": "8.0.10",
- "@types/express": "^4.7.0",
- "file-system-cache": "2.3.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@swc/core": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.4.tgz",
- "integrity": "sha512-+wSycNxOw9QQz81AJAZlNS34EtOIifwUXMPACg05PWjECsjOKDTXLCVPx6J0lRaxhHSGBU2OYs9mRfIvxGt3CA==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "@swc/counter": "^0.1.3",
- "@swc/types": "^0.1.12"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/swc"
- },
- "optionalDependencies": {
- "@swc/core-darwin-arm64": "1.7.4",
- "@swc/core-darwin-x64": "1.7.4",
- "@swc/core-linux-arm-gnueabihf": "1.7.4",
- "@swc/core-linux-arm64-gnu": "1.7.4",
- "@swc/core-linux-arm64-musl": "1.7.4",
- "@swc/core-linux-x64-gnu": "1.7.4",
- "@swc/core-linux-x64-musl": "1.7.4",
- "@swc/core-win32-arm64-msvc": "1.7.4",
- "@swc/core-win32-ia32-msvc": "1.7.4",
- "@swc/core-win32-x64-msvc": "1.7.4"
- },
- "peerDependencies": {
- "@swc/helpers": "*"
- },
- "peerDependenciesMeta": {
- "@swc/helpers": {
- "optional": true
- }
- }
- },
- "node_modules/@swc/core-darwin-arm64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.4.tgz",
- "integrity": "sha512-RbWrdGh+x9xKFUA9/kPZRR8OPxUsDUuPyLjPIGLYZMO+ftht2vhVH7QsUq6lg+jAP34eIya72UA1isiZe+BRaA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-darwin-x64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.4.tgz",
- "integrity": "sha512-TxCWMJs4OrqApjFuT8cUiqMz0zg97F0JsXBEeZ7zjkyv9XJ/rN2pdwqMlZv0Wv2C2rivOPo6FsWYlZ3V8ZHhyA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-arm-gnueabihf": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.4.tgz",
- "integrity": "sha512-5IhwIJZAgkkfI6PqgQ3xk0/2hTAVsAczIPLiR2Epp30EgsNo1KIFL0ZHzrnvJPy5BZ3jy3T1dEbDE/memBOEmA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-arm64-gnu": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.4.tgz",
- "integrity": "sha512-0787jri83jigf26mF8FndWehh7jqMaHwAm/OV6VdToyNo/g+d1AxVpkEizrywZK46el+AObnHUIHIHwZgO21LA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-arm64-musl": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.4.tgz",
- "integrity": "sha512-A45hGKWAGcjU5Ol0uQUoK0tHerwEKxfprYUZbmPLpD2yrpMZr+dTrwY2n075sixs7RuZEccBkgGNpehEe5BPBQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-x64-gnu": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.4.tgz",
- "integrity": "sha512-bcO1MpAm39TXqqHuYW4ox4vDvhB7jkguwMwxvmL+cKBGsUHrIoUTfGt9NM9N4D4CvOwULlxqbyt19veUJ7CVPw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-x64-musl": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.4.tgz",
- "integrity": "sha512-N6nXuHyDO/q5kPN2xQxz5BEvhFpgnFSkP+9wxg5xWq+qIQL5bv37jk8dkKvMLx/8fHzTqrIjPDSRzVbcL7sqXg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-win32-arm64-msvc": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.4.tgz",
- "integrity": "sha512-7W1owqCNR1cG+mpS55juiZlR/lrAdxB1pH32egeOipNKOLGwyqmlzQ0g9tkQTNgzwgfpCUg8z606+GqqXvajZw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-win32-ia32-msvc": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.4.tgz",
- "integrity": "sha512-saLkY+q7zNPk4gYiUBCc93FYPo4ECXMjHcSPtLVHoPZBIxRrklgaAf6aDpblBo30nVdoBE2V3YPd0Y/cPiY6RQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-win32-x64-msvc": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.4.tgz",
- "integrity": "sha512-zKF6jpRBNuVKgOf2W5dMcPyjwcNCp21syjl9lvLRbCeIg+1U+zjdoQCAmMWWoPNE7fLg+yfvohnnOJG2AdzQ9Q==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/counter": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
- "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
- "dev": true
- },
- "node_modules/@swc/helpers": {
- "version": "0.5.11",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.11.tgz",
- "integrity": "sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@swc/helpers/node_modules/tslib": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
- "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
- },
- "node_modules/@swc/types": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz",
- "integrity": "sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==",
- "dev": true,
- "dependencies": {
- "@swc/counter": "^0.1.3"
- }
- },
- "node_modules/@tailwindcss/container-queries": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/container-queries/-/container-queries-0.1.1.tgz",
- "integrity": "sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==",
- "license": "MIT",
- "peerDependencies": {
- "tailwindcss": ">=3.2.0"
- }
- },
- "node_modules/@tauri-apps/api": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.1.tgz",
- "integrity": "sha512-eoQWT+Tq1qSwQpHV+nw1eNYe5B/nm1PoRjQCRiEOS12I1b+X4PUcREfXVX8dPcBT6GrzWGDtaecY0+1p0Rfqlw==",
- "license": "Apache-2.0 OR MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/tauri"
- }
- },
- "node_modules/@tauri-apps/cli": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.1.0.tgz",
- "integrity": "sha512-K2VhcKqBhAeS5pNOVdnR/xQRU6jwpgmkSL2ejHXcl0m+kaTggT0WRDQnFtPq6NljA7aE03cvwsbCAoFG7vtkJw==",
- "dev": true,
- "license": "Apache-2.0 OR MIT",
- "bin": {
- "tauri": "tauri.js"
- },
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/tauri"
- },
- "optionalDependencies": {
- "@tauri-apps/cli-darwin-arm64": "2.1.0",
- "@tauri-apps/cli-darwin-x64": "2.1.0",
- "@tauri-apps/cli-linux-arm-gnueabihf": "2.1.0",
- "@tauri-apps/cli-linux-arm64-gnu": "2.1.0",
- "@tauri-apps/cli-linux-arm64-musl": "2.1.0",
- "@tauri-apps/cli-linux-x64-gnu": "2.1.0",
- "@tauri-apps/cli-linux-x64-musl": "2.1.0",
- "@tauri-apps/cli-win32-arm64-msvc": "2.1.0",
- "@tauri-apps/cli-win32-ia32-msvc": "2.1.0",
- "@tauri-apps/cli-win32-x64-msvc": "2.1.0"
- }
- },
- "node_modules/@tauri-apps/cli-darwin-arm64": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.1.0.tgz",
- "integrity": "sha512-ESc6J6CE8hl1yKH2vJ+ALF+thq4Be+DM1mvmTyUCQObvezNCNhzfS6abIUd3ou4x5RGH51ouiANeT3wekU6dCw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "Apache-2.0 OR MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tauri-apps/cli-darwin-x64": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.1.0.tgz",
- "integrity": "sha512-TasHS442DFs8cSH2eUQzuDBXUST4ECjCd0yyP+zZzvAruiB0Bg+c8A+I/EnqCvBQ2G2yvWLYG8q/LI7c87A5UA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "Apache-2.0 OR MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.1.0.tgz",
- "integrity": "sha512-aP7ZBGNL4ny07Cbb6kKpUOSrmhcIK2KhjviTzYlh+pPhAptxnC78xQGD3zKQkTi2WliJLPmBYbOHWWQa57lQ9w==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "Apache-2.0 OR MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tauri-apps/cli-linux-arm64-gnu": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.1.0.tgz",
- "integrity": "sha512-ZTdgD5gLeMCzndMT2f358EkoYkZ5T+Qy6zPzU+l5vv5M7dHVN9ZmblNAYYXmoOuw7y+BY4X/rZvHV9pcGrcanQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "Apache-2.0 OR MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tauri-apps/cli-linux-arm64-musl": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.1.0.tgz",
- "integrity": "sha512-NzwqjUCilhnhJzusz3d/0i0F1GFrwCQbkwR6yAHUxItESbsGYkZRJk0yMEWkg3PzFnyK4cWTlQJMEU52TjhEzA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "Apache-2.0 OR MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tauri-apps/cli-linux-x64-gnu": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.1.0.tgz",
- "integrity": "sha512-TyiIpMEtZxNOQmuFyfJwaaYbg3movSthpBJLIdPlKxSAB2BW0VWLY3/ZfIxm/G2YGHyREkjJvimzYE0i37PnMA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "Apache-2.0 OR MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tauri-apps/cli-linux-x64-musl": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.1.0.tgz",
- "integrity": "sha512-/dQd0TlaxBdJACrR72DhynWftzHDaX32eBtS5WBrNJ+nnNb+znM3gON6nJ9tSE9jgDa6n1v2BkI/oIDtypfUXw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "Apache-2.0 OR MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tauri-apps/cli-win32-arm64-msvc": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.1.0.tgz",
- "integrity": "sha512-NdQJO7SmdYqOcE+JPU7bwg7+odfZMWO6g8xF9SXYCMdUzvM2Gv/AQfikNXz5yS7ralRhNFuW32i5dcHlxh4pDg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "Apache-2.0 OR MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tauri-apps/cli-win32-ia32-msvc": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.1.0.tgz",
- "integrity": "sha512-f5h8gKT/cB8s1ticFRUpNmHqkmaLutT62oFDB7N//2YTXnxst7EpMIn1w+QimxTvTk2gcx6EcW6bEk/y2hZGzg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "Apache-2.0 OR MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tauri-apps/cli-win32-x64-msvc": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.1.0.tgz",
- "integrity": "sha512-P/+LrdSSb5Xbho1LRP4haBjFHdyPdjWvGgeopL96OVtrFpYnfC+RctB45z2V2XxqFk3HweDDxk266btjttfjGw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "Apache-2.0 OR MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tauri-apps/plugin-cli": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-cli/-/plugin-cli-2.0.0.tgz",
- "integrity": "sha512-glQmlL1IiCGEa1FHYa/PTPSeYhfu56omLRgHXWlJECDt6DbJyRuJWVgtkQfUxtqnVdYnnU+DGIGeiInoEqtjLw==",
- "license": "MIT OR Apache-2.0",
- "dependencies": {
- "@tauri-apps/api": "^2.0.0"
- }
- },
- "node_modules/@testing-library/dom": {
- "version": "9.3.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.10.4",
- "@babel/runtime": "^7.12.5",
- "@types/aria-query": "^5.0.1",
- "aria-query": "5.1.3",
- "chalk": "^4.1.0",
- "dom-accessibility-api": "^0.5.9",
- "lz-string": "^1.5.0",
- "pretty-format": "^27.0.2"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@testing-library/jest-dom": {
- "version": "6.4.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@adobe/css-tools": "^4.3.2",
- "@babel/runtime": "^7.9.2",
- "aria-query": "^5.0.0",
- "chalk": "^3.0.0",
- "css.escape": "^1.5.1",
- "dom-accessibility-api": "^0.6.3",
- "lodash": "^4.17.21",
- "redent": "^3.0.0"
- },
- "engines": {
- "node": ">=14",
- "npm": ">=6",
- "yarn": ">=1"
- },
- "peerDependencies": {
- "@jest/globals": ">= 28",
- "@types/bun": "latest",
- "@types/jest": ">= 28",
- "jest": ">= 28",
- "vitest": ">= 0.32"
- },
- "peerDependenciesMeta": {
- "@jest/globals": {
- "optional": true
- },
- "@types/bun": {
- "optional": true
- },
- "@types/jest": {
- "optional": true
- },
- "jest": {
- "optional": true
- },
- "vitest": {
- "optional": true
- }
- }
- },
- "node_modules/@testing-library/jest-dom/node_modules/chalk": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": {
- "version": "0.6.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@testing-library/user-event": {
- "version": "14.5.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12",
- "npm": ">=6"
- },
- "peerDependencies": {
- "@testing-library/dom": ">=7.21.4"
- }
- },
- "node_modules/@types/aria-query": {
- "version": "5.0.4",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/babel__core": {
- "version": "7.20.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.20.7",
- "@babel/types": "^7.20.7",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "node_modules/@types/babel__generator": {
- "version": "7.6.8",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__template": {
- "version": "7.4.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__traverse": {
- "version": "7.20.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.20.7"
- }
- },
- "node_modules/@types/body-parser": {
- "version": "1.19.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/connect": {
- "version": "3.4.38",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/doctrine": {
- "version": "0.0.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/emscripten": {
- "version": "1.39.12",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/escodegen": {
- "version": "0.0.6",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/estree": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
- "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
- "dev": true
- },
- "node_modules/@types/express": {
- "version": "4.17.21",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.33",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "node_modules/@types/express-serve-static-core": {
- "version": "4.19.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
- }
- },
- "node_modules/@types/find-cache-dir": {
- "version": "3.2.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/glob": {
- "version": "7.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/hast": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
- "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
- "dev": true,
- "dependencies": {
- "@types/unist": "*"
- }
- },
- "node_modules/@types/http-errors": {
- "version": "2.0.4",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==",
- "dev": true
- },
- "node_modules/@types/mdx": {
- "version": "2.0.13",
- "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz",
- "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==",
- "dev": true
- },
- "node_modules/@types/mime": {
- "version": "1.3.5",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/minimatch": {
- "version": "5.1.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/node": {
- "version": "18.19.33",
- "license": "MIT",
- "dependencies": {
- "undici-types": "~5.26.4"
- }
- },
- "node_modules/@types/prop-types": {
- "version": "15.7.12",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/qs": {
- "version": "6.9.15",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/range-parser": {
- "version": "1.2.7",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/react": {
- "version": "18.3.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/prop-types": "*",
- "csstype": "^3.0.2"
- }
- },
- "node_modules/@types/react-dom": {
- "version": "18.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/react": "*"
- }
- },
- "node_modules/@types/resolve": {
- "version": "1.20.6",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/semver": {
- "version": "7.5.8",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/send": {
- "version": "0.17.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "node_modules/@types/serve-static": {
- "version": "1.15.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/http-errors": "*",
- "@types/node": "*",
- "@types/send": "*"
- }
- },
- "node_modules/@types/unist": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
- "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
- "dev": true
- },
- "node_modules/@types/uuid": {
- "version": "9.0.8",
- "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
- "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==",
- "dev": true
- },
- "node_modules/@types/w3c-web-serial": {
- "version": "1.0.6",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/web-bluetooth": {
- "version": "0.0.20",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "7.8.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "7.8.0",
- "@typescript-eslint/type-utils": "7.8.0",
- "@typescript-eslint/utils": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0",
- "debug": "^4.3.4",
- "graphemer": "^1.4.0",
- "ignore": "^5.3.1",
- "natural-compare": "^1.4.0",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^7.0.0",
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "7.8.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/scope-manager": "7.8.0",
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/typescript-estree": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "7.8.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils": {
- "version": "7.8.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/typescript-estree": "7.8.0",
- "@typescript-eslint/utils": "7.8.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "7.8.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "7.8.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/utils": {
- "version": "7.8.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.15",
- "@types/semver": "^7.5.8",
- "@typescript-eslint/scope-manager": "7.8.0",
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/typescript-estree": "7.8.0",
- "semver": "^7.6.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.56.0"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "7.8.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "7.8.0",
- "eslint-visitor-keys": "^3.4.3"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/@vitejs/plugin-react-swc": {
- "version": "3.6.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@swc/core": "^1.3.107"
- },
- "peerDependencies": {
- "vite": "^4 || ^5"
- }
- },
- "node_modules/@vitest/expect": {
- "version": "1.3.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/spy": "1.3.1",
- "@vitest/utils": "1.3.1",
- "chai": "^4.3.10"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/expect/node_modules/@vitest/spy": {
- "version": "1.3.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tinyspy": "^2.2.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/expect/node_modules/@vitest/utils": {
- "version": "1.3.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "diff-sequences": "^29.6.3",
- "estree-walker": "^3.0.3",
- "loupe": "^2.3.7",
- "pretty-format": "^29.7.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/expect/node_modules/ansi-styles": {
- "version": "5.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@vitest/expect/node_modules/estree-walker": {
- "version": "3.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0"
- }
- },
- "node_modules/@vitest/expect/node_modules/pretty-format": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/schemas": "^29.6.3",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@vitest/expect/node_modules/react-is": {
- "version": "18.3.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@vitest/spy": {
- "version": "1.6.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tinyspy": "^2.2.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/utils": {
- "version": "1.6.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "diff-sequences": "^29.6.3",
- "estree-walker": "^3.0.3",
- "loupe": "^2.3.7",
- "pretty-format": "^29.7.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/utils/node_modules/ansi-styles": {
- "version": "5.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@vitest/utils/node_modules/estree-walker": {
- "version": "3.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0"
- }
- },
- "node_modules/@vitest/utils/node_modules/pretty-format": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/schemas": "^29.6.3",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@vitest/utils/node_modules/react-is": {
- "version": "18.3.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@yarnpkg/fslib": {
- "version": "2.10.3",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@yarnpkg/libzip": "^2.3.0",
- "tslib": "^1.13.0"
- },
- "engines": {
- "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0"
- }
- },
- "node_modules/@yarnpkg/libzip": {
- "version": "2.3.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@types/emscripten": "^1.39.6",
- "tslib": "^1.13.0"
- },
- "engines": {
- "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0"
- }
- },
- "node_modules/@zmkfirmware/zmk-studio-ts-client": {
- "version": "0.0.18",
- "resolved": "https://registry.npmjs.org/@zmkfirmware/zmk-studio-ts-client/-/zmk-studio-ts-client-0.0.18.tgz",
- "integrity": "sha512-S3NIkwL0zGOMZCf69Fy6LhhsC07clHoeAEx0JdMtNKfBfPTBIn0CYlkkUvrophAQwBpOQqEyw3gi7uc9WzuOCQ==",
- "hasInstallScript": true,
- "license": "MIT",
- "dependencies": {
- "async-mutex": "^0.5.0",
- "protobufjs": "^7.3.2"
- },
- "engines": {
- "node": ">=12.0"
- }
- },
- "node_modules/accepts": {
- "version": "1.3.8",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/acorn": {
- "version": "8.11.3",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "7.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/aggregate-error": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/any-promise": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/app-root-dir": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/arg": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "dev": true,
- "license": "Python-2.0"
- },
- "node_modules/aria-query": {
- "version": "5.1.3",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "deep-equal": "^2.0.5"
- }
- },
- "node_modules/array-buffer-byte-length": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.5",
- "is-array-buffer": "^3.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/assert": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.2",
- "is-nan": "^1.3.2",
- "object-is": "^1.1.5",
- "object.assign": "^4.1.4",
- "util": "^0.12.5"
- }
- },
- "node_modules/assertion-error": {
- "version": "1.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/ast-types": {
- "version": "0.16.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ast-types/node_modules/tslib": {
- "version": "2.6.2",
- "dev": true,
- "license": "0BSD"
- },
- "node_modules/async-mutex": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz",
- "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/async-mutex/node_modules/tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- },
- "node_modules/autoprefixer": {
- "version": "10.4.19",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz",
- "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/autoprefixer"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "browserslist": "^4.23.0",
- "caniuse-lite": "^1.0.30001599",
- "fraction.js": "^4.3.7",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.0",
- "postcss-value-parser": "^4.2.0"
- },
- "bin": {
- "autoprefixer": "bin/autoprefixer"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/available-typed-arrays": {
- "version": "1.0.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "possible-typed-array-names": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "license": "MIT"
- },
- "node_modules/better-opn": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz",
- "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==",
- "dev": true,
- "dependencies": {
- "open": "^8.0.4"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/body-parser": {
- "version": "1.20.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
- "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
- "dev": true,
- "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.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.13.0",
- "raw-body": "2.5.2",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/body-parser/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/body-parser/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
- "node_modules/brace-expansion": {
- "version": "2.0.1",
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browser-assert": {
- "version": "1.2.1",
- "dev": true
- },
- "node_modules/browserslist": {
- "version": "4.23.0",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "caniuse-lite": "^1.0.30001587",
- "electron-to-chromium": "^1.4.668",
- "node-releases": "^2.0.14",
- "update-browserslist-db": "^1.0.13"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "set-function-length": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelcase-css": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001617",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "CC-BY-4.0"
- },
- "node_modules/chai": {
- "version": "4.4.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "assertion-error": "^1.1.0",
- "check-error": "^1.0.3",
- "deep-eql": "^4.1.3",
- "get-func-name": "^2.0.2",
- "loupe": "^2.3.6",
- "pathval": "^1.1.1",
- "type-detect": "^4.0.8"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/check-error": {
- "version": "1.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-func-name": "^2.0.2"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/chokidar": {
- "version": "3.6.0",
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/chromatic": {
- "version": "11.3.2",
- "dev": true,
- "license": "MIT",
- "bin": {
- "chroma": "dist/bin.js",
- "chromatic": "dist/bin.js",
- "chromatic-cli": "dist/bin.js"
- },
- "peerDependencies": {
- "@chromatic-com/cypress": "^0.*.* || ^1.0.0",
- "@chromatic-com/playwright": "^0.*.* || ^1.0.0"
- },
- "peerDependenciesMeta": {
- "@chromatic-com/cypress": {
- "optional": true
- },
- "@chromatic-com/playwright": {
- "optional": true
- }
- }
- },
- "node_modules/clean-stack": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/client-only": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
- "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
- },
- "node_modules/clsx": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
- "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "license": "MIT"
- },
- "node_modules/commondir": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/content-disposition": {
- "version": "0.5.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "5.2.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/convert-source-map": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cookie": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
- "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie-signature": {
- "version": "1.0.6",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cross-spawn": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/crypto-random-string": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/css.escape": {
- "version": "1.5.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/csstype": {
- "version": "3.1.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/deep-eql": {
- "version": "4.1.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "type-detect": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/deep-equal": {
- "version": "2.2.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "call-bind": "^1.0.5",
- "es-get-iterator": "^1.1.3",
- "get-intrinsic": "^1.2.2",
- "is-arguments": "^1.1.1",
- "is-array-buffer": "^3.0.2",
- "is-date-object": "^1.0.5",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "isarray": "^2.0.5",
- "object-is": "^1.1.5",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.5.1",
- "side-channel": "^1.0.4",
- "which-boxed-primitive": "^1.0.2",
- "which-collection": "^1.0.1",
- "which-typed-array": "^1.1.13"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/define-data-property": {
- "version": "1.1.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "gopd": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/define-lazy-prop": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
- "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/define-properties": {
- "version": "1.2.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "define-data-property": "^1.0.1",
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/del": {
- "version": "6.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "globby": "^11.0.1",
- "graceful-fs": "^4.2.4",
- "is-glob": "^4.0.1",
- "is-path-cwd": "^2.2.0",
- "is-path-inside": "^3.0.2",
- "p-map": "^4.0.0",
- "rimraf": "^3.0.2",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/dequal": {
- "version": "2.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/didyoumean": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
- },
- "node_modules/diff-sequences": {
- "version": "29.6.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dlv": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
- },
- "node_modules/doctrine": {
- "version": "3.0.0",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/dom-accessibility-api": {
- "version": "0.5.16",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/dotenv": {
- "version": "16.4.5",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://dotenvx.com"
- }
- },
- "node_modules/dotenv-expand": {
- "version": "10.0.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/eastasianwidth": {
- "version": "0.2.0",
- "license": "MIT"
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
- "dev": true
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.765",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/emittery": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-1.0.3.tgz",
- "integrity": "sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA==",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/emittery?sponsor=1"
- }
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "license": "MIT"
- },
- "node_modules/encodeurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/es-define-property": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.2.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-errors": {
- "version": "1.3.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-get-iterator": {
- "version": "1.1.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "has-symbols": "^1.0.3",
- "is-arguments": "^1.1.1",
- "is-map": "^2.0.2",
- "is-set": "^2.0.2",
- "is-string": "^1.0.7",
- "isarray": "^2.0.5",
- "stop-iteration-iterator": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/es-module-lexer": {
- "version": "0.9.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/esbuild": {
- "version": "0.20.2",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.20.2",
- "@esbuild/android-arm": "0.20.2",
- "@esbuild/android-arm64": "0.20.2",
- "@esbuild/android-x64": "0.20.2",
- "@esbuild/darwin-arm64": "0.20.2",
- "@esbuild/darwin-x64": "0.20.2",
- "@esbuild/freebsd-arm64": "0.20.2",
- "@esbuild/freebsd-x64": "0.20.2",
- "@esbuild/linux-arm": "0.20.2",
- "@esbuild/linux-arm64": "0.20.2",
- "@esbuild/linux-ia32": "0.20.2",
- "@esbuild/linux-loong64": "0.20.2",
- "@esbuild/linux-mips64el": "0.20.2",
- "@esbuild/linux-ppc64": "0.20.2",
- "@esbuild/linux-riscv64": "0.20.2",
- "@esbuild/linux-s390x": "0.20.2",
- "@esbuild/linux-x64": "0.20.2",
- "@esbuild/netbsd-x64": "0.20.2",
- "@esbuild/openbsd-x64": "0.20.2",
- "@esbuild/sunos-x64": "0.20.2",
- "@esbuild/win32-arm64": "0.20.2",
- "@esbuild/win32-ia32": "0.20.2",
- "@esbuild/win32-x64": "0.20.2"
- }
- },
- "node_modules/esbuild-register": {
- "version": "3.5.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.4"
- },
- "peerDependencies": {
- "esbuild": ">=0.12 <1"
- }
- },
- "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz",
- "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
- "dev": true
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/escodegen": {
- "version": "2.1.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=6.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
- "node_modules/eslint": {
- "version": "8.57.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.0",
- "@humanwhocodes/config-array": "^0.11.14",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
- "ajv": "^6.12.4",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "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.4.2",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
- "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.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-plugin-react-hooks": {
- "version": "4.6.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
- }
- },
- "node_modules/eslint-plugin-react-refresh": {
- "version": "0.4.7",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "eslint": ">=7"
- }
- },
- "node_modules/eslint-plugin-storybook": {
- "version": "0.8.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/csf": "^0.0.1",
- "@typescript-eslint/utils": "^5.62.0",
- "requireindex": "^1.2.0",
- "ts-dedent": "^2.2.0"
- },
- "engines": {
- "node": ">= 18"
- },
- "peerDependencies": {
- "eslint": ">=6"
- }
- },
- "node_modules/eslint-plugin-storybook/node_modules/@storybook/csf": {
- "version": "0.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lodash": "^4.17.15"
- }
- },
- "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/scope-manager": {
- "version": "5.62.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/types": {
- "version": "5.62.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.62.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/utils": {
- "version": "5.62.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "eslint-scope": "^5.1.1",
- "semver": "^7.3.7"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.62.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/eslint-plugin-storybook/node_modules/eslint-scope": {
- "version": "5.1.1",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/eslint-plugin-storybook/node_modules/estraverse": {
- "version": "4.3.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/eslint-scope": {
- "version": "7.2.2",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint/node_modules/brace-expansion": {
- "version": "1.1.11",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/eslint/node_modules/minimatch": {
- "version": "3.1.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/espree": {
- "version": "9.6.1",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "acorn": "^8.9.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/esprima": {
- "version": "4.0.1",
- "dev": true,
- "license": "BSD-2-Clause",
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/esquery": {
- "version": "1.5.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "5.3.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estree-walker": {
- "version": "2.0.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/execa": {
- "version": "5.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/express": {
- "version": "4.21.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz",
- "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==",
- "dev": true,
- "dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.3",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.7.1",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.3.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.3",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.10",
- "proxy-addr": "~2.0.7",
- "qs": "6.13.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.19.0",
- "serve-static": "1.16.2",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/express/node_modules/ms": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-glob": {
- "version": "3.3.2",
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fastq": {
- "version": "1.17.1",
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/file-entry-cache": {
- "version": "6.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flat-cache": "^3.0.4"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/file-system-cache": {
- "version": "2.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fs-extra": "11.1.1",
- "ramda": "0.29.0"
- }
- },
- "node_modules/file-system-cache/node_modules/fs-extra": {
- "version": "11.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=14.14"
- }
- },
- "node_modules/filesize": {
- "version": "10.1.2",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">= 10.4.0"
- }
- },
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/finalhandler": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
- "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
- "dev": true,
- "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.1",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/finalhandler/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/finalhandler/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
- "node_modules/find-cache-dir": {
- "version": "3.3.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
- }
- },
- "node_modules/find-cache-dir/node_modules/find-up": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/locate-path": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/p-limit": {
- "version": "2.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/find-cache-dir/node_modules/p-locate": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/pkg-dir": {
- "version": "4.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-up": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/flat-cache": {
- "version": "3.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flatted": "^3.2.9",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/flatted": {
- "version": "3.3.1",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/for-each": {
- "version": "0.3.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-callable": "^1.1.3"
- }
- },
- "node_modules/foreground-child": {
- "version": "3.1.1",
- "license": "ISC",
- "dependencies": {
- "cross-spawn": "^7.0.0",
- "signal-exit": "^4.0.1"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/foreground-child/node_modules/signal-exit": {
- "version": "4.1.0",
- "license": "ISC",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/forwarded": {
- "version": "0.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fraction.js": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
- "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
- "dev": true,
- "engines": {
- "node": "*"
- },
- "funding": {
- "type": "patreon",
- "url": "https://github.com/sponsors/rawify"
- }
- },
- "node_modules/fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fs-extra": {
- "version": "11.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=14.14"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/functions-have-names": {
- "version": "1.2.3",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-func-name": {
- "version": "2.0.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.2.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-stream": {
- "version": "6.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/github-slugger": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
- "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==",
- "dev": true
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/glob-promise": {
- "version": "4.2.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/glob": "^7.1.3"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "type": "individual",
- "url": "https://github.com/sponsors/ahmadnassri"
- },
- "peerDependencies": {
- "glob": "^7.1.6"
- }
- },
- "node_modules/glob/node_modules/brace-expansion": {
- "version": "1.1.11",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/glob/node_modules/minimatch": {
- "version": "3.1.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/globals": {
- "version": "13.24.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/gopd": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.1.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/graphemer": {
- "version": "1.4.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/handlebars": {
- "version": "4.7.8",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.5",
- "neo-async": "^2.6.2",
- "source-map": "^0.6.1",
- "wordwrap": "^1.0.0"
- },
- "bin": {
- "handlebars": "bin/handlebars"
- },
- "engines": {
- "node": ">=0.4.7"
- },
- "optionalDependencies": {
- "uglify-js": "^3.1.4"
- }
- },
- "node_modules/has-bigints": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-proto": {
- "version": "1.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-symbols": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hasown": {
- "version": "2.0.2",
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/hast-util-heading-rank": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz",
- "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==",
- "dev": true,
- "dependencies": {
- "@types/hast": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-is-element": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
- "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
- "dev": true,
- "dependencies": {
- "@types/hast": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-to-string": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz",
- "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==",
- "dev": true,
- "dependencies": {
- "@types/hast": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/html-tags": {
- "version": "3.3.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "dev": true,
- "dependencies": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/human-signals": {
- "version": "2.1.0",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=10.17.0"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ignore": {
- "version": "5.3.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/immer": {
- "version": "10.1.1",
- "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz",
- "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/immer"
- }
- },
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/indent-string": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/internal-slot": {
- "version": "1.0.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "hasown": "^2.0.0",
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/intl-messageformat": {
- "version": "10.5.14",
- "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.14.tgz",
- "integrity": "sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==",
- "dependencies": {
- "@formatjs/ecma402-abstract": "2.0.0",
- "@formatjs/fast-memoize": "2.2.0",
- "@formatjs/icu-messageformat-parser": "2.7.8",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/intl-messageformat/node_modules/tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- },
- "node_modules/ipaddr.js": {
- "version": "1.9.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/is-absolute-url": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz",
- "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==",
- "dev": true,
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-arguments": {
- "version": "1.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-array-buffer": {
- "version": "3.0.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-bigint": {
- "version": "1.0.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-bigints": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-boolean-object": {
- "version": "1.1.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-callable": {
- "version": "1.2.7",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.13.1",
- "license": "MIT",
- "dependencies": {
- "hasown": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.0.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-docker": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
- "dev": true,
- "bin": {
- "is-docker": "cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-generator-function": {
- "version": "1.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-map": {
- "version": "2.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-nan": {
- "version": "1.3.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-number-object": {
- "version": "1.0.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-path-cwd": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/is-path-inside": {
- "version": "3.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-plain-object": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-regex": {
- "version": "1.1.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-set": {
- "version": "2.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-shared-array-buffer": {
- "version": "1.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-stream": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-string": {
- "version": "1.0.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-symbol": {
- "version": "1.0.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-typed-array": {
- "version": "1.1.13",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "which-typed-array": "^1.1.14"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakmap": {
- "version": "2.0.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakset": {
- "version": "2.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "get-intrinsic": "^1.2.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
- "dev": true,
- "dependencies": {
- "is-docker": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/isarray": {
- "version": "2.0.5",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "license": "ISC"
- },
- "node_modules/jackspeak": {
- "version": "2.3.6",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/cliui": "^8.0.2"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- },
- "optionalDependencies": {
- "@pkgjs/parseargs": "^0.11.0"
- }
- },
- "node_modules/jiti": {
- "version": "1.21.6",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz",
- "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==",
- "bin": {
- "jiti": "bin/jiti.js"
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "license": "MIT"
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/jsdoc-type-pratt-parser": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz",
- "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==",
- "dev": true,
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/json-buffer": {
- "version": "3.0.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json5": {
- "version": "2.2.3",
- "dev": true,
- "license": "MIT",
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonfile": {
- "version": "6.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/keyv": {
- "version": "4.5.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "json-buffer": "3.0.1"
- }
- },
- "node_modules/lazy-universal-dotenv": {
- "version": "4.0.0",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "app-root-dir": "^1.0.2",
- "dotenv": "^16.0.0",
- "dotenv-expand": "^10.0.0"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/lines-and-columns": {
- "version": "1.2.4",
- "license": "MIT"
- },
- "node_modules/locate-path": {
- "version": "6.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/long": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
- "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
- },
- "node_modules/loose-envify": {
- "version": "1.4.0",
- "license": "MIT",
- "dependencies": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
- }
- },
- "node_modules/loupe": {
- "version": "2.3.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-func-name": "^2.0.1"
- }
- },
- "node_modules/lru-cache": {
- "version": "5.1.1",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "node_modules/lucide-react": {
- "version": "0.445.0",
- "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.445.0.tgz",
- "integrity": "sha512-YrLf3aAHvmd4dZ8ot+mMdNFrFpJD7YRwQ2pUcBhgqbmxtrMP4xDzIorcj+8y+6kpuXBF4JB0NOCTUWIYetJjgA==",
- "license": "ISC",
- "peerDependencies": {
- "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
- }
- },
- "node_modules/lz-string": {
- "version": "1.5.0",
- "dev": true,
- "license": "MIT",
- "bin": {
- "lz-string": "bin/bin.js"
- }
- },
- "node_modules/magic-string": {
- "version": "0.30.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.15"
- }
- },
- "node_modules/make-dir": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.1",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/map-or-similar": {
- "version": "1.5.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/markdown-to-jsx": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.5.0.tgz",
- "integrity": "sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw==",
- "dev": true,
- "engines": {
- "node": ">= 10"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/memoizerific": {
- "version": "1.11.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "map-or-similar": "^1.5.0"
- }
- },
- "node_modules/merge-descriptors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
- "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/methods": {
- "version": "1.1.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true,
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/min-indent": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/minimatch": {
- "version": "9.0.4",
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/minipass": {
- "version": "5.0.0",
- "license": "ISC",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/mz": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
- "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
- "dependencies": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
- }
- },
- "node_modules/nanoid": {
- "version": "3.3.7",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/negotiator": {
- "version": "0.6.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/neo-async": {
- "version": "2.6.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/node-fetch": {
- "version": "2.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.14",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-hash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.13.1",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-is": {
- "version": "1.1.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.5",
- "define-properties": "^1.2.1",
- "has-symbols": "^1.0.3",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "dev": true,
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "5.1.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/open": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
- "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
- "dev": true,
- "dependencies": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.5"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-map": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "aggregate-error": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-try": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "license": "MIT"
- },
- "node_modules/path-scurry": {
- "version": "1.11.1",
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^10.2.0",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
- },
- "engines": {
- "node": ">=16 || 14 >=14.18"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/path-scurry/node_modules/lru-cache": {
- "version": "10.2.2",
- "license": "ISC",
- "engines": {
- "node": "14 || >=16.14"
- }
- },
- "node_modules/path-to-regexp": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
- "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
- "dev": true
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pathval": {
- "version": "1.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/picocolors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
- "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw=="
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pirates": {
- "version": "4.0.6",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/pkg-dir": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-up": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/polished": {
- "version": "4.3.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.17.8"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/possible-typed-array-names": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.47",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
- "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.7",
- "picocolors": "^1.1.0",
- "source-map-js": "^1.2.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-import": {
- "version": "15.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
- "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
- "dependencies": {
- "postcss-value-parser": "^4.0.0",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "postcss": "^8.0.0"
- }
- },
- "node_modules/postcss-js": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
- "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
- "dependencies": {
- "camelcase-css": "^2.0.1"
- },
- "engines": {
- "node": "^12 || ^14 || >= 16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.4.21"
- }
- },
- "node_modules/postcss-load-config": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
- "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "lilconfig": "^3.0.0",
- "yaml": "^2.3.4"
- },
- "engines": {
- "node": ">= 14"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/postcss-load-config/node_modules/lilconfig": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
- "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/antonk52"
- }
- },
- "node_modules/postcss-nested": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
- "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
- "dependencies": {
- "postcss-selector-parser": "^6.0.11"
- },
- "engines": {
- "node": ">=12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.2.14"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz",
- "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/prettier": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz",
- "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==",
- "dev": true,
- "bin": {
- "prettier": "bin/prettier.cjs"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/pretty-format": {
- "version": "27.5.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/pretty-hrtime": {
- "version": "1.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
- "dev": true,
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/prop-types": {
- "version": "15.8.1",
- "license": "MIT",
- "dependencies": {
- "loose-envify": "^1.4.0",
- "object-assign": "^4.1.1",
- "react-is": "^16.13.1"
- }
- },
- "node_modules/prop-types/node_modules/react-is": {
- "version": "16.13.1",
- "license": "MIT"
- },
- "node_modules/protobufjs": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz",
- "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==",
- "hasInstallScript": true,
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.2",
- "@protobufjs/base64": "^1.1.2",
- "@protobufjs/codegen": "^2.0.4",
- "@protobufjs/eventemitter": "^1.1.0",
- "@protobufjs/fetch": "^1.1.0",
- "@protobufjs/float": "^1.0.2",
- "@protobufjs/inquire": "^1.1.0",
- "@protobufjs/path": "^1.1.2",
- "@protobufjs/pool": "^1.1.0",
- "@protobufjs/utf8": "^1.1.0",
- "@types/node": ">=13.7.0",
- "long": "^5.0.0"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/proxy-addr": {
- "version": "2.0.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/punycode": {
- "version": "2.3.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/qs": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
- "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
- "dev": true,
- "dependencies": {
- "side-channel": "^1.0.6"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/ramda": {
- "version": "0.29.0",
- "dev": true,
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/ramda"
- }
- },
- "node_modules/range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/raw-body": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
- "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
- "dev": true,
- "dependencies": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/react": {
- "version": "18.3.1",
- "license": "MIT",
- "dependencies": {
- "loose-envify": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/react-aria": {
- "version": "3.35.0",
- "resolved": "https://registry.npmjs.org/react-aria/-/react-aria-3.35.0.tgz",
- "integrity": "sha512-cbbd3iIveLDRnpVrpc1iuz8OMlDdH6u8EjncW3MQuYOiEGaho9xcDtWMKiSEIZASEnd7LK4Rgm5iVPr2O+cssw==",
- "dependencies": {
- "@internationalized/string": "^3.2.4",
- "@react-aria/breadcrumbs": "^3.5.17",
- "@react-aria/button": "^3.10.0",
- "@react-aria/calendar": "^3.5.12",
- "@react-aria/checkbox": "^3.14.7",
- "@react-aria/color": "^3.0.0",
- "@react-aria/combobox": "^3.10.4",
- "@react-aria/datepicker": "^3.11.3",
- "@react-aria/dialog": "^3.5.18",
- "@react-aria/dnd": "^3.7.3",
- "@react-aria/focus": "^3.18.3",
- "@react-aria/gridlist": "^3.9.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/link": "^3.7.5",
- "@react-aria/listbox": "^3.13.4",
- "@react-aria/menu": "^3.15.4",
- "@react-aria/meter": "^3.4.17",
- "@react-aria/numberfield": "^3.11.7",
- "@react-aria/overlays": "^3.23.3",
- "@react-aria/progress": "^3.4.17",
- "@react-aria/radio": "^3.10.8",
- "@react-aria/searchfield": "^3.7.9",
- "@react-aria/select": "^3.14.10",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/separator": "^3.4.3",
- "@react-aria/slider": "^3.7.12",
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/switch": "^3.6.8",
- "@react-aria/table": "^3.15.4",
- "@react-aria/tabs": "^3.9.6",
- "@react-aria/tag": "^3.4.6",
- "@react-aria/textfield": "^3.14.9",
- "@react-aria/tooltip": "^3.7.8",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/visually-hidden": "^3.8.16",
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/react-aria-components": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/react-aria-components/-/react-aria-components-1.4.0.tgz",
- "integrity": "sha512-CpeSeGI2FVT3hOzA28fhIGkrPPQPtz3gVHBfMWkXSuLUBaKFZQhdCLBXlpO5MoZV1RrC+e7mhOVREkw6DvlxKw==",
- "dependencies": {
- "@internationalized/date": "^3.5.6",
- "@internationalized/string": "^3.2.4",
- "@react-aria/accordion": "3.0.0-alpha.34",
- "@react-aria/collections": "3.0.0-alpha.5",
- "@react-aria/color": "^3.0.0",
- "@react-aria/disclosure": "3.0.0-alpha.0",
- "@react-aria/dnd": "^3.7.3",
- "@react-aria/focus": "^3.18.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/menu": "^3.15.4",
- "@react-aria/toolbar": "3.0.0-beta.9",
- "@react-aria/tree": "3.0.0-beta.0",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/virtualizer": "^4.0.3",
- "@react-stately/color": "^3.8.0",
- "@react-stately/disclosure": "3.0.0-alpha.0",
- "@react-stately/layout": "^4.0.3",
- "@react-stately/menu": "^3.8.3",
- "@react-stately/table": "^3.12.3",
- "@react-stately/utils": "^3.10.4",
- "@react-stately/virtualizer": "^4.1.0",
- "@react-types/color": "^3.0.0",
- "@react-types/form": "^3.7.7",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@react-types/table": "^3.10.2",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "react-aria": "^3.35.0",
- "react-stately": "^3.33.0",
- "use-sync-external-store": "^1.2.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/react-colorful": {
- "version": "5.6.1",
- "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz",
- "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==",
- "dev": true,
- "peerDependencies": {
- "react": ">=16.8.0",
- "react-dom": ">=16.8.0"
- }
- },
- "node_modules/react-confetti": {
- "version": "6.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tween-functions": "^1.2.0"
- },
- "engines": {
- "node": ">=10.18"
- },
- "peerDependencies": {
- "react": "^16.3.0 || ^17.0.1 || ^18.0.0"
- }
- },
- "node_modules/react-docgen": {
- "version": "7.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.18.9",
- "@babel/traverse": "^7.18.9",
- "@babel/types": "^7.18.9",
- "@types/babel__core": "^7.18.0",
- "@types/babel__traverse": "^7.18.0",
- "@types/doctrine": "^0.0.9",
- "@types/resolve": "^1.20.2",
- "doctrine": "^3.0.0",
- "resolve": "^1.22.1",
- "strip-indent": "^4.0.0"
- },
- "engines": {
- "node": ">=16.14.0"
- }
- },
- "node_modules/react-docgen-typescript": {
- "version": "2.2.2",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "typescript": ">= 4.3.x"
- }
- },
- "node_modules/react-docgen/node_modules/@types/doctrine": {
- "version": "0.0.9",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/react-dom": {
- "version": "18.3.1",
- "license": "MIT",
- "dependencies": {
- "loose-envify": "^1.1.0",
- "scheduler": "^0.23.2"
- },
- "peerDependencies": {
- "react": "^18.3.1"
- }
- },
- "node_modules/react-element-to-jsx-string": {
- "version": "15.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@base2/pretty-print-object": "1.0.1",
- "is-plain-object": "5.0.0",
- "react-is": "18.1.0"
- },
- "peerDependencies": {
- "react": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0",
- "react-dom": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0"
- }
- },
- "node_modules/react-element-to-jsx-string/node_modules/react-is": {
- "version": "18.1.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/react-is": {
- "version": "17.0.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/react-stately": {
- "version": "3.33.0",
- "resolved": "https://registry.npmjs.org/react-stately/-/react-stately-3.33.0.tgz",
- "integrity": "sha512-DNPOxYAPuhuXwSuE1s1K7iSgqG2QOBUZq3bsLAd4gUUZje6Qepkhe7TzK2LWarQYAZ3gC9Xhmnz8ie1fdCo0GA==",
- "dependencies": {
- "@react-stately/calendar": "^3.5.5",
- "@react-stately/checkbox": "^3.6.9",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/color": "^3.8.0",
- "@react-stately/combobox": "^3.10.0",
- "@react-stately/data": "^3.11.7",
- "@react-stately/datepicker": "^3.10.3",
- "@react-stately/dnd": "^3.4.3",
- "@react-stately/form": "^3.0.6",
- "@react-stately/list": "^3.11.0",
- "@react-stately/menu": "^3.8.3",
- "@react-stately/numberfield": "^3.9.7",
- "@react-stately/overlays": "^3.6.11",
- "@react-stately/radio": "^3.10.8",
- "@react-stately/searchfield": "^3.5.7",
- "@react-stately/select": "^3.6.8",
- "@react-stately/selection": "^3.17.0",
- "@react-stately/slider": "^3.5.8",
- "@react-stately/table": "^3.12.3",
- "@react-stately/tabs": "^3.6.10",
- "@react-stately/toggle": "^3.7.8",
- "@react-stately/tooltip": "^3.4.13",
- "@react-stately/tree": "^3.8.5",
- "@react-types/shared": "^3.25.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
- }
- },
- "node_modules/read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "dependencies": {
- "pify": "^2.3.0"
- }
- },
- "node_modules/read-cache/node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/recast": {
- "version": "0.23.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ast-types": "^0.16.1",
- "esprima": "~4.0.0",
- "source-map": "~0.6.1",
- "tiny-invariant": "^1.3.3",
- "tslib": "^2.0.1"
- },
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/recast/node_modules/tslib": {
- "version": "2.6.2",
- "dev": true,
- "license": "0BSD"
- },
- "node_modules/redent": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "indent-string": "^4.0.0",
- "strip-indent": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/redent/node_modules/strip-indent": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "min-indent": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/regenerator-runtime": {
- "version": "0.14.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regexp.prototype.flags": {
- "version": "1.5.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.6",
- "define-properties": "^1.2.1",
- "es-errors": "^1.3.0",
- "set-function-name": "^2.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/rehype-external-links": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz",
- "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==",
- "dev": true,
- "dependencies": {
- "@types/hast": "^3.0.0",
- "@ungap/structured-clone": "^1.0.0",
- "hast-util-is-element": "^3.0.0",
- "is-absolute-url": "^4.0.0",
- "space-separated-tokens": "^2.0.0",
- "unist-util-visit": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/rehype-slug": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz",
- "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==",
- "dev": true,
- "dependencies": {
- "@types/hast": "^3.0.0",
- "github-slugger": "^2.0.0",
- "hast-util-heading-rank": "^3.0.0",
- "hast-util-to-string": "^3.0.0",
- "unist-util-visit": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/requireindex": {
- "version": "1.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.5"
- }
- },
- "node_modules/resolve": {
- "version": "1.22.8",
- "license": "MIT",
- "dependencies": {
- "is-core-module": "^2.13.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/rollup": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz",
- "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==",
- "dev": true,
- "dependencies": {
- "@types/estree": "1.0.6"
- },
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=18.0.0",
- "npm": ">=8.0.0"
- },
- "optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.24.0",
- "@rollup/rollup-android-arm64": "4.24.0",
- "@rollup/rollup-darwin-arm64": "4.24.0",
- "@rollup/rollup-darwin-x64": "4.24.0",
- "@rollup/rollup-linux-arm-gnueabihf": "4.24.0",
- "@rollup/rollup-linux-arm-musleabihf": "4.24.0",
- "@rollup/rollup-linux-arm64-gnu": "4.24.0",
- "@rollup/rollup-linux-arm64-musl": "4.24.0",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0",
- "@rollup/rollup-linux-riscv64-gnu": "4.24.0",
- "@rollup/rollup-linux-s390x-gnu": "4.24.0",
- "@rollup/rollup-linux-x64-gnu": "4.24.0",
- "@rollup/rollup-linux-x64-musl": "4.24.0",
- "@rollup/rollup-win32-arm64-msvc": "4.24.0",
- "@rollup/rollup-win32-ia32-msvc": "4.24.0",
- "@rollup/rollup-win32-x64-msvc": "4.24.0",
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/run-script-os": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz",
- "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==",
- "dev": true,
- "bin": {
- "run-os": "index.js",
- "run-script-os": "index.js"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "node_modules/scheduler": {
- "version": "0.23.2",
- "license": "MIT",
- "dependencies": {
- "loose-envify": "^1.1.0"
- }
- },
- "node_modules/semver": {
- "version": "7.6.2",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/send": {
- "version": "0.19.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
- "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
- "dev": true,
- "dependencies": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/send/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/send/node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
- "node_modules/send/node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/send/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
- },
- "node_modules/serve-static": {
- "version": "1.16.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
- "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
- "dev": true,
- "dependencies": {
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.19.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/set-function-length": {
- "version": "1.2.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/set-function-name": {
- "version": "2.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
- "dev": true
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/side-channel": {
- "version": "1.0.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4",
- "object-inspect": "^1.13.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/source-map": {
- "version": "0.6.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/space-separated-tokens": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
- "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
- "dev": true,
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/stop-iteration-iterator": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "internal-slot": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/storybook": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.3.5.tgz",
- "integrity": "sha512-hYQVtP2l+3kO8oKDn4fjXXQYxgTRsj/LaV6lUMJH0zt+OhVmDXKJLxmdUP4ieTm0T8wEbSYosFavgPcQZlxRfw==",
- "dev": true,
- "dependencies": {
- "@storybook/core": "8.3.5"
- },
- "bin": {
- "getstorybook": "bin/index.cjs",
- "sb": "bin/index.cjs",
- "storybook": "bin/index.cjs"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width-cjs": {
- "name": "string-width",
- "version": "4.2.3",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi-cjs": {
- "name": "strip-ansi",
- "version": "6.0.1",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-bom": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/strip-final-newline": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/strip-indent": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "min-indent": "^1.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/sucrase": {
- "version": "3.35.0",
- "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
- "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.2",
- "commander": "^4.0.0",
- "glob": "^10.3.10",
- "lines-and-columns": "^1.1.6",
- "mz": "^2.7.0",
- "pirates": "^4.0.1",
- "ts-interface-checker": "^0.1.9"
- },
- "bin": {
- "sucrase": "bin/sucrase",
- "sucrase-node": "bin/sucrase-node"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/sucrase/node_modules/commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/sucrase/node_modules/glob": {
- "version": "10.4.1",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
- "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "path-scurry": "^1.11.1"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "engines": {
- "node": ">=16 || 14 >=14.18"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/sucrase/node_modules/jackspeak": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
- "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
- "dependencies": {
- "@isaacs/cliui": "^8.0.2"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- },
- "optionalDependencies": {
- "@pkgjs/parseargs": "^0.11.0"
- }
- },
- "node_modules/sucrase/node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/tailwindcss": {
- "version": "3.4.4",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz",
- "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==",
- "dependencies": {
- "@alloc/quick-lru": "^5.2.0",
- "arg": "^5.0.2",
- "chokidar": "^3.5.3",
- "didyoumean": "^1.2.2",
- "dlv": "^1.1.3",
- "fast-glob": "^3.3.0",
- "glob-parent": "^6.0.2",
- "is-glob": "^4.0.3",
- "jiti": "^1.21.0",
- "lilconfig": "^2.1.0",
- "micromatch": "^4.0.5",
- "normalize-path": "^3.0.0",
- "object-hash": "^3.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.4.23",
- "postcss-import": "^15.1.0",
- "postcss-js": "^4.0.1",
- "postcss-load-config": "^4.0.1",
- "postcss-nested": "^6.0.1",
- "postcss-selector-parser": "^6.0.11",
- "resolve": "^1.22.2",
- "sucrase": "^3.32.0"
- },
- "bin": {
- "tailwind": "lib/cli.js",
- "tailwindcss": "lib/cli.js"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/tailwindcss-react-aria-components": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tailwindcss-react-aria-components/-/tailwindcss-react-aria-components-1.1.3.tgz",
- "integrity": "sha512-j852nEhbvD7/zxpNI7hY+6mYm//2zSKuPPq3NNohMi+/nA0hxjaJGg0LYEPzumn/efNT0Itrq+/TMD+r/m1EqA==",
- "peerDependencies": {
- "tailwindcss": ">=3.0.0 || insiders"
- }
- },
- "node_modules/telejson": {
- "version": "7.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "memoizerific": "^1.11.3"
- }
- },
- "node_modules/temp-dir": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/tempy": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "del": "^6.0.0",
- "is-stream": "^2.0.0",
- "temp-dir": "^2.0.0",
- "type-fest": "^0.16.0",
- "unique-string": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/tempy/node_modules/type-fest": {
- "version": "0.16.0",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/text-table": {
- "version": "0.2.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/thenify": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
- "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
- "dependencies": {
- "any-promise": "^1.0.0"
- }
- },
- "node_modules/thenify-all": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
- "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
- "dependencies": {
- "thenify": ">= 3.1.0 < 4"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/tiny-invariant": {
- "version": "1.3.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tinyspy": {
- "version": "2.2.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/tr46": {
- "version": "0.0.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/ts-api-utils": {
- "version": "1.3.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=16"
- },
- "peerDependencies": {
- "typescript": ">=4.2.0"
- }
- },
- "node_modules/ts-dedent": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.10"
- }
- },
- "node_modules/ts-interface-checker": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
- "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
- },
- "node_modules/tsconfig-paths": {
- "version": "4.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "json5": "^2.2.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tslib": {
- "version": "1.14.1",
- "dev": true,
- "license": "0BSD"
- },
- "node_modules/tsutils": {
- "version": "3.21.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^1.8.1"
- },
- "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"
- }
- },
- "node_modules/tween-functions": {
- "version": "1.2.0",
- "dev": true,
- "license": "BSD"
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-detect": {
- "version": "4.0.8",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/type-fest": {
- "version": "0.20.2",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dev": true,
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/typescript": {
- "version": "5.4.5",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/uglify-js": {
- "version": "3.17.4",
- "dev": true,
- "license": "BSD-2-Clause",
- "optional": true,
- "bin": {
- "uglifyjs": "bin/uglifyjs"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/undici-types": {
- "version": "5.26.5",
- "license": "MIT"
- },
- "node_modules/unique-string": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "crypto-random-string": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/unist-util-is": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
- "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
- "dev": true,
- "dependencies": {
- "@types/unist": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/unist-util-visit": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
- "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
- "dev": true,
- "dependencies": {
- "@types/unist": "^3.0.0",
- "unist-util-is": "^6.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/unist-util-visit-parents": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
- "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
- "dev": true,
- "dependencies": {
- "@types/unist": "^3.0.0",
- "unist-util-is": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/universalify": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/unplugin": {
- "version": "1.10.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "acorn": "^8.11.3",
- "chokidar": "^3.6.0",
- "webpack-sources": "^3.2.3",
- "webpack-virtual-modules": "^0.6.1"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/update-browserslist-db": {
- "version": "1.0.15",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "escalade": "^3.1.2",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/use-sync-external-store": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz",
- "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==",
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/util": {
- "version": "0.12.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "is-arguments": "^1.0.4",
- "is-generator-function": "^1.0.7",
- "is-typed-array": "^1.1.3",
- "which-typed-array": "^1.1.2"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "license": "MIT"
- },
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/vite": {
- "version": "5.4.8",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz",
- "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==",
- "dev": true,
- "dependencies": {
- "esbuild": "^0.21.3",
- "postcss": "^8.4.43",
- "rollup": "^4.20.0"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^18.0.0 || >=20.0.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.3"
- },
- "peerDependencies": {
- "@types/node": "^18.0.0 || >=20.0.0",
- "less": "*",
- "lightningcss": "^1.21.0",
- "sass": "*",
- "sass-embedded": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "lightningcss": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "sass-embedded": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- }
- }
- },
- "node_modules/vite/node_modules/@esbuild/aix-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
- "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/android-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
- "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/android-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
- "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/android-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
- "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/darwin-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
- "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/darwin-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
- "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
- "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/freebsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
- "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
- "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
- "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
- "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-loong64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
- "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-mips64el": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
- "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
- "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-riscv64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
- "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-s390x": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
- "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
- "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/netbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
- "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/openbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
- "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/sunos-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
- "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/win32-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
- "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/win32-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
- "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/win32-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
- "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/esbuild": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
- "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
- "dev": true,
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.21.5",
- "@esbuild/android-arm": "0.21.5",
- "@esbuild/android-arm64": "0.21.5",
- "@esbuild/android-x64": "0.21.5",
- "@esbuild/darwin-arm64": "0.21.5",
- "@esbuild/darwin-x64": "0.21.5",
- "@esbuild/freebsd-arm64": "0.21.5",
- "@esbuild/freebsd-x64": "0.21.5",
- "@esbuild/linux-arm": "0.21.5",
- "@esbuild/linux-arm64": "0.21.5",
- "@esbuild/linux-ia32": "0.21.5",
- "@esbuild/linux-loong64": "0.21.5",
- "@esbuild/linux-mips64el": "0.21.5",
- "@esbuild/linux-ppc64": "0.21.5",
- "@esbuild/linux-riscv64": "0.21.5",
- "@esbuild/linux-s390x": "0.21.5",
- "@esbuild/linux-x64": "0.21.5",
- "@esbuild/netbsd-x64": "0.21.5",
- "@esbuild/openbsd-x64": "0.21.5",
- "@esbuild/sunos-x64": "0.21.5",
- "@esbuild/win32-arm64": "0.21.5",
- "@esbuild/win32-ia32": "0.21.5",
- "@esbuild/win32-x64": "0.21.5"
- }
- },
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "dev": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/webpack-sources": {
- "version": "3.2.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/webpack-virtual-modules": {
- "version": "0.6.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/which-boxed-primitive": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-collection": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-map": "^2.0.3",
- "is-set": "^2.0.3",
- "is-weakmap": "^2.0.2",
- "is-weakset": "^2.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-typed-array": {
- "version": "1.1.15",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.7",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wordwrap": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/wrap-ansi": {
- "version": "8.1.0",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi-cjs": {
- "name": "wrap-ansi",
- "version": "7.0.0",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-regex": {
- "version": "6.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "6.2.1",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/emoji-regex": {
- "version": "9.2.2",
- "license": "MIT"
- },
- "node_modules/wrap-ansi/node_modules/string-width": {
- "version": "5.1.2",
- "license": "MIT",
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "7.1.0",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/ws": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
- "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
- "dev": true,
- "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
- }
- }
- },
- "node_modules/yallist": {
- "version": "3.1.1",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/yaml": {
- "version": "2.4.5",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz",
- "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==",
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- }
- },
- "dependencies": {
- "@adobe/css-tools": {
- "version": "4.3.3",
- "dev": true
- },
- "@alloc/quick-lru": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
- "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="
- },
- "@ampproject/remapping": {
- "version": "2.3.0",
- "dev": true,
- "requires": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
- },
- "@babel/code-frame": {
- "version": "7.24.2",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.24.2",
- "picocolors": "^1.0.0"
- }
- },
- "@babel/compat-data": {
- "version": "7.24.4",
- "dev": true
- },
- "@babel/core": {
- "version": "7.24.5",
- "dev": true,
- "requires": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.24.2",
- "@babel/generator": "^7.24.5",
- "@babel/helper-compilation-targets": "^7.23.6",
- "@babel/helper-module-transforms": "^7.24.5",
- "@babel/helpers": "^7.24.5",
- "@babel/parser": "^7.24.5",
- "@babel/template": "^7.24.0",
- "@babel/traverse": "^7.24.5",
- "@babel/types": "^7.24.5",
- "convert-source-map": "^2.0.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.3",
- "semver": "^6.3.1"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.1",
- "dev": true
- }
- }
- },
- "@babel/generator": {
- "version": "7.24.5",
- "dev": true,
- "requires": {
- "@babel/types": "^7.24.5",
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
- }
- },
- "@babel/helper-compilation-targets": {
- "version": "7.23.6",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.23.5",
- "@babel/helper-validator-option": "^7.23.5",
- "browserslist": "^4.22.2",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.1"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.1",
- "dev": true
- }
- }
- },
- "@babel/helper-environment-visitor": {
- "version": "7.22.20",
- "dev": true
- },
- "@babel/helper-function-name": {
- "version": "7.23.0",
- "dev": true,
- "requires": {
- "@babel/template": "^7.22.15",
- "@babel/types": "^7.23.0"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.22.5",
- "dev": true,
- "requires": {
- "@babel/types": "^7.22.5"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.24.3",
- "dev": true,
- "requires": {
- "@babel/types": "^7.24.0"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.24.5",
- "dev": true,
- "requires": {
- "@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-module-imports": "^7.24.3",
- "@babel/helper-simple-access": "^7.24.5",
- "@babel/helper-split-export-declaration": "^7.24.5",
- "@babel/helper-validator-identifier": "^7.24.5"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.24.5",
- "dev": true,
- "requires": {
- "@babel/types": "^7.24.5"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.24.5",
- "dev": true,
- "requires": {
- "@babel/types": "^7.24.5"
- }
- },
- "@babel/helper-string-parser": {
- "version": "7.24.1",
- "dev": true
- },
- "@babel/helper-validator-identifier": {
- "version": "7.24.5",
- "dev": true
- },
- "@babel/helper-validator-option": {
- "version": "7.23.5",
- "dev": true
- },
- "@babel/helpers": {
- "version": "7.24.5",
- "dev": true,
- "requires": {
- "@babel/template": "^7.24.0",
- "@babel/traverse": "^7.24.5",
- "@babel/types": "^7.24.5"
- }
- },
- "@babel/highlight": {
- "version": "7.24.5",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.24.5",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.24.5",
- "dev": true
- },
- "@babel/runtime": {
- "version": "7.24.5",
- "dev": true,
- "requires": {
- "regenerator-runtime": "^0.14.0"
- }
- },
- "@babel/template": {
- "version": "7.24.0",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.23.5",
- "@babel/parser": "^7.24.0",
- "@babel/types": "^7.24.0"
- }
- },
- "@babel/traverse": {
- "version": "7.24.5",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.24.2",
- "@babel/generator": "^7.24.5",
- "@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-function-name": "^7.23.0",
- "@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.24.5",
- "@babel/parser": "^7.24.5",
- "@babel/types": "^7.24.5",
- "debug": "^4.3.1",
- "globals": "^11.1.0"
- },
- "dependencies": {
- "globals": {
- "version": "11.12.0",
- "dev": true
- }
- }
- },
- "@babel/types": {
- "version": "7.24.5",
- "dev": true,
- "requires": {
- "@babel/helper-string-parser": "^7.24.1",
- "@babel/helper-validator-identifier": "^7.24.5",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@base2/pretty-print-object": {
- "version": "1.0.1",
- "dev": true
- },
- "@chromatic-com/storybook": {
- "version": "1.3.5",
- "dev": true,
- "requires": {
- "chromatic": "^11.3.2",
- "filesize": "^10.0.12",
- "jsonfile": "^6.1.0",
- "react-confetti": "^6.1.0",
- "strip-ansi": "^7.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "6.0.1",
- "dev": true
- },
- "strip-ansi": {
- "version": "7.1.0",
- "dev": true,
- "requires": {
- "ansi-regex": "^6.0.1"
- }
- }
- }
- },
- "@esbuild/aix-ppc64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
- "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==",
- "dev": true,
- "optional": true
- },
- "@esbuild/android-arm": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz",
- "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==",
- "dev": true,
- "optional": true
- },
- "@esbuild/android-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz",
- "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/android-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz",
- "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/darwin-arm64": {
- "version": "0.23.0",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz",
- "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==",
- "optional": true
- },
- "@esbuild/darwin-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz",
- "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/freebsd-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz",
- "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/freebsd-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz",
- "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-arm": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz",
- "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz",
- "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-ia32": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz",
- "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-loong64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz",
- "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-mips64el": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz",
- "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-ppc64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz",
- "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-riscv64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz",
- "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-s390x": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz",
- "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-x64": {
- "version": "0.20.2",
- "dev": true,
- "optional": true
- },
- "@esbuild/netbsd-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz",
- "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/openbsd-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz",
- "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/sunos-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz",
- "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==",
- "dev": true,
- "optional": true
- },
- "@esbuild/win32-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz",
- "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/win32-ia32": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz",
- "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/win32-x64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz",
- "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==",
- "dev": true,
- "optional": true
- },
- "@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^3.3.0"
- }
- },
- "@eslint-community/regexpp": {
- "version": "4.10.0",
- "dev": true
- },
- "@eslint/eslintrc": {
- "version": "2.1.4",
- "dev": true,
- "requires": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "1.1.11",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "@eslint/js": {
- "version": "8.57.0",
- "dev": true
- },
- "@formatjs/ecma402-abstract": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz",
- "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==",
- "requires": {
- "@formatjs/intl-localematcher": "0.5.4",
- "tslib": "^2.4.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- }
- }
- },
- "@formatjs/fast-memoize": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz",
- "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==",
- "requires": {
- "tslib": "^2.4.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- }
- }
- },
- "@formatjs/icu-messageformat-parser": {
- "version": "2.7.8",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz",
- "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==",
- "requires": {
- "@formatjs/ecma402-abstract": "2.0.0",
- "@formatjs/icu-skeleton-parser": "1.8.2",
- "tslib": "^2.4.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- }
- }
- },
- "@formatjs/icu-skeleton-parser": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz",
- "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==",
- "requires": {
- "@formatjs/ecma402-abstract": "2.0.0",
- "tslib": "^2.4.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- }
- }
- },
- "@formatjs/intl-localematcher": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz",
- "integrity": "sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==",
- "requires": {
- "tslib": "^2.4.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- }
- }
- },
- "@fortawesome/fontawesome-common-types": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.1.tgz",
- "integrity": "sha512-gbDz3TwRrIPT3i0cDfujhshnXO9z03IT1UKRIVi/VEjpNHtSBIP2o5XSm+e816FzzCFEzAxPw09Z13n20PaQJQ=="
- },
- "@fortawesome/fontawesome-svg-core": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.1.tgz",
- "integrity": "sha512-8dBIHbfsKlCk2jHQ9PoRBg2Z+4TwyE3vZICSnoDlnsHA6SiMlTwfmW6yX0lHsRmWJugkeb92sA0hZdkXJhuz+g==",
- "requires": {
- "@fortawesome/fontawesome-common-types": "6.7.1"
- }
- },
- "@fortawesome/free-brands-svg-icons": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.7.1.tgz",
- "integrity": "sha512-nJR76eqPzCnMyhbiGf6X0aclDirZriTPRcFm1YFvuupyJOGwlNF022w3YBqu+yrHRhnKRpzFX+8wJKqiIjWZkA==",
- "requires": {
- "@fortawesome/fontawesome-common-types": "6.7.1"
- }
- },
- "@fortawesome/react-fontawesome": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz",
- "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==",
- "requires": {
- "prop-types": "^15.8.1"
- }
- },
- "@humanwhocodes/config-array": {
- "version": "0.11.14",
- "dev": true,
- "requires": {
- "@humanwhocodes/object-schema": "^2.0.2",
- "debug": "^4.3.1",
- "minimatch": "^3.0.5"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "1.1.11",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "dev": true
- },
- "@humanwhocodes/object-schema": {
- "version": "2.0.3",
- "dev": true
- },
- "@internationalized/date": {
- "version": "3.5.6",
- "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.6.tgz",
- "integrity": "sha512-jLxQjefH9VI5P9UQuqB6qNKnvFt1Ky1TPIzHGsIlCi7sZZoMR8SdYbBGRvM0y+Jtb+ez4ieBzmiAUcpmPYpyOw==",
- "requires": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "@internationalized/message": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.5.tgz",
- "integrity": "sha512-hjEpLKFlYA3m5apldLqzHqw531qqfOEq0HlTWdfyZmcloWiUbWsYXD6YTiUmQmOtarthzhdjCAwMVrB8a4E7uA==",
- "requires": {
- "@swc/helpers": "^0.5.0",
- "intl-messageformat": "^10.1.0"
- }
- },
- "@internationalized/number": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.5.4.tgz",
- "integrity": "sha512-h9huwWjNqYyE2FXZZewWqmCdkw1HeFds5q4Siuoms3hUQC5iPJK3aBmkFZoDSLN4UD0Bl8G22L/NdHpeOr+/7A==",
- "requires": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "@internationalized/string": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.4.tgz",
- "integrity": "sha512-BcyadXPn89Ae190QGZGDUZPqxLj/xsP4U1Br1oSy8yfIjmpJ8cJtGYleaodqW/EmzFjwELtwDojLkf3FhV6SjA==",
- "requires": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "@isaacs/cliui": {
- "version": "8.0.2",
- "requires": {
- "string-width": "^5.1.2",
- "string-width-cjs": "npm:string-width@^4.2.0",
- "strip-ansi": "^7.0.1",
- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
- "wrap-ansi": "^8.1.0",
- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "6.0.1"
- },
- "emoji-regex": {
- "version": "9.2.2"
- },
- "string-width": {
- "version": "5.1.2",
- "requires": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- }
- },
- "strip-ansi": {
- "version": "7.1.0",
- "requires": {
- "ansi-regex": "^6.0.1"
- }
- }
- }
- },
- "@jest/schemas": {
- "version": "29.6.3",
- "dev": true,
- "requires": {
- "@sinclair/typebox": "^0.27.8"
- }
- },
- "@joshwooding/vite-plugin-react-docgen-typescript": {
- "version": "0.3.0",
- "dev": true,
- "requires": {
- "glob": "^7.2.0",
- "glob-promise": "^4.2.0",
- "magic-string": "^0.27.0",
- "react-docgen-typescript": "^2.2.2"
- },
- "dependencies": {
- "magic-string": {
- "version": "0.27.0",
- "dev": true,
- "requires": {
- "@jridgewell/sourcemap-codec": "^1.4.13"
- }
- }
- }
- },
- "@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "requires": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
- },
- "@jridgewell/resolve-uri": {
- "version": "3.1.2"
- },
- "@jridgewell/set-array": {
- "version": "1.2.1"
- },
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.15"
- },
- "@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "requires": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "@mdx-js/react": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz",
- "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==",
- "dev": true,
- "requires": {
- "@types/mdx": "^2.0.0"
- }
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5"
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@pkgjs/parseargs": {
- "version": "0.11.0",
- "optional": true
- },
- "@protobufjs/aspromise": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
- "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
- },
- "@protobufjs/base64": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
- "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
- },
- "@protobufjs/codegen": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
- "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
- },
- "@protobufjs/eventemitter": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
- "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
- },
- "@protobufjs/fetch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
- "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
- "requires": {
- "@protobufjs/aspromise": "^1.1.1",
- "@protobufjs/inquire": "^1.1.0"
- }
- },
- "@protobufjs/float": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
- "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
- },
- "@protobufjs/inquire": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
- "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
- },
- "@protobufjs/path": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
- "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
- },
- "@protobufjs/pool": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
- "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
- },
- "@protobufjs/utf8": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
- "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
- },
- "@react-aria/accordion": {
- "version": "3.0.0-alpha.34",
- "resolved": "https://registry.npmjs.org/@react-aria/accordion/-/accordion-3.0.0-alpha.34.tgz",
- "integrity": "sha512-3Qoj3StyQbdTYvAXVIbAIk11WtRyo3cdgn6OgwPAvN6c1r8R7X/J9DHTykZRrlF6TOGcdE0H0yrmPrlG92ObmA==",
- "requires": {
- "@react-aria/button": "^3.10.0",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/tree": "^3.8.5",
- "@react-types/accordion": "3.0.0-alpha.24",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/breadcrumbs": {
- "version": "3.5.17",
- "resolved": "https://registry.npmjs.org/@react-aria/breadcrumbs/-/breadcrumbs-3.5.17.tgz",
- "integrity": "sha512-LJQ+u3TbPmtAWZ3/qC6VfLCzXiwVoB6GmI+HJ2pbjs6H9L8MoiLHsA4mgcz+P0rvx7SCs0Rhvy4JurV6R/R4xw==",
- "requires": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/link": "^3.7.5",
- "@react-aria/utils": "^3.25.3",
- "@react-types/breadcrumbs": "^3.7.8",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/button": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/@react-aria/button/-/button-3.10.0.tgz",
- "integrity": "sha512-mhbn2tEsr991sjG6YMH6oN3ELWb4YvZZ8mnZHMNLa3l8T00PV0ClvQBsUndo6uSvuTHhpFzmMMkJFhYYUwCKlw==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/toggle": "^3.7.8",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/calendar": {
- "version": "3.5.12",
- "resolved": "https://registry.npmjs.org/@react-aria/calendar/-/calendar-3.5.12.tgz",
- "integrity": "sha512-C8VRjRwEVPaGoCtjOlC0lb3mVSz4ajbal8jfvcbp7LOqCcmOVTUbiM7EPTy60EfZRanFNSp2D1ZstEZDU+cqsg==",
- "requires": {
- "@internationalized/date": "^3.5.6",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/calendar": "^3.5.5",
- "@react-types/button": "^3.10.0",
- "@react-types/calendar": "^3.4.10",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/checkbox": {
- "version": "3.14.7",
- "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.14.7.tgz",
- "integrity": "sha512-aqVxXcr/8P7pQ7R34DlJX2SdBvWtHof9lLTVBY/9tgMplcKIoVBdlVUYPtqWxT3tGan+rruPQHbzTx8zJRFJyg==",
- "requires": {
- "@react-aria/form": "^3.0.9",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/toggle": "^3.10.8",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/checkbox": "^3.6.9",
- "@react-stately/form": "^3.0.6",
- "@react-stately/toggle": "^3.7.8",
- "@react-types/checkbox": "^3.8.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/collections": {
- "version": "3.0.0-alpha.5",
- "resolved": "https://registry.npmjs.org/@react-aria/collections/-/collections-3.0.0-alpha.5.tgz",
- "integrity": "sha512-8m8yZe1c5PYCylEN4lcG3ZL/1nyrON95nVsoknC8shY1uKP01oJd7w+f6hvVza0tJRQuVe4zW3gO4FVjv33a5g==",
- "requires": {
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0",
- "use-sync-external-store": "^1.2.0"
- }
- },
- "@react-aria/color": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@react-aria/color/-/color-3.0.0.tgz",
- "integrity": "sha512-IwHI4e2fUHUOZHRrL2MsxGZFp/RCR2cLjm39gT41jVSuH4zjxueUf96NDm6c7FD0mB5vfk0jo+KJMnShL1a2rg==",
- "requires": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/numberfield": "^3.11.7",
- "@react-aria/slider": "^3.7.12",
- "@react-aria/spinbutton": "^3.6.9",
- "@react-aria/textfield": "^3.14.9",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/visually-hidden": "^3.8.16",
- "@react-stately/color": "^3.8.0",
- "@react-stately/form": "^3.0.6",
- "@react-types/color": "^3.0.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/combobox": {
- "version": "3.10.4",
- "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.10.4.tgz",
- "integrity": "sha512-jzLyRwpwH5SCfQl5giLSwLaw9EKlRiMG39kDZLRB4MQ1MN4sIdIP2TXBbdYcSLtYjduJm2JfRvs2ezI+QI+umA==",
- "requires": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/listbox": "^3.13.4",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/menu": "^3.15.4",
- "@react-aria/overlays": "^3.23.3",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/textfield": "^3.14.9",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/combobox": "^3.10.0",
- "@react-stately/form": "^3.0.6",
- "@react-types/button": "^3.10.0",
- "@react-types/combobox": "^3.13.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/datepicker": {
- "version": "3.11.3",
- "resolved": "https://registry.npmjs.org/@react-aria/datepicker/-/datepicker-3.11.3.tgz",
- "integrity": "sha512-HwGxDctFry5ew3Cu7gWpUVodaCg//V6NCihSRjLvnW/TWG+UFLzTafxTqqm8eRbicT3DJlXCLOUPk8Ek0txW6A==",
- "requires": {
- "@internationalized/date": "^3.5.6",
- "@internationalized/number": "^3.5.4",
- "@internationalized/string": "^3.2.4",
- "@react-aria/focus": "^3.18.3",
- "@react-aria/form": "^3.0.9",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/spinbutton": "^3.6.9",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/datepicker": "^3.10.3",
- "@react-stately/form": "^3.0.6",
- "@react-types/button": "^3.10.0",
- "@react-types/calendar": "^3.4.10",
- "@react-types/datepicker": "^3.8.3",
- "@react-types/dialog": "^3.5.13",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/dialog": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.18.tgz",
- "integrity": "sha512-j0x0OwDZKyW2GqBZl2Dw/pHl0uSCzhHOg5jNeulkZC8xQa8COuksQf5NFzPmgRPnzqpbgvSzCSs41ymS8spmFg==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/overlays": "^3.23.3",
- "@react-aria/utils": "^3.25.3",
- "@react-types/dialog": "^3.5.13",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/disclosure": {
- "version": "3.0.0-alpha.0",
- "resolved": "https://registry.npmjs.org/@react-aria/disclosure/-/disclosure-3.0.0-alpha.0.tgz",
- "integrity": "sha512-/tleriRORdkRJf2JXjiRfhLfXA5WY0nPT3DoodZJgD5Fj/aCjrWXarVGUQuEk9vsH5pwinQiQB5So+cA+xF+UQ==",
- "requires": {
- "@react-aria/button": "^3.10.0",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/disclosure": "3.0.0-alpha.0",
- "@react-stately/toggle": "^3.7.8",
- "@react-stately/tree": "^3.8.5",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/dnd": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/@react-aria/dnd/-/dnd-3.7.3.tgz",
- "integrity": "sha512-SF7v1AzpXr4CSf98pSzjcSBCaezpP6rsSnSJTz0j2jrYfdQhX0MPA2lyxS+kgU1AEzkK19THQeHuj8hxQc0bVw==",
- "requires": {
- "@internationalized/string": "^3.2.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/overlays": "^3.23.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/dnd": "^3.4.3",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/focus": {
- "version": "3.18.3",
- "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.18.3.tgz",
- "integrity": "sha512-WKUElg+5zS0D3xlVn8MntNnkzJql2J6MuzAMP8Sv5WTgFDse/XGR842dsxPTIyKKdrWVCRegCuwa4m3n/GzgJw==",
- "requires": {
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0",
- "clsx": "^2.0.0"
- }
- },
- "@react-aria/form": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/@react-aria/form/-/form-3.0.9.tgz",
- "integrity": "sha512-9M6IfC5t47G19c8roHWnkKd275BrECTzyTsc4rzf5OepJfHfG4evST6x+4gGOFYi8soC9XoQdJl4TRh/mft+gw==",
- "requires": {
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/form": "^3.0.6",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/grid": {
- "version": "3.10.4",
- "resolved": "https://registry.npmjs.org/@react-aria/grid/-/grid-3.10.4.tgz",
- "integrity": "sha512-3AjJ0hwRhOCIHThIZrGWrjAuKDpaZuBkODW3dvgLqtsNm3tL46DI6U9O3vfp8lNbrWMsXJgjRXwvXvdv0/gwCA==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/grid": "^3.9.3",
- "@react-stately/selection": "^3.17.0",
- "@react-types/checkbox": "^3.8.4",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/gridlist": {
- "version": "3.9.4",
- "resolved": "https://registry.npmjs.org/@react-aria/gridlist/-/gridlist-3.9.4.tgz",
- "integrity": "sha512-gGzS4ToSynn2KBycf9UCsWIJIbVl4RjoCjPF4NnukwzHmrXwbtZnlF0xsORQ5QxfqHH9UehTAHWFvOOHJSZZ2w==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/grid": "^3.10.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/list": "^3.11.0",
- "@react-stately/tree": "^3.8.5",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/i18n": {
- "version": "3.12.3",
- "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.12.3.tgz",
- "integrity": "sha512-0Tp/4JwnCVNKDfuknPF+/xf3/woOc8gUjTU2nCjO3mCVb4FU7KFtjxQ2rrx+6hpIVG6g+N9qfMjRa/ggVH0CJg==",
- "requires": {
- "@internationalized/date": "^3.5.6",
- "@internationalized/message": "^3.1.5",
- "@internationalized/number": "^3.5.4",
- "@internationalized/string": "^3.2.4",
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/interactions": {
- "version": "3.22.3",
- "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.22.3.tgz",
- "integrity": "sha512-RRUb/aG+P0IKTIWikY/SylB6bIbLZeztnZY2vbe7RAG5MgVaCgn5HQ45SI15GlTmhsFG8CnF6slJsUFJiNHpbQ==",
- "requires": {
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/label": {
- "version": "3.7.12",
- "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.7.12.tgz",
- "integrity": "sha512-u9xT90lAlgb7xiv+p0md9QwCHz65XL7tjS5e29e88Rs3ptkv3aQubTqxVOUTEwzbNUT4A1QqTjUm1yfHewIRUw==",
- "requires": {
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/link": {
- "version": "3.7.5",
- "resolved": "https://registry.npmjs.org/@react-aria/link/-/link-3.7.5.tgz",
- "integrity": "sha512-j0F1BIdNoE7Tl+0KzzjbrmYuxt4aWAmDZDHvJKiYg71Jb1BAPz71eE1O1ybMoO04+OG/6HrRZTragfSQLAJ58A==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-types/link": "^3.5.8",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/listbox": {
- "version": "3.13.4",
- "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.13.4.tgz",
- "integrity": "sha512-2aG4jzlB+srYBeM9ap/BNZe0E04yMjY2dPGXcigkaSJt6/yYAHCygXuouf2MzvBfkdV4QWyHIIgWZmAXXl6reg==",
- "requires": {
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/list": "^3.11.0",
- "@react-types/listbox": "^3.5.2",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/live-announcer": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.4.0.tgz",
- "integrity": "sha512-VBxEdMq2SbtRbNTQNcDR2G6E3lEl5cJSBiHTTO8Ln1AL76LiazrylIXGgoktqzCfRQmyq0v8CHk1cNKDU9mvJg==",
- "requires": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/menu": {
- "version": "3.15.4",
- "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.15.4.tgz",
- "integrity": "sha512-4wfq8Lb7AltgSzBHdtypiPOnsRm8hHv7PUuHhlq/VT9yAkEFk4Flc7vKVF6VSFqrnCfyCf66B5aeapjNInAONg==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/overlays": "^3.23.3",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/menu": "^3.8.3",
- "@react-stately/tree": "^3.8.5",
- "@react-types/button": "^3.10.0",
- "@react-types/menu": "^3.9.12",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/meter": {
- "version": "3.4.17",
- "resolved": "https://registry.npmjs.org/@react-aria/meter/-/meter-3.4.17.tgz",
- "integrity": "sha512-08wbQhfvVWzpWilhn/WD7cQ7TqafS/66umTk7+X6BW6TrS1//6loNNJV62IC3F7sskel4iEAtl2gW0WpW8zEdg==",
- "requires": {
- "@react-aria/progress": "^3.4.17",
- "@react-types/meter": "^3.4.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/numberfield": {
- "version": "3.11.7",
- "resolved": "https://registry.npmjs.org/@react-aria/numberfield/-/numberfield-3.11.7.tgz",
- "integrity": "sha512-9bqg4sKqc5XLppHzJFRhgtkoeMu0N6Zg0AuVSiE/3CxE5Ad+y8tKpFEx9zh4o5BItyOWy18w5ZXnKjJGjd7waQ==",
- "requires": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/spinbutton": "^3.6.9",
- "@react-aria/textfield": "^3.14.9",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/form": "^3.0.6",
- "@react-stately/numberfield": "^3.9.7",
- "@react-types/button": "^3.10.0",
- "@react-types/numberfield": "^3.8.6",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/overlays": {
- "version": "3.23.3",
- "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.23.3.tgz",
- "integrity": "sha512-vRW4DL466a27BBIP6dQqmmei4nX/nsur6DyF0Hmd46ygwOdvdA+5MwvXZUz9yUamB79UeS9BMQZuBVwhjoMwBQ==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/visually-hidden": "^3.8.16",
- "@react-stately/overlays": "^3.6.11",
- "@react-types/button": "^3.10.0",
- "@react-types/overlays": "^3.8.10",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/progress": {
- "version": "3.4.17",
- "resolved": "https://registry.npmjs.org/@react-aria/progress/-/progress-3.4.17.tgz",
- "integrity": "sha512-5+01WNibLoNS5KcfU5p6vg7Lhz17plqqzv/uITx28zzj3saaj0VLR7n57Ig2fXe8ZEQoUS89BS3sIEsIf96S1A==",
- "requires": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/utils": "^3.25.3",
- "@react-types/progress": "^3.5.7",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/radio": {
- "version": "3.10.8",
- "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.10.8.tgz",
- "integrity": "sha512-/vKQhKqpoCB/VqHuc46OOU+31HFtg6svcYzHBbz0wN/DSVCygYeTfB/36kY7x2GWWkT0pCsB4OcHJ+/0G3EfkQ==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/form": "^3.0.9",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/radio": "^3.10.8",
- "@react-types/radio": "^3.8.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/searchfield": {
- "version": "3.7.9",
- "resolved": "https://registry.npmjs.org/@react-aria/searchfield/-/searchfield-3.7.9.tgz",
- "integrity": "sha512-EHODG7HDFthwG5tx4fh+WP2hjNOp/rPAqdNScKBAN73nEf0F/qQpIwmdZF0EycCOzGSM5hhihjm0yMtTFYuzOQ==",
- "requires": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/textfield": "^3.14.9",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/searchfield": "^3.5.7",
- "@react-types/button": "^3.10.0",
- "@react-types/searchfield": "^3.5.9",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/select": {
- "version": "3.14.10",
- "resolved": "https://registry.npmjs.org/@react-aria/select/-/select-3.14.10.tgz",
- "integrity": "sha512-xHkAJqvfKgnH5mVYwZj3ME7/Q3wUzgUZDK/iVuXUs3cAYap8ybM2d/2zOGcqv1keZHBUzwp9QtaN//FYK13jIA==",
- "requires": {
- "@react-aria/form": "^3.0.9",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/listbox": "^3.13.4",
- "@react-aria/menu": "^3.15.4",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/visually-hidden": "^3.8.16",
- "@react-stately/select": "^3.6.8",
- "@react-types/button": "^3.10.0",
- "@react-types/select": "^3.9.7",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/selection": {
- "version": "3.20.0",
- "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.20.0.tgz",
- "integrity": "sha512-h3giMcXo4SMZRL5HrqZvOLNTsdh5jCXwLUx0wpj/2EF0tcYQL6WDfn1iJ+rHARkUIs7X70fUV8iwlbUySZy1xg==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/selection": "^3.17.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/separator": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@react-aria/separator/-/separator-3.4.3.tgz",
- "integrity": "sha512-L+eCmSGfRJ9jScHZqBkmOkp44LBARisDjRdYbGrLlsAEcOiHUXufnfpxz2rgkUGBdUgnI9hIk12q5kdy0UxGjg==",
- "requires": {
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/slider": {
- "version": "3.7.12",
- "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.7.12.tgz",
- "integrity": "sha512-yZWBGxDHBL5Gjjdnz+igdO7VfYND9iZsSqynadZthWtfy1jA+qBR25I+Soc0D9gkr/2/JUJkFgkllYF1RzWMUQ==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/slider": "^3.5.8",
- "@react-types/shared": "^3.25.0",
- "@react-types/slider": "^3.7.6",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/spinbutton": {
- "version": "3.6.9",
- "resolved": "https://registry.npmjs.org/@react-aria/spinbutton/-/spinbutton-3.6.9.tgz",
- "integrity": "sha512-m+uVJdiIc2LrLVDGjU7p8P2O2gUvTN26GR+NgH4rl+tUSuAB0+T1rjls/C+oXEqQjCpQihEB9Bt4M+VHpzmyjA==",
- "requires": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/utils": "^3.25.3",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/ssr": {
- "version": "3.9.6",
- "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.6.tgz",
- "integrity": "sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==",
- "requires": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/switch": {
- "version": "3.6.8",
- "resolved": "https://registry.npmjs.org/@react-aria/switch/-/switch-3.6.8.tgz",
- "integrity": "sha512-6Q0w7o+liB0ztKPL9UaRfX+hPPuy71AL3SuVCMK7RKfPqZwcmlwUDp2gr3j5fvs8gLev0r42XtEBqmGwkHTkEw==",
- "requires": {
- "@react-aria/toggle": "^3.10.8",
- "@react-stately/toggle": "^3.7.8",
- "@react-types/shared": "^3.25.0",
- "@react-types/switch": "^3.5.6",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/table": {
- "version": "3.15.4",
- "resolved": "https://registry.npmjs.org/@react-aria/table/-/table-3.15.4.tgz",
- "integrity": "sha512-t4+vtUF63i6OrXmZ0AA/RmWyIt8cieUm7cSXhQMooAgUjkvVqTNkQQRsntVOb+UNI5KmiGSe4jB3H4GVXz2X9w==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/grid": "^3.10.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/visually-hidden": "^3.8.16",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/flags": "^3.0.4",
- "@react-stately/table": "^3.12.3",
- "@react-types/checkbox": "^3.8.4",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@react-types/table": "^3.10.2",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/tabs": {
- "version": "3.9.6",
- "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.9.6.tgz",
- "integrity": "sha512-iPQ2Im+srnSB06xIdVNHZZDJnZmUR0IG0MZAp6FXmbkCeLAd9tZQHgSFYwswBfgAStNnyFQHP5aSBJOJMRCACg==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/tabs": "^3.6.10",
- "@react-types/shared": "^3.25.0",
- "@react-types/tabs": "^3.3.10",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/tag": {
- "version": "3.4.6",
- "resolved": "https://registry.npmjs.org/@react-aria/tag/-/tag-3.4.6.tgz",
- "integrity": "sha512-Uf1sPabwJx99diyXJTaVguiYozS49opjQxmK1PPbb87ipNN1YlSDVbP05IelVMbnbxXHudsRmzPOBmmblcj1GQ==",
- "requires": {
- "@react-aria/gridlist": "^3.9.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/list": "^3.11.0",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/textfield": {
- "version": "3.14.9",
- "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.14.9.tgz",
- "integrity": "sha512-LPwZhthDVLyvnzXWco4eyYCD2pFmQ4Vw9ha9tb3QkZUIP6j8E52y76j0c59Nq7XYus3IHatVe7yYQk7kbo8Zrg==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/form": "^3.0.9",
- "@react-aria/label": "^3.7.12",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/form": "^3.0.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@react-types/textfield": "^3.9.7",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/toggle": {
- "version": "3.10.8",
- "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.10.8.tgz",
- "integrity": "sha512-N6WTgE8ByMYY+ZygUUPGON2vW5NrxwU91H98+Nozl+Rq6ZYR2fD9i8oRtLtrYPxjU2HmaFwDyQdWvmMJZuDxig==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/toggle": "^3.7.8",
- "@react-types/checkbox": "^3.8.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/toolbar": {
- "version": "3.0.0-beta.9",
- "resolved": "https://registry.npmjs.org/@react-aria/toolbar/-/toolbar-3.0.0-beta.9.tgz",
- "integrity": "sha512-P80zgbPb0aIg22fHlgHRXXUSpNSAOnh1ljsLiSHAGdXPrC5nRijYwwKi7DNRsXqD+ljEJwF6ekZPo95dXXeYAA==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/tooltip": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/@react-aria/tooltip/-/tooltip-3.7.8.tgz",
- "integrity": "sha512-dlWfS3w8E6dw5Xoist4cVX2GQE5oh3VQr88dRyLto7BAPLFrp3I+8c9mZCVUobLS/f5QcQzLkqw750s4ENCyiw==",
- "requires": {
- "@react-aria/focus": "^3.18.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/tooltip": "^3.4.13",
- "@react-types/shared": "^3.25.0",
- "@react-types/tooltip": "^3.4.12",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/tree": {
- "version": "3.0.0-beta.0",
- "resolved": "https://registry.npmjs.org/@react-aria/tree/-/tree-3.0.0-beta.0.tgz",
- "integrity": "sha512-bF9sp7x+Ciy0N2KJwy8epmDoNblyVmeB4vR/KWLVIKMjANCpzTbvhWZUBpQxkpO0eupInU2uN+FMNr0WKMyd7Q==",
- "requires": {
- "@react-aria/gridlist": "^3.9.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/tree": "^3.8.5",
- "@react-types/button": "^3.10.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/utils": {
- "version": "3.25.3",
- "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.25.3.tgz",
- "integrity": "sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==",
- "requires": {
- "@react-aria/ssr": "^3.9.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0",
- "clsx": "^2.0.0"
- }
- },
- "@react-aria/virtualizer": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@react-aria/virtualizer/-/virtualizer-4.0.3.tgz",
- "integrity": "sha512-neSf+EXtqmQiccHcp9CS2RbH3xA6FuZggLzGsM1NoqDdXIL7TLfc7lhaqi8VAZ03e1FCUSye08BCRk3DdpUiyA==",
- "requires": {
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-stately/virtualizer": "^4.1.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-aria/visually-hidden": {
- "version": "3.8.16",
- "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.16.tgz",
- "integrity": "sha512-3zThVIzEprez4A/GajOut6/JQ4WCu2ROHGZ1xH1+2GFjBJQaTfPBIjg6UIwaT7sgHRQIik8QidogLqXHbp81yA==",
- "requires": {
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/calendar": {
- "version": "3.5.5",
- "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.5.5.tgz",
- "integrity": "sha512-HzaiDRhrmaYIly8hRsjjIrydLkldiw1Ws6T/130NLQOt+VPwRW/x0R+nil42mA9LZ6oV0XN0NpmG5tn7TaKRGw==",
- "requires": {
- "@internationalized/date": "^3.5.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/calendar": "^3.4.10",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/checkbox": {
- "version": "3.6.9",
- "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.6.9.tgz",
- "integrity": "sha512-JrY3ecnK/SSJPxw+qhGhg3YV4e0CpUcPDrVwY3mSiAE932DPd19xr+qVCknJ34H7JYYt/q0l2z0lmgPnl96RTg==",
- "requires": {
- "@react-stately/form": "^3.0.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/checkbox": "^3.8.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/collections": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.11.0.tgz",
- "integrity": "sha512-TiJeJjHMPSbbeAhmCXLJNSCk0fa5XnCvEuYw6HtQzDnYiq1AD7KAwkpjC5NfKkjqF3FLXs/v9RDm/P69q6rYzw==",
- "requires": {
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/color": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/@react-stately/color/-/color-3.8.0.tgz",
- "integrity": "sha512-lBH91HEStZeayhE/FkDMt9WC0UISQiAn8DoD2hfpTGeeWscX/soyxZA7oVL7zBOG9RfDBMNzF+CybVROrWSKAQ==",
- "requires": {
- "@internationalized/number": "^3.5.4",
- "@internationalized/string": "^3.2.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-stately/form": "^3.0.6",
- "@react-stately/numberfield": "^3.9.7",
- "@react-stately/slider": "^3.5.8",
- "@react-stately/utils": "^3.10.4",
- "@react-types/color": "^3.0.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/combobox": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.10.0.tgz",
- "integrity": "sha512-4W4HCCjjoddW/LZM3pSSeLoV7ncYXlaICKmqlBcbtLR5jY4U5Kx+pPpy3oJ1vCdjDHatIxZ0tVKEBP7vBQVeGQ==",
- "requires": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/form": "^3.0.6",
- "@react-stately/list": "^3.11.0",
- "@react-stately/overlays": "^3.6.11",
- "@react-stately/select": "^3.6.8",
- "@react-stately/utils": "^3.10.4",
- "@react-types/combobox": "^3.13.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/data": {
- "version": "3.11.7",
- "resolved": "https://registry.npmjs.org/@react-stately/data/-/data-3.11.7.tgz",
- "integrity": "sha512-2YJ+Lmca18f/h7jiZiU9j2IhBJl6BFO1BWlwvcCAH/eCWTdveX8gzsUdW++0szzpJaoCilTCYoi8z7QWyVH9jQ==",
- "requires": {
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/datepicker": {
- "version": "3.10.3",
- "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.10.3.tgz",
- "integrity": "sha512-6PJW1QMwk6BQMktV9L6DA4f2rfAdLfbq3iTNLy4qxd5IfNPLMUZiJGGTj+cuqx0WcEl+q5irp+YhKBpbmhPZHg==",
- "requires": {
- "@internationalized/date": "^3.5.6",
- "@internationalized/string": "^3.2.4",
- "@react-stately/form": "^3.0.6",
- "@react-stately/overlays": "^3.6.11",
- "@react-stately/utils": "^3.10.4",
- "@react-types/datepicker": "^3.8.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/disclosure": {
- "version": "3.0.0-alpha.0",
- "resolved": "https://registry.npmjs.org/@react-stately/disclosure/-/disclosure-3.0.0-alpha.0.tgz",
- "integrity": "sha512-CbFUrEwhsP5+44PMHipn/Cd61VTvqyKmx1yeNDyvj/4bYhmxYLgQp/Ma+iEqe23JkXJh2JO/ws3l9FnebScCJQ==",
- "requires": {
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/dnd": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@react-stately/dnd/-/dnd-3.4.3.tgz",
- "integrity": "sha512-sUvhmMxFEw6P2MW7walx0ntakIihxdPxA06K9YZ3+ReaUvzQuRw5cFDaTTHrlegWRMYD0CyQaKlGIaTQihhvVA==",
- "requires": {
- "@react-stately/selection": "^3.17.0",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/flags": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.0.4.tgz",
- "integrity": "sha512-RNJEkOALwKg+JeYsfNlfPc4GXm7hiBLX0yuHOkRapWEyDOfi0cinkV/TZG4goOZdQ5tBpHmemf2qqiHAxqHlzQ==",
- "requires": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/form": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@react-stately/form/-/form-3.0.6.tgz",
- "integrity": "sha512-KMsxm3/V0iCv/6ikt4JEjVM3LW2AgCzo7aNotMzRobtwIo0RwaUo7DQNY00rGgFQ3/IjzI6DcVo13D+AVE/zXg==",
- "requires": {
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/grid": {
- "version": "3.9.3",
- "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.9.3.tgz",
- "integrity": "sha512-P5KgCNYwm/n8bbLx6527li89RQWoESikrsg2MMyUpUd6IJ321t2pGONGRRQzxE0SBMolPRDJKV0Do2OlsjYKhQ==",
- "requires": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/selection": "^3.17.0",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/layout": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@react-stately/layout/-/layout-4.0.3.tgz",
- "integrity": "sha512-zFLXnPalWWVCdFGcPAb+nywSTz/xAnKRxb7zT+YDa5U80DHArDGKZcQ+by0+2Sf8yaYolROco4my+BERPXJB6A==",
- "requires": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/table": "^3.12.3",
- "@react-stately/virtualizer": "^4.1.0",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@react-types/table": "^3.10.2",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/list": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.11.0.tgz",
- "integrity": "sha512-O+BxXcbtoLZWn4QIT54RoFUaM+QaJQm6s0ZBJ3Jv4ILIhukVOc55ra+aWMVlXFQSpbf6I3hyVP6cz1yyvd5Rtw==",
- "requires": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/selection": "^3.17.0",
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/menu": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.8.3.tgz",
- "integrity": "sha512-sV63V+cMgzipx/N7dq5GaXoItfXIfFEpCtlk3PM2vKstlCJalszXrdo+x996bkeU96h0plB7znAlhlXOeTKzUg==",
- "requires": {
- "@react-stately/overlays": "^3.6.11",
- "@react-types/menu": "^3.9.12",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/numberfield": {
- "version": "3.9.7",
- "resolved": "https://registry.npmjs.org/@react-stately/numberfield/-/numberfield-3.9.7.tgz",
- "integrity": "sha512-PjSgCCpYasGCEAznFQNqa2JhhEQ5+/2eMiV7ZI5j76q3edTNF8G5OOCl2RazDbzFp6vDAnRVT7Kctx5Tl5R/Zw==",
- "requires": {
- "@internationalized/number": "^3.5.4",
- "@react-stately/form": "^3.0.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/numberfield": "^3.8.6",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/overlays": {
- "version": "3.6.11",
- "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.11.tgz",
- "integrity": "sha512-usuxitwOx4FbmOW7Og4VM8R8ZjerbHZLLbFaxZW7pWLs7Ypway1YhJ3SWcyNTYK7NEk4o602kSoU6MSev1Vgag==",
- "requires": {
- "@react-stately/utils": "^3.10.4",
- "@react-types/overlays": "^3.8.10",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/radio": {
- "version": "3.10.8",
- "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.10.8.tgz",
- "integrity": "sha512-VRq6Gzsbk3jzX6hdrSoDoSra9vLRsOi2pLkvW/CMrJ0GSgMwr8jjvJKnNFvYJ3eYQb20EwkarsOAfk7vPSIt/Q==",
- "requires": {
- "@react-stately/form": "^3.0.6",
- "@react-stately/utils": "^3.10.4",
- "@react-types/radio": "^3.8.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/searchfield": {
- "version": "3.5.7",
- "resolved": "https://registry.npmjs.org/@react-stately/searchfield/-/searchfield-3.5.7.tgz",
- "integrity": "sha512-VxEG4tWDypdXQ8f7clZBu5Qmc4osqDBeA/gNMA2i1j/h2zRVcCJ0fRCHuDeXLSWBqF1XXAI4TWV53fBBwJusbg==",
- "requires": {
- "@react-stately/utils": "^3.10.4",
- "@react-types/searchfield": "^3.5.9",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/select": {
- "version": "3.6.8",
- "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.6.8.tgz",
- "integrity": "sha512-fLAVzGeYSdYdBdrEVws6Pb1ywFPdapA0eWphoW5s3fS0/pKcVWwbCHeHlaBEi1ISyqEubQZFGQdeFKm/M46Hew==",
- "requires": {
- "@react-stately/form": "^3.0.6",
- "@react-stately/list": "^3.11.0",
- "@react-stately/overlays": "^3.6.11",
- "@react-types/select": "^3.9.7",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/selection": {
- "version": "3.17.0",
- "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.17.0.tgz",
- "integrity": "sha512-It3LRTaFOavybuDBvBH2mvCh73OL4awqvN4tZ0JzLzMtaYSBe9+YmFasYrzB0o7ca17B2q1tpUmsNWaAgIqbLA==",
- "requires": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/slider": {
- "version": "3.5.8",
- "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.5.8.tgz",
- "integrity": "sha512-EDgbrxMq1w3+XTN72MGl3YtAG/j65EYX1Uc3Fh56K00+inJbTdRWyYTrb3NA310fXCd0WFBbzExuH2ohlKQycg==",
- "requires": {
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@react-types/slider": "^3.7.6",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/table": {
- "version": "3.12.3",
- "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.12.3.tgz",
- "integrity": "sha512-8uGrLcNJYeMbFtzRQZFWCBj5kV+7v3jzwoKIL1j9TmYUKow1PTDMQbPJpAZLQhnC2wVMlaFVgDbedSlbBij7Zg==",
- "requires": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/flags": "^3.0.4",
- "@react-stately/grid": "^3.9.3",
- "@react-stately/selection": "^3.17.0",
- "@react-stately/utils": "^3.10.4",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@react-types/table": "^3.10.2",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/tabs": {
- "version": "3.6.10",
- "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.6.10.tgz",
- "integrity": "sha512-F7wfoiNsrBy7c02AYHyE1USGgj05HQ0hp7uXmQjp2LEa+AA0NKKi3HdswTHHySxb0ZRuoEE7E7vp/gXQYx2/Ow==",
- "requires": {
- "@react-stately/list": "^3.11.0",
- "@react-types/shared": "^3.25.0",
- "@react-types/tabs": "^3.3.10",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/toggle": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.7.8.tgz",
- "integrity": "sha512-ySOtkByvIY54yIu8IZ4lnvomQA0H+/mkZnd6T5fKN3tjvIzHmkUk3TAPmNInUxHX148tSW6mWwec0xvjYqEd6w==",
- "requires": {
- "@react-stately/utils": "^3.10.4",
- "@react-types/checkbox": "^3.8.4",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/tooltip": {
- "version": "3.4.13",
- "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.4.13.tgz",
- "integrity": "sha512-zQ+8FQ7Pi0Cz852dltXb6yaryjE18K3byK4tIO3e5vnrZHEGvfdxowc+v9ak5UV93kVrYoOVmfZHRcEaTXTBNA==",
- "requires": {
- "@react-stately/overlays": "^3.6.11",
- "@react-types/tooltip": "^3.4.12",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/tree": {
- "version": "3.8.5",
- "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.8.5.tgz",
- "integrity": "sha512-0/tYhsKWQQJTOZFDwh8hY3Qk6ejNFRldGrLeK5kS22UZdvsMFyh7WAi40FTCJy561/VoB0WqQI4oyNPOa9lYWg==",
- "requires": {
- "@react-stately/collections": "^3.11.0",
- "@react-stately/selection": "^3.17.0",
- "@react-stately/utils": "^3.10.4",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/utils": {
- "version": "3.10.4",
- "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.4.tgz",
- "integrity": "sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==",
- "requires": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-stately/virtualizer": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-4.1.0.tgz",
- "integrity": "sha512-MOaqpY3NloXrpCBvVUb3HL1p3Bh4YRtUq8D2ufC909u5vM6n6G5Swk1XPJ9KHfaftGhb5serwLkm2/Aha5CTbA==",
- "requires": {
- "@react-aria/utils": "^3.25.3",
- "@react-types/shared": "^3.25.0",
- "@swc/helpers": "^0.5.0"
- }
- },
- "@react-types/accordion": {
- "version": "3.0.0-alpha.24",
- "resolved": "https://registry.npmjs.org/@react-types/accordion/-/accordion-3.0.0-alpha.24.tgz",
- "integrity": "sha512-hwDT4TJH7aHCG8m9QsTP+7xgW7x7k2TY+WHlMRr6qDS6WhTCwd41dCdagxC0SZtulzZuWqISBxZifVrh4Tynew==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/breadcrumbs": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/@react-types/breadcrumbs/-/breadcrumbs-3.7.8.tgz",
- "integrity": "sha512-+BW2a+PrY8ArZ+pKecz13oJFrUAhthvXx17o3x0BhWUhRpAdtmTYt2hjw8zNanm2j0Kvgo1HYKgvtskCRxYcOA==",
- "requires": {
- "@react-types/link": "^3.5.8",
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/button": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.10.0.tgz",
- "integrity": "sha512-rAyU+N9VaHLBdZop4zasn8IDwf9I5Q1EzHUKMtzIFf5aUlMUW+K460zI/l8UESWRSWAXK9/WPSXGxfcoCEjvAA==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/calendar": {
- "version": "3.4.10",
- "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.4.10.tgz",
- "integrity": "sha512-PyjqxwJxSW2IpQx6y0D9O34fRCWn1gv9q0qFhgaIigIQrPg8zTE/CC7owHLxAtgCnnCt8exJ5rqi414csaHKlA==",
- "requires": {
- "@internationalized/date": "^3.5.6",
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/checkbox": {
- "version": "3.8.4",
- "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.8.4.tgz",
- "integrity": "sha512-fvZrlQmlFNsYHZpl7GVmyYQlKdUtO5MczMSf8z3TlSiCb5Kl3ha9PsZgLhJqGuVnzB2ArIBz0eZrYa3k0PhcpA==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/color": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@react-types/color/-/color-3.0.0.tgz",
- "integrity": "sha512-VUH8CROAM69GsMBilrJ1xyAdVsWL01nXQYrkZJxAEApv1OrcpIGSdsXLcGrjsrhjjiNVXxWFnqYRMsKkLzIl7g==",
- "requires": {
- "@react-types/shared": "^3.25.0",
- "@react-types/slider": "^3.7.6"
- }
- },
- "@react-types/combobox": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.13.0.tgz",
- "integrity": "sha512-kH/a+Fjpr54M2JbHg9RXwMjZ9O+XVsdOuE5JCpWRibJP1Mfl1md8gY6y6zstmVY8COrSqFvMZWB+PzwaTWjTGw==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/datepicker": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.8.3.tgz",
- "integrity": "sha512-Y4qfPRBB6uzocosCOWSYMuwiZ3YXwLWQYiFB4KCglkvHyltbNz76LgoBEnclYA5HjwosIk4XywiXvHSYry8JnQ==",
- "requires": {
- "@internationalized/date": "^3.5.6",
- "@react-types/calendar": "^3.4.10",
- "@react-types/overlays": "^3.8.10",
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/dialog": {
- "version": "3.5.13",
- "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.13.tgz",
- "integrity": "sha512-9k8daVcAqQsySkzDY6NIVlyGxtpEip4TKuLyzAehthbv78GQardD5fHdjQ6eXPRS4I2qZrmytrFFrlOnwWVGHw==",
- "requires": {
- "@react-types/overlays": "^3.8.10",
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/form": {
- "version": "3.7.7",
- "resolved": "https://registry.npmjs.org/@react-types/form/-/form-3.7.7.tgz",
- "integrity": "sha512-CVRjCawPhYRHi/LuikOC2kz5vgvmjjKmF4/wUgR2QzD1Ok4wY1ZGSx9M9EZptCIZAt2mToR6woyLUdtzy+foeQ==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/grid": {
- "version": "3.2.9",
- "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.2.9.tgz",
- "integrity": "sha512-eMw0d2UIZ4QTzGgD1wGGPw0cv67KjAOCp4TcwWjgDV7Wa5SVV/UvOmpnIVDyfhkG/4KRI5OR9h+isy76B726qA==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/link": {
- "version": "3.5.8",
- "resolved": "https://registry.npmjs.org/@react-types/link/-/link-3.5.8.tgz",
- "integrity": "sha512-l/YGXddgAbLnIT7ekftXrK1D4n8NlLQwx0d4usyZpaxP1KwPzuwng20DxynamLc1atoKBqbUtZAnz32pe7vYgw==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/listbox": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.5.2.tgz",
- "integrity": "sha512-ML/Bt/MeO0FiixcuFQ+smpu1WguxTOqHDjSnhc1vcNxVQFWQOhyVy01LAY2J/T9TjfjyYGD41vyMTI0f6fcLEQ==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/menu": {
- "version": "3.9.12",
- "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.12.tgz",
- "integrity": "sha512-1SPnkHKJdvOfwv9fEgK1DI6DYRs4D3hW2XcWlLhVXSjaC68CzOHGwFhKIKvZiDTW/11L770PRSEloIxHR09uFQ==",
- "requires": {
- "@react-types/overlays": "^3.8.10",
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/meter": {
- "version": "3.4.4",
- "resolved": "https://registry.npmjs.org/@react-types/meter/-/meter-3.4.4.tgz",
- "integrity": "sha512-0SEmPkShByC1gYkW7l+iJPg8QfEe2VrgwTciAtTfC4KIqAYmJVQtq6L+4d72EMxOh8RpQHePaY/RFHEJXAh72A==",
- "requires": {
- "@react-types/progress": "^3.5.7"
- }
- },
- "@react-types/numberfield": {
- "version": "3.8.6",
- "resolved": "https://registry.npmjs.org/@react-types/numberfield/-/numberfield-3.8.6.tgz",
- "integrity": "sha512-VtWEMAXUO1S9EEZI8whc7xv6DVccxhbWsRthMCg/LxiwU3U5KAveadNc2c5rtXkRpd3cnD5xFzz3dExXdmHkAg==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/overlays": {
- "version": "3.8.10",
- "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.10.tgz",
- "integrity": "sha512-IcnB+VYfAJazRjWhBKZTmVMh3KTp/B1rRbcKkPx6t8djP9UQhKcohP7lAALxjJ56Jjz/GFC6rWyUcnYH0NFVRA==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/progress": {
- "version": "3.5.7",
- "resolved": "https://registry.npmjs.org/@react-types/progress/-/progress-3.5.7.tgz",
- "integrity": "sha512-EqMDHmlpoZUZzTjdejGIkSM0pS2LBI9NdadHf3bDNTycHv+5L1xpMHUg8RGOW8a3sRVLRvfN1aO9l75QZkyj+w==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/radio": {
- "version": "3.8.4",
- "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.8.4.tgz",
- "integrity": "sha512-GCuOwQL19iwKa74NAIk9hv4ivyI8oW1+ZCuc2fzyDdeQjzTIlv3qrIyShwpVy1IoI7/4DYTMZm/YXPoKhu5TTA==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/searchfield": {
- "version": "3.5.9",
- "resolved": "https://registry.npmjs.org/@react-types/searchfield/-/searchfield-3.5.9.tgz",
- "integrity": "sha512-c/x8BWpH1Zq+fWpeBtzw2AhQhGi7ahWPicV7PlnqwIGO0MrH/QCjX0dj+I+1xpcAh8Eq6ECa79HE74Rw6aJmFg==",
- "requires": {
- "@react-types/shared": "^3.25.0",
- "@react-types/textfield": "^3.9.7"
- }
- },
- "@react-types/select": {
- "version": "3.9.7",
- "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.9.7.tgz",
- "integrity": "sha512-Jva4ixfB4EEdy+WmZkUoLiQI7vVfHPxM73VuL7XDxvAO+YKiIztDTcU720QVNhxTMmQvCxfRBXWar8aodCjLiw==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/shared": {
- "version": "3.25.0",
- "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.25.0.tgz",
- "integrity": "sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==",
- "requires": {}
- },
- "@react-types/slider": {
- "version": "3.7.6",
- "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.7.6.tgz",
- "integrity": "sha512-z72wnEzSge6qTD9TUoUPp1A4j4jXk/MVii6rGE78XeE/Pq7HyyjU5bCagryMr9PC9MKa/oTiHcshKqWBDf57GA==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/switch": {
- "version": "3.5.6",
- "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.5.6.tgz",
- "integrity": "sha512-gJ8t2yTCgcitz4ON4ELcLLmtlDkn2MUjjfu3ez/cwA1X/NUluPYkhXj5Z6H+KOlnveqrKCZDRoTgK74cQ6Cvfg==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/table": {
- "version": "3.10.2",
- "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.10.2.tgz",
- "integrity": "sha512-YzA4hcsYfnFFpA2UyGb1KKhLpWgaj5daApqjp126tCIosl8k1KxZmhKD50cwH0Jm19lALJseqo5VdlcJtcr4qg==",
- "requires": {
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/tabs": {
- "version": "3.3.10",
- "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.3.10.tgz",
- "integrity": "sha512-s/Bw/HCIdWJPBw4O703ghKqhjGsIerRMIDxA88hbQYzfTDD6bkFDjCnsP2Tyy1G8Dg2rSPFUEE+k+PpLzqeEfQ==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/textfield": {
- "version": "3.9.7",
- "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.9.7.tgz",
- "integrity": "sha512-vU5+QCOF9HgWGjAmmy+cpJibVW5voFomC5POmYHokm7kivYcMMjlonsgWwg/0xXrqE2qosH3tpz4jFoEuig1NQ==",
- "requires": {
- "@react-types/shared": "^3.25.0"
- }
- },
- "@react-types/tooltip": {
- "version": "3.4.12",
- "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.4.12.tgz",
- "integrity": "sha512-FwsdSQ3UDIDORanQMGMLyzSUabw4AkKhwcRdPv4d5OT8GmJr7mBdZynfcsrKLJ0fzskIypMqspoutZidsI0MQg==",
- "requires": {
- "@react-types/overlays": "^3.8.10",
- "@react-types/shared": "^3.25.0"
- }
- },
- "@rollup/pluginutils": {
- "version": "5.1.0",
- "dev": true,
- "requires": {
- "@types/estree": "^1.0.0",
- "estree-walker": "^2.0.2",
- "picomatch": "^2.3.1"
- }
- },
- "@rollup/rollup-android-arm-eabi": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz",
- "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-android-arm64": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz",
- "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-darwin-arm64": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz",
- "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==",
- "optional": true
- },
- "@rollup/rollup-darwin-x64": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz",
- "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz",
- "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz",
- "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-linux-arm64-gnu": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz",
- "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-linux-arm64-musl": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz",
- "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz",
- "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz",
- "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-linux-s390x-gnu": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz",
- "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-linux-x64-gnu": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz",
- "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-linux-x64-musl": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz",
- "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-win32-arm64-msvc": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz",
- "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-win32-ia32-msvc": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz",
- "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==",
- "dev": true,
- "optional": true
- },
- "@rollup/rollup-win32-x64-msvc": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz",
- "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==",
- "dev": true,
- "optional": true
- },
- "@sinclair/typebox": {
- "version": "0.27.8",
- "dev": true
- },
- "@storybook/addon-actions": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.3.5.tgz",
- "integrity": "sha512-t8D5oo+4XfD+F8091wLa2y/CDd/W2lExCeol5Vm1tp5saO+u6f2/d7iykLhTowWV84Uohi3D073uFeyTAlGebg==",
- "dev": true,
- "requires": {
- "@storybook/global": "^5.0.0",
- "@types/uuid": "^9.0.1",
- "dequal": "^2.0.2",
- "polished": "^4.2.2",
- "uuid": "^9.0.0"
- }
- },
- "@storybook/addon-backgrounds": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.3.5.tgz",
- "integrity": "sha512-IQGjDujuw8+iSqKREdkL8I5E/5CAHZbfOWd4A75PQK2D6qZ0fu/xRwTOQOH4jP6xn/abvfACOdL6A0d5bU90ag==",
- "dev": true,
- "requires": {
- "@storybook/global": "^5.0.0",
- "memoizerific": "^1.11.3",
- "ts-dedent": "^2.0.0"
- }
- },
- "@storybook/addon-controls": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.3.5.tgz",
- "integrity": "sha512-2eCVobUUvY1Rq7sp1U8Mx8t44VXwvi0E+hqyrsqOx5TTSC/FUQ+hNAX6GSYUcFIyQQ1ORpKNlUjAAdjxBv1ZHQ==",
- "dev": true,
- "requires": {
- "@storybook/global": "^5.0.0",
- "dequal": "^2.0.2",
- "lodash": "^4.17.21",
- "ts-dedent": "^2.0.0"
- }
- },
- "@storybook/addon-docs": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.3.5.tgz",
- "integrity": "sha512-MOVfo1bY8kXTzbvmWnx3UuSO4WNykFz7Edvb3mxltNyuW7UDRZGuIuSe32ddT/EtLJfurrC9Ja3yBy4KBUGnMA==",
- "dev": true,
- "requires": {
- "@mdx-js/react": "^3.0.0",
- "@storybook/blocks": "8.3.5",
- "@storybook/csf-plugin": "8.3.5",
- "@storybook/global": "^5.0.0",
- "@storybook/react-dom-shim": "8.3.5",
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "fs-extra": "^11.1.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "rehype-external-links": "^3.0.0",
- "rehype-slug": "^6.0.0",
- "ts-dedent": "^2.0.0"
- },
- "dependencies": {
- "@storybook/csf-plugin": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.3.5.tgz",
- "integrity": "sha512-ODVqNXwJt90hG7QW8I9w/XUyOGlr0l7XltmIJgXwB/2cYDvaGu3JV5Ybg7O0fxPV8uXk7JlRuUD8ZYv5Low6pA==",
- "dev": true,
- "requires": {
- "unplugin": "^1.3.1"
- }
- },
- "@storybook/react-dom-shim": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.3.5.tgz",
- "integrity": "sha512-Hf0UitJ/K0C7ajooooUK/PxOR4ihUWqsC7iCV1Gqth8U37dTeLMbaEO4PBwu0VQ+Ufg0N8BJLWfg7o6G4hrODw==",
- "dev": true,
- "requires": {}
- }
- }
- },
- "@storybook/addon-essentials": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.3.5.tgz",
- "integrity": "sha512-hXTtPuN4/IsXjUrkMPAuz1qKAl8DovdXpjQgjQs7jSAVx3kc4BZaGqJ3gaVenKtO8uDchmA92BoQygpkc8eWhw==",
- "dev": true,
- "requires": {
- "@storybook/addon-actions": "8.3.5",
- "@storybook/addon-backgrounds": "8.3.5",
- "@storybook/addon-controls": "8.3.5",
- "@storybook/addon-docs": "8.3.5",
- "@storybook/addon-highlight": "8.3.5",
- "@storybook/addon-measure": "8.3.5",
- "@storybook/addon-outline": "8.3.5",
- "@storybook/addon-toolbars": "8.3.5",
- "@storybook/addon-viewport": "8.3.5",
- "ts-dedent": "^2.0.0"
- }
- },
- "@storybook/addon-highlight": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.3.5.tgz",
- "integrity": "sha512-ku0epul9aReCR3Gv/emwYnsqg3vgux5OmYMjoDcJC7s+LyfweSzLV/f5t9gSHazikJElh5TehtVkWbC4QfbGSw==",
- "dev": true,
- "requires": {
- "@storybook/global": "^5.0.0"
- }
- },
- "@storybook/addon-interactions": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/global": "^5.0.0",
- "@storybook/instrumenter": "8.0.10",
- "@storybook/test": "8.0.10",
- "@storybook/types": "8.0.10",
- "polished": "^4.2.2",
- "ts-dedent": "^2.2.0"
- }
- },
- "@storybook/addon-links": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/csf": "^0.1.4",
- "@storybook/global": "^5.0.0",
- "ts-dedent": "^2.0.0"
- }
- },
- "@storybook/addon-measure": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.3.5.tgz",
- "integrity": "sha512-6GVehgbHhFIFS69xSfRV+12VK0cnuIAtZdp1J3eUCc2ATrcigqVjTM6wzZz6kBuX6O3dcusr7Wg46KtNliqLqg==",
- "dev": true,
- "requires": {
- "@storybook/global": "^5.0.0",
- "tiny-invariant": "^1.3.1"
- }
- },
- "@storybook/addon-onboarding": {
- "version": "8.0.10",
- "dev": true
- },
- "@storybook/addon-outline": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.3.5.tgz",
- "integrity": "sha512-dwmK6GzjEnQP9Yo0VnBUQtJkXZlXdfjWyskZ/IlUVc+IFdeeCtIiMyA92oMfHo8eXt0k1g21ZqMaIn7ZltOuHw==",
- "dev": true,
- "requires": {
- "@storybook/global": "^5.0.0",
- "ts-dedent": "^2.0.0"
- }
- },
- "@storybook/addon-toolbars": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.3.5.tgz",
- "integrity": "sha512-Ml2gc9q8WbteDvmuAZGgBxt5SqWMXzuTkMjlsA8EB53hlkN1w9esX4s8YtBeNqC3HKoUzcdq8uexSBqU8fDbSA==",
- "dev": true,
- "requires": {}
- },
- "@storybook/addon-viewport": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.3.5.tgz",
- "integrity": "sha512-FSWydoPiVWFXEittG7O1YgvuaqoU9Vb+qoq9XfP/hvQHHMDcMZvC40JaV8AnJeTXaM7ngIjcn9XDEfGbFfOzXw==",
- "dev": true,
- "requires": {
- "memoizerific": "^1.11.3"
- }
- },
- "@storybook/blocks": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.3.5.tgz",
- "integrity": "sha512-8cHTdTywolTHlgwN8I7YH7saWAIjGzV617AwjhJ95AKlC0VtpO1gAFcAgCqr4DU9eMc+LZuvbnaU/RSvA5eCCQ==",
- "dev": true,
- "requires": {
- "@storybook/csf": "^0.1.11",
- "@storybook/global": "^5.0.0",
- "@storybook/icons": "^1.2.10",
- "@types/lodash": "^4.14.167",
- "color-convert": "^2.0.1",
- "dequal": "^2.0.2",
- "lodash": "^4.17.21",
- "markdown-to-jsx": "^7.4.5",
- "memoizerific": "^1.11.3",
- "polished": "^4.2.2",
- "react-colorful": "^5.1.2",
- "telejson": "^7.2.0",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "@storybook/builder-vite": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/channels": "8.0.10",
- "@storybook/client-logger": "8.0.10",
- "@storybook/core-common": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/csf-plugin": "8.0.10",
- "@storybook/node-logger": "8.0.10",
- "@storybook/preview": "8.0.10",
- "@storybook/preview-api": "8.0.10",
- "@storybook/types": "8.0.10",
- "@types/find-cache-dir": "^3.2.1",
- "browser-assert": "^1.2.1",
- "es-module-lexer": "^0.9.3",
- "express": "^4.17.3",
- "find-cache-dir": "^3.0.0",
- "fs-extra": "^11.1.0",
- "magic-string": "^0.30.0",
- "ts-dedent": "^2.0.0"
- }
- },
- "@storybook/channels": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/client-logger": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/global": "^5.0.0",
- "telejson": "^7.2.0",
- "tiny-invariant": "^1.3.1"
- }
- },
- "@storybook/client-logger": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/global": "^5.0.0"
- }
- },
- "@storybook/core": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.3.5.tgz",
- "integrity": "sha512-GOGfTvdioNa/n+Huwg4u/dsyYyBcM+gEcdxi3B7i5x4yJ3I912KoVshumQAOF2myKSRdI8h8aGWdx7nnjd0+5Q==",
- "dev": true,
- "requires": {
- "@storybook/csf": "^0.1.11",
- "@types/express": "^4.17.21",
- "better-opn": "^3.0.2",
- "browser-assert": "^1.2.1",
- "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0",
- "esbuild-register": "^3.5.0",
- "express": "^4.19.2",
- "jsdoc-type-pratt-parser": "^4.0.0",
- "process": "^0.11.10",
- "recast": "^0.23.5",
- "semver": "^7.6.2",
- "util": "^0.12.5",
- "ws": "^8.2.3"
- }
- },
- "@storybook/core-common": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/core-events": "8.0.10",
- "@storybook/csf-tools": "8.0.10",
- "@storybook/node-logger": "8.0.10",
- "@storybook/types": "8.0.10",
- "@yarnpkg/fslib": "2.10.3",
- "@yarnpkg/libzip": "2.3.0",
- "chalk": "^4.1.0",
- "cross-spawn": "^7.0.3",
- "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0",
- "esbuild-register": "^3.5.0",
- "execa": "^5.0.0",
- "file-system-cache": "2.3.0",
- "find-cache-dir": "^3.0.0",
- "find-up": "^5.0.0",
- "fs-extra": "^11.1.0",
- "glob": "^10.0.0",
- "handlebars": "^4.7.7",
- "lazy-universal-dotenv": "^4.0.0",
- "node-fetch": "^2.0.0",
- "picomatch": "^2.3.0",
- "pkg-dir": "^5.0.0",
- "pretty-hrtime": "^1.0.3",
- "resolve-from": "^5.0.0",
- "semver": "^7.3.7",
- "tempy": "^1.0.1",
- "tiny-invariant": "^1.3.1",
- "ts-dedent": "^2.0.0",
- "util": "^0.12.4"
- },
- "dependencies": {
- "glob": {
- "version": "10.3.15",
- "dev": true,
- "requires": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^2.3.6",
- "minimatch": "^9.0.1",
- "minipass": "^7.0.4",
- "path-scurry": "^1.11.0"
- }
- },
- "minipass": {
- "version": "7.1.1",
- "dev": true
- },
- "resolve-from": {
- "version": "5.0.0",
- "dev": true
- }
- }
- },
- "@storybook/core-events": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "ts-dedent": "^2.0.0"
- }
- },
- "@storybook/csf": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.11.tgz",
- "integrity": "sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==",
- "dev": true,
- "requires": {
- "type-fest": "^2.19.0"
- },
- "dependencies": {
- "type-fest": {
- "version": "2.19.0",
- "dev": true
- }
- }
- },
- "@storybook/csf-plugin": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/csf-tools": "8.0.10",
- "unplugin": "^1.3.1"
- }
- },
- "@storybook/csf-tools": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@babel/generator": "^7.23.0",
- "@babel/parser": "^7.23.0",
- "@babel/traverse": "^7.23.2",
- "@babel/types": "^7.23.0",
- "@storybook/csf": "^0.1.4",
- "@storybook/types": "8.0.10",
- "fs-extra": "^11.1.0",
- "recast": "^0.23.5",
- "ts-dedent": "^2.0.0"
- }
- },
- "@storybook/docs-tools": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/core-common": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/preview-api": "8.0.10",
- "@storybook/types": "8.0.10",
- "@types/doctrine": "^0.0.3",
- "assert": "^2.1.0",
- "doctrine": "^3.0.0",
- "lodash": "^4.17.21"
- }
- },
- "@storybook/global": {
- "version": "5.0.0",
- "dev": true
- },
- "@storybook/icons": {
- "version": "1.2.12",
- "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.12.tgz",
- "integrity": "sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q==",
- "dev": true,
- "requires": {}
- },
- "@storybook/instrumenter": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/channels": "8.0.10",
- "@storybook/client-logger": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/global": "^5.0.0",
- "@storybook/preview-api": "8.0.10",
- "@vitest/utils": "^1.3.1",
- "util": "^0.12.4"
- }
- },
- "@storybook/node-logger": {
- "version": "8.0.10",
- "dev": true
- },
- "@storybook/preview": {
- "version": "8.0.10",
- "dev": true
- },
- "@storybook/preview-api": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/channels": "8.0.10",
- "@storybook/client-logger": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/csf": "^0.1.4",
- "@storybook/global": "^5.0.0",
- "@storybook/types": "8.0.10",
- "@types/qs": "^6.9.5",
- "dequal": "^2.0.2",
- "lodash": "^4.17.21",
- "memoizerific": "^1.11.3",
- "qs": "^6.10.0",
- "tiny-invariant": "^1.3.1",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "@storybook/react": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/client-logger": "8.0.10",
- "@storybook/docs-tools": "8.0.10",
- "@storybook/global": "^5.0.0",
- "@storybook/preview-api": "8.0.10",
- "@storybook/react-dom-shim": "8.0.10",
- "@storybook/types": "8.0.10",
- "@types/escodegen": "^0.0.6",
- "@types/estree": "^0.0.51",
- "@types/node": "^18.0.0",
- "acorn": "^7.4.1",
- "acorn-jsx": "^5.3.1",
- "acorn-walk": "^7.2.0",
- "escodegen": "^2.1.0",
- "html-tags": "^3.1.0",
- "lodash": "^4.17.21",
- "prop-types": "^15.7.2",
- "react-element-to-jsx-string": "^15.0.0",
- "semver": "^7.3.7",
- "ts-dedent": "^2.0.0",
- "type-fest": "~2.19",
- "util-deprecate": "^1.0.2"
- },
- "dependencies": {
- "@types/estree": {
- "version": "0.0.51",
- "dev": true
- },
- "acorn": {
- "version": "7.4.1",
- "dev": true
- },
- "type-fest": {
- "version": "2.19.0",
- "dev": true
- }
- }
- },
- "@storybook/react-dom-shim": {
- "version": "8.0.10",
- "dev": true,
- "requires": {}
- },
- "@storybook/react-vite": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@joshwooding/vite-plugin-react-docgen-typescript": "0.3.0",
- "@rollup/pluginutils": "^5.0.2",
- "@storybook/builder-vite": "8.0.10",
- "@storybook/node-logger": "8.0.10",
- "@storybook/react": "8.0.10",
- "find-up": "^5.0.0",
- "magic-string": "^0.30.0",
- "react-docgen": "^7.0.0",
- "resolve": "^1.22.8",
- "tsconfig-paths": "^4.2.0"
- }
- },
- "@storybook/test": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/client-logger": "8.0.10",
- "@storybook/core-events": "8.0.10",
- "@storybook/instrumenter": "8.0.10",
- "@storybook/preview-api": "8.0.10",
- "@testing-library/dom": "^9.3.4",
- "@testing-library/jest-dom": "^6.4.2",
- "@testing-library/user-event": "^14.5.2",
- "@vitest/expect": "1.3.1",
- "@vitest/spy": "^1.3.1",
- "util": "^0.12.4"
- }
- },
- "@storybook/types": {
- "version": "8.0.10",
- "dev": true,
- "requires": {
- "@storybook/channels": "8.0.10",
- "@types/express": "^4.7.0",
- "file-system-cache": "2.3.0"
- }
- },
- "@swc/core": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.4.tgz",
- "integrity": "sha512-+wSycNxOw9QQz81AJAZlNS34EtOIifwUXMPACg05PWjECsjOKDTXLCVPx6J0lRaxhHSGBU2OYs9mRfIvxGt3CA==",
- "dev": true,
- "requires": {
- "@swc/core-darwin-arm64": "1.7.4",
- "@swc/core-darwin-x64": "1.7.4",
- "@swc/core-linux-arm-gnueabihf": "1.7.4",
- "@swc/core-linux-arm64-gnu": "1.7.4",
- "@swc/core-linux-arm64-musl": "1.7.4",
- "@swc/core-linux-x64-gnu": "1.7.4",
- "@swc/core-linux-x64-musl": "1.7.4",
- "@swc/core-win32-arm64-msvc": "1.7.4",
- "@swc/core-win32-ia32-msvc": "1.7.4",
- "@swc/core-win32-x64-msvc": "1.7.4",
- "@swc/counter": "^0.1.3",
- "@swc/types": "^0.1.12"
- }
- },
- "@swc/core-darwin-arm64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.4.tgz",
- "integrity": "sha512-RbWrdGh+x9xKFUA9/kPZRR8OPxUsDUuPyLjPIGLYZMO+ftht2vhVH7QsUq6lg+jAP34eIya72UA1isiZe+BRaA==",
- "dev": true,
- "optional": true
- },
- "@swc/core-darwin-x64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.4.tgz",
- "integrity": "sha512-TxCWMJs4OrqApjFuT8cUiqMz0zg97F0JsXBEeZ7zjkyv9XJ/rN2pdwqMlZv0Wv2C2rivOPo6FsWYlZ3V8ZHhyA==",
- "dev": true,
- "optional": true
- },
- "@swc/core-linux-arm-gnueabihf": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.4.tgz",
- "integrity": "sha512-5IhwIJZAgkkfI6PqgQ3xk0/2hTAVsAczIPLiR2Epp30EgsNo1KIFL0ZHzrnvJPy5BZ3jy3T1dEbDE/memBOEmA==",
- "dev": true,
- "optional": true
- },
- "@swc/core-linux-arm64-gnu": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.4.tgz",
- "integrity": "sha512-0787jri83jigf26mF8FndWehh7jqMaHwAm/OV6VdToyNo/g+d1AxVpkEizrywZK46el+AObnHUIHIHwZgO21LA==",
- "dev": true,
- "optional": true
- },
- "@swc/core-linux-arm64-musl": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.4.tgz",
- "integrity": "sha512-A45hGKWAGcjU5Ol0uQUoK0tHerwEKxfprYUZbmPLpD2yrpMZr+dTrwY2n075sixs7RuZEccBkgGNpehEe5BPBQ==",
- "dev": true,
- "optional": true
- },
- "@swc/core-linux-x64-gnu": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.4.tgz",
- "integrity": "sha512-bcO1MpAm39TXqqHuYW4ox4vDvhB7jkguwMwxvmL+cKBGsUHrIoUTfGt9NM9N4D4CvOwULlxqbyt19veUJ7CVPw==",
- "dev": true,
- "optional": true
- },
- "@swc/core-linux-x64-musl": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.4.tgz",
- "integrity": "sha512-N6nXuHyDO/q5kPN2xQxz5BEvhFpgnFSkP+9wxg5xWq+qIQL5bv37jk8dkKvMLx/8fHzTqrIjPDSRzVbcL7sqXg==",
- "dev": true,
- "optional": true
- },
- "@swc/core-win32-arm64-msvc": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.4.tgz",
- "integrity": "sha512-7W1owqCNR1cG+mpS55juiZlR/lrAdxB1pH32egeOipNKOLGwyqmlzQ0g9tkQTNgzwgfpCUg8z606+GqqXvajZw==",
- "dev": true,
- "optional": true
- },
- "@swc/core-win32-ia32-msvc": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.4.tgz",
- "integrity": "sha512-saLkY+q7zNPk4gYiUBCc93FYPo4ECXMjHcSPtLVHoPZBIxRrklgaAf6aDpblBo30nVdoBE2V3YPd0Y/cPiY6RQ==",
- "dev": true,
- "optional": true
- },
- "@swc/core-win32-x64-msvc": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.4.tgz",
- "integrity": "sha512-zKF6jpRBNuVKgOf2W5dMcPyjwcNCp21syjl9lvLRbCeIg+1U+zjdoQCAmMWWoPNE7fLg+yfvohnnOJG2AdzQ9Q==",
- "dev": true,
- "optional": true
- },
- "@swc/counter": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
- "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
- "dev": true
- },
- "@swc/helpers": {
- "version": "0.5.11",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.11.tgz",
- "integrity": "sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==",
- "requires": {
- "tslib": "^2.4.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
- "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
- }
- }
- },
- "@swc/types": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz",
- "integrity": "sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==",
- "dev": true,
- "requires": {
- "@swc/counter": "^0.1.3"
- }
- },
- "@tailwindcss/container-queries": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/container-queries/-/container-queries-0.1.1.tgz",
- "integrity": "sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==",
- "requires": {}
- },
- "@tauri-apps/api": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.1.tgz",
- "integrity": "sha512-eoQWT+Tq1qSwQpHV+nw1eNYe5B/nm1PoRjQCRiEOS12I1b+X4PUcREfXVX8dPcBT6GrzWGDtaecY0+1p0Rfqlw=="
- },
- "@tauri-apps/cli": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.1.0.tgz",
- "integrity": "sha512-K2VhcKqBhAeS5pNOVdnR/xQRU6jwpgmkSL2ejHXcl0m+kaTggT0WRDQnFtPq6NljA7aE03cvwsbCAoFG7vtkJw==",
- "dev": true,
- "requires": {
- "@tauri-apps/cli-darwin-arm64": "2.1.0",
- "@tauri-apps/cli-darwin-x64": "2.1.0",
- "@tauri-apps/cli-linux-arm-gnueabihf": "2.1.0",
- "@tauri-apps/cli-linux-arm64-gnu": "2.1.0",
- "@tauri-apps/cli-linux-arm64-musl": "2.1.0",
- "@tauri-apps/cli-linux-x64-gnu": "2.1.0",
- "@tauri-apps/cli-linux-x64-musl": "2.1.0",
- "@tauri-apps/cli-win32-arm64-msvc": "2.1.0",
- "@tauri-apps/cli-win32-ia32-msvc": "2.1.0",
- "@tauri-apps/cli-win32-x64-msvc": "2.1.0"
- }
- },
- "@tauri-apps/cli-darwin-arm64": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.1.0.tgz",
- "integrity": "sha512-ESc6J6CE8hl1yKH2vJ+ALF+thq4Be+DM1mvmTyUCQObvezNCNhzfS6abIUd3ou4x5RGH51ouiANeT3wekU6dCw==",
- "dev": true,
- "optional": true
- },
- "@tauri-apps/cli-darwin-x64": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.1.0.tgz",
- "integrity": "sha512-TasHS442DFs8cSH2eUQzuDBXUST4ECjCd0yyP+zZzvAruiB0Bg+c8A+I/EnqCvBQ2G2yvWLYG8q/LI7c87A5UA==",
- "dev": true,
- "optional": true
- },
- "@tauri-apps/cli-linux-arm-gnueabihf": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.1.0.tgz",
- "integrity": "sha512-aP7ZBGNL4ny07Cbb6kKpUOSrmhcIK2KhjviTzYlh+pPhAptxnC78xQGD3zKQkTi2WliJLPmBYbOHWWQa57lQ9w==",
- "dev": true,
- "optional": true
- },
- "@tauri-apps/cli-linux-arm64-gnu": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.1.0.tgz",
- "integrity": "sha512-ZTdgD5gLeMCzndMT2f358EkoYkZ5T+Qy6zPzU+l5vv5M7dHVN9ZmblNAYYXmoOuw7y+BY4X/rZvHV9pcGrcanQ==",
- "dev": true,
- "optional": true
- },
- "@tauri-apps/cli-linux-arm64-musl": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.1.0.tgz",
- "integrity": "sha512-NzwqjUCilhnhJzusz3d/0i0F1GFrwCQbkwR6yAHUxItESbsGYkZRJk0yMEWkg3PzFnyK4cWTlQJMEU52TjhEzA==",
- "dev": true,
- "optional": true
- },
- "@tauri-apps/cli-linux-x64-gnu": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.1.0.tgz",
- "integrity": "sha512-TyiIpMEtZxNOQmuFyfJwaaYbg3movSthpBJLIdPlKxSAB2BW0VWLY3/ZfIxm/G2YGHyREkjJvimzYE0i37PnMA==",
- "dev": true,
- "optional": true
- },
- "@tauri-apps/cli-linux-x64-musl": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.1.0.tgz",
- "integrity": "sha512-/dQd0TlaxBdJACrR72DhynWftzHDaX32eBtS5WBrNJ+nnNb+znM3gON6nJ9tSE9jgDa6n1v2BkI/oIDtypfUXw==",
- "dev": true,
- "optional": true
- },
- "@tauri-apps/cli-win32-arm64-msvc": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.1.0.tgz",
- "integrity": "sha512-NdQJO7SmdYqOcE+JPU7bwg7+odfZMWO6g8xF9SXYCMdUzvM2Gv/AQfikNXz5yS7ralRhNFuW32i5dcHlxh4pDg==",
- "dev": true,
- "optional": true
- },
- "@tauri-apps/cli-win32-ia32-msvc": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.1.0.tgz",
- "integrity": "sha512-f5h8gKT/cB8s1ticFRUpNmHqkmaLutT62oFDB7N//2YTXnxst7EpMIn1w+QimxTvTk2gcx6EcW6bEk/y2hZGzg==",
- "dev": true,
- "optional": true
- },
- "@tauri-apps/cli-win32-x64-msvc": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.1.0.tgz",
- "integrity": "sha512-P/+LrdSSb5Xbho1LRP4haBjFHdyPdjWvGgeopL96OVtrFpYnfC+RctB45z2V2XxqFk3HweDDxk266btjttfjGw==",
- "dev": true,
- "optional": true
- },
- "@tauri-apps/plugin-cli": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-cli/-/plugin-cli-2.0.0.tgz",
- "integrity": "sha512-glQmlL1IiCGEa1FHYa/PTPSeYhfu56omLRgHXWlJECDt6DbJyRuJWVgtkQfUxtqnVdYnnU+DGIGeiInoEqtjLw==",
- "requires": {
- "@tauri-apps/api": "^2.0.0"
- }
- },
- "@testing-library/dom": {
- "version": "9.3.4",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.10.4",
- "@babel/runtime": "^7.12.5",
- "@types/aria-query": "^5.0.1",
- "aria-query": "5.1.3",
- "chalk": "^4.1.0",
- "dom-accessibility-api": "^0.5.9",
- "lz-string": "^1.5.0",
- "pretty-format": "^27.0.2"
- }
- },
- "@testing-library/jest-dom": {
- "version": "6.4.5",
- "dev": true,
- "requires": {
- "@adobe/css-tools": "^4.3.2",
- "@babel/runtime": "^7.9.2",
- "aria-query": "^5.0.0",
- "chalk": "^3.0.0",
- "css.escape": "^1.5.1",
- "dom-accessibility-api": "^0.6.3",
- "lodash": "^4.17.21",
- "redent": "^3.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "dom-accessibility-api": {
- "version": "0.6.3",
- "dev": true
- }
- }
- },
- "@testing-library/user-event": {
- "version": "14.5.2",
- "dev": true,
- "requires": {}
- },
- "@types/aria-query": {
- "version": "5.0.4",
- "dev": true
- },
- "@types/babel__core": {
- "version": "7.20.5",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.20.7",
- "@babel/types": "^7.20.7",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "@types/babel__generator": {
- "version": "7.6.8",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__template": {
- "version": "7.4.4",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__traverse": {
- "version": "7.20.5",
- "dev": true,
- "requires": {
- "@babel/types": "^7.20.7"
- }
- },
- "@types/body-parser": {
- "version": "1.19.5",
- "dev": true,
- "requires": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "@types/connect": {
- "version": "3.4.38",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/doctrine": {
- "version": "0.0.3",
- "dev": true
- },
- "@types/emscripten": {
- "version": "1.39.12",
- "dev": true
- },
- "@types/escodegen": {
- "version": "0.0.6",
- "dev": true
- },
- "@types/estree": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
- "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
- "dev": true
- },
- "@types/express": {
- "version": "4.17.21",
- "dev": true,
- "requires": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.33",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "@types/express-serve-static-core": {
- "version": "4.19.0",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
- }
- },
- "@types/find-cache-dir": {
- "version": "3.2.1",
- "dev": true
- },
- "@types/glob": {
- "version": "7.2.0",
- "dev": true,
- "requires": {
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "@types/hast": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
- "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
- "dev": true,
- "requires": {
- "@types/unist": "*"
- }
- },
- "@types/http-errors": {
- "version": "2.0.4",
- "dev": true
- },
- "@types/json-schema": {
- "version": "7.0.15",
- "dev": true
- },
- "@types/lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==",
- "dev": true
- },
- "@types/mdx": {
- "version": "2.0.13",
- "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz",
- "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==",
- "dev": true
- },
- "@types/mime": {
- "version": "1.3.5",
- "dev": true
- },
- "@types/minimatch": {
- "version": "5.1.2",
- "dev": true
- },
- "@types/node": {
- "version": "18.19.33",
- "requires": {
- "undici-types": "~5.26.4"
- }
- },
- "@types/prop-types": {
- "version": "15.7.12",
- "dev": true
- },
- "@types/qs": {
- "version": "6.9.15",
- "dev": true
- },
- "@types/range-parser": {
- "version": "1.2.7",
- "dev": true
- },
- "@types/react": {
- "version": "18.3.2",
- "dev": true,
- "requires": {
- "@types/prop-types": "*",
- "csstype": "^3.0.2"
- }
- },
- "@types/react-dom": {
- "version": "18.3.0",
- "dev": true,
- "requires": {
- "@types/react": "*"
- }
- },
- "@types/resolve": {
- "version": "1.20.6",
- "dev": true
- },
- "@types/semver": {
- "version": "7.5.8",
- "dev": true
- },
- "@types/send": {
- "version": "0.17.4",
- "dev": true,
- "requires": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "@types/serve-static": {
- "version": "1.15.7",
- "dev": true,
- "requires": {
- "@types/http-errors": "*",
- "@types/node": "*",
- "@types/send": "*"
- }
- },
- "@types/unist": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
- "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
- "dev": true
- },
- "@types/uuid": {
- "version": "9.0.8",
- "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
- "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==",
- "dev": true
- },
- "@types/w3c-web-serial": {
- "version": "1.0.6",
- "dev": true
- },
- "@types/web-bluetooth": {
- "version": "0.0.20",
- "dev": true
- },
- "@typescript-eslint/eslint-plugin": {
- "version": "7.8.0",
- "dev": true,
- "requires": {
- "@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "7.8.0",
- "@typescript-eslint/type-utils": "7.8.0",
- "@typescript-eslint/utils": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0",
- "debug": "^4.3.4",
- "graphemer": "^1.4.0",
- "ignore": "^5.3.1",
- "natural-compare": "^1.4.0",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- }
- },
- "@typescript-eslint/parser": {
- "version": "7.8.0",
- "dev": true,
- "requires": {
- "@typescript-eslint/scope-manager": "7.8.0",
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/typescript-estree": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0",
- "debug": "^4.3.4"
- }
- },
- "@typescript-eslint/scope-manager": {
- "version": "7.8.0",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0"
- }
- },
- "@typescript-eslint/type-utils": {
- "version": "7.8.0",
- "dev": true,
- "requires": {
- "@typescript-eslint/typescript-estree": "7.8.0",
- "@typescript-eslint/utils": "7.8.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.3.0"
- }
- },
- "@typescript-eslint/types": {
- "version": "7.8.0",
- "dev": true
- },
- "@typescript-eslint/typescript-estree": {
- "version": "7.8.0",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/visitor-keys": "7.8.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- }
- },
- "@typescript-eslint/utils": {
- "version": "7.8.0",
- "dev": true,
- "requires": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.15",
- "@types/semver": "^7.5.8",
- "@typescript-eslint/scope-manager": "7.8.0",
- "@typescript-eslint/types": "7.8.0",
- "@typescript-eslint/typescript-estree": "7.8.0",
- "semver": "^7.6.0"
- }
- },
- "@typescript-eslint/visitor-keys": {
- "version": "7.8.0",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "7.8.0",
- "eslint-visitor-keys": "^3.4.3"
- }
- },
- "@ungap/structured-clone": {
- "version": "1.2.0",
- "dev": true
- },
- "@vitejs/plugin-react-swc": {
- "version": "3.6.0",
- "dev": true,
- "requires": {
- "@swc/core": "^1.3.107"
- }
- },
- "@vitest/expect": {
- "version": "1.3.1",
- "dev": true,
- "requires": {
- "@vitest/spy": "1.3.1",
- "@vitest/utils": "1.3.1",
- "chai": "^4.3.10"
- },
- "dependencies": {
- "@vitest/spy": {
- "version": "1.3.1",
- "dev": true,
- "requires": {
- "tinyspy": "^2.2.0"
- }
- },
- "@vitest/utils": {
- "version": "1.3.1",
- "dev": true,
- "requires": {
- "diff-sequences": "^29.6.3",
- "estree-walker": "^3.0.3",
- "loupe": "^2.3.7",
- "pretty-format": "^29.7.0"
- }
- },
- "ansi-styles": {
- "version": "5.2.0",
- "dev": true
- },
- "estree-walker": {
- "version": "3.0.3",
- "dev": true,
- "requires": {
- "@types/estree": "^1.0.0"
- }
- },
- "pretty-format": {
- "version": "29.7.0",
- "dev": true,
- "requires": {
- "@jest/schemas": "^29.6.3",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- }
- },
- "react-is": {
- "version": "18.3.1",
- "dev": true
- }
- }
- },
- "@vitest/spy": {
- "version": "1.6.0",
- "dev": true,
- "requires": {
- "tinyspy": "^2.2.0"
- }
- },
- "@vitest/utils": {
- "version": "1.6.0",
- "dev": true,
- "requires": {
- "diff-sequences": "^29.6.3",
- "estree-walker": "^3.0.3",
- "loupe": "^2.3.7",
- "pretty-format": "^29.7.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "dev": true
- },
- "estree-walker": {
- "version": "3.0.3",
- "dev": true,
- "requires": {
- "@types/estree": "^1.0.0"
- }
- },
- "pretty-format": {
- "version": "29.7.0",
- "dev": true,
- "requires": {
- "@jest/schemas": "^29.6.3",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- }
- },
- "react-is": {
- "version": "18.3.1",
- "dev": true
- }
- }
- },
- "@yarnpkg/fslib": {
- "version": "2.10.3",
- "dev": true,
- "requires": {
- "@yarnpkg/libzip": "^2.3.0",
- "tslib": "^1.13.0"
- }
- },
- "@yarnpkg/libzip": {
- "version": "2.3.0",
- "dev": true,
- "requires": {
- "@types/emscripten": "^1.39.6",
- "tslib": "^1.13.0"
- }
- },
- "@zmkfirmware/zmk-studio-ts-client": {
- "version": "0.0.18",
- "resolved": "https://registry.npmjs.org/@zmkfirmware/zmk-studio-ts-client/-/zmk-studio-ts-client-0.0.18.tgz",
- "integrity": "sha512-S3NIkwL0zGOMZCf69Fy6LhhsC07clHoeAEx0JdMtNKfBfPTBIn0CYlkkUvrophAQwBpOQqEyw3gi7uc9WzuOCQ==",
- "requires": {
- "async-mutex": "^0.5.0",
- "protobufjs": "^7.3.2"
- }
- },
- "accepts": {
- "version": "1.3.8",
- "dev": true,
- "requires": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- }
- },
- "acorn": {
- "version": "8.11.3",
- "dev": true
- },
- "acorn-jsx": {
- "version": "5.3.2",
- "dev": true,
- "requires": {}
- },
- "acorn-walk": {
- "version": "7.2.0",
- "dev": true
- },
- "aggregate-error": {
- "version": "3.1.0",
- "dev": true,
- "requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- }
- },
- "ajv": {
- "version": "6.12.6",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-regex": {
- "version": "5.0.1"
- },
- "ansi-styles": {
- "version": "4.3.0",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "any-promise": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
- },
- "anymatch": {
- "version": "3.1.3",
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "app-root-dir": {
- "version": "1.0.2",
- "dev": true
- },
- "arg": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
- },
- "argparse": {
- "version": "2.0.1",
- "dev": true
- },
- "aria-query": {
- "version": "5.1.3",
- "dev": true,
- "requires": {
- "deep-equal": "^2.0.5"
- }
- },
- "array-buffer-byte-length": {
- "version": "1.0.1",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.5",
- "is-array-buffer": "^3.0.4"
- }
- },
- "array-flatten": {
- "version": "1.1.1",
- "dev": true
- },
- "array-union": {
- "version": "2.1.0",
- "dev": true
- },
- "assert": {
- "version": "2.1.0",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "is-nan": "^1.3.2",
- "object-is": "^1.1.5",
- "object.assign": "^4.1.4",
- "util": "^0.12.5"
- }
- },
- "assertion-error": {
- "version": "1.1.0",
- "dev": true
- },
- "ast-types": {
- "version": "0.16.1",
- "dev": true,
- "requires": {
- "tslib": "^2.0.1"
- },
- "dependencies": {
- "tslib": {
- "version": "2.6.2",
- "dev": true
- }
- }
- },
- "async-mutex": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz",
- "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==",
- "requires": {
- "tslib": "^2.4.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- }
- }
- },
- "autoprefixer": {
- "version": "10.4.19",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz",
- "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==",
- "dev": true,
- "requires": {
- "browserslist": "^4.23.0",
- "caniuse-lite": "^1.0.30001599",
- "fraction.js": "^4.3.7",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "available-typed-arrays": {
- "version": "1.0.7",
- "dev": true,
- "requires": {
- "possible-typed-array-names": "^1.0.0"
- }
- },
- "balanced-match": {
- "version": "1.0.2"
- },
- "better-opn": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz",
- "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==",
- "dev": true,
- "requires": {
- "open": "^8.0.4"
- }
- },
- "binary-extensions": {
- "version": "2.3.0"
- },
- "body-parser": {
- "version": "1.20.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
- "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
- "dev": true,
- "requires": {
- "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.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.13.0",
- "raw-body": "2.5.2",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- }
- }
- },
- "brace-expansion": {
- "version": "2.0.1",
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "requires": {
- "fill-range": "^7.1.1"
- }
- },
- "browser-assert": {
- "version": "1.2.1",
- "dev": true
- },
- "browserslist": {
- "version": "4.23.0",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001587",
- "electron-to-chromium": "^1.4.668",
- "node-releases": "^2.0.14",
- "update-browserslist-db": "^1.0.13"
- }
- },
- "bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "dev": true
- },
- "call-bind": {
- "version": "1.0.7",
- "dev": true,
- "requires": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "set-function-length": "^1.2.1"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "dev": true
- },
- "camelcase-css": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
- },
- "caniuse-lite": {
- "version": "1.0.30001617",
- "dev": true
- },
- "chai": {
- "version": "4.4.1",
- "dev": true,
- "requires": {
- "assertion-error": "^1.1.0",
- "check-error": "^1.0.3",
- "deep-eql": "^4.1.3",
- "get-func-name": "^2.0.2",
- "loupe": "^2.3.6",
- "pathval": "^1.1.1",
- "type-detect": "^4.0.8"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "check-error": {
- "version": "1.0.3",
- "dev": true,
- "requires": {
- "get-func-name": "^2.0.2"
- }
- },
- "chokidar": {
- "version": "3.6.0",
- "requires": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "fsevents": "~2.3.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "chromatic": {
- "version": "11.3.2",
- "dev": true,
- "requires": {}
- },
- "clean-stack": {
- "version": "2.2.0",
- "dev": true
- },
- "client-only": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
- "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
- },
- "clsx": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
- "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="
- },
- "color-convert": {
- "version": "2.0.1",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4"
- },
- "commondir": {
- "version": "1.0.1",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "dev": true
- },
- "content-disposition": {
- "version": "0.5.4",
- "dev": true,
- "requires": {
- "safe-buffer": "5.2.1"
- }
- },
- "content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
- "dev": true
- },
- "convert-source-map": {
- "version": "2.0.0",
- "dev": true
- },
- "cookie": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
- "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
- "dev": true
- },
- "cookie-signature": {
- "version": "1.0.6",
- "dev": true
- },
- "cross-spawn": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "crypto-random-string": {
- "version": "2.0.0",
- "dev": true
- },
- "css.escape": {
- "version": "1.5.1",
- "dev": true
- },
- "cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
- },
- "csstype": {
- "version": "3.1.3",
- "dev": true
- },
- "debug": {
- "version": "4.3.4",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "deep-eql": {
- "version": "4.1.3",
- "dev": true,
- "requires": {
- "type-detect": "^4.0.0"
- }
- },
- "deep-equal": {
- "version": "2.2.3",
- "dev": true,
- "requires": {
- "array-buffer-byte-length": "^1.0.0",
- "call-bind": "^1.0.5",
- "es-get-iterator": "^1.1.3",
- "get-intrinsic": "^1.2.2",
- "is-arguments": "^1.1.1",
- "is-array-buffer": "^3.0.2",
- "is-date-object": "^1.0.5",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "isarray": "^2.0.5",
- "object-is": "^1.1.5",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.5.1",
- "side-channel": "^1.0.4",
- "which-boxed-primitive": "^1.0.2",
- "which-collection": "^1.0.1",
- "which-typed-array": "^1.1.13"
- }
- },
- "deep-is": {
- "version": "0.1.4",
- "dev": true
- },
- "define-data-property": {
- "version": "1.1.4",
- "dev": true,
- "requires": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "gopd": "^1.0.1"
- }
- },
- "define-lazy-prop": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
- "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
- "dev": true
- },
- "define-properties": {
- "version": "1.2.1",
- "dev": true,
- "requires": {
- "define-data-property": "^1.0.1",
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- }
- },
- "del": {
- "version": "6.1.1",
- "dev": true,
- "requires": {
- "globby": "^11.0.1",
- "graceful-fs": "^4.2.4",
- "is-glob": "^4.0.1",
- "is-path-cwd": "^2.2.0",
- "is-path-inside": "^3.0.2",
- "p-map": "^4.0.0",
- "rimraf": "^3.0.2",
- "slash": "^3.0.0"
- }
- },
- "depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "dev": true
- },
- "dequal": {
- "version": "2.0.3",
- "dev": true
- },
- "destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "dev": true
- },
- "didyoumean": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
- },
- "diff-sequences": {
- "version": "29.6.3",
- "dev": true
- },
- "dir-glob": {
- "version": "3.0.1",
- "dev": true,
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "dlv": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
- },
- "doctrine": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "dom-accessibility-api": {
- "version": "0.5.16",
- "dev": true
- },
- "dotenv": {
- "version": "16.4.5",
- "dev": true
- },
- "dotenv-expand": {
- "version": "10.0.0",
- "dev": true
- },
- "eastasianwidth": {
- "version": "0.2.0"
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
- "dev": true
- },
- "electron-to-chromium": {
- "version": "1.4.765",
- "dev": true
- },
- "emittery": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-1.0.3.tgz",
- "integrity": "sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA=="
- },
- "emoji-regex": {
- "version": "8.0.0"
- },
- "encodeurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
- "dev": true
- },
- "es-define-property": {
- "version": "1.0.0",
- "dev": true,
- "requires": {
- "get-intrinsic": "^1.2.4"
- }
- },
- "es-errors": {
- "version": "1.3.0",
- "dev": true
- },
- "es-get-iterator": {
- "version": "1.1.3",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "has-symbols": "^1.0.3",
- "is-arguments": "^1.1.1",
- "is-map": "^2.0.2",
- "is-set": "^2.0.2",
- "is-string": "^1.0.7",
- "isarray": "^2.0.5",
- "stop-iteration-iterator": "^1.0.0"
- }
- },
- "es-module-lexer": {
- "version": "0.9.3",
- "dev": true
- },
- "esbuild": {
- "version": "0.20.2",
- "dev": true,
- "requires": {
- "@esbuild/aix-ppc64": "0.20.2",
- "@esbuild/android-arm": "0.20.2",
- "@esbuild/android-arm64": "0.20.2",
- "@esbuild/android-x64": "0.20.2",
- "@esbuild/darwin-arm64": "0.20.2",
- "@esbuild/darwin-x64": "0.20.2",
- "@esbuild/freebsd-arm64": "0.20.2",
- "@esbuild/freebsd-x64": "0.20.2",
- "@esbuild/linux-arm": "0.20.2",
- "@esbuild/linux-arm64": "0.20.2",
- "@esbuild/linux-ia32": "0.20.2",
- "@esbuild/linux-loong64": "0.20.2",
- "@esbuild/linux-mips64el": "0.20.2",
- "@esbuild/linux-ppc64": "0.20.2",
- "@esbuild/linux-riscv64": "0.20.2",
- "@esbuild/linux-s390x": "0.20.2",
- "@esbuild/linux-x64": "0.20.2",
- "@esbuild/netbsd-x64": "0.20.2",
- "@esbuild/openbsd-x64": "0.20.2",
- "@esbuild/sunos-x64": "0.20.2",
- "@esbuild/win32-arm64": "0.20.2",
- "@esbuild/win32-ia32": "0.20.2",
- "@esbuild/win32-x64": "0.20.2"
- },
- "dependencies": {
- "@esbuild/darwin-arm64": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz",
- "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==",
- "dev": true,
- "optional": true
- }
- }
- },
- "esbuild-register": {
- "version": "3.5.0",
- "dev": true,
- "requires": {
- "debug": "^4.3.4"
- }
- },
- "escalade": {
- "version": "3.1.2",
- "dev": true
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "dev": true
- },
- "escodegen": {
- "version": "2.1.0",
- "dev": true,
- "requires": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "source-map": "~0.6.1"
- }
- },
- "eslint": {
- "version": "8.57.0",
- "dev": true,
- "requires": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.0",
- "@humanwhocodes/config-array": "^0.11.14",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
- "ajv": "^6.12.4",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "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.4.2",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
- "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.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "1.1.11",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "eslint-plugin-react-hooks": {
- "version": "4.6.2",
- "dev": true,
- "requires": {}
- },
- "eslint-plugin-react-refresh": {
- "version": "0.4.7",
- "dev": true,
- "requires": {}
- },
- "eslint-plugin-storybook": {
- "version": "0.8.0",
- "dev": true,
- "requires": {
- "@storybook/csf": "^0.0.1",
- "@typescript-eslint/utils": "^5.62.0",
- "requireindex": "^1.2.0",
- "ts-dedent": "^2.2.0"
- },
- "dependencies": {
- "@storybook/csf": {
- "version": "0.0.1",
- "dev": true,
- "requires": {
- "lodash": "^4.17.15"
- }
- },
- "@typescript-eslint/scope-manager": {
- "version": "5.62.0",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0"
- }
- },
- "@typescript-eslint/types": {
- "version": "5.62.0",
- "dev": true
- },
- "@typescript-eslint/typescript-estree": {
- "version": "5.62.0",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- }
- },
- "@typescript-eslint/utils": {
- "version": "5.62.0",
- "dev": true,
- "requires": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "eslint-scope": "^5.1.1",
- "semver": "^7.3.7"
- }
- },
- "@typescript-eslint/visitor-keys": {
- "version": "5.62.0",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.62.0",
- "eslint-visitor-keys": "^3.3.0"
- }
- },
- "eslint-scope": {
- "version": "5.1.1",
- "dev": true,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- }
- },
- "estraverse": {
- "version": "4.3.0",
- "dev": true
- }
- }
- },
- "eslint-scope": {
- "version": "7.2.2",
- "dev": true,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- }
- },
- "eslint-visitor-keys": {
- "version": "3.4.3",
- "dev": true
- },
- "espree": {
- "version": "9.6.1",
- "dev": true,
- "requires": {
- "acorn": "^8.9.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
- }
- },
- "esprima": {
- "version": "4.0.1",
- "dev": true
- },
- "esquery": {
- "version": "1.5.0",
- "dev": true,
- "requires": {
- "estraverse": "^5.1.0"
- }
- },
- "esrecurse": {
- "version": "4.3.0",
- "dev": true,
- "requires": {
- "estraverse": "^5.2.0"
- }
- },
- "estraverse": {
- "version": "5.3.0",
- "dev": true
- },
- "estree-walker": {
- "version": "2.0.2",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "dev": true
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "dev": true
- },
- "execa": {
- "version": "5.1.1",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- }
- },
- "express": {
- "version": "4.21.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz",
- "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==",
- "dev": true,
- "requires": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.3",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.7.1",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.3.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.3",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.10",
- "proxy-addr": "~2.0.7",
- "qs": "6.13.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.19.0",
- "serve-static": "1.16.2",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "dev": true
- }
- }
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "dev": true
- },
- "fast-glob": {
- "version": "3.3.2",
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "dev": true
- },
- "fastq": {
- "version": "1.17.1",
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "file-entry-cache": {
- "version": "6.0.1",
- "dev": true,
- "requires": {
- "flat-cache": "^3.0.4"
- }
- },
- "file-system-cache": {
- "version": "2.3.0",
- "dev": true,
- "requires": {
- "fs-extra": "11.1.1",
- "ramda": "0.29.0"
- },
- "dependencies": {
- "fs-extra": {
- "version": "11.1.1",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- }
- }
- },
- "filesize": {
- "version": "10.1.2",
- "dev": true
- },
- "fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "finalhandler": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
- "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
- "dev": true,
- "requires": {
- "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.1",
- "unpipe": "~1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- }
- }
- },
- "find-cache-dir": {
- "version": "3.3.2",
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "dependencies": {
- "find-up": {
- "version": "4.1.0",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "pkg-dir": {
- "version": "4.2.0",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- }
- }
- }
- },
- "find-up": {
- "version": "5.0.0",
- "dev": true,
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "flat-cache": {
- "version": "3.2.0",
- "dev": true,
- "requires": {
- "flatted": "^3.2.9",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
- }
- },
- "flatted": {
- "version": "3.3.1",
- "dev": true
- },
- "for-each": {
- "version": "0.3.3",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.3"
- }
- },
- "foreground-child": {
- "version": "3.1.1",
- "requires": {
- "cross-spawn": "^7.0.0",
- "signal-exit": "^4.0.1"
- },
- "dependencies": {
- "signal-exit": {
- "version": "4.1.0"
- }
- }
- },
- "forwarded": {
- "version": "0.2.0",
- "dev": true
- },
- "fraction.js": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
- "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
- "dev": true
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
- "dev": true
- },
- "fs-extra": {
- "version": "11.2.0",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "dev": true
- },
- "fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "optional": true
- },
- "function-bind": {
- "version": "1.1.2"
- },
- "functions-have-names": {
- "version": "1.2.3",
- "dev": true
- },
- "gensync": {
- "version": "1.0.0-beta.2",
- "dev": true
- },
- "get-func-name": {
- "version": "2.0.2",
- "dev": true
- },
- "get-intrinsic": {
- "version": "1.2.4",
- "dev": true,
- "requires": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.0"
- }
- },
- "get-stream": {
- "version": "6.0.1",
- "dev": true
- },
- "github-slugger": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
- "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==",
- "dev": true
- },
- "glob": {
- "version": "7.2.3",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "1.1.11",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "glob-parent": {
- "version": "6.0.2",
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "glob-promise": {
- "version": "4.2.2",
- "dev": true,
- "requires": {
- "@types/glob": "^7.1.3"
- }
- },
- "globals": {
- "version": "13.24.0",
- "dev": true,
- "requires": {
- "type-fest": "^0.20.2"
- }
- },
- "globby": {
- "version": "11.1.0",
- "dev": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- }
- },
- "gopd": {
- "version": "1.0.1",
- "dev": true,
- "requires": {
- "get-intrinsic": "^1.1.3"
- }
- },
- "graceful-fs": {
- "version": "4.2.11",
- "dev": true
- },
- "graphemer": {
- "version": "1.4.0",
- "dev": true
- },
- "handlebars": {
- "version": "4.7.8",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5",
- "neo-async": "^2.6.2",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4",
- "wordwrap": "^1.0.0"
- }
- },
- "has-bigints": {
- "version": "1.0.2",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "dev": true
- },
- "has-property-descriptors": {
- "version": "1.0.2",
- "dev": true,
- "requires": {
- "es-define-property": "^1.0.0"
- }
- },
- "has-proto": {
- "version": "1.0.3",
- "dev": true
- },
- "has-symbols": {
- "version": "1.0.3",
- "dev": true
- },
- "has-tostringtag": {
- "version": "1.0.2",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.3"
- }
- },
- "hasown": {
- "version": "2.0.2",
- "requires": {
- "function-bind": "^1.1.2"
- }
- },
- "hast-util-heading-rank": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz",
- "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==",
- "dev": true,
- "requires": {
- "@types/hast": "^3.0.0"
- }
- },
- "hast-util-is-element": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
- "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
- "dev": true,
- "requires": {
- "@types/hast": "^3.0.0"
- }
- },
- "hast-util-to-string": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz",
- "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==",
- "dev": true,
- "requires": {
- "@types/hast": "^3.0.0"
- }
- },
- "html-tags": {
- "version": "3.3.1",
- "dev": true
- },
- "http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "dev": true,
- "requires": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- }
- },
- "human-signals": {
- "version": "2.1.0",
- "dev": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ignore": {
- "version": "5.3.1",
- "dev": true
- },
- "immer": {
- "version": "10.1.1",
- "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz",
- "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw=="
- },
- "import-fresh": {
- "version": "3.3.0",
- "dev": true,
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "dev": true
- },
- "indent-string": {
- "version": "4.0.0",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "dev": true
- },
- "internal-slot": {
- "version": "1.0.7",
- "dev": true,
- "requires": {
- "es-errors": "^1.3.0",
- "hasown": "^2.0.0",
- "side-channel": "^1.0.4"
- }
- },
- "intl-messageformat": {
- "version": "10.5.14",
- "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.14.tgz",
- "integrity": "sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==",
- "requires": {
- "@formatjs/ecma402-abstract": "2.0.0",
- "@formatjs/fast-memoize": "2.2.0",
- "@formatjs/icu-messageformat-parser": "2.7.8",
- "tslib": "^2.4.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- }
- }
- },
- "ipaddr.js": {
- "version": "1.9.1",
- "dev": true
- },
- "is-absolute-url": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz",
- "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==",
- "dev": true
- },
- "is-arguments": {
- "version": "1.1.1",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-array-buffer": {
- "version": "3.0.4",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1"
- }
- },
- "is-bigint": {
- "version": "1.0.4",
- "dev": true,
- "requires": {
- "has-bigints": "^1.0.1"
- }
- },
- "is-binary-path": {
- "version": "2.1.0",
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-boolean-object": {
- "version": "1.1.2",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-callable": {
- "version": "1.2.7",
- "dev": true
- },
- "is-core-module": {
- "version": "2.13.1",
- "requires": {
- "hasown": "^2.0.0"
- }
- },
- "is-date-object": {
- "version": "1.0.5",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-docker": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
- "dev": true
- },
- "is-extglob": {
- "version": "2.1.1"
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0"
- },
- "is-generator-function": {
- "version": "1.0.10",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-glob": {
- "version": "4.0.3",
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-map": {
- "version": "2.0.3",
- "dev": true
- },
- "is-nan": {
- "version": "1.3.2",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
- },
- "is-number-object": {
- "version": "1.0.7",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-path-cwd": {
- "version": "2.2.0",
- "dev": true
- },
- "is-path-inside": {
- "version": "3.0.3",
- "dev": true
- },
- "is-plain-object": {
- "version": "5.0.0",
- "dev": true
- },
- "is-regex": {
- "version": "1.1.4",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-set": {
- "version": "2.0.3",
- "dev": true
- },
- "is-shared-array-buffer": {
- "version": "1.0.3",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.7"
- }
- },
- "is-stream": {
- "version": "2.0.1",
- "dev": true
- },
- "is-string": {
- "version": "1.0.7",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-symbol": {
- "version": "1.0.4",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.2"
- }
- },
- "is-typed-array": {
- "version": "1.1.13",
- "dev": true,
- "requires": {
- "which-typed-array": "^1.1.14"
- }
- },
- "is-weakmap": {
- "version": "2.0.2",
- "dev": true
- },
- "is-weakset": {
- "version": "2.0.3",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.7",
- "get-intrinsic": "^1.2.4"
- }
- },
- "is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
- "dev": true,
- "requires": {
- "is-docker": "^2.0.0"
- }
- },
- "isarray": {
- "version": "2.0.5",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0"
- },
- "jackspeak": {
- "version": "2.3.6",
- "dev": true,
- "requires": {
- "@isaacs/cliui": "^8.0.2",
- "@pkgjs/parseargs": "^0.11.0"
- }
- },
- "jiti": {
- "version": "1.21.6",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz",
- "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w=="
- },
- "js-tokens": {
- "version": "4.0.0"
- },
- "js-yaml": {
- "version": "4.1.0",
- "dev": true,
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "jsdoc-type-pratt-parser": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz",
- "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==",
- "dev": true
- },
- "jsesc": {
- "version": "2.5.2",
- "dev": true
- },
- "json-buffer": {
- "version": "3.0.1",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "dev": true
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "dev": true
- },
- "json5": {
- "version": "2.2.3",
- "dev": true
- },
- "jsonfile": {
- "version": "6.1.0",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- }
- },
- "keyv": {
- "version": "4.5.4",
- "dev": true,
- "requires": {
- "json-buffer": "3.0.1"
- }
- },
- "lazy-universal-dotenv": {
- "version": "4.0.0",
- "dev": true,
- "requires": {
- "app-root-dir": "^1.0.2",
- "dotenv": "^16.0.0",
- "dotenv-expand": "^10.0.0"
- }
- },
- "levn": {
- "version": "0.4.1",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- }
- },
- "lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="
- },
- "lines-and-columns": {
- "version": "1.2.4"
- },
- "locate-path": {
- "version": "6.0.0",
- "dev": true,
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "dev": true
- },
- "lodash.merge": {
- "version": "4.6.2",
- "dev": true
- },
- "long": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
- "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
- },
- "loose-envify": {
- "version": "1.4.0",
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- },
- "loupe": {
- "version": "2.3.7",
- "dev": true,
- "requires": {
- "get-func-name": "^2.0.1"
- }
- },
- "lru-cache": {
- "version": "5.1.1",
- "dev": true,
- "requires": {
- "yallist": "^3.0.2"
- }
- },
- "lucide-react": {
- "version": "0.445.0",
- "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.445.0.tgz",
- "integrity": "sha512-YrLf3aAHvmd4dZ8ot+mMdNFrFpJD7YRwQ2pUcBhgqbmxtrMP4xDzIorcj+8y+6kpuXBF4JB0NOCTUWIYetJjgA==",
- "requires": {}
- },
- "lz-string": {
- "version": "1.5.0",
- "dev": true
- },
- "magic-string": {
- "version": "0.30.10",
- "dev": true,
- "requires": {
- "@jridgewell/sourcemap-codec": "^1.4.15"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.1",
- "dev": true
- }
- }
- },
- "map-or-similar": {
- "version": "1.5.0",
- "dev": true
- },
- "markdown-to-jsx": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.5.0.tgz",
- "integrity": "sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw==",
- "dev": true,
- "requires": {}
- },
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "dev": true
- },
- "memoizerific": {
- "version": "1.11.3",
- "dev": true,
- "requires": {
- "map-or-similar": "^1.5.0"
- }
- },
- "merge-descriptors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
- "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
- "dev": true
- },
- "merge-stream": {
- "version": "2.0.0",
- "dev": true
- },
- "merge2": {
- "version": "1.4.1"
- },
- "methods": {
- "version": "1.1.2",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "requires": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true
- },
- "mime-db": {
- "version": "1.52.0",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.35",
- "dev": true,
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "dev": true
- },
- "min-indent": {
- "version": "1.0.1",
- "dev": true
- },
- "minimatch": {
- "version": "9.0.4",
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- },
- "minimist": {
- "version": "1.2.8",
- "dev": true
- },
- "minipass": {
- "version": "5.0.0"
- },
- "ms": {
- "version": "2.1.2",
- "dev": true
- },
- "mz": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
- "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
- "requires": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
- }
- },
- "nanoid": {
- "version": "3.3.7"
- },
- "natural-compare": {
- "version": "1.4.0",
- "dev": true
- },
- "negotiator": {
- "version": "0.6.3",
- "dev": true
- },
- "neo-async": {
- "version": "2.6.2",
- "dev": true
- },
- "node-fetch": {
- "version": "2.7.0",
- "dev": true,
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- },
- "node-releases": {
- "version": "2.0.14",
- "dev": true
- },
- "normalize-path": {
- "version": "3.0.0"
- },
- "normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
- "dev": true
- },
- "npm-run-path": {
- "version": "4.0.1",
- "dev": true,
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "object-assign": {
- "version": "4.1.1"
- },
- "object-hash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="
- },
- "object-inspect": {
- "version": "1.13.1",
- "dev": true
- },
- "object-is": {
- "version": "1.1.6",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1"
- }
- },
- "object-keys": {
- "version": "1.1.1",
- "dev": true
- },
- "object.assign": {
- "version": "4.1.5",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.5",
- "define-properties": "^1.2.1",
- "has-symbols": "^1.0.3",
- "object-keys": "^1.1.1"
- }
- },
- "on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "dev": true,
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "dev": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "open": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
- "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
- "dev": true,
- "requires": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- }
- },
- "optionator": {
- "version": "0.9.4",
- "dev": true,
- "requires": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.5"
- }
- },
- "p-limit": {
- "version": "3.1.0",
- "dev": true,
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "p-locate": {
- "version": "5.0.0",
- "dev": true,
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
- "p-map": {
- "version": "4.0.0",
- "dev": true,
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "dev": true
- },
- "parent-module": {
- "version": "1.0.1",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true
- },
- "path-exists": {
- "version": "4.0.0",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "dev": true
- },
- "path-key": {
- "version": "3.1.1"
- },
- "path-parse": {
- "version": "1.0.7"
- },
- "path-scurry": {
- "version": "1.11.1",
- "requires": {
- "lru-cache": "^10.2.0",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
- },
- "dependencies": {
- "lru-cache": {
- "version": "10.2.2"
- }
- }
- },
- "path-to-regexp": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
- "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
- "dev": true
- },
- "path-type": {
- "version": "4.0.0",
- "dev": true
- },
- "pathval": {
- "version": "1.1.1",
- "dev": true
- },
- "picocolors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
- "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw=="
- },
- "picomatch": {
- "version": "2.3.1"
- },
- "pirates": {
- "version": "4.0.6"
- },
- "pkg-dir": {
- "version": "5.0.0",
- "dev": true,
- "requires": {
- "find-up": "^5.0.0"
- }
- },
- "polished": {
- "version": "4.3.1",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.17.8"
- }
- },
- "possible-typed-array-names": {
- "version": "1.0.0",
- "dev": true
- },
- "postcss": {
- "version": "8.4.47",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
- "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
- "requires": {
- "nanoid": "^3.3.7",
- "picocolors": "^1.1.0",
- "source-map-js": "^1.2.1"
- }
- },
- "postcss-import": {
- "version": "15.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
- "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
- "requires": {
- "postcss-value-parser": "^4.0.0",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
- }
- },
- "postcss-js": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
- "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
- "requires": {
- "camelcase-css": "^2.0.1"
- }
- },
- "postcss-load-config": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
- "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
- "requires": {
- "lilconfig": "^3.0.0",
- "yaml": "^2.3.4"
- },
- "dependencies": {
- "lilconfig": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
- "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow=="
- }
- }
- },
- "postcss-nested": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
- "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
- "requires": {
- "postcss-selector-parser": "^6.0.11"
- }
- },
- "postcss-selector-parser": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz",
- "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==",
- "requires": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
- },
- "prelude-ls": {
- "version": "1.2.1",
- "dev": true
- },
- "prettier": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz",
- "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==",
- "dev": true
- },
- "pretty-format": {
- "version": "27.5.1",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "dev": true
- }
- }
- },
- "pretty-hrtime": {
- "version": "1.0.3",
- "dev": true
- },
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
- "dev": true
- },
- "prop-types": {
- "version": "15.8.1",
- "requires": {
- "loose-envify": "^1.4.0",
- "object-assign": "^4.1.1",
- "react-is": "^16.13.1"
- },
- "dependencies": {
- "react-is": {
- "version": "16.13.1"
- }
- }
- },
- "protobufjs": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz",
- "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==",
- "requires": {
- "@protobufjs/aspromise": "^1.1.2",
- "@protobufjs/base64": "^1.1.2",
- "@protobufjs/codegen": "^2.0.4",
- "@protobufjs/eventemitter": "^1.1.0",
- "@protobufjs/fetch": "^1.1.0",
- "@protobufjs/float": "^1.0.2",
- "@protobufjs/inquire": "^1.1.0",
- "@protobufjs/path": "^1.1.2",
- "@protobufjs/pool": "^1.1.0",
- "@protobufjs/utf8": "^1.1.0",
- "@types/node": ">=13.7.0",
- "long": "^5.0.0"
- }
- },
- "proxy-addr": {
- "version": "2.0.7",
- "dev": true,
- "requires": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- }
- },
- "punycode": {
- "version": "2.3.1",
- "dev": true
- },
- "qs": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
- "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
- "dev": true,
- "requires": {
- "side-channel": "^1.0.6"
- }
- },
- "queue-microtask": {
- "version": "1.2.3"
- },
- "ramda": {
- "version": "0.29.0",
- "dev": true
- },
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "dev": true
- },
- "raw-body": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
- "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
- "dev": true,
- "requires": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- }
- },
- "react": {
- "version": "18.3.1",
- "requires": {
- "loose-envify": "^1.1.0"
- }
- },
- "react-aria": {
- "version": "3.35.0",
- "resolved": "https://registry.npmjs.org/react-aria/-/react-aria-3.35.0.tgz",
- "integrity": "sha512-cbbd3iIveLDRnpVrpc1iuz8OMlDdH6u8EjncW3MQuYOiEGaho9xcDtWMKiSEIZASEnd7LK4Rgm5iVPr2O+cssw==",
- "requires": {
- "@internationalized/string": "^3.2.4",
- "@react-aria/breadcrumbs": "^3.5.17",
- "@react-aria/button": "^3.10.0",
- "@react-aria/calendar": "^3.5.12",
- "@react-aria/checkbox": "^3.14.7",
- "@react-aria/color": "^3.0.0",
- "@react-aria/combobox": "^3.10.4",
- "@react-aria/datepicker": "^3.11.3",
- "@react-aria/dialog": "^3.5.18",
- "@react-aria/dnd": "^3.7.3",
- "@react-aria/focus": "^3.18.3",
- "@react-aria/gridlist": "^3.9.4",
- "@react-aria/i18n": "^3.12.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/label": "^3.7.12",
- "@react-aria/link": "^3.7.5",
- "@react-aria/listbox": "^3.13.4",
- "@react-aria/menu": "^3.15.4",
- "@react-aria/meter": "^3.4.17",
- "@react-aria/numberfield": "^3.11.7",
- "@react-aria/overlays": "^3.23.3",
- "@react-aria/progress": "^3.4.17",
- "@react-aria/radio": "^3.10.8",
- "@react-aria/searchfield": "^3.7.9",
- "@react-aria/select": "^3.14.10",
- "@react-aria/selection": "^3.20.0",
- "@react-aria/separator": "^3.4.3",
- "@react-aria/slider": "^3.7.12",
- "@react-aria/ssr": "^3.9.6",
- "@react-aria/switch": "^3.6.8",
- "@react-aria/table": "^3.15.4",
- "@react-aria/tabs": "^3.9.6",
- "@react-aria/tag": "^3.4.6",
- "@react-aria/textfield": "^3.14.9",
- "@react-aria/tooltip": "^3.7.8",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/visually-hidden": "^3.8.16",
- "@react-types/shared": "^3.25.0"
- }
- },
- "react-aria-components": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/react-aria-components/-/react-aria-components-1.4.0.tgz",
- "integrity": "sha512-CpeSeGI2FVT3hOzA28fhIGkrPPQPtz3gVHBfMWkXSuLUBaKFZQhdCLBXlpO5MoZV1RrC+e7mhOVREkw6DvlxKw==",
- "requires": {
- "@internationalized/date": "^3.5.6",
- "@internationalized/string": "^3.2.4",
- "@react-aria/accordion": "3.0.0-alpha.34",
- "@react-aria/collections": "3.0.0-alpha.5",
- "@react-aria/color": "^3.0.0",
- "@react-aria/disclosure": "3.0.0-alpha.0",
- "@react-aria/dnd": "^3.7.3",
- "@react-aria/focus": "^3.18.3",
- "@react-aria/interactions": "^3.22.3",
- "@react-aria/live-announcer": "^3.4.0",
- "@react-aria/menu": "^3.15.4",
- "@react-aria/toolbar": "3.0.0-beta.9",
- "@react-aria/tree": "3.0.0-beta.0",
- "@react-aria/utils": "^3.25.3",
- "@react-aria/virtualizer": "^4.0.3",
- "@react-stately/color": "^3.8.0",
- "@react-stately/disclosure": "3.0.0-alpha.0",
- "@react-stately/layout": "^4.0.3",
- "@react-stately/menu": "^3.8.3",
- "@react-stately/table": "^3.12.3",
- "@react-stately/utils": "^3.10.4",
- "@react-stately/virtualizer": "^4.1.0",
- "@react-types/color": "^3.0.0",
- "@react-types/form": "^3.7.7",
- "@react-types/grid": "^3.2.9",
- "@react-types/shared": "^3.25.0",
- "@react-types/table": "^3.10.2",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "react-aria": "^3.35.0",
- "react-stately": "^3.33.0",
- "use-sync-external-store": "^1.2.0"
- }
- },
- "react-colorful": {
- "version": "5.6.1",
- "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz",
- "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==",
- "dev": true,
- "requires": {}
- },
- "react-confetti": {
- "version": "6.1.0",
- "dev": true,
- "requires": {
- "tween-functions": "^1.2.0"
- }
- },
- "react-docgen": {
- "version": "7.0.3",
- "dev": true,
- "requires": {
- "@babel/core": "^7.18.9",
- "@babel/traverse": "^7.18.9",
- "@babel/types": "^7.18.9",
- "@types/babel__core": "^7.18.0",
- "@types/babel__traverse": "^7.18.0",
- "@types/doctrine": "^0.0.9",
- "@types/resolve": "^1.20.2",
- "doctrine": "^3.0.0",
- "resolve": "^1.22.1",
- "strip-indent": "^4.0.0"
- },
- "dependencies": {
- "@types/doctrine": {
- "version": "0.0.9",
- "dev": true
- }
- }
- },
- "react-docgen-typescript": {
- "version": "2.2.2",
- "dev": true,
- "requires": {}
- },
- "react-dom": {
- "version": "18.3.1",
- "requires": {
- "loose-envify": "^1.1.0",
- "scheduler": "^0.23.2"
- }
- },
- "react-element-to-jsx-string": {
- "version": "15.0.0",
- "dev": true,
- "requires": {
- "@base2/pretty-print-object": "1.0.1",
- "is-plain-object": "5.0.0",
- "react-is": "18.1.0"
- },
- "dependencies": {
- "react-is": {
- "version": "18.1.0",
- "dev": true
- }
- }
- },
- "react-is": {
- "version": "17.0.2",
- "dev": true
- },
- "react-stately": {
- "version": "3.33.0",
- "resolved": "https://registry.npmjs.org/react-stately/-/react-stately-3.33.0.tgz",
- "integrity": "sha512-DNPOxYAPuhuXwSuE1s1K7iSgqG2QOBUZq3bsLAd4gUUZje6Qepkhe7TzK2LWarQYAZ3gC9Xhmnz8ie1fdCo0GA==",
- "requires": {
- "@react-stately/calendar": "^3.5.5",
- "@react-stately/checkbox": "^3.6.9",
- "@react-stately/collections": "^3.11.0",
- "@react-stately/color": "^3.8.0",
- "@react-stately/combobox": "^3.10.0",
- "@react-stately/data": "^3.11.7",
- "@react-stately/datepicker": "^3.10.3",
- "@react-stately/dnd": "^3.4.3",
- "@react-stately/form": "^3.0.6",
- "@react-stately/list": "^3.11.0",
- "@react-stately/menu": "^3.8.3",
- "@react-stately/numberfield": "^3.9.7",
- "@react-stately/overlays": "^3.6.11",
- "@react-stately/radio": "^3.10.8",
- "@react-stately/searchfield": "^3.5.7",
- "@react-stately/select": "^3.6.8",
- "@react-stately/selection": "^3.17.0",
- "@react-stately/slider": "^3.5.8",
- "@react-stately/table": "^3.12.3",
- "@react-stately/tabs": "^3.6.10",
- "@react-stately/toggle": "^3.7.8",
- "@react-stately/tooltip": "^3.4.13",
- "@react-stately/tree": "^3.8.5",
- "@react-types/shared": "^3.25.0"
- }
- },
- "read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "requires": {
- "pify": "^2.3.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
- }
- }
- },
- "readdirp": {
- "version": "3.6.0",
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "recast": {
- "version": "0.23.7",
- "dev": true,
- "requires": {
- "ast-types": "^0.16.1",
- "esprima": "~4.0.0",
- "source-map": "~0.6.1",
- "tiny-invariant": "^1.3.3",
- "tslib": "^2.0.1"
- },
- "dependencies": {
- "tslib": {
- "version": "2.6.2",
- "dev": true
- }
- }
- },
- "redent": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "indent-string": "^4.0.0",
- "strip-indent": "^3.0.0"
- },
- "dependencies": {
- "strip-indent": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "min-indent": "^1.0.0"
- }
- }
- }
- },
- "regenerator-runtime": {
- "version": "0.14.1",
- "dev": true
- },
- "regexp.prototype.flags": {
- "version": "1.5.2",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.6",
- "define-properties": "^1.2.1",
- "es-errors": "^1.3.0",
- "set-function-name": "^2.0.1"
- }
- },
- "rehype-external-links": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz",
- "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==",
- "dev": true,
- "requires": {
- "@types/hast": "^3.0.0",
- "@ungap/structured-clone": "^1.0.0",
- "hast-util-is-element": "^3.0.0",
- "is-absolute-url": "^4.0.0",
- "space-separated-tokens": "^2.0.0",
- "unist-util-visit": "^5.0.0"
- }
- },
- "rehype-slug": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz",
- "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==",
- "dev": true,
- "requires": {
- "@types/hast": "^3.0.0",
- "github-slugger": "^2.0.0",
- "hast-util-heading-rank": "^3.0.0",
- "hast-util-to-string": "^3.0.0",
- "unist-util-visit": "^5.0.0"
- }
- },
- "requireindex": {
- "version": "1.2.0",
- "dev": true
- },
- "resolve": {
- "version": "1.22.8",
- "requires": {
- "is-core-module": "^2.13.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "resolve-from": {
- "version": "4.0.0",
- "dev": true
- },
- "reusify": {
- "version": "1.0.4"
- },
- "rimraf": {
- "version": "3.0.2",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "rollup": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz",
- "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==",
- "dev": true,
- "requires": {
- "@rollup/rollup-android-arm-eabi": "4.24.0",
- "@rollup/rollup-android-arm64": "4.24.0",
- "@rollup/rollup-darwin-arm64": "4.24.0",
- "@rollup/rollup-darwin-x64": "4.24.0",
- "@rollup/rollup-linux-arm-gnueabihf": "4.24.0",
- "@rollup/rollup-linux-arm-musleabihf": "4.24.0",
- "@rollup/rollup-linux-arm64-gnu": "4.24.0",
- "@rollup/rollup-linux-arm64-musl": "4.24.0",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0",
- "@rollup/rollup-linux-riscv64-gnu": "4.24.0",
- "@rollup/rollup-linux-s390x-gnu": "4.24.0",
- "@rollup/rollup-linux-x64-gnu": "4.24.0",
- "@rollup/rollup-linux-x64-musl": "4.24.0",
- "@rollup/rollup-win32-arm64-msvc": "4.24.0",
- "@rollup/rollup-win32-ia32-msvc": "4.24.0",
- "@rollup/rollup-win32-x64-msvc": "4.24.0",
- "@types/estree": "1.0.6",
- "fsevents": "~2.3.2"
- }
- },
- "run-parallel": {
- "version": "1.2.0",
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "run-script-os": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz",
- "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==",
- "dev": true
- },
- "safe-buffer": {
- "version": "5.2.1",
- "dev": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "scheduler": {
- "version": "0.23.2",
- "requires": {
- "loose-envify": "^1.1.0"
- }
- },
- "semver": {
- "version": "7.6.2",
- "dev": true
- },
- "send": {
- "version": "0.19.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
- "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- }
- }
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "dev": true
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
- }
- }
- },
- "serve-static": {
- "version": "1.16.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
- "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
- "dev": true,
- "requires": {
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.19.0"
- }
- },
- "set-function-length": {
- "version": "1.2.2",
- "dev": true,
- "requires": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.2"
- }
- },
- "set-function-name": {
- "version": "2.0.2",
- "dev": true,
- "requires": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.2"
- }
- },
- "setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
- "dev": true
- },
- "shebang-command": {
- "version": "2.0.0",
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0"
- },
- "side-channel": {
- "version": "1.0.6",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.7",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4",
- "object-inspect": "^1.13.1"
- }
- },
- "signal-exit": {
- "version": "3.0.7",
- "dev": true
- },
- "slash": {
- "version": "3.0.0",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "dev": true
- },
- "source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
- },
- "space-separated-tokens": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
- "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
- "dev": true
- },
- "statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "dev": true
- },
- "stop-iteration-iterator": {
- "version": "1.0.0",
- "dev": true,
- "requires": {
- "internal-slot": "^1.0.4"
- }
- },
- "storybook": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.3.5.tgz",
- "integrity": "sha512-hYQVtP2l+3kO8oKDn4fjXXQYxgTRsj/LaV6lUMJH0zt+OhVmDXKJLxmdUP4ieTm0T8wEbSYosFavgPcQZlxRfw==",
- "dev": true,
- "requires": {
- "@storybook/core": "8.3.5"
- }
- },
- "string-width": {
- "version": "4.2.3",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "string-width-cjs": {
- "version": "npm:string-width@4.2.3",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-ansi-cjs": {
- "version": "npm:strip-ansi@6.0.1",
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "dev": true
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "dev": true
- },
- "strip-indent": {
- "version": "4.0.0",
- "dev": true,
- "requires": {
- "min-indent": "^1.0.1"
- }
- },
- "strip-json-comments": {
- "version": "3.1.1",
- "dev": true
- },
- "sucrase": {
- "version": "3.35.0",
- "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
- "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
- "requires": {
- "@jridgewell/gen-mapping": "^0.3.2",
- "commander": "^4.0.0",
- "glob": "^10.3.10",
- "lines-and-columns": "^1.1.6",
- "mz": "^2.7.0",
- "pirates": "^4.0.1",
- "ts-interface-checker": "^0.1.9"
- },
- "dependencies": {
- "commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="
- },
- "glob": {
- "version": "10.4.1",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
- "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
- "requires": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "path-scurry": "^1.11.1"
- }
- },
- "jackspeak": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
- "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
- "requires": {
- "@isaacs/cliui": "^8.0.2",
- "@pkgjs/parseargs": "^0.11.0"
- }
- },
- "minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="
- }
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "supports-preserve-symlinks-flag": {
- "version": "1.0.0"
- },
- "tailwindcss": {
- "version": "3.4.4",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz",
- "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==",
- "requires": {
- "@alloc/quick-lru": "^5.2.0",
- "arg": "^5.0.2",
- "chokidar": "^3.5.3",
- "didyoumean": "^1.2.2",
- "dlv": "^1.1.3",
- "fast-glob": "^3.3.0",
- "glob-parent": "^6.0.2",
- "is-glob": "^4.0.3",
- "jiti": "^1.21.0",
- "lilconfig": "^2.1.0",
- "micromatch": "^4.0.5",
- "normalize-path": "^3.0.0",
- "object-hash": "^3.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.4.23",
- "postcss-import": "^15.1.0",
- "postcss-js": "^4.0.1",
- "postcss-load-config": "^4.0.1",
- "postcss-nested": "^6.0.1",
- "postcss-selector-parser": "^6.0.11",
- "resolve": "^1.22.2",
- "sucrase": "^3.32.0"
- }
- },
- "tailwindcss-react-aria-components": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tailwindcss-react-aria-components/-/tailwindcss-react-aria-components-1.1.3.tgz",
- "integrity": "sha512-j852nEhbvD7/zxpNI7hY+6mYm//2zSKuPPq3NNohMi+/nA0hxjaJGg0LYEPzumn/efNT0Itrq+/TMD+r/m1EqA==",
- "requires": {}
- },
- "telejson": {
- "version": "7.2.0",
- "dev": true,
- "requires": {
- "memoizerific": "^1.11.3"
- }
- },
- "temp-dir": {
- "version": "2.0.0",
- "dev": true
- },
- "tempy": {
- "version": "1.0.1",
- "dev": true,
- "requires": {
- "del": "^6.0.0",
- "is-stream": "^2.0.0",
- "temp-dir": "^2.0.0",
- "type-fest": "^0.16.0",
- "unique-string": "^2.0.0"
- },
- "dependencies": {
- "type-fest": {
- "version": "0.16.0",
- "dev": true
- }
- }
- },
- "text-table": {
- "version": "0.2.0",
- "dev": true
- },
- "thenify": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
- "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
- "requires": {
- "any-promise": "^1.0.0"
- }
- },
- "thenify-all": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
- "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
- "requires": {
- "thenify": ">= 3.1.0 < 4"
- }
- },
- "tiny-invariant": {
- "version": "1.3.3",
- "dev": true
- },
- "tinyspy": {
- "version": "2.2.1",
- "dev": true
- },
- "to-fast-properties": {
- "version": "2.0.0",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "dev": true
- },
- "tr46": {
- "version": "0.0.3",
- "dev": true
- },
- "ts-api-utils": {
- "version": "1.3.0",
- "dev": true,
- "requires": {}
- },
- "ts-dedent": {
- "version": "2.2.0",
- "dev": true
- },
- "ts-interface-checker": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
- "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
- },
- "tsconfig-paths": {
- "version": "4.2.0",
- "dev": true,
- "requires": {
- "json5": "^2.2.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "tslib": {
- "version": "1.14.1",
- "dev": true
- },
- "tsutils": {
- "version": "3.21.0",
- "dev": true,
- "requires": {
- "tslib": "^1.8.1"
- }
- },
- "tween-functions": {
- "version": "1.2.0",
- "dev": true
- },
- "type-check": {
- "version": "0.4.0",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1"
- }
- },
- "type-detect": {
- "version": "4.0.8",
- "dev": true
- },
- "type-fest": {
- "version": "0.20.2",
- "dev": true
- },
- "type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dev": true,
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "typescript": {
- "version": "5.4.5",
- "dev": true
- },
- "uglify-js": {
- "version": "3.17.4",
- "dev": true,
- "optional": true
- },
- "undici-types": {
- "version": "5.26.5"
- },
- "unique-string": {
- "version": "2.0.0",
- "dev": true,
- "requires": {
- "crypto-random-string": "^2.0.0"
- }
- },
- "unist-util-is": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
- "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
- "dev": true,
- "requires": {
- "@types/unist": "^3.0.0"
- }
- },
- "unist-util-visit": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
- "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
- "dev": true,
- "requires": {
- "@types/unist": "^3.0.0",
- "unist-util-is": "^6.0.0",
- "unist-util-visit-parents": "^6.0.0"
- }
- },
- "unist-util-visit-parents": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
- "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
- "dev": true,
- "requires": {
- "@types/unist": "^3.0.0",
- "unist-util-is": "^6.0.0"
- }
- },
- "universalify": {
- "version": "2.0.1",
- "dev": true
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "dev": true
- },
- "unplugin": {
- "version": "1.10.1",
- "dev": true,
- "requires": {
- "acorn": "^8.11.3",
- "chokidar": "^3.6.0",
- "webpack-sources": "^3.2.3",
- "webpack-virtual-modules": "^0.6.1"
- }
- },
- "update-browserslist-db": {
- "version": "1.0.15",
- "dev": true,
- "requires": {
- "escalade": "^3.1.2",
- "picocolors": "^1.0.0"
- }
- },
- "uri-js": {
- "version": "4.4.1",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "use-sync-external-store": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz",
- "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==",
- "requires": {}
- },
- "util": {
- "version": "0.12.5",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "is-arguments": "^1.0.4",
- "is-generator-function": "^1.0.7",
- "is-typed-array": "^1.1.3",
- "which-typed-array": "^1.1.2"
- }
- },
- "util-deprecate": {
- "version": "1.0.2"
- },
- "utils-merge": {
- "version": "1.0.1",
- "dev": true
- },
- "uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
- "dev": true
- },
- "vary": {
- "version": "1.1.2",
- "dev": true
- },
- "vite": {
- "version": "5.4.8",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz",
- "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==",
- "dev": true,
- "requires": {
- "esbuild": "^0.21.3",
- "fsevents": "~2.3.3",
- "postcss": "^8.4.43",
- "rollup": "^4.20.0"
- },
- "dependencies": {
- "@esbuild/aix-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
- "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/android-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
- "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/android-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
- "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
- "dev": true,
- "optional": true
- },
- "@esbuild/android-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
- "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/darwin-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
- "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/darwin-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
- "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/freebsd-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
- "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
- "dev": true,
- "optional": true
- },
- "@esbuild/freebsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
- "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
- "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
- "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
- "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-loong64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
- "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-mips64el": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
- "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
- "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-riscv64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
- "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-s390x": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
- "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
- "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/netbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
- "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/openbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
- "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
- "dev": true,
- "optional": true
- },
- "@esbuild/sunos-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
- "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/win32-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
- "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
- "dev": true,
- "optional": true
- },
- "@esbuild/win32-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
- "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/win32-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
- "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
- "dev": true,
- "optional": true
- },
- "esbuild": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
- "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
- "dev": true,
- "requires": {
- "@esbuild/aix-ppc64": "0.21.5",
- "@esbuild/android-arm": "0.21.5",
- "@esbuild/android-arm64": "0.21.5",
- "@esbuild/android-x64": "0.21.5",
- "@esbuild/darwin-arm64": "0.21.5",
- "@esbuild/darwin-x64": "0.21.5",
- "@esbuild/freebsd-arm64": "0.21.5",
- "@esbuild/freebsd-x64": "0.21.5",
- "@esbuild/linux-arm": "0.21.5",
- "@esbuild/linux-arm64": "0.21.5",
- "@esbuild/linux-ia32": "0.21.5",
- "@esbuild/linux-loong64": "0.21.5",
- "@esbuild/linux-mips64el": "0.21.5",
- "@esbuild/linux-ppc64": "0.21.5",
- "@esbuild/linux-riscv64": "0.21.5",
- "@esbuild/linux-s390x": "0.21.5",
- "@esbuild/linux-x64": "0.21.5",
- "@esbuild/netbsd-x64": "0.21.5",
- "@esbuild/openbsd-x64": "0.21.5",
- "@esbuild/sunos-x64": "0.21.5",
- "@esbuild/win32-arm64": "0.21.5",
- "@esbuild/win32-ia32": "0.21.5",
- "@esbuild/win32-x64": "0.21.5"
- }
- }
- }
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "dev": true
- },
- "webpack-sources": {
- "version": "3.2.3",
- "dev": true
- },
- "webpack-virtual-modules": {
- "version": "0.6.1",
- "dev": true
- },
- "whatwg-url": {
- "version": "5.0.0",
- "dev": true,
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-boxed-primitive": {
- "version": "1.0.2",
- "dev": true,
- "requires": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- }
- },
- "which-collection": {
- "version": "1.0.2",
- "dev": true,
- "requires": {
- "is-map": "^2.0.3",
- "is-set": "^2.0.3",
- "is-weakmap": "^2.0.2",
- "is-weakset": "^2.0.3"
- }
- },
- "which-typed-array": {
- "version": "1.1.15",
- "dev": true,
- "requires": {
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.7",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.2"
- }
- },
- "word-wrap": {
- "version": "1.2.5",
- "dev": true
- },
- "wordwrap": {
- "version": "1.0.0",
- "dev": true
- },
- "wrap-ansi": {
- "version": "8.1.0",
- "requires": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "6.0.1"
- },
- "ansi-styles": {
- "version": "6.2.1"
- },
- "emoji-regex": {
- "version": "9.2.2"
- },
- "string-width": {
- "version": "5.1.2",
- "requires": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- }
- },
- "strip-ansi": {
- "version": "7.1.0",
- "requires": {
- "ansi-regex": "^6.0.1"
- }
- }
- }
- },
- "wrap-ansi-cjs": {
- "version": "npm:wrap-ansi@7.0.0",
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "dev": true
- },
- "ws": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
- "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
- "dev": true,
- "requires": {}
- },
- "yallist": {
- "version": "3.1.1",
- "dev": true
- },
- "yaml": {
- "version": "2.4.5",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz",
- "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg=="
- },
- "yocto-queue": {
- "version": "0.1.0",
- "dev": true
- }
- }
-}
+{
+ "name": "zmk-studio",
+ "version": "0.3.1",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "zmk-studio",
+ "version": "0.3.1",
+ "dependencies": {
+ "@fortawesome/fontawesome-svg-core": "^6.7.1",
+ "@fortawesome/free-brands-svg-icons": "^6.7.1",
+ "@fortawesome/react-fontawesome": "^0.2.2",
+ "@tailwindcss/container-queries": "^0.1.1",
+ "@tauri-apps/api": "^2.0.0",
+ "@tauri-apps/plugin-cli": "^2.0.0",
+ "@zmkfirmware/zmk-studio-ts-client": "^0.0.18",
+ "emittery": "^1.0.3",
+ "immer": "^10.1.1",
+ "lucide-react": "^0.445.0",
+ "react": "^18.2.0",
+ "react-aria-components": "^1.4.0",
+ "react-dom": "^18.2.0",
+ "tailwindcss-react-aria-components": "^1.1.3"
+ },
+ "devDependencies": {
+ "@chromatic-com/storybook": "^1.3.5",
+ "@storybook/addon-essentials": "^8.3.5",
+ "@storybook/addon-interactions": "^8.0.10",
+ "@storybook/addon-links": "^8.0.10",
+ "@storybook/addon-onboarding": "^8.0.10",
+ "@storybook/blocks": "^8.3.5",
+ "@storybook/react": "^8.0.10",
+ "@storybook/react-vite": "^8.0.10",
+ "@storybook/test": "^8.0.10",
+ "@tauri-apps/cli": "^2.0.0",
+ "@types/react": "^18.2.66",
+ "@types/react-dom": "^18.2.22",
+ "@types/w3c-web-serial": "^1.0.6",
+ "@types/web-bluetooth": "^0.0.20",
+ "@typescript-eslint/eslint-plugin": "^7.2.0",
+ "@typescript-eslint/parser": "^7.2.0",
+ "@vitejs/plugin-react-swc": "^3.5.0",
+ "autoprefixer": "^10.4.19",
+ "eslint": "^8.57.0",
+ "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-react-refresh": "^0.4.6",
+ "eslint-plugin-storybook": "^0.8.0",
+ "postcss": "^8.4.38",
+ "prettier": "3.3.2",
+ "run-script-os": "^1.1.6",
+ "storybook": "^8.0.10",
+ "tailwindcss": "^3.4.4",
+ "typescript": "^5.4.5",
+ "vite": "^5.4.8"
+ },
+ "optionalDependencies": {
+ "@esbuild/darwin-arm64": "0.23.0",
+ "@rollup/rollup-darwin-arm64": "^4.18.1"
+ }
+ },
+ "../zmk-studio-ts-client": {
+ "version": "0.0.1-development",
+ "extraneous": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "async-mutex": "^0.5.0"
+ },
+ "devDependencies": {
+ "@ryansonshine/commitizen": "^4.2.8",
+ "@ryansonshine/cz-conventional-changelog": "^3.3.4",
+ "@types/jest": "^29.0.0",
+ "@types/node": "^12.20.11",
+ "@types/w3c-web-serial": "^1.0.6",
+ "@types/web-bluetooth": "^0.0.20",
+ "@typescript-eslint/eslint-plugin": "^4.22.0",
+ "@typescript-eslint/parser": "^4.22.0",
+ "conventional-changelog-conventionalcommits": "^5.0.0",
+ "eslint": "^7.25.0",
+ "eslint-config-prettier": "^8.3.0",
+ "eslint-plugin-node": "^11.1.0",
+ "eslint-plugin-prettier": "^3.4.0",
+ "husky": "^6.0.0",
+ "jest": "^29.0.0",
+ "lint-staged": "^13.2.1",
+ "prettier": "^2.2.1",
+ "semantic-release": "^21.0.1",
+ "ts-jest": "^29.0.0",
+ "ts-node": "^10.2.1",
+ "ts-proto": "^1.174.0",
+ "typescript": "^4.2.4",
+ "web-streams-polyfill": "4.0.0"
+ },
+ "engines": {
+ "node": ">=12.0"
+ }
+ },
+ "../zmk/rpc-clients/typescript/ts-zmk-rpc-core": {
+ "version": "0.0.1-development",
+ "extraneous": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "async-mutex": "^0.5.0"
+ },
+ "devDependencies": {
+ "@ryansonshine/commitizen": "^4.2.8",
+ "@ryansonshine/cz-conventional-changelog": "^3.3.4",
+ "@types/jest": "^27.5.2",
+ "@types/node": "^12.20.11",
+ "@types/w3c-web-serial": "^1.0.6",
+ "@types/web-bluetooth": "^0.0.20",
+ "@typescript-eslint/eslint-plugin": "^4.22.0",
+ "@typescript-eslint/parser": "^4.22.0",
+ "conventional-changelog-conventionalcommits": "^5.0.0",
+ "eslint": "^7.25.0",
+ "eslint-config-prettier": "^8.3.0",
+ "eslint-plugin-node": "^11.1.0",
+ "eslint-plugin-prettier": "^3.4.0",
+ "husky": "^6.0.0",
+ "jest": "^27.2.0",
+ "lint-staged": "^13.2.1",
+ "prettier": "^2.2.1",
+ "semantic-release": "^21.0.1",
+ "ts-jest": "^27.0.5",
+ "ts-node": "^10.2.1",
+ "ts-proto": "^1.174.0",
+ "typescript": "^4.2.4",
+ "web-streams-polyfill": "4.0.0"
+ },
+ "engines": {
+ "node": ">=12.0"
+ }
+ },
+ "node_modules/@adobe/css-tools": {
+ "version": "4.3.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@alloc/quick-lru": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.24.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/highlight": "^7.24.2",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.24.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.24.2",
+ "@babel/generator": "^7.24.5",
+ "@babel/helper-compilation-targets": "^7.23.6",
+ "@babel/helper-module-transforms": "^7.24.5",
+ "@babel/helpers": "^7.24.5",
+ "@babel/parser": "^7.24.5",
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.5",
+ "@babel/types": "^7.24.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.5",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.23.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.23.5",
+ "@babel/helper-validator-option": "^7.23.5",
+ "browserslist": "^4.22.2",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.1",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.22.20",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.23.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.22.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.24.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-module-imports": "^7.24.3",
+ "@babel/helper-simple-access": "^7.24.5",
+ "@babel/helper-split-export-declaration": "^7.24.5",
+ "@babel/helper-validator-identifier": "^7.24.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.24.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.23.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.5",
+ "@babel/types": "^7.24.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "regenerator-runtime": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.24.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.23.5",
+ "@babel/parser": "^7.24.0",
+ "@babel/types": "^7.24.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.24.2",
+ "@babel/generator": "^7.24.5",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.24.5",
+ "@babel/parser": "^7.24.5",
+ "@babel/types": "^7.24.5",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.24.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@base2/pretty-print-object": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/@chromatic-com/storybook": {
+ "version": "1.3.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chromatic": "^11.3.2",
+ "filesize": "^10.0.12",
+ "jsonfile": "^6.1.0",
+ "react-confetti": "^6.1.0",
+ "strip-ansi": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "yarn": ">=1.22.18"
+ }
+ },
+ "node_modules/@chromatic-com/storybook/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@chromatic-com/storybook/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
+ "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz",
+ "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz",
+ "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz",
+ "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz",
+ "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz",
+ "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz",
+ "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz",
+ "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz",
+ "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz",
+ "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz",
+ "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz",
+ "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz",
+ "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz",
+ "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz",
+ "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz",
+ "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.20.2",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz",
+ "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz",
+ "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz",
+ "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz",
+ "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.10.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "2.1.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.57.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@formatjs/ecma402-abstract": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz",
+ "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==",
+ "dependencies": {
+ "@formatjs/intl-localematcher": "0.5.4",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/ecma402-abstract/node_modules/tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ },
+ "node_modules/@formatjs/fast-memoize": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz",
+ "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/fast-memoize/node_modules/tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ },
+ "node_modules/@formatjs/icu-messageformat-parser": {
+ "version": "2.7.8",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz",
+ "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "2.0.0",
+ "@formatjs/icu-skeleton-parser": "1.8.2",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/icu-messageformat-parser/node_modules/tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ },
+ "node_modules/@formatjs/icu-skeleton-parser": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz",
+ "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "2.0.0",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/icu-skeleton-parser/node_modules/tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ },
+ "node_modules/@formatjs/intl-localematcher": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz",
+ "integrity": "sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/intl-localematcher/node_modules/tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ },
+ "node_modules/@fortawesome/fontawesome-common-types": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.1.tgz",
+ "integrity": "sha512-gbDz3TwRrIPT3i0cDfujhshnXO9z03IT1UKRIVi/VEjpNHtSBIP2o5XSm+e816FzzCFEzAxPw09Z13n20PaQJQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/fontawesome-svg-core": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.1.tgz",
+ "integrity": "sha512-8dBIHbfsKlCk2jHQ9PoRBg2Z+4TwyE3vZICSnoDlnsHA6SiMlTwfmW6yX0lHsRmWJugkeb92sA0hZdkXJhuz+g==",
+ "license": "MIT",
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.7.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/free-brands-svg-icons": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.7.1.tgz",
+ "integrity": "sha512-nJR76eqPzCnMyhbiGf6X0aclDirZriTPRcFm1YFvuupyJOGwlNF022w3YBqu+yrHRhnKRpzFX+8wJKqiIjWZkA==",
+ "license": "(CC-BY-4.0 AND MIT)",
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.7.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/react-fontawesome": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz",
+ "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==",
+ "license": "MIT",
+ "dependencies": {
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "@fortawesome/fontawesome-svg-core": "~1 || ~6",
+ "react": ">=16.3"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.11.14",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@internationalized/date": {
+ "version": "3.5.6",
+ "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.6.tgz",
+ "integrity": "sha512-jLxQjefH9VI5P9UQuqB6qNKnvFt1Ky1TPIzHGsIlCi7sZZoMR8SdYbBGRvM0y+Jtb+ez4ieBzmiAUcpmPYpyOw==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@internationalized/message": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.5.tgz",
+ "integrity": "sha512-hjEpLKFlYA3m5apldLqzHqw531qqfOEq0HlTWdfyZmcloWiUbWsYXD6YTiUmQmOtarthzhdjCAwMVrB8a4E7uA==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0",
+ "intl-messageformat": "^10.1.0"
+ }
+ },
+ "node_modules/@internationalized/number": {
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.5.4.tgz",
+ "integrity": "sha512-h9huwWjNqYyE2FXZZewWqmCdkw1HeFds5q4Siuoms3hUQC5iPJK3aBmkFZoDSLN4UD0Bl8G22L/NdHpeOr+/7A==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@internationalized/string": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.4.tgz",
+ "integrity": "sha512-BcyadXPn89Ae190QGZGDUZPqxLj/xsP4U1Br1oSy8yfIjmpJ8cJtGYleaodqW/EmzFjwELtwDojLkf3FhV6SjA==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "license": "MIT"
+ },
+ "node_modules/@isaacs/cliui/node_modules/string-width": {
+ "version": "5.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@joshwooding/vite-plugin-react-docgen-typescript": {
+ "version": "0.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "glob": "^7.2.0",
+ "glob-promise": "^4.2.0",
+ "magic-string": "^0.27.0",
+ "react-docgen-typescript": "^2.2.2"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.3.x",
+ "vite": "^3.0.0 || ^4.0.0 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/magic-string": {
+ "version": "0.27.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.13"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@mdx-js/react": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz",
+ "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==",
+ "dev": true,
+ "dependencies": {
+ "@types/mdx": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ },
+ "peerDependencies": {
+ "@types/react": ">=16",
+ "react": ">=16"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
+ },
+ "node_modules/@protobufjs/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
+ },
+ "node_modules/@protobufjs/codegen": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
+ },
+ "node_modules/@protobufjs/eventemitter": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
+ },
+ "node_modules/@protobufjs/fetch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.0"
+ }
+ },
+ "node_modules/@protobufjs/float": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
+ },
+ "node_modules/@protobufjs/inquire": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
+ },
+ "node_modules/@protobufjs/path": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
+ },
+ "node_modules/@protobufjs/pool": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
+ },
+ "node_modules/@protobufjs/utf8": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
+ },
+ "node_modules/@react-aria/accordion": {
+ "version": "3.0.0-alpha.34",
+ "resolved": "https://registry.npmjs.org/@react-aria/accordion/-/accordion-3.0.0-alpha.34.tgz",
+ "integrity": "sha512-3Qoj3StyQbdTYvAXVIbAIk11WtRyo3cdgn6OgwPAvN6c1r8R7X/J9DHTykZRrlF6TOGcdE0H0yrmPrlG92ObmA==",
+ "dependencies": {
+ "@react-aria/button": "^3.10.0",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/accordion": "3.0.0-alpha.24",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/breadcrumbs": {
+ "version": "3.5.17",
+ "resolved": "https://registry.npmjs.org/@react-aria/breadcrumbs/-/breadcrumbs-3.5.17.tgz",
+ "integrity": "sha512-LJQ+u3TbPmtAWZ3/qC6VfLCzXiwVoB6GmI+HJ2pbjs6H9L8MoiLHsA4mgcz+P0rvx7SCs0Rhvy4JurV6R/R4xw==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/link": "^3.7.5",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/breadcrumbs": "^3.7.8",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/button": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/button/-/button-3.10.0.tgz",
+ "integrity": "sha512-mhbn2tEsr991sjG6YMH6oN3ELWb4YvZZ8mnZHMNLa3l8T00PV0ClvQBsUndo6uSvuTHhpFzmMMkJFhYYUwCKlw==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/calendar": {
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@react-aria/calendar/-/calendar-3.5.12.tgz",
+ "integrity": "sha512-C8VRjRwEVPaGoCtjOlC0lb3mVSz4ajbal8jfvcbp7LOqCcmOVTUbiM7EPTy60EfZRanFNSp2D1ZstEZDU+cqsg==",
+ "dependencies": {
+ "@internationalized/date": "^3.5.6",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/calendar": "^3.5.5",
+ "@react-types/button": "^3.10.0",
+ "@react-types/calendar": "^3.4.10",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/checkbox": {
+ "version": "3.14.7",
+ "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.14.7.tgz",
+ "integrity": "sha512-aqVxXcr/8P7pQ7R34DlJX2SdBvWtHof9lLTVBY/9tgMplcKIoVBdlVUYPtqWxT3tGan+rruPQHbzTx8zJRFJyg==",
+ "dependencies": {
+ "@react-aria/form": "^3.0.9",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/toggle": "^3.10.8",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/checkbox": "^3.6.9",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-types/checkbox": "^3.8.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/collections": {
+ "version": "3.0.0-alpha.5",
+ "resolved": "https://registry.npmjs.org/@react-aria/collections/-/collections-3.0.0-alpha.5.tgz",
+ "integrity": "sha512-8m8yZe1c5PYCylEN4lcG3ZL/1nyrON95nVsoknC8shY1uKP01oJd7w+f6hvVza0tJRQuVe4zW3gO4FVjv33a5g==",
+ "dependencies": {
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0",
+ "use-sync-external-store": "^1.2.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/color": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/color/-/color-3.0.0.tgz",
+ "integrity": "sha512-IwHI4e2fUHUOZHRrL2MsxGZFp/RCR2cLjm39gT41jVSuH4zjxueUf96NDm6c7FD0mB5vfk0jo+KJMnShL1a2rg==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/numberfield": "^3.11.7",
+ "@react-aria/slider": "^3.7.12",
+ "@react-aria/spinbutton": "^3.6.9",
+ "@react-aria/textfield": "^3.14.9",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/visually-hidden": "^3.8.16",
+ "@react-stately/color": "^3.8.0",
+ "@react-stately/form": "^3.0.6",
+ "@react-types/color": "^3.0.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/combobox": {
+ "version": "3.10.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.10.4.tgz",
+ "integrity": "sha512-jzLyRwpwH5SCfQl5giLSwLaw9EKlRiMG39kDZLRB4MQ1MN4sIdIP2TXBbdYcSLtYjduJm2JfRvs2ezI+QI+umA==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/listbox": "^3.13.4",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/menu": "^3.15.4",
+ "@react-aria/overlays": "^3.23.3",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/textfield": "^3.14.9",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/combobox": "^3.10.0",
+ "@react-stately/form": "^3.0.6",
+ "@react-types/button": "^3.10.0",
+ "@react-types/combobox": "^3.13.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/datepicker": {
+ "version": "3.11.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/datepicker/-/datepicker-3.11.3.tgz",
+ "integrity": "sha512-HwGxDctFry5ew3Cu7gWpUVodaCg//V6NCihSRjLvnW/TWG+UFLzTafxTqqm8eRbicT3DJlXCLOUPk8Ek0txW6A==",
+ "dependencies": {
+ "@internationalized/date": "^3.5.6",
+ "@internationalized/number": "^3.5.4",
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/form": "^3.0.9",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/spinbutton": "^3.6.9",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/datepicker": "^3.10.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-types/button": "^3.10.0",
+ "@react-types/calendar": "^3.4.10",
+ "@react-types/datepicker": "^3.8.3",
+ "@react-types/dialog": "^3.5.13",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/dialog": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.18.tgz",
+ "integrity": "sha512-j0x0OwDZKyW2GqBZl2Dw/pHl0uSCzhHOg5jNeulkZC8xQa8COuksQf5NFzPmgRPnzqpbgvSzCSs41ymS8spmFg==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/overlays": "^3.23.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/dialog": "^3.5.13",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/disclosure": {
+ "version": "3.0.0-alpha.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/disclosure/-/disclosure-3.0.0-alpha.0.tgz",
+ "integrity": "sha512-/tleriRORdkRJf2JXjiRfhLfXA5WY0nPT3DoodZJgD5Fj/aCjrWXarVGUQuEk9vsH5pwinQiQB5So+cA+xF+UQ==",
+ "dependencies": {
+ "@react-aria/button": "^3.10.0",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/disclosure": "3.0.0-alpha.0",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/dnd": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/dnd/-/dnd-3.7.3.tgz",
+ "integrity": "sha512-SF7v1AzpXr4CSf98pSzjcSBCaezpP6rsSnSJTz0j2jrYfdQhX0MPA2lyxS+kgU1AEzkK19THQeHuj8hxQc0bVw==",
+ "dependencies": {
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/overlays": "^3.23.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/dnd": "^3.4.3",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/focus": {
+ "version": "3.18.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.18.3.tgz",
+ "integrity": "sha512-WKUElg+5zS0D3xlVn8MntNnkzJql2J6MuzAMP8Sv5WTgFDse/XGR842dsxPTIyKKdrWVCRegCuwa4m3n/GzgJw==",
+ "dependencies": {
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0",
+ "clsx": "^2.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/form": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@react-aria/form/-/form-3.0.9.tgz",
+ "integrity": "sha512-9M6IfC5t47G19c8roHWnkKd275BrECTzyTsc4rzf5OepJfHfG4evST6x+4gGOFYi8soC9XoQdJl4TRh/mft+gw==",
+ "dependencies": {
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/grid": {
+ "version": "3.10.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/grid/-/grid-3.10.4.tgz",
+ "integrity": "sha512-3AjJ0hwRhOCIHThIZrGWrjAuKDpaZuBkODW3dvgLqtsNm3tL46DI6U9O3vfp8lNbrWMsXJgjRXwvXvdv0/gwCA==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/grid": "^3.9.3",
+ "@react-stately/selection": "^3.17.0",
+ "@react-types/checkbox": "^3.8.4",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/gridlist": {
+ "version": "3.9.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/gridlist/-/gridlist-3.9.4.tgz",
+ "integrity": "sha512-gGzS4ToSynn2KBycf9UCsWIJIbVl4RjoCjPF4NnukwzHmrXwbtZnlF0xsORQ5QxfqHH9UehTAHWFvOOHJSZZ2w==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/grid": "^3.10.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/list": "^3.11.0",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/i18n": {
+ "version": "3.12.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.12.3.tgz",
+ "integrity": "sha512-0Tp/4JwnCVNKDfuknPF+/xf3/woOc8gUjTU2nCjO3mCVb4FU7KFtjxQ2rrx+6hpIVG6g+N9qfMjRa/ggVH0CJg==",
+ "dependencies": {
+ "@internationalized/date": "^3.5.6",
+ "@internationalized/message": "^3.1.5",
+ "@internationalized/number": "^3.5.4",
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/interactions": {
+ "version": "3.22.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.22.3.tgz",
+ "integrity": "sha512-RRUb/aG+P0IKTIWikY/SylB6bIbLZeztnZY2vbe7RAG5MgVaCgn5HQ45SI15GlTmhsFG8CnF6slJsUFJiNHpbQ==",
+ "dependencies": {
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/label": {
+ "version": "3.7.12",
+ "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.7.12.tgz",
+ "integrity": "sha512-u9xT90lAlgb7xiv+p0md9QwCHz65XL7tjS5e29e88Rs3ptkv3aQubTqxVOUTEwzbNUT4A1QqTjUm1yfHewIRUw==",
+ "dependencies": {
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/link": {
+ "version": "3.7.5",
+ "resolved": "https://registry.npmjs.org/@react-aria/link/-/link-3.7.5.tgz",
+ "integrity": "sha512-j0F1BIdNoE7Tl+0KzzjbrmYuxt4aWAmDZDHvJKiYg71Jb1BAPz71eE1O1ybMoO04+OG/6HrRZTragfSQLAJ58A==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/link": "^3.5.8",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/listbox": {
+ "version": "3.13.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.13.4.tgz",
+ "integrity": "sha512-2aG4jzlB+srYBeM9ap/BNZe0E04yMjY2dPGXcigkaSJt6/yYAHCygXuouf2MzvBfkdV4QWyHIIgWZmAXXl6reg==",
+ "dependencies": {
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/list": "^3.11.0",
+ "@react-types/listbox": "^3.5.2",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/live-announcer": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.4.0.tgz",
+ "integrity": "sha512-VBxEdMq2SbtRbNTQNcDR2G6E3lEl5cJSBiHTTO8Ln1AL76LiazrylIXGgoktqzCfRQmyq0v8CHk1cNKDU9mvJg==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@react-aria/menu": {
+ "version": "3.15.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.15.4.tgz",
+ "integrity": "sha512-4wfq8Lb7AltgSzBHdtypiPOnsRm8hHv7PUuHhlq/VT9yAkEFk4Flc7vKVF6VSFqrnCfyCf66B5aeapjNInAONg==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/overlays": "^3.23.3",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/menu": "^3.8.3",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/button": "^3.10.0",
+ "@react-types/menu": "^3.9.12",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/meter": {
+ "version": "3.4.17",
+ "resolved": "https://registry.npmjs.org/@react-aria/meter/-/meter-3.4.17.tgz",
+ "integrity": "sha512-08wbQhfvVWzpWilhn/WD7cQ7TqafS/66umTk7+X6BW6TrS1//6loNNJV62IC3F7sskel4iEAtl2gW0WpW8zEdg==",
+ "dependencies": {
+ "@react-aria/progress": "^3.4.17",
+ "@react-types/meter": "^3.4.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/numberfield": {
+ "version": "3.11.7",
+ "resolved": "https://registry.npmjs.org/@react-aria/numberfield/-/numberfield-3.11.7.tgz",
+ "integrity": "sha512-9bqg4sKqc5XLppHzJFRhgtkoeMu0N6Zg0AuVSiE/3CxE5Ad+y8tKpFEx9zh4o5BItyOWy18w5ZXnKjJGjd7waQ==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/spinbutton": "^3.6.9",
+ "@react-aria/textfield": "^3.14.9",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/numberfield": "^3.9.7",
+ "@react-types/button": "^3.10.0",
+ "@react-types/numberfield": "^3.8.6",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/overlays": {
+ "version": "3.23.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.23.3.tgz",
+ "integrity": "sha512-vRW4DL466a27BBIP6dQqmmei4nX/nsur6DyF0Hmd46ygwOdvdA+5MwvXZUz9yUamB79UeS9BMQZuBVwhjoMwBQ==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/visually-hidden": "^3.8.16",
+ "@react-stately/overlays": "^3.6.11",
+ "@react-types/button": "^3.10.0",
+ "@react-types/overlays": "^3.8.10",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/progress": {
+ "version": "3.4.17",
+ "resolved": "https://registry.npmjs.org/@react-aria/progress/-/progress-3.4.17.tgz",
+ "integrity": "sha512-5+01WNibLoNS5KcfU5p6vg7Lhz17plqqzv/uITx28zzj3saaj0VLR7n57Ig2fXe8ZEQoUS89BS3sIEsIf96S1A==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/progress": "^3.5.7",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/radio": {
+ "version": "3.10.8",
+ "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.10.8.tgz",
+ "integrity": "sha512-/vKQhKqpoCB/VqHuc46OOU+31HFtg6svcYzHBbz0wN/DSVCygYeTfB/36kY7x2GWWkT0pCsB4OcHJ+/0G3EfkQ==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/form": "^3.0.9",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/radio": "^3.10.8",
+ "@react-types/radio": "^3.8.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/searchfield": {
+ "version": "3.7.9",
+ "resolved": "https://registry.npmjs.org/@react-aria/searchfield/-/searchfield-3.7.9.tgz",
+ "integrity": "sha512-EHODG7HDFthwG5tx4fh+WP2hjNOp/rPAqdNScKBAN73nEf0F/qQpIwmdZF0EycCOzGSM5hhihjm0yMtTFYuzOQ==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/textfield": "^3.14.9",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/searchfield": "^3.5.7",
+ "@react-types/button": "^3.10.0",
+ "@react-types/searchfield": "^3.5.9",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/select": {
+ "version": "3.14.10",
+ "resolved": "https://registry.npmjs.org/@react-aria/select/-/select-3.14.10.tgz",
+ "integrity": "sha512-xHkAJqvfKgnH5mVYwZj3ME7/Q3wUzgUZDK/iVuXUs3cAYap8ybM2d/2zOGcqv1keZHBUzwp9QtaN//FYK13jIA==",
+ "dependencies": {
+ "@react-aria/form": "^3.0.9",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/listbox": "^3.13.4",
+ "@react-aria/menu": "^3.15.4",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/visually-hidden": "^3.8.16",
+ "@react-stately/select": "^3.6.8",
+ "@react-types/button": "^3.10.0",
+ "@react-types/select": "^3.9.7",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/selection": {
+ "version": "3.20.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.20.0.tgz",
+ "integrity": "sha512-h3giMcXo4SMZRL5HrqZvOLNTsdh5jCXwLUx0wpj/2EF0tcYQL6WDfn1iJ+rHARkUIs7X70fUV8iwlbUySZy1xg==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/selection": "^3.17.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/separator": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/separator/-/separator-3.4.3.tgz",
+ "integrity": "sha512-L+eCmSGfRJ9jScHZqBkmOkp44LBARisDjRdYbGrLlsAEcOiHUXufnfpxz2rgkUGBdUgnI9hIk12q5kdy0UxGjg==",
+ "dependencies": {
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/slider": {
+ "version": "3.7.12",
+ "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.7.12.tgz",
+ "integrity": "sha512-yZWBGxDHBL5Gjjdnz+igdO7VfYND9iZsSqynadZthWtfy1jA+qBR25I+Soc0D9gkr/2/JUJkFgkllYF1RzWMUQ==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/slider": "^3.5.8",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/slider": "^3.7.6",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/spinbutton": {
+ "version": "3.6.9",
+ "resolved": "https://registry.npmjs.org/@react-aria/spinbutton/-/spinbutton-3.6.9.tgz",
+ "integrity": "sha512-m+uVJdiIc2LrLVDGjU7p8P2O2gUvTN26GR+NgH4rl+tUSuAB0+T1rjls/C+oXEqQjCpQihEB9Bt4M+VHpzmyjA==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/ssr": {
+ "version": "3.9.6",
+ "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.6.tgz",
+ "integrity": "sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ },
+ "engines": {
+ "node": ">= 12"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/switch": {
+ "version": "3.6.8",
+ "resolved": "https://registry.npmjs.org/@react-aria/switch/-/switch-3.6.8.tgz",
+ "integrity": "sha512-6Q0w7o+liB0ztKPL9UaRfX+hPPuy71AL3SuVCMK7RKfPqZwcmlwUDp2gr3j5fvs8gLev0r42XtEBqmGwkHTkEw==",
+ "dependencies": {
+ "@react-aria/toggle": "^3.10.8",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/switch": "^3.5.6",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/table": {
+ "version": "3.15.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/table/-/table-3.15.4.tgz",
+ "integrity": "sha512-t4+vtUF63i6OrXmZ0AA/RmWyIt8cieUm7cSXhQMooAgUjkvVqTNkQQRsntVOb+UNI5KmiGSe4jB3H4GVXz2X9w==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/grid": "^3.10.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/visually-hidden": "^3.8.16",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/flags": "^3.0.4",
+ "@react-stately/table": "^3.12.3",
+ "@react-types/checkbox": "^3.8.4",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/table": "^3.10.2",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/tabs": {
+ "version": "3.9.6",
+ "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.9.6.tgz",
+ "integrity": "sha512-iPQ2Im+srnSB06xIdVNHZZDJnZmUR0IG0MZAp6FXmbkCeLAd9tZQHgSFYwswBfgAStNnyFQHP5aSBJOJMRCACg==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/tabs": "^3.6.10",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/tabs": "^3.3.10",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/tag": {
+ "version": "3.4.6",
+ "resolved": "https://registry.npmjs.org/@react-aria/tag/-/tag-3.4.6.tgz",
+ "integrity": "sha512-Uf1sPabwJx99diyXJTaVguiYozS49opjQxmK1PPbb87ipNN1YlSDVbP05IelVMbnbxXHudsRmzPOBmmblcj1GQ==",
+ "dependencies": {
+ "@react-aria/gridlist": "^3.9.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/list": "^3.11.0",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/textfield": {
+ "version": "3.14.9",
+ "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.14.9.tgz",
+ "integrity": "sha512-LPwZhthDVLyvnzXWco4eyYCD2pFmQ4Vw9ha9tb3QkZUIP6j8E52y76j0c59Nq7XYus3IHatVe7yYQk7kbo8Zrg==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/form": "^3.0.9",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/textfield": "^3.9.7",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/toggle": {
+ "version": "3.10.8",
+ "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.10.8.tgz",
+ "integrity": "sha512-N6WTgE8ByMYY+ZygUUPGON2vW5NrxwU91H98+Nozl+Rq6ZYR2fD9i8oRtLtrYPxjU2HmaFwDyQdWvmMJZuDxig==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-types/checkbox": "^3.8.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/toolbar": {
+ "version": "3.0.0-beta.9",
+ "resolved": "https://registry.npmjs.org/@react-aria/toolbar/-/toolbar-3.0.0-beta.9.tgz",
+ "integrity": "sha512-P80zgbPb0aIg22fHlgHRXXUSpNSAOnh1ljsLiSHAGdXPrC5nRijYwwKi7DNRsXqD+ljEJwF6ekZPo95dXXeYAA==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/tooltip": {
+ "version": "3.7.8",
+ "resolved": "https://registry.npmjs.org/@react-aria/tooltip/-/tooltip-3.7.8.tgz",
+ "integrity": "sha512-dlWfS3w8E6dw5Xoist4cVX2GQE5oh3VQr88dRyLto7BAPLFrp3I+8c9mZCVUobLS/f5QcQzLkqw750s4ENCyiw==",
+ "dependencies": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/tooltip": "^3.4.13",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/tooltip": "^3.4.12",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/tree": {
+ "version": "3.0.0-beta.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/tree/-/tree-3.0.0-beta.0.tgz",
+ "integrity": "sha512-bF9sp7x+Ciy0N2KJwy8epmDoNblyVmeB4vR/KWLVIKMjANCpzTbvhWZUBpQxkpO0eupInU2uN+FMNr0WKMyd7Q==",
+ "dependencies": {
+ "@react-aria/gridlist": "^3.9.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/utils": {
+ "version": "3.25.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.25.3.tgz",
+ "integrity": "sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==",
+ "dependencies": {
+ "@react-aria/ssr": "^3.9.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0",
+ "clsx": "^2.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/virtualizer": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/virtualizer/-/virtualizer-4.0.3.tgz",
+ "integrity": "sha512-neSf+EXtqmQiccHcp9CS2RbH3xA6FuZggLzGsM1NoqDdXIL7TLfc7lhaqi8VAZ03e1FCUSye08BCRk3DdpUiyA==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/virtualizer": "^4.1.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-aria/visually-hidden": {
+ "version": "3.8.16",
+ "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.16.tgz",
+ "integrity": "sha512-3zThVIzEprez4A/GajOut6/JQ4WCu2ROHGZ1xH1+2GFjBJQaTfPBIjg6UIwaT7sgHRQIik8QidogLqXHbp81yA==",
+ "dependencies": {
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/calendar": {
+ "version": "3.5.5",
+ "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.5.5.tgz",
+ "integrity": "sha512-HzaiDRhrmaYIly8hRsjjIrydLkldiw1Ws6T/130NLQOt+VPwRW/x0R+nil42mA9LZ6oV0XN0NpmG5tn7TaKRGw==",
+ "dependencies": {
+ "@internationalized/date": "^3.5.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/calendar": "^3.4.10",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/checkbox": {
+ "version": "3.6.9",
+ "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.6.9.tgz",
+ "integrity": "sha512-JrY3ecnK/SSJPxw+qhGhg3YV4e0CpUcPDrVwY3mSiAE932DPd19xr+qVCknJ34H7JYYt/q0l2z0lmgPnl96RTg==",
+ "dependencies": {
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/checkbox": "^3.8.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/collections": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.11.0.tgz",
+ "integrity": "sha512-TiJeJjHMPSbbeAhmCXLJNSCk0fa5XnCvEuYw6HtQzDnYiq1AD7KAwkpjC5NfKkjqF3FLXs/v9RDm/P69q6rYzw==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/color": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/color/-/color-3.8.0.tgz",
+ "integrity": "sha512-lBH91HEStZeayhE/FkDMt9WC0UISQiAn8DoD2hfpTGeeWscX/soyxZA7oVL7zBOG9RfDBMNzF+CybVROrWSKAQ==",
+ "dependencies": {
+ "@internationalized/number": "^3.5.4",
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/numberfield": "^3.9.7",
+ "@react-stately/slider": "^3.5.8",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/color": "^3.0.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/combobox": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.10.0.tgz",
+ "integrity": "sha512-4W4HCCjjoddW/LZM3pSSeLoV7ncYXlaICKmqlBcbtLR5jY4U5Kx+pPpy3oJ1vCdjDHatIxZ0tVKEBP7vBQVeGQ==",
+ "dependencies": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/list": "^3.11.0",
+ "@react-stately/overlays": "^3.6.11",
+ "@react-stately/select": "^3.6.8",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/combobox": "^3.13.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/data": {
+ "version": "3.11.7",
+ "resolved": "https://registry.npmjs.org/@react-stately/data/-/data-3.11.7.tgz",
+ "integrity": "sha512-2YJ+Lmca18f/h7jiZiU9j2IhBJl6BFO1BWlwvcCAH/eCWTdveX8gzsUdW++0szzpJaoCilTCYoi8z7QWyVH9jQ==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/datepicker": {
+ "version": "3.10.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.10.3.tgz",
+ "integrity": "sha512-6PJW1QMwk6BQMktV9L6DA4f2rfAdLfbq3iTNLy4qxd5IfNPLMUZiJGGTj+cuqx0WcEl+q5irp+YhKBpbmhPZHg==",
+ "dependencies": {
+ "@internationalized/date": "^3.5.6",
+ "@internationalized/string": "^3.2.4",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/overlays": "^3.6.11",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/datepicker": "^3.8.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/disclosure": {
+ "version": "3.0.0-alpha.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/disclosure/-/disclosure-3.0.0-alpha.0.tgz",
+ "integrity": "sha512-CbFUrEwhsP5+44PMHipn/Cd61VTvqyKmx1yeNDyvj/4bYhmxYLgQp/Ma+iEqe23JkXJh2JO/ws3l9FnebScCJQ==",
+ "dependencies": {
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/dnd": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/dnd/-/dnd-3.4.3.tgz",
+ "integrity": "sha512-sUvhmMxFEw6P2MW7walx0ntakIihxdPxA06K9YZ3+ReaUvzQuRw5cFDaTTHrlegWRMYD0CyQaKlGIaTQihhvVA==",
+ "dependencies": {
+ "@react-stately/selection": "^3.17.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/flags": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.0.4.tgz",
+ "integrity": "sha512-RNJEkOALwKg+JeYsfNlfPc4GXm7hiBLX0yuHOkRapWEyDOfi0cinkV/TZG4goOZdQ5tBpHmemf2qqiHAxqHlzQ==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@react-stately/form": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@react-stately/form/-/form-3.0.6.tgz",
+ "integrity": "sha512-KMsxm3/V0iCv/6ikt4JEjVM3LW2AgCzo7aNotMzRobtwIo0RwaUo7DQNY00rGgFQ3/IjzI6DcVo13D+AVE/zXg==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/grid": {
+ "version": "3.9.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.9.3.tgz",
+ "integrity": "sha512-P5KgCNYwm/n8bbLx6527li89RQWoESikrsg2MMyUpUd6IJ321t2pGONGRRQzxE0SBMolPRDJKV0Do2OlsjYKhQ==",
+ "dependencies": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/selection": "^3.17.0",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/layout": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/layout/-/layout-4.0.3.tgz",
+ "integrity": "sha512-zFLXnPalWWVCdFGcPAb+nywSTz/xAnKRxb7zT+YDa5U80DHArDGKZcQ+by0+2Sf8yaYolROco4my+BERPXJB6A==",
+ "dependencies": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/table": "^3.12.3",
+ "@react-stately/virtualizer": "^4.1.0",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/table": "^3.10.2",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/list": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.11.0.tgz",
+ "integrity": "sha512-O+BxXcbtoLZWn4QIT54RoFUaM+QaJQm6s0ZBJ3Jv4ILIhukVOc55ra+aWMVlXFQSpbf6I3hyVP6cz1yyvd5Rtw==",
+ "dependencies": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/selection": "^3.17.0",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/menu": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.8.3.tgz",
+ "integrity": "sha512-sV63V+cMgzipx/N7dq5GaXoItfXIfFEpCtlk3PM2vKstlCJalszXrdo+x996bkeU96h0plB7znAlhlXOeTKzUg==",
+ "dependencies": {
+ "@react-stately/overlays": "^3.6.11",
+ "@react-types/menu": "^3.9.12",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/numberfield": {
+ "version": "3.9.7",
+ "resolved": "https://registry.npmjs.org/@react-stately/numberfield/-/numberfield-3.9.7.tgz",
+ "integrity": "sha512-PjSgCCpYasGCEAznFQNqa2JhhEQ5+/2eMiV7ZI5j76q3edTNF8G5OOCl2RazDbzFp6vDAnRVT7Kctx5Tl5R/Zw==",
+ "dependencies": {
+ "@internationalized/number": "^3.5.4",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/numberfield": "^3.8.6",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/overlays": {
+ "version": "3.6.11",
+ "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.11.tgz",
+ "integrity": "sha512-usuxitwOx4FbmOW7Og4VM8R8ZjerbHZLLbFaxZW7pWLs7Ypway1YhJ3SWcyNTYK7NEk4o602kSoU6MSev1Vgag==",
+ "dependencies": {
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/overlays": "^3.8.10",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/radio": {
+ "version": "3.10.8",
+ "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.10.8.tgz",
+ "integrity": "sha512-VRq6Gzsbk3jzX6hdrSoDoSra9vLRsOi2pLkvW/CMrJ0GSgMwr8jjvJKnNFvYJ3eYQb20EwkarsOAfk7vPSIt/Q==",
+ "dependencies": {
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/radio": "^3.8.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/searchfield": {
+ "version": "3.5.7",
+ "resolved": "https://registry.npmjs.org/@react-stately/searchfield/-/searchfield-3.5.7.tgz",
+ "integrity": "sha512-VxEG4tWDypdXQ8f7clZBu5Qmc4osqDBeA/gNMA2i1j/h2zRVcCJ0fRCHuDeXLSWBqF1XXAI4TWV53fBBwJusbg==",
+ "dependencies": {
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/searchfield": "^3.5.9",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/select": {
+ "version": "3.6.8",
+ "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.6.8.tgz",
+ "integrity": "sha512-fLAVzGeYSdYdBdrEVws6Pb1ywFPdapA0eWphoW5s3fS0/pKcVWwbCHeHlaBEi1ISyqEubQZFGQdeFKm/M46Hew==",
+ "dependencies": {
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/list": "^3.11.0",
+ "@react-stately/overlays": "^3.6.11",
+ "@react-types/select": "^3.9.7",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/selection": {
+ "version": "3.17.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.17.0.tgz",
+ "integrity": "sha512-It3LRTaFOavybuDBvBH2mvCh73OL4awqvN4tZ0JzLzMtaYSBe9+YmFasYrzB0o7ca17B2q1tpUmsNWaAgIqbLA==",
+ "dependencies": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/slider": {
+ "version": "3.5.8",
+ "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.5.8.tgz",
+ "integrity": "sha512-EDgbrxMq1w3+XTN72MGl3YtAG/j65EYX1Uc3Fh56K00+inJbTdRWyYTrb3NA310fXCd0WFBbzExuH2ohlKQycg==",
+ "dependencies": {
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/slider": "^3.7.6",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/table": {
+ "version": "3.12.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.12.3.tgz",
+ "integrity": "sha512-8uGrLcNJYeMbFtzRQZFWCBj5kV+7v3jzwoKIL1j9TmYUKow1PTDMQbPJpAZLQhnC2wVMlaFVgDbedSlbBij7Zg==",
+ "dependencies": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/flags": "^3.0.4",
+ "@react-stately/grid": "^3.9.3",
+ "@react-stately/selection": "^3.17.0",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/table": "^3.10.2",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/tabs": {
+ "version": "3.6.10",
+ "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.6.10.tgz",
+ "integrity": "sha512-F7wfoiNsrBy7c02AYHyE1USGgj05HQ0hp7uXmQjp2LEa+AA0NKKi3HdswTHHySxb0ZRuoEE7E7vp/gXQYx2/Ow==",
+ "dependencies": {
+ "@react-stately/list": "^3.11.0",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/tabs": "^3.3.10",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/toggle": {
+ "version": "3.7.8",
+ "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.7.8.tgz",
+ "integrity": "sha512-ySOtkByvIY54yIu8IZ4lnvomQA0H+/mkZnd6T5fKN3tjvIzHmkUk3TAPmNInUxHX148tSW6mWwec0xvjYqEd6w==",
+ "dependencies": {
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/checkbox": "^3.8.4",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/tooltip": {
+ "version": "3.4.13",
+ "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.4.13.tgz",
+ "integrity": "sha512-zQ+8FQ7Pi0Cz852dltXb6yaryjE18K3byK4tIO3e5vnrZHEGvfdxowc+v9ak5UV93kVrYoOVmfZHRcEaTXTBNA==",
+ "dependencies": {
+ "@react-stately/overlays": "^3.6.11",
+ "@react-types/tooltip": "^3.4.12",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/tree": {
+ "version": "3.8.5",
+ "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.8.5.tgz",
+ "integrity": "sha512-0/tYhsKWQQJTOZFDwh8hY3Qk6ejNFRldGrLeK5kS22UZdvsMFyh7WAi40FTCJy561/VoB0WqQI4oyNPOa9lYWg==",
+ "dependencies": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/selection": "^3.17.0",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/utils": {
+ "version": "3.10.4",
+ "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.4.tgz",
+ "integrity": "sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-stately/virtualizer": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-4.1.0.tgz",
+ "integrity": "sha512-MOaqpY3NloXrpCBvVUb3HL1p3Bh4YRtUq8D2ufC909u5vM6n6G5Swk1XPJ9KHfaftGhb5serwLkm2/Aha5CTbA==",
+ "dependencies": {
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/accordion": {
+ "version": "3.0.0-alpha.24",
+ "resolved": "https://registry.npmjs.org/@react-types/accordion/-/accordion-3.0.0-alpha.24.tgz",
+ "integrity": "sha512-hwDT4TJH7aHCG8m9QsTP+7xgW7x7k2TY+WHlMRr6qDS6WhTCwd41dCdagxC0SZtulzZuWqISBxZifVrh4Tynew==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/breadcrumbs": {
+ "version": "3.7.8",
+ "resolved": "https://registry.npmjs.org/@react-types/breadcrumbs/-/breadcrumbs-3.7.8.tgz",
+ "integrity": "sha512-+BW2a+PrY8ArZ+pKecz13oJFrUAhthvXx17o3x0BhWUhRpAdtmTYt2hjw8zNanm2j0Kvgo1HYKgvtskCRxYcOA==",
+ "dependencies": {
+ "@react-types/link": "^3.5.8",
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/button": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.10.0.tgz",
+ "integrity": "sha512-rAyU+N9VaHLBdZop4zasn8IDwf9I5Q1EzHUKMtzIFf5aUlMUW+K460zI/l8UESWRSWAXK9/WPSXGxfcoCEjvAA==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/calendar": {
+ "version": "3.4.10",
+ "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.4.10.tgz",
+ "integrity": "sha512-PyjqxwJxSW2IpQx6y0D9O34fRCWn1gv9q0qFhgaIigIQrPg8zTE/CC7owHLxAtgCnnCt8exJ5rqi414csaHKlA==",
+ "dependencies": {
+ "@internationalized/date": "^3.5.6",
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/checkbox": {
+ "version": "3.8.4",
+ "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.8.4.tgz",
+ "integrity": "sha512-fvZrlQmlFNsYHZpl7GVmyYQlKdUtO5MczMSf8z3TlSiCb5Kl3ha9PsZgLhJqGuVnzB2ArIBz0eZrYa3k0PhcpA==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/color": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@react-types/color/-/color-3.0.0.tgz",
+ "integrity": "sha512-VUH8CROAM69GsMBilrJ1xyAdVsWL01nXQYrkZJxAEApv1OrcpIGSdsXLcGrjsrhjjiNVXxWFnqYRMsKkLzIl7g==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0",
+ "@react-types/slider": "^3.7.6"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/combobox": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.13.0.tgz",
+ "integrity": "sha512-kH/a+Fjpr54M2JbHg9RXwMjZ9O+XVsdOuE5JCpWRibJP1Mfl1md8gY6y6zstmVY8COrSqFvMZWB+PzwaTWjTGw==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/datepicker": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.8.3.tgz",
+ "integrity": "sha512-Y4qfPRBB6uzocosCOWSYMuwiZ3YXwLWQYiFB4KCglkvHyltbNz76LgoBEnclYA5HjwosIk4XywiXvHSYry8JnQ==",
+ "dependencies": {
+ "@internationalized/date": "^3.5.6",
+ "@react-types/calendar": "^3.4.10",
+ "@react-types/overlays": "^3.8.10",
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/dialog": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.13.tgz",
+ "integrity": "sha512-9k8daVcAqQsySkzDY6NIVlyGxtpEip4TKuLyzAehthbv78GQardD5fHdjQ6eXPRS4I2qZrmytrFFrlOnwWVGHw==",
+ "dependencies": {
+ "@react-types/overlays": "^3.8.10",
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/form": {
+ "version": "3.7.7",
+ "resolved": "https://registry.npmjs.org/@react-types/form/-/form-3.7.7.tgz",
+ "integrity": "sha512-CVRjCawPhYRHi/LuikOC2kz5vgvmjjKmF4/wUgR2QzD1Ok4wY1ZGSx9M9EZptCIZAt2mToR6woyLUdtzy+foeQ==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/grid": {
+ "version": "3.2.9",
+ "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.2.9.tgz",
+ "integrity": "sha512-eMw0d2UIZ4QTzGgD1wGGPw0cv67KjAOCp4TcwWjgDV7Wa5SVV/UvOmpnIVDyfhkG/4KRI5OR9h+isy76B726qA==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/link": {
+ "version": "3.5.8",
+ "resolved": "https://registry.npmjs.org/@react-types/link/-/link-3.5.8.tgz",
+ "integrity": "sha512-l/YGXddgAbLnIT7ekftXrK1D4n8NlLQwx0d4usyZpaxP1KwPzuwng20DxynamLc1atoKBqbUtZAnz32pe7vYgw==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/listbox": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.5.2.tgz",
+ "integrity": "sha512-ML/Bt/MeO0FiixcuFQ+smpu1WguxTOqHDjSnhc1vcNxVQFWQOhyVy01LAY2J/T9TjfjyYGD41vyMTI0f6fcLEQ==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/menu": {
+ "version": "3.9.12",
+ "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.12.tgz",
+ "integrity": "sha512-1SPnkHKJdvOfwv9fEgK1DI6DYRs4D3hW2XcWlLhVXSjaC68CzOHGwFhKIKvZiDTW/11L770PRSEloIxHR09uFQ==",
+ "dependencies": {
+ "@react-types/overlays": "^3.8.10",
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/meter": {
+ "version": "3.4.4",
+ "resolved": "https://registry.npmjs.org/@react-types/meter/-/meter-3.4.4.tgz",
+ "integrity": "sha512-0SEmPkShByC1gYkW7l+iJPg8QfEe2VrgwTciAtTfC4KIqAYmJVQtq6L+4d72EMxOh8RpQHePaY/RFHEJXAh72A==",
+ "dependencies": {
+ "@react-types/progress": "^3.5.7"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/numberfield": {
+ "version": "3.8.6",
+ "resolved": "https://registry.npmjs.org/@react-types/numberfield/-/numberfield-3.8.6.tgz",
+ "integrity": "sha512-VtWEMAXUO1S9EEZI8whc7xv6DVccxhbWsRthMCg/LxiwU3U5KAveadNc2c5rtXkRpd3cnD5xFzz3dExXdmHkAg==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/overlays": {
+ "version": "3.8.10",
+ "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.10.tgz",
+ "integrity": "sha512-IcnB+VYfAJazRjWhBKZTmVMh3KTp/B1rRbcKkPx6t8djP9UQhKcohP7lAALxjJ56Jjz/GFC6rWyUcnYH0NFVRA==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/progress": {
+ "version": "3.5.7",
+ "resolved": "https://registry.npmjs.org/@react-types/progress/-/progress-3.5.7.tgz",
+ "integrity": "sha512-EqMDHmlpoZUZzTjdejGIkSM0pS2LBI9NdadHf3bDNTycHv+5L1xpMHUg8RGOW8a3sRVLRvfN1aO9l75QZkyj+w==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/radio": {
+ "version": "3.8.4",
+ "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.8.4.tgz",
+ "integrity": "sha512-GCuOwQL19iwKa74NAIk9hv4ivyI8oW1+ZCuc2fzyDdeQjzTIlv3qrIyShwpVy1IoI7/4DYTMZm/YXPoKhu5TTA==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/searchfield": {
+ "version": "3.5.9",
+ "resolved": "https://registry.npmjs.org/@react-types/searchfield/-/searchfield-3.5.9.tgz",
+ "integrity": "sha512-c/x8BWpH1Zq+fWpeBtzw2AhQhGi7ahWPicV7PlnqwIGO0MrH/QCjX0dj+I+1xpcAh8Eq6ECa79HE74Rw6aJmFg==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0",
+ "@react-types/textfield": "^3.9.7"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/select": {
+ "version": "3.9.7",
+ "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.9.7.tgz",
+ "integrity": "sha512-Jva4ixfB4EEdy+WmZkUoLiQI7vVfHPxM73VuL7XDxvAO+YKiIztDTcU720QVNhxTMmQvCxfRBXWar8aodCjLiw==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/shared": {
+ "version": "3.25.0",
+ "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.25.0.tgz",
+ "integrity": "sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/slider": {
+ "version": "3.7.6",
+ "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.7.6.tgz",
+ "integrity": "sha512-z72wnEzSge6qTD9TUoUPp1A4j4jXk/MVii6rGE78XeE/Pq7HyyjU5bCagryMr9PC9MKa/oTiHcshKqWBDf57GA==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/switch": {
+ "version": "3.5.6",
+ "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.5.6.tgz",
+ "integrity": "sha512-gJ8t2yTCgcitz4ON4ELcLLmtlDkn2MUjjfu3ez/cwA1X/NUluPYkhXj5Z6H+KOlnveqrKCZDRoTgK74cQ6Cvfg==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/table": {
+ "version": "3.10.2",
+ "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.10.2.tgz",
+ "integrity": "sha512-YzA4hcsYfnFFpA2UyGb1KKhLpWgaj5daApqjp126tCIosl8k1KxZmhKD50cwH0Jm19lALJseqo5VdlcJtcr4qg==",
+ "dependencies": {
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/tabs": {
+ "version": "3.3.10",
+ "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.3.10.tgz",
+ "integrity": "sha512-s/Bw/HCIdWJPBw4O703ghKqhjGsIerRMIDxA88hbQYzfTDD6bkFDjCnsP2Tyy1G8Dg2rSPFUEE+k+PpLzqeEfQ==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/textfield": {
+ "version": "3.9.7",
+ "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.9.7.tgz",
+ "integrity": "sha512-vU5+QCOF9HgWGjAmmy+cpJibVW5voFomC5POmYHokm7kivYcMMjlonsgWwg/0xXrqE2qosH3tpz4jFoEuig1NQ==",
+ "dependencies": {
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@react-types/tooltip": {
+ "version": "3.4.12",
+ "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.4.12.tgz",
+ "integrity": "sha512-FwsdSQ3UDIDORanQMGMLyzSUabw4AkKhwcRdPv4d5OT8GmJr7mBdZynfcsrKLJ0fzskIypMqspoutZidsI0MQg==",
+ "dependencies": {
+ "@react-types/overlays": "^3.8.10",
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz",
+ "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz",
+ "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz",
+ "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz",
+ "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz",
+ "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz",
+ "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz",
+ "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz",
+ "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz",
+ "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz",
+ "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz",
+ "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz",
+ "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz",
+ "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz",
+ "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz",
+ "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz",
+ "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@sinclair/typebox": {
+ "version": "0.27.8",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@storybook/addon-actions": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.3.5.tgz",
+ "integrity": "sha512-t8D5oo+4XfD+F8091wLa2y/CDd/W2lExCeol5Vm1tp5saO+u6f2/d7iykLhTowWV84Uohi3D073uFeyTAlGebg==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/global": "^5.0.0",
+ "@types/uuid": "^9.0.1",
+ "dequal": "^2.0.2",
+ "polished": "^4.2.2",
+ "uuid": "^9.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/addon-backgrounds": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.3.5.tgz",
+ "integrity": "sha512-IQGjDujuw8+iSqKREdkL8I5E/5CAHZbfOWd4A75PQK2D6qZ0fu/xRwTOQOH4jP6xn/abvfACOdL6A0d5bU90ag==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/global": "^5.0.0",
+ "memoizerific": "^1.11.3",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/addon-controls": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.3.5.tgz",
+ "integrity": "sha512-2eCVobUUvY1Rq7sp1U8Mx8t44VXwvi0E+hqyrsqOx5TTSC/FUQ+hNAX6GSYUcFIyQQ1ORpKNlUjAAdjxBv1ZHQ==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/global": "^5.0.0",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/addon-docs": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.3.5.tgz",
+ "integrity": "sha512-MOVfo1bY8kXTzbvmWnx3UuSO4WNykFz7Edvb3mxltNyuW7UDRZGuIuSe32ddT/EtLJfurrC9Ja3yBy4KBUGnMA==",
+ "dev": true,
+ "dependencies": {
+ "@mdx-js/react": "^3.0.0",
+ "@storybook/blocks": "8.3.5",
+ "@storybook/csf-plugin": "8.3.5",
+ "@storybook/global": "^5.0.0",
+ "@storybook/react-dom-shim": "8.3.5",
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "fs-extra": "^11.1.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "rehype-external-links": "^3.0.0",
+ "rehype-slug": "^6.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/csf-plugin": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.3.5.tgz",
+ "integrity": "sha512-ODVqNXwJt90hG7QW8I9w/XUyOGlr0l7XltmIJgXwB/2cYDvaGu3JV5Ybg7O0fxPV8uXk7JlRuUD8ZYv5Low6pA==",
+ "dev": true,
+ "dependencies": {
+ "unplugin": "^1.3.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/react-dom-shim": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.3.5.tgz",
+ "integrity": "sha512-Hf0UitJ/K0C7ajooooUK/PxOR4ihUWqsC7iCV1Gqth8U37dTeLMbaEO4PBwu0VQ+Ufg0N8BJLWfg7o6G4hrODw==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/addon-essentials": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.3.5.tgz",
+ "integrity": "sha512-hXTtPuN4/IsXjUrkMPAuz1qKAl8DovdXpjQgjQs7jSAVx3kc4BZaGqJ3gaVenKtO8uDchmA92BoQygpkc8eWhw==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/addon-actions": "8.3.5",
+ "@storybook/addon-backgrounds": "8.3.5",
+ "@storybook/addon-controls": "8.3.5",
+ "@storybook/addon-docs": "8.3.5",
+ "@storybook/addon-highlight": "8.3.5",
+ "@storybook/addon-measure": "8.3.5",
+ "@storybook/addon-outline": "8.3.5",
+ "@storybook/addon-toolbars": "8.3.5",
+ "@storybook/addon-viewport": "8.3.5",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/addon-highlight": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.3.5.tgz",
+ "integrity": "sha512-ku0epul9aReCR3Gv/emwYnsqg3vgux5OmYMjoDcJC7s+LyfweSzLV/f5t9gSHazikJElh5TehtVkWbC4QfbGSw==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/global": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/addon-interactions": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/global": "^5.0.0",
+ "@storybook/instrumenter": "8.0.10",
+ "@storybook/test": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "polished": "^4.2.2",
+ "ts-dedent": "^2.2.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/addon-links": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/csf": "^0.1.4",
+ "@storybook/global": "^5.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@storybook/addon-measure": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.3.5.tgz",
+ "integrity": "sha512-6GVehgbHhFIFS69xSfRV+12VK0cnuIAtZdp1J3eUCc2ATrcigqVjTM6wzZz6kBuX6O3dcusr7Wg46KtNliqLqg==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/global": "^5.0.0",
+ "tiny-invariant": "^1.3.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/addon-onboarding": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/addon-outline": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.3.5.tgz",
+ "integrity": "sha512-dwmK6GzjEnQP9Yo0VnBUQtJkXZlXdfjWyskZ/IlUVc+IFdeeCtIiMyA92oMfHo8eXt0k1g21ZqMaIn7ZltOuHw==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/global": "^5.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/addon-toolbars": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.3.5.tgz",
+ "integrity": "sha512-Ml2gc9q8WbteDvmuAZGgBxt5SqWMXzuTkMjlsA8EB53hlkN1w9esX4s8YtBeNqC3HKoUzcdq8uexSBqU8fDbSA==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/addon-viewport": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.3.5.tgz",
+ "integrity": "sha512-FSWydoPiVWFXEittG7O1YgvuaqoU9Vb+qoq9XfP/hvQHHMDcMZvC40JaV8AnJeTXaM7ngIjcn9XDEfGbFfOzXw==",
+ "dev": true,
+ "dependencies": {
+ "memoizerific": "^1.11.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^8.3.5"
+ }
+ },
+ "node_modules/@storybook/blocks": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.3.5.tgz",
+ "integrity": "sha512-8cHTdTywolTHlgwN8I7YH7saWAIjGzV617AwjhJ95AKlC0VtpO1gAFcAgCqr4DU9eMc+LZuvbnaU/RSvA5eCCQ==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/csf": "^0.1.11",
+ "@storybook/global": "^5.0.0",
+ "@storybook/icons": "^1.2.10",
+ "@types/lodash": "^4.14.167",
+ "color-convert": "^2.0.1",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.4.5",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.2.2",
+ "react-colorful": "^5.1.2",
+ "telejson": "^7.2.0",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
+ "storybook": "^8.3.5"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@storybook/builder-vite": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/channels": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-common": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/csf-plugin": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/preview": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "@types/find-cache-dir": "^3.2.1",
+ "browser-assert": "^1.2.1",
+ "es-module-lexer": "^0.9.3",
+ "express": "^4.17.3",
+ "find-cache-dir": "^3.0.0",
+ "fs-extra": "^11.1.0",
+ "magic-string": "^0.30.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "@preact/preset-vite": "*",
+ "typescript": ">= 4.3.x",
+ "vite": "^4.0.0 || ^5.0.0",
+ "vite-plugin-glimmerx": "*"
+ },
+ "peerDependenciesMeta": {
+ "@preact/preset-vite": {
+ "optional": true
+ },
+ "typescript": {
+ "optional": true
+ },
+ "vite-plugin-glimmerx": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@storybook/channels": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/global": "^5.0.0",
+ "telejson": "^7.2.0",
+ "tiny-invariant": "^1.3.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/client-logger": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/global": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/core": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.3.5.tgz",
+ "integrity": "sha512-GOGfTvdioNa/n+Huwg4u/dsyYyBcM+gEcdxi3B7i5x4yJ3I912KoVshumQAOF2myKSRdI8h8aGWdx7nnjd0+5Q==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/csf": "^0.1.11",
+ "@types/express": "^4.17.21",
+ "better-opn": "^3.0.2",
+ "browser-assert": "^1.2.1",
+ "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0",
+ "esbuild-register": "^3.5.0",
+ "express": "^4.19.2",
+ "jsdoc-type-pratt-parser": "^4.0.0",
+ "process": "^0.11.10",
+ "recast": "^0.23.5",
+ "semver": "^7.6.2",
+ "util": "^0.12.5",
+ "ws": "^8.2.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/core-common": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/core-events": "8.0.10",
+ "@storybook/csf-tools": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "@yarnpkg/fslib": "2.10.3",
+ "@yarnpkg/libzip": "2.3.0",
+ "chalk": "^4.1.0",
+ "cross-spawn": "^7.0.3",
+ "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0",
+ "esbuild-register": "^3.5.0",
+ "execa": "^5.0.0",
+ "file-system-cache": "2.3.0",
+ "find-cache-dir": "^3.0.0",
+ "find-up": "^5.0.0",
+ "fs-extra": "^11.1.0",
+ "glob": "^10.0.0",
+ "handlebars": "^4.7.7",
+ "lazy-universal-dotenv": "^4.0.0",
+ "node-fetch": "^2.0.0",
+ "picomatch": "^2.3.0",
+ "pkg-dir": "^5.0.0",
+ "pretty-hrtime": "^1.0.3",
+ "resolve-from": "^5.0.0",
+ "semver": "^7.3.7",
+ "tempy": "^1.0.1",
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0",
+ "util": "^0.12.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/core-common/node_modules/glob": {
+ "version": "10.3.15",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.3.6",
+ "minimatch": "^9.0.1",
+ "minipass": "^7.0.4",
+ "path-scurry": "^1.11.0"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@storybook/core-common/node_modules/minipass": {
+ "version": "7.1.1",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/@storybook/core-common/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/core-events": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/csf": {
+ "version": "0.1.11",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.11.tgz",
+ "integrity": "sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^2.19.0"
+ }
+ },
+ "node_modules/@storybook/csf-plugin": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/csf-tools": "8.0.10",
+ "unplugin": "^1.3.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/csf-tools": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/generator": "^7.23.0",
+ "@babel/parser": "^7.23.0",
+ "@babel/traverse": "^7.23.2",
+ "@babel/types": "^7.23.0",
+ "@storybook/csf": "^0.1.4",
+ "@storybook/types": "8.0.10",
+ "fs-extra": "^11.1.0",
+ "recast": "^0.23.5",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/csf/node_modules/type-fest": {
+ "version": "2.19.0",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/docs-tools": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/core-common": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "@types/doctrine": "^0.0.3",
+ "assert": "^2.1.0",
+ "doctrine": "^3.0.0",
+ "lodash": "^4.17.21"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/global": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@storybook/icons": {
+ "version": "1.2.12",
+ "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.12.tgz",
+ "integrity": "sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@storybook/instrumenter": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/channels": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/global": "^5.0.0",
+ "@storybook/preview-api": "8.0.10",
+ "@vitest/utils": "^1.3.1",
+ "util": "^0.12.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/node-logger": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/preview": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/preview-api": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/channels": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/csf": "^0.1.4",
+ "@storybook/global": "^5.0.0",
+ "@storybook/types": "8.0.10",
+ "@types/qs": "^6.9.5",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "qs": "^6.10.0",
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/react": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/docs-tools": "8.0.10",
+ "@storybook/global": "^5.0.0",
+ "@storybook/preview-api": "8.0.10",
+ "@storybook/react-dom-shim": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "@types/escodegen": "^0.0.6",
+ "@types/estree": "^0.0.51",
+ "@types/node": "^18.0.0",
+ "acorn": "^7.4.1",
+ "acorn-jsx": "^5.3.1",
+ "acorn-walk": "^7.2.0",
+ "escodegen": "^2.1.0",
+ "html-tags": "^3.1.0",
+ "lodash": "^4.17.21",
+ "prop-types": "^15.7.2",
+ "react-element-to-jsx-string": "^15.0.0",
+ "semver": "^7.3.7",
+ "ts-dedent": "^2.0.0",
+ "type-fest": "~2.19",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "typescript": ">= 4.2.x"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@storybook/react-dom-shim": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@storybook/react-vite": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@joshwooding/vite-plugin-react-docgen-typescript": "0.3.0",
+ "@rollup/pluginutils": "^5.0.2",
+ "@storybook/builder-vite": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/react": "8.0.10",
+ "find-up": "^5.0.0",
+ "magic-string": "^0.30.0",
+ "react-docgen": "^7.0.0",
+ "resolve": "^1.22.8",
+ "tsconfig-paths": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "vite": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@types/estree": {
+ "version": "0.0.51",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@storybook/react/node_modules/acorn": {
+ "version": "7.4.1",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/type-fest": {
+ "version": "2.19.0",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/test": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/instrumenter": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
+ "@testing-library/dom": "^9.3.4",
+ "@testing-library/jest-dom": "^6.4.2",
+ "@testing-library/user-event": "^14.5.2",
+ "@vitest/expect": "1.3.1",
+ "@vitest/spy": "^1.3.1",
+ "util": "^0.12.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/types": {
+ "version": "8.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/channels": "8.0.10",
+ "@types/express": "^4.7.0",
+ "file-system-cache": "2.3.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@swc/core": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.4.tgz",
+ "integrity": "sha512-+wSycNxOw9QQz81AJAZlNS34EtOIifwUXMPACg05PWjECsjOKDTXLCVPx6J0lRaxhHSGBU2OYs9mRfIvxGt3CA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "@swc/counter": "^0.1.3",
+ "@swc/types": "^0.1.12"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/swc"
+ },
+ "optionalDependencies": {
+ "@swc/core-darwin-arm64": "1.7.4",
+ "@swc/core-darwin-x64": "1.7.4",
+ "@swc/core-linux-arm-gnueabihf": "1.7.4",
+ "@swc/core-linux-arm64-gnu": "1.7.4",
+ "@swc/core-linux-arm64-musl": "1.7.4",
+ "@swc/core-linux-x64-gnu": "1.7.4",
+ "@swc/core-linux-x64-musl": "1.7.4",
+ "@swc/core-win32-arm64-msvc": "1.7.4",
+ "@swc/core-win32-ia32-msvc": "1.7.4",
+ "@swc/core-win32-x64-msvc": "1.7.4"
+ },
+ "peerDependencies": {
+ "@swc/helpers": "*"
+ },
+ "peerDependenciesMeta": {
+ "@swc/helpers": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@swc/core-darwin-arm64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.4.tgz",
+ "integrity": "sha512-RbWrdGh+x9xKFUA9/kPZRR8OPxUsDUuPyLjPIGLYZMO+ftht2vhVH7QsUq6lg+jAP34eIya72UA1isiZe+BRaA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-darwin-x64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.4.tgz",
+ "integrity": "sha512-TxCWMJs4OrqApjFuT8cUiqMz0zg97F0JsXBEeZ7zjkyv9XJ/rN2pdwqMlZv0Wv2C2rivOPo6FsWYlZ3V8ZHhyA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm-gnueabihf": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.4.tgz",
+ "integrity": "sha512-5IhwIJZAgkkfI6PqgQ3xk0/2hTAVsAczIPLiR2Epp30EgsNo1KIFL0ZHzrnvJPy5BZ3jy3T1dEbDE/memBOEmA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-gnu": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.4.tgz",
+ "integrity": "sha512-0787jri83jigf26mF8FndWehh7jqMaHwAm/OV6VdToyNo/g+d1AxVpkEizrywZK46el+AObnHUIHIHwZgO21LA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-musl": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.4.tgz",
+ "integrity": "sha512-A45hGKWAGcjU5Ol0uQUoK0tHerwEKxfprYUZbmPLpD2yrpMZr+dTrwY2n075sixs7RuZEccBkgGNpehEe5BPBQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-gnu": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.4.tgz",
+ "integrity": "sha512-bcO1MpAm39TXqqHuYW4ox4vDvhB7jkguwMwxvmL+cKBGsUHrIoUTfGt9NM9N4D4CvOwULlxqbyt19veUJ7CVPw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-musl": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.4.tgz",
+ "integrity": "sha512-N6nXuHyDO/q5kPN2xQxz5BEvhFpgnFSkP+9wxg5xWq+qIQL5bv37jk8dkKvMLx/8fHzTqrIjPDSRzVbcL7sqXg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-arm64-msvc": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.4.tgz",
+ "integrity": "sha512-7W1owqCNR1cG+mpS55juiZlR/lrAdxB1pH32egeOipNKOLGwyqmlzQ0g9tkQTNgzwgfpCUg8z606+GqqXvajZw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-ia32-msvc": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.4.tgz",
+ "integrity": "sha512-saLkY+q7zNPk4gYiUBCc93FYPo4ECXMjHcSPtLVHoPZBIxRrklgaAf6aDpblBo30nVdoBE2V3YPd0Y/cPiY6RQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-x64-msvc": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.4.tgz",
+ "integrity": "sha512-zKF6jpRBNuVKgOf2W5dMcPyjwcNCp21syjl9lvLRbCeIg+1U+zjdoQCAmMWWoPNE7fLg+yfvohnnOJG2AdzQ9Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/counter": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
+ "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
+ "dev": true
+ },
+ "node_modules/@swc/helpers": {
+ "version": "0.5.11",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.11.tgz",
+ "integrity": "sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@swc/helpers/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
+ },
+ "node_modules/@swc/types": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz",
+ "integrity": "sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==",
+ "dev": true,
+ "dependencies": {
+ "@swc/counter": "^0.1.3"
+ }
+ },
+ "node_modules/@tailwindcss/container-queries": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/container-queries/-/container-queries-0.1.1.tgz",
+ "integrity": "sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "tailwindcss": ">=3.2.0"
+ }
+ },
+ "node_modules/@tauri-apps/api": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.1.tgz",
+ "integrity": "sha512-eoQWT+Tq1qSwQpHV+nw1eNYe5B/nm1PoRjQCRiEOS12I1b+X4PUcREfXVX8dPcBT6GrzWGDtaecY0+1p0Rfqlw==",
+ "license": "Apache-2.0 OR MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/tauri"
+ }
+ },
+ "node_modules/@tauri-apps/cli": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.1.0.tgz",
+ "integrity": "sha512-K2VhcKqBhAeS5pNOVdnR/xQRU6jwpgmkSL2ejHXcl0m+kaTggT0WRDQnFtPq6NljA7aE03cvwsbCAoFG7vtkJw==",
+ "dev": true,
+ "license": "Apache-2.0 OR MIT",
+ "bin": {
+ "tauri": "tauri.js"
+ },
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/tauri"
+ },
+ "optionalDependencies": {
+ "@tauri-apps/cli-darwin-arm64": "2.1.0",
+ "@tauri-apps/cli-darwin-x64": "2.1.0",
+ "@tauri-apps/cli-linux-arm-gnueabihf": "2.1.0",
+ "@tauri-apps/cli-linux-arm64-gnu": "2.1.0",
+ "@tauri-apps/cli-linux-arm64-musl": "2.1.0",
+ "@tauri-apps/cli-linux-x64-gnu": "2.1.0",
+ "@tauri-apps/cli-linux-x64-musl": "2.1.0",
+ "@tauri-apps/cli-win32-arm64-msvc": "2.1.0",
+ "@tauri-apps/cli-win32-ia32-msvc": "2.1.0",
+ "@tauri-apps/cli-win32-x64-msvc": "2.1.0"
+ }
+ },
+ "node_modules/@tauri-apps/cli-darwin-arm64": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.1.0.tgz",
+ "integrity": "sha512-ESc6J6CE8hl1yKH2vJ+ALF+thq4Be+DM1mvmTyUCQObvezNCNhzfS6abIUd3ou4x5RGH51ouiANeT3wekU6dCw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 OR MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tauri-apps/cli-darwin-x64": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.1.0.tgz",
+ "integrity": "sha512-TasHS442DFs8cSH2eUQzuDBXUST4ECjCd0yyP+zZzvAruiB0Bg+c8A+I/EnqCvBQ2G2yvWLYG8q/LI7c87A5UA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 OR MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.1.0.tgz",
+ "integrity": "sha512-aP7ZBGNL4ny07Cbb6kKpUOSrmhcIK2KhjviTzYlh+pPhAptxnC78xQGD3zKQkTi2WliJLPmBYbOHWWQa57lQ9w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 OR MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tauri-apps/cli-linux-arm64-gnu": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.1.0.tgz",
+ "integrity": "sha512-ZTdgD5gLeMCzndMT2f358EkoYkZ5T+Qy6zPzU+l5vv5M7dHVN9ZmblNAYYXmoOuw7y+BY4X/rZvHV9pcGrcanQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 OR MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tauri-apps/cli-linux-arm64-musl": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.1.0.tgz",
+ "integrity": "sha512-NzwqjUCilhnhJzusz3d/0i0F1GFrwCQbkwR6yAHUxItESbsGYkZRJk0yMEWkg3PzFnyK4cWTlQJMEU52TjhEzA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 OR MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tauri-apps/cli-linux-x64-gnu": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.1.0.tgz",
+ "integrity": "sha512-TyiIpMEtZxNOQmuFyfJwaaYbg3movSthpBJLIdPlKxSAB2BW0VWLY3/ZfIxm/G2YGHyREkjJvimzYE0i37PnMA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 OR MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tauri-apps/cli-linux-x64-musl": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.1.0.tgz",
+ "integrity": "sha512-/dQd0TlaxBdJACrR72DhynWftzHDaX32eBtS5WBrNJ+nnNb+znM3gON6nJ9tSE9jgDa6n1v2BkI/oIDtypfUXw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 OR MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tauri-apps/cli-win32-arm64-msvc": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.1.0.tgz",
+ "integrity": "sha512-NdQJO7SmdYqOcE+JPU7bwg7+odfZMWO6g8xF9SXYCMdUzvM2Gv/AQfikNXz5yS7ralRhNFuW32i5dcHlxh4pDg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 OR MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tauri-apps/cli-win32-ia32-msvc": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.1.0.tgz",
+ "integrity": "sha512-f5h8gKT/cB8s1ticFRUpNmHqkmaLutT62oFDB7N//2YTXnxst7EpMIn1w+QimxTvTk2gcx6EcW6bEk/y2hZGzg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 OR MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tauri-apps/cli-win32-x64-msvc": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.1.0.tgz",
+ "integrity": "sha512-P/+LrdSSb5Xbho1LRP4haBjFHdyPdjWvGgeopL96OVtrFpYnfC+RctB45z2V2XxqFk3HweDDxk266btjttfjGw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 OR MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tauri-apps/plugin-cli": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-cli/-/plugin-cli-2.0.0.tgz",
+ "integrity": "sha512-glQmlL1IiCGEa1FHYa/PTPSeYhfu56omLRgHXWlJECDt6DbJyRuJWVgtkQfUxtqnVdYnnU+DGIGeiInoEqtjLw==",
+ "license": "MIT OR Apache-2.0",
+ "dependencies": {
+ "@tauri-apps/api": "^2.0.0"
+ }
+ },
+ "node_modules/@testing-library/dom": {
+ "version": "9.3.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/runtime": "^7.12.5",
+ "@types/aria-query": "^5.0.1",
+ "aria-query": "5.1.3",
+ "chalk": "^4.1.0",
+ "dom-accessibility-api": "^0.5.9",
+ "lz-string": "^1.5.0",
+ "pretty-format": "^27.0.2"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@testing-library/jest-dom": {
+ "version": "6.4.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@adobe/css-tools": "^4.3.2",
+ "@babel/runtime": "^7.9.2",
+ "aria-query": "^5.0.0",
+ "chalk": "^3.0.0",
+ "css.escape": "^1.5.1",
+ "dom-accessibility-api": "^0.6.3",
+ "lodash": "^4.17.21",
+ "redent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14",
+ "npm": ">=6",
+ "yarn": ">=1"
+ },
+ "peerDependencies": {
+ "@jest/globals": ">= 28",
+ "@types/bun": "latest",
+ "@types/jest": ">= 28",
+ "jest": ">= 28",
+ "vitest": ">= 0.32"
+ },
+ "peerDependenciesMeta": {
+ "@jest/globals": {
+ "optional": true
+ },
+ "@types/bun": {
+ "optional": true
+ },
+ "@types/jest": {
+ "optional": true
+ },
+ "jest": {
+ "optional": true
+ },
+ "vitest": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/chalk": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": {
+ "version": "0.6.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@testing-library/user-event": {
+ "version": "14.5.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12",
+ "npm": ">=6"
+ },
+ "peerDependencies": {
+ "@testing-library/dom": ">=7.21.4"
+ }
+ },
+ "node_modules/@types/aria-query": {
+ "version": "5.0.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.20.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.6.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.20.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.20.7"
+ }
+ },
+ "node_modules/@types/body-parser": {
+ "version": "1.19.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/connect": {
+ "version": "3.4.38",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/doctrine": {
+ "version": "0.0.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/emscripten": {
+ "version": "1.39.12",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/escodegen": {
+ "version": "0.0.6",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
+ "dev": true
+ },
+ "node_modules/@types/express": {
+ "version": "4.17.21",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.33",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
+ }
+ },
+ "node_modules/@types/express-serve-static-core": {
+ "version": "4.19.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
+ }
+ },
+ "node_modules/@types/find-cache-dir": {
+ "version": "3.2.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/glob": {
+ "version": "7.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@types/http-errors": {
+ "version": "2.0.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/lodash": {
+ "version": "4.17.10",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.10.tgz",
+ "integrity": "sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==",
+ "dev": true
+ },
+ "node_modules/@types/mdx": {
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz",
+ "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==",
+ "dev": true
+ },
+ "node_modules/@types/mime": {
+ "version": "1.3.5",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/minimatch": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "18.19.33",
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.12",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/qs": {
+ "version": "6.9.15",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/range-parser": {
+ "version": "1.2.7",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/react": {
+ "version": "18.3.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/prop-types": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "18.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/resolve": {
+ "version": "1.20.6",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/semver": {
+ "version": "7.5.8",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/send": {
+ "version": "0.17.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/mime": "^1",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/serve-static": {
+ "version": "1.15.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/http-errors": "*",
+ "@types/node": "*",
+ "@types/send": "*"
+ }
+ },
+ "node_modules/@types/unist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "dev": true
+ },
+ "node_modules/@types/uuid": {
+ "version": "9.0.8",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
+ "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==",
+ "dev": true
+ },
+ "node_modules/@types/w3c-web-serial": {
+ "version": "1.0.6",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/web-bluetooth": {
+ "version": "0.0.20",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "7.8.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "7.8.0",
+ "@typescript-eslint/type-utils": "7.8.0",
+ "@typescript-eslint/utils": "7.8.0",
+ "@typescript-eslint/visitor-keys": "7.8.0",
+ "debug": "^4.3.4",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.3.1",
+ "natural-compare": "^1.4.0",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^7.0.0",
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "7.8.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "7.8.0",
+ "@typescript-eslint/types": "7.8.0",
+ "@typescript-eslint/typescript-estree": "7.8.0",
+ "@typescript-eslint/visitor-keys": "7.8.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "7.8.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "7.8.0",
+ "@typescript-eslint/visitor-keys": "7.8.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "7.8.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "7.8.0",
+ "@typescript-eslint/utils": "7.8.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "7.8.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "7.8.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "7.8.0",
+ "@typescript-eslint/visitor-keys": "7.8.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "7.8.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@types/json-schema": "^7.0.15",
+ "@types/semver": "^7.5.8",
+ "@typescript-eslint/scope-manager": "7.8.0",
+ "@typescript-eslint/types": "7.8.0",
+ "@typescript-eslint/typescript-estree": "7.8.0",
+ "semver": "^7.6.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "7.8.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "7.8.0",
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/@vitejs/plugin-react-swc": {
+ "version": "3.6.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@swc/core": "^1.3.107"
+ },
+ "peerDependencies": {
+ "vite": "^4 || ^5"
+ }
+ },
+ "node_modules/@vitest/expect": {
+ "version": "1.3.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/spy": "1.3.1",
+ "@vitest/utils": "1.3.1",
+ "chai": "^4.3.10"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/expect/node_modules/@vitest/spy": {
+ "version": "1.3.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tinyspy": "^2.2.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/expect/node_modules/@vitest/utils": {
+ "version": "1.3.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "diff-sequences": "^29.6.3",
+ "estree-walker": "^3.0.3",
+ "loupe": "^2.3.7",
+ "pretty-format": "^29.7.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/expect/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@vitest/expect/node_modules/estree-walker": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/@vitest/expect/node_modules/pretty-format": {
+ "version": "29.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@vitest/expect/node_modules/react-is": {
+ "version": "18.3.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@vitest/spy": {
+ "version": "1.6.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tinyspy": "^2.2.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/utils": {
+ "version": "1.6.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "diff-sequences": "^29.6.3",
+ "estree-walker": "^3.0.3",
+ "loupe": "^2.3.7",
+ "pretty-format": "^29.7.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/utils/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@vitest/utils/node_modules/estree-walker": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/@vitest/utils/node_modules/pretty-format": {
+ "version": "29.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@vitest/utils/node_modules/react-is": {
+ "version": "18.3.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@yarnpkg/fslib": {
+ "version": "2.10.3",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@yarnpkg/libzip": "^2.3.0",
+ "tslib": "^1.13.0"
+ },
+ "engines": {
+ "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0"
+ }
+ },
+ "node_modules/@yarnpkg/libzip": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@types/emscripten": "^1.39.6",
+ "tslib": "^1.13.0"
+ },
+ "engines": {
+ "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0"
+ }
+ },
+ "node_modules/@zmkfirmware/zmk-studio-ts-client": {
+ "version": "0.0.18",
+ "resolved": "https://registry.npmjs.org/@zmkfirmware/zmk-studio-ts-client/-/zmk-studio-ts-client-0.0.18.tgz",
+ "integrity": "sha512-S3NIkwL0zGOMZCf69Fy6LhhsC07clHoeAEx0JdMtNKfBfPTBIn0CYlkkUvrophAQwBpOQqEyw3gi7uc9WzuOCQ==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "async-mutex": "^0.5.0",
+ "protobufjs": "^7.3.2"
+ },
+ "engines": {
+ "node": ">=12.0"
+ }
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.11.3",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "7.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/app-root-dir": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/arg": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "Python-2.0"
+ },
+ "node_modules/aria-query": {
+ "version": "5.1.3",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "deep-equal": "^2.0.5"
+ }
+ },
+ "node_modules/array-buffer-byte-length": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/assert": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "is-nan": "^1.3.2",
+ "object-is": "^1.1.5",
+ "object.assign": "^4.1.4",
+ "util": "^0.12.5"
+ }
+ },
+ "node_modules/assertion-error": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/ast-types": {
+ "version": "0.16.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ast-types/node_modules/tslib": {
+ "version": "2.6.2",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "node_modules/async-mutex": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz",
+ "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/async-mutex/node_modules/tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ },
+ "node_modules/autoprefixer": {
+ "version": "10.4.19",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz",
+ "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "browserslist": "^4.23.0",
+ "caniuse-lite": "^1.0.30001599",
+ "fraction.js": "^4.3.7",
+ "normalize-range": "^0.1.2",
+ "picocolors": "^1.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "bin": {
+ "autoprefixer": "bin/autoprefixer"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/better-opn": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz",
+ "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==",
+ "dev": true,
+ "dependencies": {
+ "open": "^8.0.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.3",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
+ "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
+ "dev": true,
+ "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.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.13.0",
+ "raw-body": "2.5.2",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/body-parser/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/body-parser/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browser-assert": {
+ "version": "1.2.1",
+ "dev": true
+ },
+ "node_modules/browserslist": {
+ "version": "4.23.0",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001587",
+ "electron-to-chromium": "^1.4.668",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.0.13"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase-css": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001617",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/chai": {
+ "version": "4.4.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.3",
+ "deep-eql": "^4.1.3",
+ "get-func-name": "^2.0.2",
+ "loupe": "^2.3.6",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/check-error": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-func-name": "^2.0.2"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/chromatic": {
+ "version": "11.3.2",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "chroma": "dist/bin.js",
+ "chromatic": "dist/bin.js",
+ "chromatic-cli": "dist/bin.js"
+ },
+ "peerDependencies": {
+ "@chromatic-com/cypress": "^0.*.* || ^1.0.0",
+ "@chromatic-com/playwright": "^0.*.* || ^1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@chromatic-com/cypress": {
+ "optional": true
+ },
+ "@chromatic-com/playwright": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/client-only": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
+ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
+ },
+ "node_modules/clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/commondir": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cookie": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
+ "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/crypto-random-string": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/css.escape": {
+ "version": "1.5.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deep-eql": {
+ "version": "4.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-detect": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/deep-equal": {
+ "version": "2.2.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.5",
+ "es-get-iterator": "^1.1.3",
+ "get-intrinsic": "^1.2.2",
+ "is-arguments": "^1.1.1",
+ "is-array-buffer": "^3.0.2",
+ "is-date-object": "^1.0.5",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.2",
+ "isarray": "^2.0.5",
+ "object-is": "^1.1.5",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.4",
+ "regexp.prototype.flags": "^1.5.1",
+ "side-channel": "^1.0.4",
+ "which-boxed-primitive": "^1.0.2",
+ "which-collection": "^1.0.1",
+ "which-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/del": {
+ "version": "6.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "globby": "^11.0.1",
+ "graceful-fs": "^4.2.4",
+ "is-glob": "^4.0.1",
+ "is-path-cwd": "^2.2.0",
+ "is-path-inside": "^3.0.2",
+ "p-map": "^4.0.0",
+ "rimraf": "^3.0.2",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/didyoumean": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
+ },
+ "node_modules/diff-sequences": {
+ "version": "29.6.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dlv": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/dom-accessibility-api": {
+ "version": "0.5.16",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/dotenv": {
+ "version": "16.4.5",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "10.0.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "license": "MIT"
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+ "dev": true
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.765",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/emittery": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-1.0.3.tgz",
+ "integrity": "sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA==",
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "license": "MIT"
+ },
+ "node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-get-iterator": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "has-symbols": "^1.0.3",
+ "is-arguments": "^1.1.1",
+ "is-map": "^2.0.2",
+ "is-set": "^2.0.2",
+ "is-string": "^1.0.7",
+ "isarray": "^2.0.5",
+ "stop-iteration-iterator": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-module-lexer": {
+ "version": "0.9.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/esbuild": {
+ "version": "0.20.2",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.20.2",
+ "@esbuild/android-arm": "0.20.2",
+ "@esbuild/android-arm64": "0.20.2",
+ "@esbuild/android-x64": "0.20.2",
+ "@esbuild/darwin-arm64": "0.20.2",
+ "@esbuild/darwin-x64": "0.20.2",
+ "@esbuild/freebsd-arm64": "0.20.2",
+ "@esbuild/freebsd-x64": "0.20.2",
+ "@esbuild/linux-arm": "0.20.2",
+ "@esbuild/linux-arm64": "0.20.2",
+ "@esbuild/linux-ia32": "0.20.2",
+ "@esbuild/linux-loong64": "0.20.2",
+ "@esbuild/linux-mips64el": "0.20.2",
+ "@esbuild/linux-ppc64": "0.20.2",
+ "@esbuild/linux-riscv64": "0.20.2",
+ "@esbuild/linux-s390x": "0.20.2",
+ "@esbuild/linux-x64": "0.20.2",
+ "@esbuild/netbsd-x64": "0.20.2",
+ "@esbuild/openbsd-x64": "0.20.2",
+ "@esbuild/sunos-x64": "0.20.2",
+ "@esbuild/win32-arm64": "0.20.2",
+ "@esbuild/win32-ia32": "0.20.2",
+ "@esbuild/win32-x64": "0.20.2"
+ }
+ },
+ "node_modules/esbuild-register": {
+ "version": "3.5.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "peerDependencies": {
+ "esbuild": ">=0.12 <1"
+ }
+ },
+ "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz",
+ "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "dev": true
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/escodegen": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.57.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "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.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
+ "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.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-plugin-react-hooks": {
+ "version": "4.6.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
+ }
+ },
+ "node_modules/eslint-plugin-react-refresh": {
+ "version": "0.4.7",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "eslint": ">=7"
+ }
+ },
+ "node_modules/eslint-plugin-storybook": {
+ "version": "0.8.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/csf": "^0.0.1",
+ "@typescript-eslint/utils": "^5.62.0",
+ "requireindex": "^1.2.0",
+ "ts-dedent": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "eslint": ">=6"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@storybook/csf": {
+ "version": "0.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/types": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/estraverse": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/eslint/node_modules/minimatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/espree": {
+ "version": "9.6.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.5.0",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/execa": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/express": {
+ "version": "4.21.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz",
+ "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==",
+ "dev": true,
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.3",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.7.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.3.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.3",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.10",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.13.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.19.0",
+ "serve-static": "1.16.2",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/express/node_modules/debug": {
+ "version": "2.6.9",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/express/node_modules/ms": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fastq": {
+ "version": "1.17.1",
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/file-system-cache": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fs-extra": "11.1.1",
+ "ramda": "0.29.0"
+ }
+ },
+ "node_modules/file-system-cache/node_modules/fs-extra": {
+ "version": "11.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/filesize": {
+ "version": "10.1.2",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 10.4.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
+ "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
+ "dev": true,
+ "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.1",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "node_modules/find-cache-dir": {
+ "version": "3.3.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/find-up": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/locate-path": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/p-limit": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/p-locate": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.3.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/for-each": {
+ "version": "0.3.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.1.3"
+ }
+ },
+ "node_modules/foreground-child": {
+ "version": "3.1.1",
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/foreground-child/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fraction.js": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
+ "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "type": "patreon",
+ "url": "https://github.com/sponsors/rawify"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs-extra": {
+ "version": "11.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-func-name": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.2.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/github-slugger": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
+ "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==",
+ "dev": true
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/glob-promise": {
+ "version": "4.2.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/glob": "^7.1.3"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://github.com/sponsors/ahmadnassri"
+ },
+ "peerDependencies": {
+ "glob": "^7.1.6"
+ }
+ },
+ "node_modules/glob/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/globals": {
+ "version": "13.24.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/handlebars": {
+ "version": "4.7.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.5",
+ "neo-async": "^2.6.2",
+ "source-map": "^0.6.1",
+ "wordwrap": "^1.0.0"
+ },
+ "bin": {
+ "handlebars": "bin/handlebars"
+ },
+ "engines": {
+ "node": ">=0.4.7"
+ },
+ "optionalDependencies": {
+ "uglify-js": "^3.1.4"
+ }
+ },
+ "node_modules/has-bigints": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/hast-util-heading-rank": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz",
+ "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-is-element": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
+ "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-to-string": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz",
+ "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/html-tags": {
+ "version": "3.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dev": true,
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/immer": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz",
+ "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/immer"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/internal-slot": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.0",
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/intl-messageformat": {
+ "version": "10.5.14",
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.14.tgz",
+ "integrity": "sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "2.0.0",
+ "@formatjs/fast-memoize": "2.2.0",
+ "@formatjs/icu-messageformat-parser": "2.7.8",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/intl-messageformat/node_modules/tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-absolute-url": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz",
+ "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==",
+ "dev": true,
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-arguments": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-array-buffer": {
+ "version": "3.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-bigint": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-bigints": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.7",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.13.1",
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true,
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-function": {
+ "version": "1.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-map": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-nan": {
+ "version": "1.3.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-path-cwd": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-regex": {
+ "version": "1.1.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-set": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-shared-array-buffer": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typed-array": {
+ "version": "1.1.13",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "which-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakmap": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakset": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "license": "ISC"
+ },
+ "node_modules/jackspeak": {
+ "version": "2.3.6",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/jiti": {
+ "version": "1.21.6",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz",
+ "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==",
+ "bin": {
+ "jiti": "bin/jiti.js"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsdoc-type-pratt-parser": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz",
+ "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonfile": {
+ "version": "6.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/lazy-universal-dotenv": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "app-root-dir": "^1.0.2",
+ "dotenv": "^16.0.0",
+ "dotenv-expand": "^10.0.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lilconfig": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "license": "MIT"
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/long": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
+ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/loupe": {
+ "version": "2.3.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-func-name": "^2.0.1"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/lucide-react": {
+ "version": "0.445.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.445.0.tgz",
+ "integrity": "sha512-YrLf3aAHvmd4dZ8ot+mMdNFrFpJD7YRwQ2pUcBhgqbmxtrMP4xDzIorcj+8y+6kpuXBF4JB0NOCTUWIYetJjgA==",
+ "license": "ISC",
+ "peerDependencies": {
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
+ }
+ },
+ "node_modules/lz-string": {
+ "version": "1.5.0",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "lz-string": "bin/bin.js"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.15"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "6.3.1",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/map-or-similar": {
+ "version": "1.5.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/markdown-to-jsx": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.5.0.tgz",
+ "integrity": "sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ },
+ "peerDependencies": {
+ "react": ">= 0.14.0"
+ }
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memoizerific": {
+ "version": "1.11.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "map-or-similar": "^1.5.0"
+ }
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
+ "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true,
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/min-indent": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "9.0.4",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "5.0.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "dependencies": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-fetch": {
+ "version": "2.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.14",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.1",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-is": {
+ "version": "1.1.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dev": true,
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/open": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+ "dev": true,
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "license": "MIT"
+ },
+ "node_modules/path-scurry": {
+ "version": "1.11.1",
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "10.2.2",
+ "license": "ISC",
+ "engines": {
+ "node": "14 || >=16.14"
+ }
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
+ "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
+ "dev": true
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pathval": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
+ "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.6",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/polished": {
+ "version": "4.3.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.17.8"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/possible-typed-array-names": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.47",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
+ "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.1.0",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-import": {
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
+ "dependencies": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/postcss-js": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
+ "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
+ "dependencies": {
+ "camelcase-css": "^2.0.1"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >= 16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.21"
+ }
+ },
+ "node_modules/postcss-load-config": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
+ "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "lilconfig": "^3.0.0",
+ "yaml": "^2.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "postcss": ">=8.0.9",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "postcss": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/postcss-load-config/node_modules/lilconfig": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
+ "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antonk52"
+ }
+ },
+ "node_modules/postcss-nested": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
+ "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.11"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.14"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz",
+ "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz",
+ "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/pretty-format": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^17.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/pretty-hrtime": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
+ "node_modules/prop-types": {
+ "version": "15.8.1",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/prop-types/node_modules/react-is": {
+ "version": "16.13.1",
+ "license": "MIT"
+ },
+ "node_modules/protobufjs": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz",
+ "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/node": ">=13.7.0",
+ "long": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
+ "dev": true,
+ "dependencies": {
+ "side-channel": "^1.0.6"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/ramda": {
+ "version": "0.29.0",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ramda"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
+ "dev": true,
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/react": {
+ "version": "18.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-aria": {
+ "version": "3.35.0",
+ "resolved": "https://registry.npmjs.org/react-aria/-/react-aria-3.35.0.tgz",
+ "integrity": "sha512-cbbd3iIveLDRnpVrpc1iuz8OMlDdH6u8EjncW3MQuYOiEGaho9xcDtWMKiSEIZASEnd7LK4Rgm5iVPr2O+cssw==",
+ "dependencies": {
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/breadcrumbs": "^3.5.17",
+ "@react-aria/button": "^3.10.0",
+ "@react-aria/calendar": "^3.5.12",
+ "@react-aria/checkbox": "^3.14.7",
+ "@react-aria/color": "^3.0.0",
+ "@react-aria/combobox": "^3.10.4",
+ "@react-aria/datepicker": "^3.11.3",
+ "@react-aria/dialog": "^3.5.18",
+ "@react-aria/dnd": "^3.7.3",
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/gridlist": "^3.9.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/link": "^3.7.5",
+ "@react-aria/listbox": "^3.13.4",
+ "@react-aria/menu": "^3.15.4",
+ "@react-aria/meter": "^3.4.17",
+ "@react-aria/numberfield": "^3.11.7",
+ "@react-aria/overlays": "^3.23.3",
+ "@react-aria/progress": "^3.4.17",
+ "@react-aria/radio": "^3.10.8",
+ "@react-aria/searchfield": "^3.7.9",
+ "@react-aria/select": "^3.14.10",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/separator": "^3.4.3",
+ "@react-aria/slider": "^3.7.12",
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/switch": "^3.6.8",
+ "@react-aria/table": "^3.15.4",
+ "@react-aria/tabs": "^3.9.6",
+ "@react-aria/tag": "^3.4.6",
+ "@react-aria/textfield": "^3.14.9",
+ "@react-aria/tooltip": "^3.7.8",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/visually-hidden": "^3.8.16",
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/react-aria-components": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/react-aria-components/-/react-aria-components-1.4.0.tgz",
+ "integrity": "sha512-CpeSeGI2FVT3hOzA28fhIGkrPPQPtz3gVHBfMWkXSuLUBaKFZQhdCLBXlpO5MoZV1RrC+e7mhOVREkw6DvlxKw==",
+ "dependencies": {
+ "@internationalized/date": "^3.5.6",
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/accordion": "3.0.0-alpha.34",
+ "@react-aria/collections": "3.0.0-alpha.5",
+ "@react-aria/color": "^3.0.0",
+ "@react-aria/disclosure": "3.0.0-alpha.0",
+ "@react-aria/dnd": "^3.7.3",
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/menu": "^3.15.4",
+ "@react-aria/toolbar": "3.0.0-beta.9",
+ "@react-aria/tree": "3.0.0-beta.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/virtualizer": "^4.0.3",
+ "@react-stately/color": "^3.8.0",
+ "@react-stately/disclosure": "3.0.0-alpha.0",
+ "@react-stately/layout": "^4.0.3",
+ "@react-stately/menu": "^3.8.3",
+ "@react-stately/table": "^3.12.3",
+ "@react-stately/utils": "^3.10.4",
+ "@react-stately/virtualizer": "^4.1.0",
+ "@react-types/color": "^3.0.0",
+ "@react-types/form": "^3.7.7",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/table": "^3.10.2",
+ "@swc/helpers": "^0.5.0",
+ "client-only": "^0.0.1",
+ "react-aria": "^3.35.0",
+ "react-stately": "^3.33.0",
+ "use-sync-external-store": "^1.2.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/react-colorful": {
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz",
+ "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==",
+ "dev": true,
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
+ "node_modules/react-confetti": {
+ "version": "6.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tween-functions": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=10.18"
+ },
+ "peerDependencies": {
+ "react": "^16.3.0 || ^17.0.1 || ^18.0.0"
+ }
+ },
+ "node_modules/react-docgen": {
+ "version": "7.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.18.9",
+ "@babel/traverse": "^7.18.9",
+ "@babel/types": "^7.18.9",
+ "@types/babel__core": "^7.18.0",
+ "@types/babel__traverse": "^7.18.0",
+ "@types/doctrine": "^0.0.9",
+ "@types/resolve": "^1.20.2",
+ "doctrine": "^3.0.0",
+ "resolve": "^1.22.1",
+ "strip-indent": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=16.14.0"
+ }
+ },
+ "node_modules/react-docgen-typescript": {
+ "version": "2.2.2",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "typescript": ">= 4.3.x"
+ }
+ },
+ "node_modules/react-docgen/node_modules/@types/doctrine": {
+ "version": "0.0.9",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/react-dom": {
+ "version": "18.3.1",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.2"
+ },
+ "peerDependencies": {
+ "react": "^18.3.1"
+ }
+ },
+ "node_modules/react-element-to-jsx-string": {
+ "version": "15.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@base2/pretty-print-object": "1.0.1",
+ "is-plain-object": "5.0.0",
+ "react-is": "18.1.0"
+ },
+ "peerDependencies": {
+ "react": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0",
+ "react-dom": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0"
+ }
+ },
+ "node_modules/react-element-to-jsx-string/node_modules/react-is": {
+ "version": "18.1.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/react-is": {
+ "version": "17.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/react-stately": {
+ "version": "3.33.0",
+ "resolved": "https://registry.npmjs.org/react-stately/-/react-stately-3.33.0.tgz",
+ "integrity": "sha512-DNPOxYAPuhuXwSuE1s1K7iSgqG2QOBUZq3bsLAd4gUUZje6Qepkhe7TzK2LWarQYAZ3gC9Xhmnz8ie1fdCo0GA==",
+ "dependencies": {
+ "@react-stately/calendar": "^3.5.5",
+ "@react-stately/checkbox": "^3.6.9",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/color": "^3.8.0",
+ "@react-stately/combobox": "^3.10.0",
+ "@react-stately/data": "^3.11.7",
+ "@react-stately/datepicker": "^3.10.3",
+ "@react-stately/dnd": "^3.4.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/list": "^3.11.0",
+ "@react-stately/menu": "^3.8.3",
+ "@react-stately/numberfield": "^3.9.7",
+ "@react-stately/overlays": "^3.6.11",
+ "@react-stately/radio": "^3.10.8",
+ "@react-stately/searchfield": "^3.5.7",
+ "@react-stately/select": "^3.6.8",
+ "@react-stately/selection": "^3.17.0",
+ "@react-stately/slider": "^3.5.8",
+ "@react-stately/table": "^3.12.3",
+ "@react-stately/tabs": "^3.6.10",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-stately/tooltip": "^3.4.13",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/shared": "^3.25.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "dependencies": {
+ "pify": "^2.3.0"
+ }
+ },
+ "node_modules/read-cache/node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/recast": {
+ "version": "0.23.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ast-types": "^0.16.1",
+ "esprima": "~4.0.0",
+ "source-map": "~0.6.1",
+ "tiny-invariant": "^1.3.3",
+ "tslib": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/recast/node_modules/tslib": {
+ "version": "2.6.2",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "node_modules/redent": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/redent/node_modules/strip-indent": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "min-indent": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/rehype-external-links": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz",
+ "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@ungap/structured-clone": "^1.0.0",
+ "hast-util-is-element": "^3.0.0",
+ "is-absolute-url": "^4.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "unist-util-visit": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/rehype-slug": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz",
+ "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "github-slugger": "^2.0.0",
+ "hast-util-heading-rank": "^3.0.0",
+ "hast-util-to-string": "^3.0.0",
+ "unist-util-visit": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/requireindex": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.5"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.8",
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz",
+ "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "1.0.6"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.24.0",
+ "@rollup/rollup-android-arm64": "4.24.0",
+ "@rollup/rollup-darwin-arm64": "4.24.0",
+ "@rollup/rollup-darwin-x64": "4.24.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.24.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.24.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.24.0",
+ "@rollup/rollup-linux-arm64-musl": "4.24.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.24.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.24.0",
+ "@rollup/rollup-linux-x64-gnu": "4.24.0",
+ "@rollup/rollup-linux-x64-musl": "4.24.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.24.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.24.0",
+ "@rollup/rollup-win32-x64-msvc": "4.24.0",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/run-script-os": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz",
+ "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==",
+ "dev": true,
+ "bin": {
+ "run-os": "index.js",
+ "run-script-os": "index.js"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "node_modules/scheduler": {
+ "version": "0.23.2",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.6.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+ "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "node_modules/send/node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/serve-static": {
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
+ "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
+ "dev": true,
+ "dependencies": {
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.19.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "dev": true
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/space-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/stop-iteration-iterator": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "internal-slot": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/storybook": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.3.5.tgz",
+ "integrity": "sha512-hYQVtP2l+3kO8oKDn4fjXXQYxgTRsj/LaV6lUMJH0zt+OhVmDXKJLxmdUP4ieTm0T8wEbSYosFavgPcQZlxRfw==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/core": "8.3.5"
+ },
+ "bin": {
+ "getstorybook": "bin/index.cjs",
+ "sb": "bin/index.cjs",
+ "storybook": "bin/index.cjs"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-indent": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "min-indent": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/sucrase": {
+ "version": "3.35.0",
+ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
+ "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "commander": "^4.0.0",
+ "glob": "^10.3.10",
+ "lines-and-columns": "^1.1.6",
+ "mz": "^2.7.0",
+ "pirates": "^4.0.1",
+ "ts-interface-checker": "^0.1.9"
+ },
+ "bin": {
+ "sucrase": "bin/sucrase",
+ "sucrase-node": "bin/sucrase-node"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/sucrase/node_modules/commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/sucrase/node_modules/glob": {
+ "version": "10.4.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
+ "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/sucrase/node_modules/jackspeak": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
+ "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/sucrase/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/tailwindcss": {
+ "version": "3.4.4",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz",
+ "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==",
+ "dependencies": {
+ "@alloc/quick-lru": "^5.2.0",
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.3.0",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "jiti": "^1.21.0",
+ "lilconfig": "^2.1.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.23",
+ "postcss-import": "^15.1.0",
+ "postcss-js": "^4.0.1",
+ "postcss-load-config": "^4.0.1",
+ "postcss-nested": "^6.0.1",
+ "postcss-selector-parser": "^6.0.11",
+ "resolve": "^1.22.2",
+ "sucrase": "^3.32.0"
+ },
+ "bin": {
+ "tailwind": "lib/cli.js",
+ "tailwindcss": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tailwindcss-react-aria-components": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/tailwindcss-react-aria-components/-/tailwindcss-react-aria-components-1.1.3.tgz",
+ "integrity": "sha512-j852nEhbvD7/zxpNI7hY+6mYm//2zSKuPPq3NNohMi+/nA0hxjaJGg0LYEPzumn/efNT0Itrq+/TMD+r/m1EqA==",
+ "peerDependencies": {
+ "tailwindcss": ">=3.0.0 || insiders"
+ }
+ },
+ "node_modules/telejson": {
+ "version": "7.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "memoizerific": "^1.11.3"
+ }
+ },
+ "node_modules/temp-dir": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tempy": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "del": "^6.0.0",
+ "is-stream": "^2.0.0",
+ "temp-dir": "^2.0.0",
+ "type-fest": "^0.16.0",
+ "unique-string": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/tempy/node_modules/type-fest": {
+ "version": "0.16.0",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/thenify": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+ "dependencies": {
+ "any-promise": "^1.0.0"
+ }
+ },
+ "node_modules/thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "dependencies": {
+ "thenify": ">= 3.1.0 < 4"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/tiny-invariant": {
+ "version": "1.3.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinyspy": {
+ "version": "2.2.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/ts-api-utils": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.2.0"
+ }
+ },
+ "node_modules/ts-dedent": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.10"
+ }
+ },
+ "node_modules/ts-interface-checker": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
+ },
+ "node_modules/tsconfig-paths": {
+ "version": "4.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "1.14.1",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "node_modules/tsutils": {
+ "version": "3.21.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "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"
+ }
+ },
+ "node_modules/tween-functions": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "BSD"
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dev": true,
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.4.5",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/uglify-js": {
+ "version": "3.17.4",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "optional": true,
+ "bin": {
+ "uglifyjs": "bin/uglifyjs"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "license": "MIT"
+ },
+ "node_modules/unique-string": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "crypto-random-string": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/unist-util-is": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
+ "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
+ "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit-parents": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
+ "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/unplugin": {
+ "version": "1.10.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.11.3",
+ "chokidar": "^3.6.0",
+ "webpack-sources": "^3.2.3",
+ "webpack-virtual-modules": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.15",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.1.2",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz",
+ "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/util": {
+ "version": "0.12.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "which-typed-array": "^1.1.2"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/vite": {
+ "version": "5.4.8",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz",
+ "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==",
+ "dev": true,
+ "dependencies": {
+ "esbuild": "^0.21.3",
+ "postcss": "^8.4.43",
+ "rollup": "^4.20.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/win32-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite/node_modules/esbuild": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/webpack-sources": {
+ "version": "3.2.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.6.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-collection": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-typed-array": {
+ "version": "1.1.15",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wordwrap": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "license": "MIT"
+ },
+ "node_modules/wrap-ansi/node_modules/string-width": {
+ "version": "5.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/ws": {
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
+ "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
+ "dev": true,
+ "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
+ }
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/yaml": {
+ "version": "2.4.5",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz",
+ "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ },
+ "dependencies": {
+ "@adobe/css-tools": {
+ "version": "4.3.3",
+ "dev": true
+ },
+ "@alloc/quick-lru": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="
+ },
+ "@ampproject/remapping": {
+ "version": "2.3.0",
+ "dev": true,
+ "requires": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "@babel/code-frame": {
+ "version": "7.24.2",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.24.2",
+ "picocolors": "^1.0.0"
+ }
+ },
+ "@babel/compat-data": {
+ "version": "7.24.4",
+ "dev": true
+ },
+ "@babel/core": {
+ "version": "7.24.5",
+ "dev": true,
+ "requires": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.24.2",
+ "@babel/generator": "^7.24.5",
+ "@babel/helper-compilation-targets": "^7.23.6",
+ "@babel/helper-module-transforms": "^7.24.5",
+ "@babel/helpers": "^7.24.5",
+ "@babel/parser": "^7.24.5",
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.5",
+ "@babel/types": "^7.24.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.1",
+ "dev": true
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.24.5",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.24.5",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^2.5.1"
+ }
+ },
+ "@babel/helper-compilation-targets": {
+ "version": "7.23.6",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.23.5",
+ "@babel/helper-validator-option": "^7.23.5",
+ "browserslist": "^4.22.2",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.1",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-environment-visitor": {
+ "version": "7.22.20",
+ "dev": true
+ },
+ "@babel/helper-function-name": {
+ "version": "7.23.0",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.22.5",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.22.5"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.24.3",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.24.0"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.24.5",
+ "dev": true,
+ "requires": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-module-imports": "^7.24.3",
+ "@babel/helper-simple-access": "^7.24.5",
+ "@babel/helper-split-export-declaration": "^7.24.5",
+ "@babel/helper-validator-identifier": "^7.24.5"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.24.5",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.24.5"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.24.5",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.24.5"
+ }
+ },
+ "@babel/helper-string-parser": {
+ "version": "7.24.1",
+ "dev": true
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.24.5",
+ "dev": true
+ },
+ "@babel/helper-validator-option": {
+ "version": "7.23.5",
+ "dev": true
+ },
+ "@babel/helpers": {
+ "version": "7.24.5",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.5",
+ "@babel/types": "^7.24.5"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.24.5",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.24.5",
+ "dev": true
+ },
+ "@babel/runtime": {
+ "version": "7.24.5",
+ "dev": true,
+ "requires": {
+ "regenerator-runtime": "^0.14.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.24.0",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.23.5",
+ "@babel/parser": "^7.24.0",
+ "@babel/types": "^7.24.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.24.5",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.24.2",
+ "@babel/generator": "^7.24.5",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.24.5",
+ "@babel/parser": "^7.24.5",
+ "@babel/types": "^7.24.5",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "dependencies": {
+ "globals": {
+ "version": "11.12.0",
+ "dev": true
+ }
+ }
+ },
+ "@babel/types": {
+ "version": "7.24.5",
+ "dev": true,
+ "requires": {
+ "@babel/helper-string-parser": "^7.24.1",
+ "@babel/helper-validator-identifier": "^7.24.5",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@base2/pretty-print-object": {
+ "version": "1.0.1",
+ "dev": true
+ },
+ "@chromatic-com/storybook": {
+ "version": "1.3.5",
+ "dev": true,
+ "requires": {
+ "chromatic": "^11.3.2",
+ "filesize": "^10.0.12",
+ "jsonfile": "^6.1.0",
+ "react-confetti": "^6.1.0",
+ "strip-ansi": "^7.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "6.0.1",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "7.1.0",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^6.0.1"
+ }
+ }
+ }
+ },
+ "@esbuild/aix-ppc64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
+ "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-arm": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz",
+ "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz",
+ "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz",
+ "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/darwin-arm64": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz",
+ "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==",
+ "optional": true
+ },
+ "@esbuild/darwin-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz",
+ "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/freebsd-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz",
+ "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/freebsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz",
+ "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-arm": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz",
+ "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz",
+ "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-ia32": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz",
+ "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-loong64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz",
+ "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-mips64el": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz",
+ "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-ppc64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz",
+ "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-riscv64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz",
+ "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-s390x": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz",
+ "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-x64": {
+ "version": "0.20.2",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/netbsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/openbsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/sunos-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz",
+ "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/win32-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz",
+ "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/win32-ia32": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz",
+ "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/win32-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz",
+ "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^3.3.0"
+ }
+ },
+ "@eslint-community/regexpp": {
+ "version": "4.10.0",
+ "dev": true
+ },
+ "@eslint/eslintrc": {
+ "version": "2.1.4",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ },
+ "@eslint/js": {
+ "version": "8.57.0",
+ "dev": true
+ },
+ "@formatjs/ecma402-abstract": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz",
+ "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==",
+ "requires": {
+ "@formatjs/intl-localematcher": "0.5.4",
+ "tslib": "^2.4.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ }
+ }
+ },
+ "@formatjs/fast-memoize": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz",
+ "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==",
+ "requires": {
+ "tslib": "^2.4.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ }
+ }
+ },
+ "@formatjs/icu-messageformat-parser": {
+ "version": "2.7.8",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz",
+ "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==",
+ "requires": {
+ "@formatjs/ecma402-abstract": "2.0.0",
+ "@formatjs/icu-skeleton-parser": "1.8.2",
+ "tslib": "^2.4.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ }
+ }
+ },
+ "@formatjs/icu-skeleton-parser": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz",
+ "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==",
+ "requires": {
+ "@formatjs/ecma402-abstract": "2.0.0",
+ "tslib": "^2.4.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ }
+ }
+ },
+ "@formatjs/intl-localematcher": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz",
+ "integrity": "sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==",
+ "requires": {
+ "tslib": "^2.4.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ }
+ }
+ },
+ "@fortawesome/fontawesome-common-types": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.1.tgz",
+ "integrity": "sha512-gbDz3TwRrIPT3i0cDfujhshnXO9z03IT1UKRIVi/VEjpNHtSBIP2o5XSm+e816FzzCFEzAxPw09Z13n20PaQJQ=="
+ },
+ "@fortawesome/fontawesome-svg-core": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.1.tgz",
+ "integrity": "sha512-8dBIHbfsKlCk2jHQ9PoRBg2Z+4TwyE3vZICSnoDlnsHA6SiMlTwfmW6yX0lHsRmWJugkeb92sA0hZdkXJhuz+g==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "6.7.1"
+ }
+ },
+ "@fortawesome/free-brands-svg-icons": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.7.1.tgz",
+ "integrity": "sha512-nJR76eqPzCnMyhbiGf6X0aclDirZriTPRcFm1YFvuupyJOGwlNF022w3YBqu+yrHRhnKRpzFX+8wJKqiIjWZkA==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "6.7.1"
+ }
+ },
+ "@fortawesome/react-fontawesome": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz",
+ "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==",
+ "requires": {
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@humanwhocodes/config-array": {
+ "version": "0.11.14",
+ "dev": true,
+ "requires": {
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ },
+ "@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "dev": true
+ },
+ "@humanwhocodes/object-schema": {
+ "version": "2.0.3",
+ "dev": true
+ },
+ "@internationalized/date": {
+ "version": "3.5.6",
+ "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.6.tgz",
+ "integrity": "sha512-jLxQjefH9VI5P9UQuqB6qNKnvFt1Ky1TPIzHGsIlCi7sZZoMR8SdYbBGRvM0y+Jtb+ez4ieBzmiAUcpmPYpyOw==",
+ "requires": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@internationalized/message": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.5.tgz",
+ "integrity": "sha512-hjEpLKFlYA3m5apldLqzHqw531qqfOEq0HlTWdfyZmcloWiUbWsYXD6YTiUmQmOtarthzhdjCAwMVrB8a4E7uA==",
+ "requires": {
+ "@swc/helpers": "^0.5.0",
+ "intl-messageformat": "^10.1.0"
+ }
+ },
+ "@internationalized/number": {
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.5.4.tgz",
+ "integrity": "sha512-h9huwWjNqYyE2FXZZewWqmCdkw1HeFds5q4Siuoms3hUQC5iPJK3aBmkFZoDSLN4UD0Bl8G22L/NdHpeOr+/7A==",
+ "requires": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@internationalized/string": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.4.tgz",
+ "integrity": "sha512-BcyadXPn89Ae190QGZGDUZPqxLj/xsP4U1Br1oSy8yfIjmpJ8cJtGYleaodqW/EmzFjwELtwDojLkf3FhV6SjA==",
+ "requires": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@isaacs/cliui": {
+ "version": "8.0.2",
+ "requires": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "6.0.1"
+ },
+ "emoji-regex": {
+ "version": "9.2.2"
+ },
+ "string-width": {
+ "version": "5.1.2",
+ "requires": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "7.1.0",
+ "requires": {
+ "ansi-regex": "^6.0.1"
+ }
+ }
+ }
+ },
+ "@jest/schemas": {
+ "version": "29.6.3",
+ "dev": true,
+ "requires": {
+ "@sinclair/typebox": "^0.27.8"
+ }
+ },
+ "@joshwooding/vite-plugin-react-docgen-typescript": {
+ "version": "0.3.0",
+ "dev": true,
+ "requires": {
+ "glob": "^7.2.0",
+ "glob-promise": "^4.2.0",
+ "magic-string": "^0.27.0",
+ "react-docgen-typescript": "^2.2.2"
+ },
+ "dependencies": {
+ "magic-string": {
+ "version": "0.27.0",
+ "dev": true,
+ "requires": {
+ "@jridgewell/sourcemap-codec": "^1.4.13"
+ }
+ }
+ }
+ },
+ "@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "requires": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "@jridgewell/resolve-uri": {
+ "version": "3.1.2"
+ },
+ "@jridgewell/set-array": {
+ "version": "1.2.1"
+ },
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.4.15"
+ },
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "requires": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "@mdx-js/react": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz",
+ "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==",
+ "dev": true,
+ "requires": {
+ "@types/mdx": "^2.0.0"
+ }
+ },
+ "@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "requires": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "2.0.5"
+ },
+ "@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ }
+ },
+ "@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "optional": true
+ },
+ "@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
+ },
+ "@protobufjs/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
+ },
+ "@protobufjs/codegen": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
+ },
+ "@protobufjs/eventemitter": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
+ },
+ "@protobufjs/fetch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+ "requires": {
+ "@protobufjs/aspromise": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.0"
+ }
+ },
+ "@protobufjs/float": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
+ },
+ "@protobufjs/inquire": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
+ },
+ "@protobufjs/path": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
+ },
+ "@protobufjs/pool": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
+ },
+ "@protobufjs/utf8": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
+ },
+ "@react-aria/accordion": {
+ "version": "3.0.0-alpha.34",
+ "resolved": "https://registry.npmjs.org/@react-aria/accordion/-/accordion-3.0.0-alpha.34.tgz",
+ "integrity": "sha512-3Qoj3StyQbdTYvAXVIbAIk11WtRyo3cdgn6OgwPAvN6c1r8R7X/J9DHTykZRrlF6TOGcdE0H0yrmPrlG92ObmA==",
+ "requires": {
+ "@react-aria/button": "^3.10.0",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/accordion": "3.0.0-alpha.24",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/breadcrumbs": {
+ "version": "3.5.17",
+ "resolved": "https://registry.npmjs.org/@react-aria/breadcrumbs/-/breadcrumbs-3.5.17.tgz",
+ "integrity": "sha512-LJQ+u3TbPmtAWZ3/qC6VfLCzXiwVoB6GmI+HJ2pbjs6H9L8MoiLHsA4mgcz+P0rvx7SCs0Rhvy4JurV6R/R4xw==",
+ "requires": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/link": "^3.7.5",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/breadcrumbs": "^3.7.8",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/button": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/button/-/button-3.10.0.tgz",
+ "integrity": "sha512-mhbn2tEsr991sjG6YMH6oN3ELWb4YvZZ8mnZHMNLa3l8T00PV0ClvQBsUndo6uSvuTHhpFzmMMkJFhYYUwCKlw==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/calendar": {
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@react-aria/calendar/-/calendar-3.5.12.tgz",
+ "integrity": "sha512-C8VRjRwEVPaGoCtjOlC0lb3mVSz4ajbal8jfvcbp7LOqCcmOVTUbiM7EPTy60EfZRanFNSp2D1ZstEZDU+cqsg==",
+ "requires": {
+ "@internationalized/date": "^3.5.6",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/calendar": "^3.5.5",
+ "@react-types/button": "^3.10.0",
+ "@react-types/calendar": "^3.4.10",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/checkbox": {
+ "version": "3.14.7",
+ "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.14.7.tgz",
+ "integrity": "sha512-aqVxXcr/8P7pQ7R34DlJX2SdBvWtHof9lLTVBY/9tgMplcKIoVBdlVUYPtqWxT3tGan+rruPQHbzTx8zJRFJyg==",
+ "requires": {
+ "@react-aria/form": "^3.0.9",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/toggle": "^3.10.8",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/checkbox": "^3.6.9",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-types/checkbox": "^3.8.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/collections": {
+ "version": "3.0.0-alpha.5",
+ "resolved": "https://registry.npmjs.org/@react-aria/collections/-/collections-3.0.0-alpha.5.tgz",
+ "integrity": "sha512-8m8yZe1c5PYCylEN4lcG3ZL/1nyrON95nVsoknC8shY1uKP01oJd7w+f6hvVza0tJRQuVe4zW3gO4FVjv33a5g==",
+ "requires": {
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0",
+ "use-sync-external-store": "^1.2.0"
+ }
+ },
+ "@react-aria/color": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/color/-/color-3.0.0.tgz",
+ "integrity": "sha512-IwHI4e2fUHUOZHRrL2MsxGZFp/RCR2cLjm39gT41jVSuH4zjxueUf96NDm6c7FD0mB5vfk0jo+KJMnShL1a2rg==",
+ "requires": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/numberfield": "^3.11.7",
+ "@react-aria/slider": "^3.7.12",
+ "@react-aria/spinbutton": "^3.6.9",
+ "@react-aria/textfield": "^3.14.9",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/visually-hidden": "^3.8.16",
+ "@react-stately/color": "^3.8.0",
+ "@react-stately/form": "^3.0.6",
+ "@react-types/color": "^3.0.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/combobox": {
+ "version": "3.10.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.10.4.tgz",
+ "integrity": "sha512-jzLyRwpwH5SCfQl5giLSwLaw9EKlRiMG39kDZLRB4MQ1MN4sIdIP2TXBbdYcSLtYjduJm2JfRvs2ezI+QI+umA==",
+ "requires": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/listbox": "^3.13.4",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/menu": "^3.15.4",
+ "@react-aria/overlays": "^3.23.3",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/textfield": "^3.14.9",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/combobox": "^3.10.0",
+ "@react-stately/form": "^3.0.6",
+ "@react-types/button": "^3.10.0",
+ "@react-types/combobox": "^3.13.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/datepicker": {
+ "version": "3.11.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/datepicker/-/datepicker-3.11.3.tgz",
+ "integrity": "sha512-HwGxDctFry5ew3Cu7gWpUVodaCg//V6NCihSRjLvnW/TWG+UFLzTafxTqqm8eRbicT3DJlXCLOUPk8Ek0txW6A==",
+ "requires": {
+ "@internationalized/date": "^3.5.6",
+ "@internationalized/number": "^3.5.4",
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/form": "^3.0.9",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/spinbutton": "^3.6.9",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/datepicker": "^3.10.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-types/button": "^3.10.0",
+ "@react-types/calendar": "^3.4.10",
+ "@react-types/datepicker": "^3.8.3",
+ "@react-types/dialog": "^3.5.13",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/dialog": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.18.tgz",
+ "integrity": "sha512-j0x0OwDZKyW2GqBZl2Dw/pHl0uSCzhHOg5jNeulkZC8xQa8COuksQf5NFzPmgRPnzqpbgvSzCSs41ymS8spmFg==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/overlays": "^3.23.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/dialog": "^3.5.13",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/disclosure": {
+ "version": "3.0.0-alpha.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/disclosure/-/disclosure-3.0.0-alpha.0.tgz",
+ "integrity": "sha512-/tleriRORdkRJf2JXjiRfhLfXA5WY0nPT3DoodZJgD5Fj/aCjrWXarVGUQuEk9vsH5pwinQiQB5So+cA+xF+UQ==",
+ "requires": {
+ "@react-aria/button": "^3.10.0",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/disclosure": "3.0.0-alpha.0",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/dnd": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/dnd/-/dnd-3.7.3.tgz",
+ "integrity": "sha512-SF7v1AzpXr4CSf98pSzjcSBCaezpP6rsSnSJTz0j2jrYfdQhX0MPA2lyxS+kgU1AEzkK19THQeHuj8hxQc0bVw==",
+ "requires": {
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/overlays": "^3.23.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/dnd": "^3.4.3",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/focus": {
+ "version": "3.18.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.18.3.tgz",
+ "integrity": "sha512-WKUElg+5zS0D3xlVn8MntNnkzJql2J6MuzAMP8Sv5WTgFDse/XGR842dsxPTIyKKdrWVCRegCuwa4m3n/GzgJw==",
+ "requires": {
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0",
+ "clsx": "^2.0.0"
+ }
+ },
+ "@react-aria/form": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@react-aria/form/-/form-3.0.9.tgz",
+ "integrity": "sha512-9M6IfC5t47G19c8roHWnkKd275BrECTzyTsc4rzf5OepJfHfG4evST6x+4gGOFYi8soC9XoQdJl4TRh/mft+gw==",
+ "requires": {
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/grid": {
+ "version": "3.10.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/grid/-/grid-3.10.4.tgz",
+ "integrity": "sha512-3AjJ0hwRhOCIHThIZrGWrjAuKDpaZuBkODW3dvgLqtsNm3tL46DI6U9O3vfp8lNbrWMsXJgjRXwvXvdv0/gwCA==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/grid": "^3.9.3",
+ "@react-stately/selection": "^3.17.0",
+ "@react-types/checkbox": "^3.8.4",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/gridlist": {
+ "version": "3.9.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/gridlist/-/gridlist-3.9.4.tgz",
+ "integrity": "sha512-gGzS4ToSynn2KBycf9UCsWIJIbVl4RjoCjPF4NnukwzHmrXwbtZnlF0xsORQ5QxfqHH9UehTAHWFvOOHJSZZ2w==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/grid": "^3.10.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/list": "^3.11.0",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/i18n": {
+ "version": "3.12.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.12.3.tgz",
+ "integrity": "sha512-0Tp/4JwnCVNKDfuknPF+/xf3/woOc8gUjTU2nCjO3mCVb4FU7KFtjxQ2rrx+6hpIVG6g+N9qfMjRa/ggVH0CJg==",
+ "requires": {
+ "@internationalized/date": "^3.5.6",
+ "@internationalized/message": "^3.1.5",
+ "@internationalized/number": "^3.5.4",
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/interactions": {
+ "version": "3.22.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.22.3.tgz",
+ "integrity": "sha512-RRUb/aG+P0IKTIWikY/SylB6bIbLZeztnZY2vbe7RAG5MgVaCgn5HQ45SI15GlTmhsFG8CnF6slJsUFJiNHpbQ==",
+ "requires": {
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/label": {
+ "version": "3.7.12",
+ "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.7.12.tgz",
+ "integrity": "sha512-u9xT90lAlgb7xiv+p0md9QwCHz65XL7tjS5e29e88Rs3ptkv3aQubTqxVOUTEwzbNUT4A1QqTjUm1yfHewIRUw==",
+ "requires": {
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/link": {
+ "version": "3.7.5",
+ "resolved": "https://registry.npmjs.org/@react-aria/link/-/link-3.7.5.tgz",
+ "integrity": "sha512-j0F1BIdNoE7Tl+0KzzjbrmYuxt4aWAmDZDHvJKiYg71Jb1BAPz71eE1O1ybMoO04+OG/6HrRZTragfSQLAJ58A==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/link": "^3.5.8",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/listbox": {
+ "version": "3.13.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.13.4.tgz",
+ "integrity": "sha512-2aG4jzlB+srYBeM9ap/BNZe0E04yMjY2dPGXcigkaSJt6/yYAHCygXuouf2MzvBfkdV4QWyHIIgWZmAXXl6reg==",
+ "requires": {
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/list": "^3.11.0",
+ "@react-types/listbox": "^3.5.2",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/live-announcer": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.4.0.tgz",
+ "integrity": "sha512-VBxEdMq2SbtRbNTQNcDR2G6E3lEl5cJSBiHTTO8Ln1AL76LiazrylIXGgoktqzCfRQmyq0v8CHk1cNKDU9mvJg==",
+ "requires": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/menu": {
+ "version": "3.15.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.15.4.tgz",
+ "integrity": "sha512-4wfq8Lb7AltgSzBHdtypiPOnsRm8hHv7PUuHhlq/VT9yAkEFk4Flc7vKVF6VSFqrnCfyCf66B5aeapjNInAONg==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/overlays": "^3.23.3",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/menu": "^3.8.3",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/button": "^3.10.0",
+ "@react-types/menu": "^3.9.12",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/meter": {
+ "version": "3.4.17",
+ "resolved": "https://registry.npmjs.org/@react-aria/meter/-/meter-3.4.17.tgz",
+ "integrity": "sha512-08wbQhfvVWzpWilhn/WD7cQ7TqafS/66umTk7+X6BW6TrS1//6loNNJV62IC3F7sskel4iEAtl2gW0WpW8zEdg==",
+ "requires": {
+ "@react-aria/progress": "^3.4.17",
+ "@react-types/meter": "^3.4.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/numberfield": {
+ "version": "3.11.7",
+ "resolved": "https://registry.npmjs.org/@react-aria/numberfield/-/numberfield-3.11.7.tgz",
+ "integrity": "sha512-9bqg4sKqc5XLppHzJFRhgtkoeMu0N6Zg0AuVSiE/3CxE5Ad+y8tKpFEx9zh4o5BItyOWy18w5ZXnKjJGjd7waQ==",
+ "requires": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/spinbutton": "^3.6.9",
+ "@react-aria/textfield": "^3.14.9",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/numberfield": "^3.9.7",
+ "@react-types/button": "^3.10.0",
+ "@react-types/numberfield": "^3.8.6",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/overlays": {
+ "version": "3.23.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.23.3.tgz",
+ "integrity": "sha512-vRW4DL466a27BBIP6dQqmmei4nX/nsur6DyF0Hmd46ygwOdvdA+5MwvXZUz9yUamB79UeS9BMQZuBVwhjoMwBQ==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/visually-hidden": "^3.8.16",
+ "@react-stately/overlays": "^3.6.11",
+ "@react-types/button": "^3.10.0",
+ "@react-types/overlays": "^3.8.10",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/progress": {
+ "version": "3.4.17",
+ "resolved": "https://registry.npmjs.org/@react-aria/progress/-/progress-3.4.17.tgz",
+ "integrity": "sha512-5+01WNibLoNS5KcfU5p6vg7Lhz17plqqzv/uITx28zzj3saaj0VLR7n57Ig2fXe8ZEQoUS89BS3sIEsIf96S1A==",
+ "requires": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/progress": "^3.5.7",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/radio": {
+ "version": "3.10.8",
+ "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.10.8.tgz",
+ "integrity": "sha512-/vKQhKqpoCB/VqHuc46OOU+31HFtg6svcYzHBbz0wN/DSVCygYeTfB/36kY7x2GWWkT0pCsB4OcHJ+/0G3EfkQ==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/form": "^3.0.9",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/radio": "^3.10.8",
+ "@react-types/radio": "^3.8.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/searchfield": {
+ "version": "3.7.9",
+ "resolved": "https://registry.npmjs.org/@react-aria/searchfield/-/searchfield-3.7.9.tgz",
+ "integrity": "sha512-EHODG7HDFthwG5tx4fh+WP2hjNOp/rPAqdNScKBAN73nEf0F/qQpIwmdZF0EycCOzGSM5hhihjm0yMtTFYuzOQ==",
+ "requires": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/textfield": "^3.14.9",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/searchfield": "^3.5.7",
+ "@react-types/button": "^3.10.0",
+ "@react-types/searchfield": "^3.5.9",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/select": {
+ "version": "3.14.10",
+ "resolved": "https://registry.npmjs.org/@react-aria/select/-/select-3.14.10.tgz",
+ "integrity": "sha512-xHkAJqvfKgnH5mVYwZj3ME7/Q3wUzgUZDK/iVuXUs3cAYap8ybM2d/2zOGcqv1keZHBUzwp9QtaN//FYK13jIA==",
+ "requires": {
+ "@react-aria/form": "^3.0.9",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/listbox": "^3.13.4",
+ "@react-aria/menu": "^3.15.4",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/visually-hidden": "^3.8.16",
+ "@react-stately/select": "^3.6.8",
+ "@react-types/button": "^3.10.0",
+ "@react-types/select": "^3.9.7",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/selection": {
+ "version": "3.20.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.20.0.tgz",
+ "integrity": "sha512-h3giMcXo4SMZRL5HrqZvOLNTsdh5jCXwLUx0wpj/2EF0tcYQL6WDfn1iJ+rHARkUIs7X70fUV8iwlbUySZy1xg==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/selection": "^3.17.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/separator": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/separator/-/separator-3.4.3.tgz",
+ "integrity": "sha512-L+eCmSGfRJ9jScHZqBkmOkp44LBARisDjRdYbGrLlsAEcOiHUXufnfpxz2rgkUGBdUgnI9hIk12q5kdy0UxGjg==",
+ "requires": {
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/slider": {
+ "version": "3.7.12",
+ "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.7.12.tgz",
+ "integrity": "sha512-yZWBGxDHBL5Gjjdnz+igdO7VfYND9iZsSqynadZthWtfy1jA+qBR25I+Soc0D9gkr/2/JUJkFgkllYF1RzWMUQ==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/slider": "^3.5.8",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/slider": "^3.7.6",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/spinbutton": {
+ "version": "3.6.9",
+ "resolved": "https://registry.npmjs.org/@react-aria/spinbutton/-/spinbutton-3.6.9.tgz",
+ "integrity": "sha512-m+uVJdiIc2LrLVDGjU7p8P2O2gUvTN26GR+NgH4rl+tUSuAB0+T1rjls/C+oXEqQjCpQihEB9Bt4M+VHpzmyjA==",
+ "requires": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/ssr": {
+ "version": "3.9.6",
+ "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.6.tgz",
+ "integrity": "sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==",
+ "requires": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/switch": {
+ "version": "3.6.8",
+ "resolved": "https://registry.npmjs.org/@react-aria/switch/-/switch-3.6.8.tgz",
+ "integrity": "sha512-6Q0w7o+liB0ztKPL9UaRfX+hPPuy71AL3SuVCMK7RKfPqZwcmlwUDp2gr3j5fvs8gLev0r42XtEBqmGwkHTkEw==",
+ "requires": {
+ "@react-aria/toggle": "^3.10.8",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/switch": "^3.5.6",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/table": {
+ "version": "3.15.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/table/-/table-3.15.4.tgz",
+ "integrity": "sha512-t4+vtUF63i6OrXmZ0AA/RmWyIt8cieUm7cSXhQMooAgUjkvVqTNkQQRsntVOb+UNI5KmiGSe4jB3H4GVXz2X9w==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/grid": "^3.10.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/visually-hidden": "^3.8.16",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/flags": "^3.0.4",
+ "@react-stately/table": "^3.12.3",
+ "@react-types/checkbox": "^3.8.4",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/table": "^3.10.2",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/tabs": {
+ "version": "3.9.6",
+ "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.9.6.tgz",
+ "integrity": "sha512-iPQ2Im+srnSB06xIdVNHZZDJnZmUR0IG0MZAp6FXmbkCeLAd9tZQHgSFYwswBfgAStNnyFQHP5aSBJOJMRCACg==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/tabs": "^3.6.10",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/tabs": "^3.3.10",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/tag": {
+ "version": "3.4.6",
+ "resolved": "https://registry.npmjs.org/@react-aria/tag/-/tag-3.4.6.tgz",
+ "integrity": "sha512-Uf1sPabwJx99diyXJTaVguiYozS49opjQxmK1PPbb87ipNN1YlSDVbP05IelVMbnbxXHudsRmzPOBmmblcj1GQ==",
+ "requires": {
+ "@react-aria/gridlist": "^3.9.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/list": "^3.11.0",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/textfield": {
+ "version": "3.14.9",
+ "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.14.9.tgz",
+ "integrity": "sha512-LPwZhthDVLyvnzXWco4eyYCD2pFmQ4Vw9ha9tb3QkZUIP6j8E52y76j0c59Nq7XYus3IHatVe7yYQk7kbo8Zrg==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/form": "^3.0.9",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/textfield": "^3.9.7",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/toggle": {
+ "version": "3.10.8",
+ "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.10.8.tgz",
+ "integrity": "sha512-N6WTgE8ByMYY+ZygUUPGON2vW5NrxwU91H98+Nozl+Rq6ZYR2fD9i8oRtLtrYPxjU2HmaFwDyQdWvmMJZuDxig==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-types/checkbox": "^3.8.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/toolbar": {
+ "version": "3.0.0-beta.9",
+ "resolved": "https://registry.npmjs.org/@react-aria/toolbar/-/toolbar-3.0.0-beta.9.tgz",
+ "integrity": "sha512-P80zgbPb0aIg22fHlgHRXXUSpNSAOnh1ljsLiSHAGdXPrC5nRijYwwKi7DNRsXqD+ljEJwF6ekZPo95dXXeYAA==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/tooltip": {
+ "version": "3.7.8",
+ "resolved": "https://registry.npmjs.org/@react-aria/tooltip/-/tooltip-3.7.8.tgz",
+ "integrity": "sha512-dlWfS3w8E6dw5Xoist4cVX2GQE5oh3VQr88dRyLto7BAPLFrp3I+8c9mZCVUobLS/f5QcQzLkqw750s4ENCyiw==",
+ "requires": {
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/tooltip": "^3.4.13",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/tooltip": "^3.4.12",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/tree": {
+ "version": "3.0.0-beta.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/tree/-/tree-3.0.0-beta.0.tgz",
+ "integrity": "sha512-bF9sp7x+Ciy0N2KJwy8epmDoNblyVmeB4vR/KWLVIKMjANCpzTbvhWZUBpQxkpO0eupInU2uN+FMNr0WKMyd7Q==",
+ "requires": {
+ "@react-aria/gridlist": "^3.9.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/button": "^3.10.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/utils": {
+ "version": "3.25.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.25.3.tgz",
+ "integrity": "sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==",
+ "requires": {
+ "@react-aria/ssr": "^3.9.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0",
+ "clsx": "^2.0.0"
+ }
+ },
+ "@react-aria/virtualizer": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/virtualizer/-/virtualizer-4.0.3.tgz",
+ "integrity": "sha512-neSf+EXtqmQiccHcp9CS2RbH3xA6FuZggLzGsM1NoqDdXIL7TLfc7lhaqi8VAZ03e1FCUSye08BCRk3DdpUiyA==",
+ "requires": {
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-stately/virtualizer": "^4.1.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-aria/visually-hidden": {
+ "version": "3.8.16",
+ "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.16.tgz",
+ "integrity": "sha512-3zThVIzEprez4A/GajOut6/JQ4WCu2ROHGZ1xH1+2GFjBJQaTfPBIjg6UIwaT7sgHRQIik8QidogLqXHbp81yA==",
+ "requires": {
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/calendar": {
+ "version": "3.5.5",
+ "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.5.5.tgz",
+ "integrity": "sha512-HzaiDRhrmaYIly8hRsjjIrydLkldiw1Ws6T/130NLQOt+VPwRW/x0R+nil42mA9LZ6oV0XN0NpmG5tn7TaKRGw==",
+ "requires": {
+ "@internationalized/date": "^3.5.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/calendar": "^3.4.10",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/checkbox": {
+ "version": "3.6.9",
+ "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.6.9.tgz",
+ "integrity": "sha512-JrY3ecnK/SSJPxw+qhGhg3YV4e0CpUcPDrVwY3mSiAE932DPd19xr+qVCknJ34H7JYYt/q0l2z0lmgPnl96RTg==",
+ "requires": {
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/checkbox": "^3.8.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/collections": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.11.0.tgz",
+ "integrity": "sha512-TiJeJjHMPSbbeAhmCXLJNSCk0fa5XnCvEuYw6HtQzDnYiq1AD7KAwkpjC5NfKkjqF3FLXs/v9RDm/P69q6rYzw==",
+ "requires": {
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/color": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/color/-/color-3.8.0.tgz",
+ "integrity": "sha512-lBH91HEStZeayhE/FkDMt9WC0UISQiAn8DoD2hfpTGeeWscX/soyxZA7oVL7zBOG9RfDBMNzF+CybVROrWSKAQ==",
+ "requires": {
+ "@internationalized/number": "^3.5.4",
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/numberfield": "^3.9.7",
+ "@react-stately/slider": "^3.5.8",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/color": "^3.0.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/combobox": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.10.0.tgz",
+ "integrity": "sha512-4W4HCCjjoddW/LZM3pSSeLoV7ncYXlaICKmqlBcbtLR5jY4U5Kx+pPpy3oJ1vCdjDHatIxZ0tVKEBP7vBQVeGQ==",
+ "requires": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/list": "^3.11.0",
+ "@react-stately/overlays": "^3.6.11",
+ "@react-stately/select": "^3.6.8",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/combobox": "^3.13.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/data": {
+ "version": "3.11.7",
+ "resolved": "https://registry.npmjs.org/@react-stately/data/-/data-3.11.7.tgz",
+ "integrity": "sha512-2YJ+Lmca18f/h7jiZiU9j2IhBJl6BFO1BWlwvcCAH/eCWTdveX8gzsUdW++0szzpJaoCilTCYoi8z7QWyVH9jQ==",
+ "requires": {
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/datepicker": {
+ "version": "3.10.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.10.3.tgz",
+ "integrity": "sha512-6PJW1QMwk6BQMktV9L6DA4f2rfAdLfbq3iTNLy4qxd5IfNPLMUZiJGGTj+cuqx0WcEl+q5irp+YhKBpbmhPZHg==",
+ "requires": {
+ "@internationalized/date": "^3.5.6",
+ "@internationalized/string": "^3.2.4",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/overlays": "^3.6.11",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/datepicker": "^3.8.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/disclosure": {
+ "version": "3.0.0-alpha.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/disclosure/-/disclosure-3.0.0-alpha.0.tgz",
+ "integrity": "sha512-CbFUrEwhsP5+44PMHipn/Cd61VTvqyKmx1yeNDyvj/4bYhmxYLgQp/Ma+iEqe23JkXJh2JO/ws3l9FnebScCJQ==",
+ "requires": {
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/dnd": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/dnd/-/dnd-3.4.3.tgz",
+ "integrity": "sha512-sUvhmMxFEw6P2MW7walx0ntakIihxdPxA06K9YZ3+ReaUvzQuRw5cFDaTTHrlegWRMYD0CyQaKlGIaTQihhvVA==",
+ "requires": {
+ "@react-stately/selection": "^3.17.0",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/flags": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.0.4.tgz",
+ "integrity": "sha512-RNJEkOALwKg+JeYsfNlfPc4GXm7hiBLX0yuHOkRapWEyDOfi0cinkV/TZG4goOZdQ5tBpHmemf2qqiHAxqHlzQ==",
+ "requires": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/form": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@react-stately/form/-/form-3.0.6.tgz",
+ "integrity": "sha512-KMsxm3/V0iCv/6ikt4JEjVM3LW2AgCzo7aNotMzRobtwIo0RwaUo7DQNY00rGgFQ3/IjzI6DcVo13D+AVE/zXg==",
+ "requires": {
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/grid": {
+ "version": "3.9.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.9.3.tgz",
+ "integrity": "sha512-P5KgCNYwm/n8bbLx6527li89RQWoESikrsg2MMyUpUd6IJ321t2pGONGRRQzxE0SBMolPRDJKV0Do2OlsjYKhQ==",
+ "requires": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/selection": "^3.17.0",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/layout": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/layout/-/layout-4.0.3.tgz",
+ "integrity": "sha512-zFLXnPalWWVCdFGcPAb+nywSTz/xAnKRxb7zT+YDa5U80DHArDGKZcQ+by0+2Sf8yaYolROco4my+BERPXJB6A==",
+ "requires": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/table": "^3.12.3",
+ "@react-stately/virtualizer": "^4.1.0",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/table": "^3.10.2",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/list": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.11.0.tgz",
+ "integrity": "sha512-O+BxXcbtoLZWn4QIT54RoFUaM+QaJQm6s0ZBJ3Jv4ILIhukVOc55ra+aWMVlXFQSpbf6I3hyVP6cz1yyvd5Rtw==",
+ "requires": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/selection": "^3.17.0",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/menu": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.8.3.tgz",
+ "integrity": "sha512-sV63V+cMgzipx/N7dq5GaXoItfXIfFEpCtlk3PM2vKstlCJalszXrdo+x996bkeU96h0plB7znAlhlXOeTKzUg==",
+ "requires": {
+ "@react-stately/overlays": "^3.6.11",
+ "@react-types/menu": "^3.9.12",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/numberfield": {
+ "version": "3.9.7",
+ "resolved": "https://registry.npmjs.org/@react-stately/numberfield/-/numberfield-3.9.7.tgz",
+ "integrity": "sha512-PjSgCCpYasGCEAznFQNqa2JhhEQ5+/2eMiV7ZI5j76q3edTNF8G5OOCl2RazDbzFp6vDAnRVT7Kctx5Tl5R/Zw==",
+ "requires": {
+ "@internationalized/number": "^3.5.4",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/numberfield": "^3.8.6",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/overlays": {
+ "version": "3.6.11",
+ "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.11.tgz",
+ "integrity": "sha512-usuxitwOx4FbmOW7Og4VM8R8ZjerbHZLLbFaxZW7pWLs7Ypway1YhJ3SWcyNTYK7NEk4o602kSoU6MSev1Vgag==",
+ "requires": {
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/overlays": "^3.8.10",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/radio": {
+ "version": "3.10.8",
+ "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.10.8.tgz",
+ "integrity": "sha512-VRq6Gzsbk3jzX6hdrSoDoSra9vLRsOi2pLkvW/CMrJ0GSgMwr8jjvJKnNFvYJ3eYQb20EwkarsOAfk7vPSIt/Q==",
+ "requires": {
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/radio": "^3.8.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/searchfield": {
+ "version": "3.5.7",
+ "resolved": "https://registry.npmjs.org/@react-stately/searchfield/-/searchfield-3.5.7.tgz",
+ "integrity": "sha512-VxEG4tWDypdXQ8f7clZBu5Qmc4osqDBeA/gNMA2i1j/h2zRVcCJ0fRCHuDeXLSWBqF1XXAI4TWV53fBBwJusbg==",
+ "requires": {
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/searchfield": "^3.5.9",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/select": {
+ "version": "3.6.8",
+ "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.6.8.tgz",
+ "integrity": "sha512-fLAVzGeYSdYdBdrEVws6Pb1ywFPdapA0eWphoW5s3fS0/pKcVWwbCHeHlaBEi1ISyqEubQZFGQdeFKm/M46Hew==",
+ "requires": {
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/list": "^3.11.0",
+ "@react-stately/overlays": "^3.6.11",
+ "@react-types/select": "^3.9.7",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/selection": {
+ "version": "3.17.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.17.0.tgz",
+ "integrity": "sha512-It3LRTaFOavybuDBvBH2mvCh73OL4awqvN4tZ0JzLzMtaYSBe9+YmFasYrzB0o7ca17B2q1tpUmsNWaAgIqbLA==",
+ "requires": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/slider": {
+ "version": "3.5.8",
+ "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.5.8.tgz",
+ "integrity": "sha512-EDgbrxMq1w3+XTN72MGl3YtAG/j65EYX1Uc3Fh56K00+inJbTdRWyYTrb3NA310fXCd0WFBbzExuH2ohlKQycg==",
+ "requires": {
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/slider": "^3.7.6",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/table": {
+ "version": "3.12.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.12.3.tgz",
+ "integrity": "sha512-8uGrLcNJYeMbFtzRQZFWCBj5kV+7v3jzwoKIL1j9TmYUKow1PTDMQbPJpAZLQhnC2wVMlaFVgDbedSlbBij7Zg==",
+ "requires": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/flags": "^3.0.4",
+ "@react-stately/grid": "^3.9.3",
+ "@react-stately/selection": "^3.17.0",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/table": "^3.10.2",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/tabs": {
+ "version": "3.6.10",
+ "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.6.10.tgz",
+ "integrity": "sha512-F7wfoiNsrBy7c02AYHyE1USGgj05HQ0hp7uXmQjp2LEa+AA0NKKi3HdswTHHySxb0ZRuoEE7E7vp/gXQYx2/Ow==",
+ "requires": {
+ "@react-stately/list": "^3.11.0",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/tabs": "^3.3.10",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/toggle": {
+ "version": "3.7.8",
+ "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.7.8.tgz",
+ "integrity": "sha512-ySOtkByvIY54yIu8IZ4lnvomQA0H+/mkZnd6T5fKN3tjvIzHmkUk3TAPmNInUxHX148tSW6mWwec0xvjYqEd6w==",
+ "requires": {
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/checkbox": "^3.8.4",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/tooltip": {
+ "version": "3.4.13",
+ "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.4.13.tgz",
+ "integrity": "sha512-zQ+8FQ7Pi0Cz852dltXb6yaryjE18K3byK4tIO3e5vnrZHEGvfdxowc+v9ak5UV93kVrYoOVmfZHRcEaTXTBNA==",
+ "requires": {
+ "@react-stately/overlays": "^3.6.11",
+ "@react-types/tooltip": "^3.4.12",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/tree": {
+ "version": "3.8.5",
+ "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.8.5.tgz",
+ "integrity": "sha512-0/tYhsKWQQJTOZFDwh8hY3Qk6ejNFRldGrLeK5kS22UZdvsMFyh7WAi40FTCJy561/VoB0WqQI4oyNPOa9lYWg==",
+ "requires": {
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/selection": "^3.17.0",
+ "@react-stately/utils": "^3.10.4",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/utils": {
+ "version": "3.10.4",
+ "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.4.tgz",
+ "integrity": "sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==",
+ "requires": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-stately/virtualizer": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-4.1.0.tgz",
+ "integrity": "sha512-MOaqpY3NloXrpCBvVUb3HL1p3Bh4YRtUq8D2ufC909u5vM6n6G5Swk1XPJ9KHfaftGhb5serwLkm2/Aha5CTbA==",
+ "requires": {
+ "@react-aria/utils": "^3.25.3",
+ "@react-types/shared": "^3.25.0",
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "@react-types/accordion": {
+ "version": "3.0.0-alpha.24",
+ "resolved": "https://registry.npmjs.org/@react-types/accordion/-/accordion-3.0.0-alpha.24.tgz",
+ "integrity": "sha512-hwDT4TJH7aHCG8m9QsTP+7xgW7x7k2TY+WHlMRr6qDS6WhTCwd41dCdagxC0SZtulzZuWqISBxZifVrh4Tynew==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/breadcrumbs": {
+ "version": "3.7.8",
+ "resolved": "https://registry.npmjs.org/@react-types/breadcrumbs/-/breadcrumbs-3.7.8.tgz",
+ "integrity": "sha512-+BW2a+PrY8ArZ+pKecz13oJFrUAhthvXx17o3x0BhWUhRpAdtmTYt2hjw8zNanm2j0Kvgo1HYKgvtskCRxYcOA==",
+ "requires": {
+ "@react-types/link": "^3.5.8",
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/button": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.10.0.tgz",
+ "integrity": "sha512-rAyU+N9VaHLBdZop4zasn8IDwf9I5Q1EzHUKMtzIFf5aUlMUW+K460zI/l8UESWRSWAXK9/WPSXGxfcoCEjvAA==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/calendar": {
+ "version": "3.4.10",
+ "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.4.10.tgz",
+ "integrity": "sha512-PyjqxwJxSW2IpQx6y0D9O34fRCWn1gv9q0qFhgaIigIQrPg8zTE/CC7owHLxAtgCnnCt8exJ5rqi414csaHKlA==",
+ "requires": {
+ "@internationalized/date": "^3.5.6",
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/checkbox": {
+ "version": "3.8.4",
+ "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.8.4.tgz",
+ "integrity": "sha512-fvZrlQmlFNsYHZpl7GVmyYQlKdUtO5MczMSf8z3TlSiCb5Kl3ha9PsZgLhJqGuVnzB2ArIBz0eZrYa3k0PhcpA==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/color": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@react-types/color/-/color-3.0.0.tgz",
+ "integrity": "sha512-VUH8CROAM69GsMBilrJ1xyAdVsWL01nXQYrkZJxAEApv1OrcpIGSdsXLcGrjsrhjjiNVXxWFnqYRMsKkLzIl7g==",
+ "requires": {
+ "@react-types/shared": "^3.25.0",
+ "@react-types/slider": "^3.7.6"
+ }
+ },
+ "@react-types/combobox": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.13.0.tgz",
+ "integrity": "sha512-kH/a+Fjpr54M2JbHg9RXwMjZ9O+XVsdOuE5JCpWRibJP1Mfl1md8gY6y6zstmVY8COrSqFvMZWB+PzwaTWjTGw==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/datepicker": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.8.3.tgz",
+ "integrity": "sha512-Y4qfPRBB6uzocosCOWSYMuwiZ3YXwLWQYiFB4KCglkvHyltbNz76LgoBEnclYA5HjwosIk4XywiXvHSYry8JnQ==",
+ "requires": {
+ "@internationalized/date": "^3.5.6",
+ "@react-types/calendar": "^3.4.10",
+ "@react-types/overlays": "^3.8.10",
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/dialog": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.13.tgz",
+ "integrity": "sha512-9k8daVcAqQsySkzDY6NIVlyGxtpEip4TKuLyzAehthbv78GQardD5fHdjQ6eXPRS4I2qZrmytrFFrlOnwWVGHw==",
+ "requires": {
+ "@react-types/overlays": "^3.8.10",
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/form": {
+ "version": "3.7.7",
+ "resolved": "https://registry.npmjs.org/@react-types/form/-/form-3.7.7.tgz",
+ "integrity": "sha512-CVRjCawPhYRHi/LuikOC2kz5vgvmjjKmF4/wUgR2QzD1Ok4wY1ZGSx9M9EZptCIZAt2mToR6woyLUdtzy+foeQ==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/grid": {
+ "version": "3.2.9",
+ "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.2.9.tgz",
+ "integrity": "sha512-eMw0d2UIZ4QTzGgD1wGGPw0cv67KjAOCp4TcwWjgDV7Wa5SVV/UvOmpnIVDyfhkG/4KRI5OR9h+isy76B726qA==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/link": {
+ "version": "3.5.8",
+ "resolved": "https://registry.npmjs.org/@react-types/link/-/link-3.5.8.tgz",
+ "integrity": "sha512-l/YGXddgAbLnIT7ekftXrK1D4n8NlLQwx0d4usyZpaxP1KwPzuwng20DxynamLc1atoKBqbUtZAnz32pe7vYgw==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/listbox": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.5.2.tgz",
+ "integrity": "sha512-ML/Bt/MeO0FiixcuFQ+smpu1WguxTOqHDjSnhc1vcNxVQFWQOhyVy01LAY2J/T9TjfjyYGD41vyMTI0f6fcLEQ==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/menu": {
+ "version": "3.9.12",
+ "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.12.tgz",
+ "integrity": "sha512-1SPnkHKJdvOfwv9fEgK1DI6DYRs4D3hW2XcWlLhVXSjaC68CzOHGwFhKIKvZiDTW/11L770PRSEloIxHR09uFQ==",
+ "requires": {
+ "@react-types/overlays": "^3.8.10",
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/meter": {
+ "version": "3.4.4",
+ "resolved": "https://registry.npmjs.org/@react-types/meter/-/meter-3.4.4.tgz",
+ "integrity": "sha512-0SEmPkShByC1gYkW7l+iJPg8QfEe2VrgwTciAtTfC4KIqAYmJVQtq6L+4d72EMxOh8RpQHePaY/RFHEJXAh72A==",
+ "requires": {
+ "@react-types/progress": "^3.5.7"
+ }
+ },
+ "@react-types/numberfield": {
+ "version": "3.8.6",
+ "resolved": "https://registry.npmjs.org/@react-types/numberfield/-/numberfield-3.8.6.tgz",
+ "integrity": "sha512-VtWEMAXUO1S9EEZI8whc7xv6DVccxhbWsRthMCg/LxiwU3U5KAveadNc2c5rtXkRpd3cnD5xFzz3dExXdmHkAg==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/overlays": {
+ "version": "3.8.10",
+ "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.10.tgz",
+ "integrity": "sha512-IcnB+VYfAJazRjWhBKZTmVMh3KTp/B1rRbcKkPx6t8djP9UQhKcohP7lAALxjJ56Jjz/GFC6rWyUcnYH0NFVRA==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/progress": {
+ "version": "3.5.7",
+ "resolved": "https://registry.npmjs.org/@react-types/progress/-/progress-3.5.7.tgz",
+ "integrity": "sha512-EqMDHmlpoZUZzTjdejGIkSM0pS2LBI9NdadHf3bDNTycHv+5L1xpMHUg8RGOW8a3sRVLRvfN1aO9l75QZkyj+w==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/radio": {
+ "version": "3.8.4",
+ "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.8.4.tgz",
+ "integrity": "sha512-GCuOwQL19iwKa74NAIk9hv4ivyI8oW1+ZCuc2fzyDdeQjzTIlv3qrIyShwpVy1IoI7/4DYTMZm/YXPoKhu5TTA==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/searchfield": {
+ "version": "3.5.9",
+ "resolved": "https://registry.npmjs.org/@react-types/searchfield/-/searchfield-3.5.9.tgz",
+ "integrity": "sha512-c/x8BWpH1Zq+fWpeBtzw2AhQhGi7ahWPicV7PlnqwIGO0MrH/QCjX0dj+I+1xpcAh8Eq6ECa79HE74Rw6aJmFg==",
+ "requires": {
+ "@react-types/shared": "^3.25.0",
+ "@react-types/textfield": "^3.9.7"
+ }
+ },
+ "@react-types/select": {
+ "version": "3.9.7",
+ "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.9.7.tgz",
+ "integrity": "sha512-Jva4ixfB4EEdy+WmZkUoLiQI7vVfHPxM73VuL7XDxvAO+YKiIztDTcU720QVNhxTMmQvCxfRBXWar8aodCjLiw==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/shared": {
+ "version": "3.25.0",
+ "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.25.0.tgz",
+ "integrity": "sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==",
+ "requires": {}
+ },
+ "@react-types/slider": {
+ "version": "3.7.6",
+ "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.7.6.tgz",
+ "integrity": "sha512-z72wnEzSge6qTD9TUoUPp1A4j4jXk/MVii6rGE78XeE/Pq7HyyjU5bCagryMr9PC9MKa/oTiHcshKqWBDf57GA==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/switch": {
+ "version": "3.5.6",
+ "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.5.6.tgz",
+ "integrity": "sha512-gJ8t2yTCgcitz4ON4ELcLLmtlDkn2MUjjfu3ez/cwA1X/NUluPYkhXj5Z6H+KOlnveqrKCZDRoTgK74cQ6Cvfg==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/table": {
+ "version": "3.10.2",
+ "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.10.2.tgz",
+ "integrity": "sha512-YzA4hcsYfnFFpA2UyGb1KKhLpWgaj5daApqjp126tCIosl8k1KxZmhKD50cwH0Jm19lALJseqo5VdlcJtcr4qg==",
+ "requires": {
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/tabs": {
+ "version": "3.3.10",
+ "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.3.10.tgz",
+ "integrity": "sha512-s/Bw/HCIdWJPBw4O703ghKqhjGsIerRMIDxA88hbQYzfTDD6bkFDjCnsP2Tyy1G8Dg2rSPFUEE+k+PpLzqeEfQ==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/textfield": {
+ "version": "3.9.7",
+ "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.9.7.tgz",
+ "integrity": "sha512-vU5+QCOF9HgWGjAmmy+cpJibVW5voFomC5POmYHokm7kivYcMMjlonsgWwg/0xXrqE2qosH3tpz4jFoEuig1NQ==",
+ "requires": {
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@react-types/tooltip": {
+ "version": "3.4.12",
+ "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.4.12.tgz",
+ "integrity": "sha512-FwsdSQ3UDIDORanQMGMLyzSUabw4AkKhwcRdPv4d5OT8GmJr7mBdZynfcsrKLJ0fzskIypMqspoutZidsI0MQg==",
+ "requires": {
+ "@react-types/overlays": "^3.8.10",
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "@rollup/pluginutils": {
+ "version": "5.1.0",
+ "dev": true,
+ "requires": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^2.3.1"
+ }
+ },
+ "@rollup/rollup-android-arm-eabi": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz",
+ "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-android-arm64": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz",
+ "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-darwin-arm64": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz",
+ "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==",
+ "optional": true
+ },
+ "@rollup/rollup-darwin-x64": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz",
+ "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz",
+ "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz",
+ "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz",
+ "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-linux-arm64-musl": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz",
+ "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz",
+ "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz",
+ "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz",
+ "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-linux-x64-gnu": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz",
+ "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-linux-x64-musl": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz",
+ "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz",
+ "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz",
+ "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@rollup/rollup-win32-x64-msvc": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz",
+ "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==",
+ "dev": true,
+ "optional": true
+ },
+ "@sinclair/typebox": {
+ "version": "0.27.8",
+ "dev": true
+ },
+ "@storybook/addon-actions": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.3.5.tgz",
+ "integrity": "sha512-t8D5oo+4XfD+F8091wLa2y/CDd/W2lExCeol5Vm1tp5saO+u6f2/d7iykLhTowWV84Uohi3D073uFeyTAlGebg==",
+ "dev": true,
+ "requires": {
+ "@storybook/global": "^5.0.0",
+ "@types/uuid": "^9.0.1",
+ "dequal": "^2.0.2",
+ "polished": "^4.2.2",
+ "uuid": "^9.0.0"
+ }
+ },
+ "@storybook/addon-backgrounds": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.3.5.tgz",
+ "integrity": "sha512-IQGjDujuw8+iSqKREdkL8I5E/5CAHZbfOWd4A75PQK2D6qZ0fu/xRwTOQOH4jP6xn/abvfACOdL6A0d5bU90ag==",
+ "dev": true,
+ "requires": {
+ "@storybook/global": "^5.0.0",
+ "memoizerific": "^1.11.3",
+ "ts-dedent": "^2.0.0"
+ }
+ },
+ "@storybook/addon-controls": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.3.5.tgz",
+ "integrity": "sha512-2eCVobUUvY1Rq7sp1U8Mx8t44VXwvi0E+hqyrsqOx5TTSC/FUQ+hNAX6GSYUcFIyQQ1ORpKNlUjAAdjxBv1ZHQ==",
+ "dev": true,
+ "requires": {
+ "@storybook/global": "^5.0.0",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "ts-dedent": "^2.0.0"
+ }
+ },
+ "@storybook/addon-docs": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.3.5.tgz",
+ "integrity": "sha512-MOVfo1bY8kXTzbvmWnx3UuSO4WNykFz7Edvb3mxltNyuW7UDRZGuIuSe32ddT/EtLJfurrC9Ja3yBy4KBUGnMA==",
+ "dev": true,
+ "requires": {
+ "@mdx-js/react": "^3.0.0",
+ "@storybook/blocks": "8.3.5",
+ "@storybook/csf-plugin": "8.3.5",
+ "@storybook/global": "^5.0.0",
+ "@storybook/react-dom-shim": "8.3.5",
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "fs-extra": "^11.1.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "rehype-external-links": "^3.0.0",
+ "rehype-slug": "^6.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "@storybook/csf-plugin": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.3.5.tgz",
+ "integrity": "sha512-ODVqNXwJt90hG7QW8I9w/XUyOGlr0l7XltmIJgXwB/2cYDvaGu3JV5Ybg7O0fxPV8uXk7JlRuUD8ZYv5Low6pA==",
+ "dev": true,
+ "requires": {
+ "unplugin": "^1.3.1"
+ }
+ },
+ "@storybook/react-dom-shim": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.3.5.tgz",
+ "integrity": "sha512-Hf0UitJ/K0C7ajooooUK/PxOR4ihUWqsC7iCV1Gqth8U37dTeLMbaEO4PBwu0VQ+Ufg0N8BJLWfg7o6G4hrODw==",
+ "dev": true,
+ "requires": {}
+ }
+ }
+ },
+ "@storybook/addon-essentials": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.3.5.tgz",
+ "integrity": "sha512-hXTtPuN4/IsXjUrkMPAuz1qKAl8DovdXpjQgjQs7jSAVx3kc4BZaGqJ3gaVenKtO8uDchmA92BoQygpkc8eWhw==",
+ "dev": true,
+ "requires": {
+ "@storybook/addon-actions": "8.3.5",
+ "@storybook/addon-backgrounds": "8.3.5",
+ "@storybook/addon-controls": "8.3.5",
+ "@storybook/addon-docs": "8.3.5",
+ "@storybook/addon-highlight": "8.3.5",
+ "@storybook/addon-measure": "8.3.5",
+ "@storybook/addon-outline": "8.3.5",
+ "@storybook/addon-toolbars": "8.3.5",
+ "@storybook/addon-viewport": "8.3.5",
+ "ts-dedent": "^2.0.0"
+ }
+ },
+ "@storybook/addon-highlight": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.3.5.tgz",
+ "integrity": "sha512-ku0epul9aReCR3Gv/emwYnsqg3vgux5OmYMjoDcJC7s+LyfweSzLV/f5t9gSHazikJElh5TehtVkWbC4QfbGSw==",
+ "dev": true,
+ "requires": {
+ "@storybook/global": "^5.0.0"
+ }
+ },
+ "@storybook/addon-interactions": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/global": "^5.0.0",
+ "@storybook/instrumenter": "8.0.10",
+ "@storybook/test": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "polished": "^4.2.2",
+ "ts-dedent": "^2.2.0"
+ }
+ },
+ "@storybook/addon-links": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/csf": "^0.1.4",
+ "@storybook/global": "^5.0.0",
+ "ts-dedent": "^2.0.0"
+ }
+ },
+ "@storybook/addon-measure": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.3.5.tgz",
+ "integrity": "sha512-6GVehgbHhFIFS69xSfRV+12VK0cnuIAtZdp1J3eUCc2ATrcigqVjTM6wzZz6kBuX6O3dcusr7Wg46KtNliqLqg==",
+ "dev": true,
+ "requires": {
+ "@storybook/global": "^5.0.0",
+ "tiny-invariant": "^1.3.1"
+ }
+ },
+ "@storybook/addon-onboarding": {
+ "version": "8.0.10",
+ "dev": true
+ },
+ "@storybook/addon-outline": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.3.5.tgz",
+ "integrity": "sha512-dwmK6GzjEnQP9Yo0VnBUQtJkXZlXdfjWyskZ/IlUVc+IFdeeCtIiMyA92oMfHo8eXt0k1g21ZqMaIn7ZltOuHw==",
+ "dev": true,
+ "requires": {
+ "@storybook/global": "^5.0.0",
+ "ts-dedent": "^2.0.0"
+ }
+ },
+ "@storybook/addon-toolbars": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.3.5.tgz",
+ "integrity": "sha512-Ml2gc9q8WbteDvmuAZGgBxt5SqWMXzuTkMjlsA8EB53hlkN1w9esX4s8YtBeNqC3HKoUzcdq8uexSBqU8fDbSA==",
+ "dev": true,
+ "requires": {}
+ },
+ "@storybook/addon-viewport": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.3.5.tgz",
+ "integrity": "sha512-FSWydoPiVWFXEittG7O1YgvuaqoU9Vb+qoq9XfP/hvQHHMDcMZvC40JaV8AnJeTXaM7ngIjcn9XDEfGbFfOzXw==",
+ "dev": true,
+ "requires": {
+ "memoizerific": "^1.11.3"
+ }
+ },
+ "@storybook/blocks": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.3.5.tgz",
+ "integrity": "sha512-8cHTdTywolTHlgwN8I7YH7saWAIjGzV617AwjhJ95AKlC0VtpO1gAFcAgCqr4DU9eMc+LZuvbnaU/RSvA5eCCQ==",
+ "dev": true,
+ "requires": {
+ "@storybook/csf": "^0.1.11",
+ "@storybook/global": "^5.0.0",
+ "@storybook/icons": "^1.2.10",
+ "@types/lodash": "^4.14.167",
+ "color-convert": "^2.0.1",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.4.5",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.2.2",
+ "react-colorful": "^5.1.2",
+ "telejson": "^7.2.0",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "@storybook/builder-vite": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/channels": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-common": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/csf-plugin": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/preview": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "@types/find-cache-dir": "^3.2.1",
+ "browser-assert": "^1.2.1",
+ "es-module-lexer": "^0.9.3",
+ "express": "^4.17.3",
+ "find-cache-dir": "^3.0.0",
+ "fs-extra": "^11.1.0",
+ "magic-string": "^0.30.0",
+ "ts-dedent": "^2.0.0"
+ }
+ },
+ "@storybook/channels": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/global": "^5.0.0",
+ "telejson": "^7.2.0",
+ "tiny-invariant": "^1.3.1"
+ }
+ },
+ "@storybook/client-logger": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/global": "^5.0.0"
+ }
+ },
+ "@storybook/core": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.3.5.tgz",
+ "integrity": "sha512-GOGfTvdioNa/n+Huwg4u/dsyYyBcM+gEcdxi3B7i5x4yJ3I912KoVshumQAOF2myKSRdI8h8aGWdx7nnjd0+5Q==",
+ "dev": true,
+ "requires": {
+ "@storybook/csf": "^0.1.11",
+ "@types/express": "^4.17.21",
+ "better-opn": "^3.0.2",
+ "browser-assert": "^1.2.1",
+ "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0",
+ "esbuild-register": "^3.5.0",
+ "express": "^4.19.2",
+ "jsdoc-type-pratt-parser": "^4.0.0",
+ "process": "^0.11.10",
+ "recast": "^0.23.5",
+ "semver": "^7.6.2",
+ "util": "^0.12.5",
+ "ws": "^8.2.3"
+ }
+ },
+ "@storybook/core-common": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/core-events": "8.0.10",
+ "@storybook/csf-tools": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "@yarnpkg/fslib": "2.10.3",
+ "@yarnpkg/libzip": "2.3.0",
+ "chalk": "^4.1.0",
+ "cross-spawn": "^7.0.3",
+ "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0",
+ "esbuild-register": "^3.5.0",
+ "execa": "^5.0.0",
+ "file-system-cache": "2.3.0",
+ "find-cache-dir": "^3.0.0",
+ "find-up": "^5.0.0",
+ "fs-extra": "^11.1.0",
+ "glob": "^10.0.0",
+ "handlebars": "^4.7.7",
+ "lazy-universal-dotenv": "^4.0.0",
+ "node-fetch": "^2.0.0",
+ "picomatch": "^2.3.0",
+ "pkg-dir": "^5.0.0",
+ "pretty-hrtime": "^1.0.3",
+ "resolve-from": "^5.0.0",
+ "semver": "^7.3.7",
+ "tempy": "^1.0.1",
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0",
+ "util": "^0.12.4"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "10.3.15",
+ "dev": true,
+ "requires": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.3.6",
+ "minimatch": "^9.0.1",
+ "minipass": "^7.0.4",
+ "path-scurry": "^1.11.0"
+ }
+ },
+ "minipass": {
+ "version": "7.1.1",
+ "dev": true
+ },
+ "resolve-from": {
+ "version": "5.0.0",
+ "dev": true
+ }
+ }
+ },
+ "@storybook/core-events": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "ts-dedent": "^2.0.0"
+ }
+ },
+ "@storybook/csf": {
+ "version": "0.1.11",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.11.tgz",
+ "integrity": "sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^2.19.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "2.19.0",
+ "dev": true
+ }
+ }
+ },
+ "@storybook/csf-plugin": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/csf-tools": "8.0.10",
+ "unplugin": "^1.3.1"
+ }
+ },
+ "@storybook/csf-tools": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@babel/generator": "^7.23.0",
+ "@babel/parser": "^7.23.0",
+ "@babel/traverse": "^7.23.2",
+ "@babel/types": "^7.23.0",
+ "@storybook/csf": "^0.1.4",
+ "@storybook/types": "8.0.10",
+ "fs-extra": "^11.1.0",
+ "recast": "^0.23.5",
+ "ts-dedent": "^2.0.0"
+ }
+ },
+ "@storybook/docs-tools": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/core-common": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "@types/doctrine": "^0.0.3",
+ "assert": "^2.1.0",
+ "doctrine": "^3.0.0",
+ "lodash": "^4.17.21"
+ }
+ },
+ "@storybook/global": {
+ "version": "5.0.0",
+ "dev": true
+ },
+ "@storybook/icons": {
+ "version": "1.2.12",
+ "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.12.tgz",
+ "integrity": "sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q==",
+ "dev": true,
+ "requires": {}
+ },
+ "@storybook/instrumenter": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/channels": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/global": "^5.0.0",
+ "@storybook/preview-api": "8.0.10",
+ "@vitest/utils": "^1.3.1",
+ "util": "^0.12.4"
+ }
+ },
+ "@storybook/node-logger": {
+ "version": "8.0.10",
+ "dev": true
+ },
+ "@storybook/preview": {
+ "version": "8.0.10",
+ "dev": true
+ },
+ "@storybook/preview-api": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/channels": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/csf": "^0.1.4",
+ "@storybook/global": "^5.0.0",
+ "@storybook/types": "8.0.10",
+ "@types/qs": "^6.9.5",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "qs": "^6.10.0",
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "@storybook/react": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/docs-tools": "8.0.10",
+ "@storybook/global": "^5.0.0",
+ "@storybook/preview-api": "8.0.10",
+ "@storybook/react-dom-shim": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "@types/escodegen": "^0.0.6",
+ "@types/estree": "^0.0.51",
+ "@types/node": "^18.0.0",
+ "acorn": "^7.4.1",
+ "acorn-jsx": "^5.3.1",
+ "acorn-walk": "^7.2.0",
+ "escodegen": "^2.1.0",
+ "html-tags": "^3.1.0",
+ "lodash": "^4.17.21",
+ "prop-types": "^15.7.2",
+ "react-element-to-jsx-string": "^15.0.0",
+ "semver": "^7.3.7",
+ "ts-dedent": "^2.0.0",
+ "type-fest": "~2.19",
+ "util-deprecate": "^1.0.2"
+ },
+ "dependencies": {
+ "@types/estree": {
+ "version": "0.0.51",
+ "dev": true
+ },
+ "acorn": {
+ "version": "7.4.1",
+ "dev": true
+ },
+ "type-fest": {
+ "version": "2.19.0",
+ "dev": true
+ }
+ }
+ },
+ "@storybook/react-dom-shim": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {}
+ },
+ "@storybook/react-vite": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@joshwooding/vite-plugin-react-docgen-typescript": "0.3.0",
+ "@rollup/pluginutils": "^5.0.2",
+ "@storybook/builder-vite": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/react": "8.0.10",
+ "find-up": "^5.0.0",
+ "magic-string": "^0.30.0",
+ "react-docgen": "^7.0.0",
+ "resolve": "^1.22.8",
+ "tsconfig-paths": "^4.2.0"
+ }
+ },
+ "@storybook/test": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/instrumenter": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
+ "@testing-library/dom": "^9.3.4",
+ "@testing-library/jest-dom": "^6.4.2",
+ "@testing-library/user-event": "^14.5.2",
+ "@vitest/expect": "1.3.1",
+ "@vitest/spy": "^1.3.1",
+ "util": "^0.12.4"
+ }
+ },
+ "@storybook/types": {
+ "version": "8.0.10",
+ "dev": true,
+ "requires": {
+ "@storybook/channels": "8.0.10",
+ "@types/express": "^4.7.0",
+ "file-system-cache": "2.3.0"
+ }
+ },
+ "@swc/core": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.4.tgz",
+ "integrity": "sha512-+wSycNxOw9QQz81AJAZlNS34EtOIifwUXMPACg05PWjECsjOKDTXLCVPx6J0lRaxhHSGBU2OYs9mRfIvxGt3CA==",
+ "dev": true,
+ "requires": {
+ "@swc/core-darwin-arm64": "1.7.4",
+ "@swc/core-darwin-x64": "1.7.4",
+ "@swc/core-linux-arm-gnueabihf": "1.7.4",
+ "@swc/core-linux-arm64-gnu": "1.7.4",
+ "@swc/core-linux-arm64-musl": "1.7.4",
+ "@swc/core-linux-x64-gnu": "1.7.4",
+ "@swc/core-linux-x64-musl": "1.7.4",
+ "@swc/core-win32-arm64-msvc": "1.7.4",
+ "@swc/core-win32-ia32-msvc": "1.7.4",
+ "@swc/core-win32-x64-msvc": "1.7.4",
+ "@swc/counter": "^0.1.3",
+ "@swc/types": "^0.1.12"
+ }
+ },
+ "@swc/core-darwin-arm64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.4.tgz",
+ "integrity": "sha512-RbWrdGh+x9xKFUA9/kPZRR8OPxUsDUuPyLjPIGLYZMO+ftht2vhVH7QsUq6lg+jAP34eIya72UA1isiZe+BRaA==",
+ "dev": true,
+ "optional": true
+ },
+ "@swc/core-darwin-x64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.4.tgz",
+ "integrity": "sha512-TxCWMJs4OrqApjFuT8cUiqMz0zg97F0JsXBEeZ7zjkyv9XJ/rN2pdwqMlZv0Wv2C2rivOPo6FsWYlZ3V8ZHhyA==",
+ "dev": true,
+ "optional": true
+ },
+ "@swc/core-linux-arm-gnueabihf": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.4.tgz",
+ "integrity": "sha512-5IhwIJZAgkkfI6PqgQ3xk0/2hTAVsAczIPLiR2Epp30EgsNo1KIFL0ZHzrnvJPy5BZ3jy3T1dEbDE/memBOEmA==",
+ "dev": true,
+ "optional": true
+ },
+ "@swc/core-linux-arm64-gnu": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.4.tgz",
+ "integrity": "sha512-0787jri83jigf26mF8FndWehh7jqMaHwAm/OV6VdToyNo/g+d1AxVpkEizrywZK46el+AObnHUIHIHwZgO21LA==",
+ "dev": true,
+ "optional": true
+ },
+ "@swc/core-linux-arm64-musl": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.4.tgz",
+ "integrity": "sha512-A45hGKWAGcjU5Ol0uQUoK0tHerwEKxfprYUZbmPLpD2yrpMZr+dTrwY2n075sixs7RuZEccBkgGNpehEe5BPBQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@swc/core-linux-x64-gnu": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.4.tgz",
+ "integrity": "sha512-bcO1MpAm39TXqqHuYW4ox4vDvhB7jkguwMwxvmL+cKBGsUHrIoUTfGt9NM9N4D4CvOwULlxqbyt19veUJ7CVPw==",
+ "dev": true,
+ "optional": true
+ },
+ "@swc/core-linux-x64-musl": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.4.tgz",
+ "integrity": "sha512-N6nXuHyDO/q5kPN2xQxz5BEvhFpgnFSkP+9wxg5xWq+qIQL5bv37jk8dkKvMLx/8fHzTqrIjPDSRzVbcL7sqXg==",
+ "dev": true,
+ "optional": true
+ },
+ "@swc/core-win32-arm64-msvc": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.4.tgz",
+ "integrity": "sha512-7W1owqCNR1cG+mpS55juiZlR/lrAdxB1pH32egeOipNKOLGwyqmlzQ0g9tkQTNgzwgfpCUg8z606+GqqXvajZw==",
+ "dev": true,
+ "optional": true
+ },
+ "@swc/core-win32-ia32-msvc": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.4.tgz",
+ "integrity": "sha512-saLkY+q7zNPk4gYiUBCc93FYPo4ECXMjHcSPtLVHoPZBIxRrklgaAf6aDpblBo30nVdoBE2V3YPd0Y/cPiY6RQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@swc/core-win32-x64-msvc": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.4.tgz",
+ "integrity": "sha512-zKF6jpRBNuVKgOf2W5dMcPyjwcNCp21syjl9lvLRbCeIg+1U+zjdoQCAmMWWoPNE7fLg+yfvohnnOJG2AdzQ9Q==",
+ "dev": true,
+ "optional": true
+ },
+ "@swc/counter": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
+ "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
+ "dev": true
+ },
+ "@swc/helpers": {
+ "version": "0.5.11",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.11.tgz",
+ "integrity": "sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==",
+ "requires": {
+ "tslib": "^2.4.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
+ }
+ }
+ },
+ "@swc/types": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz",
+ "integrity": "sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==",
+ "dev": true,
+ "requires": {
+ "@swc/counter": "^0.1.3"
+ }
+ },
+ "@tailwindcss/container-queries": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/container-queries/-/container-queries-0.1.1.tgz",
+ "integrity": "sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==",
+ "requires": {}
+ },
+ "@tauri-apps/api": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.1.tgz",
+ "integrity": "sha512-eoQWT+Tq1qSwQpHV+nw1eNYe5B/nm1PoRjQCRiEOS12I1b+X4PUcREfXVX8dPcBT6GrzWGDtaecY0+1p0Rfqlw=="
+ },
+ "@tauri-apps/cli": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.1.0.tgz",
+ "integrity": "sha512-K2VhcKqBhAeS5pNOVdnR/xQRU6jwpgmkSL2ejHXcl0m+kaTggT0WRDQnFtPq6NljA7aE03cvwsbCAoFG7vtkJw==",
+ "dev": true,
+ "requires": {
+ "@tauri-apps/cli-darwin-arm64": "2.1.0",
+ "@tauri-apps/cli-darwin-x64": "2.1.0",
+ "@tauri-apps/cli-linux-arm-gnueabihf": "2.1.0",
+ "@tauri-apps/cli-linux-arm64-gnu": "2.1.0",
+ "@tauri-apps/cli-linux-arm64-musl": "2.1.0",
+ "@tauri-apps/cli-linux-x64-gnu": "2.1.0",
+ "@tauri-apps/cli-linux-x64-musl": "2.1.0",
+ "@tauri-apps/cli-win32-arm64-msvc": "2.1.0",
+ "@tauri-apps/cli-win32-ia32-msvc": "2.1.0",
+ "@tauri-apps/cli-win32-x64-msvc": "2.1.0"
+ }
+ },
+ "@tauri-apps/cli-darwin-arm64": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.1.0.tgz",
+ "integrity": "sha512-ESc6J6CE8hl1yKH2vJ+ALF+thq4Be+DM1mvmTyUCQObvezNCNhzfS6abIUd3ou4x5RGH51ouiANeT3wekU6dCw==",
+ "dev": true,
+ "optional": true
+ },
+ "@tauri-apps/cli-darwin-x64": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.1.0.tgz",
+ "integrity": "sha512-TasHS442DFs8cSH2eUQzuDBXUST4ECjCd0yyP+zZzvAruiB0Bg+c8A+I/EnqCvBQ2G2yvWLYG8q/LI7c87A5UA==",
+ "dev": true,
+ "optional": true
+ },
+ "@tauri-apps/cli-linux-arm-gnueabihf": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.1.0.tgz",
+ "integrity": "sha512-aP7ZBGNL4ny07Cbb6kKpUOSrmhcIK2KhjviTzYlh+pPhAptxnC78xQGD3zKQkTi2WliJLPmBYbOHWWQa57lQ9w==",
+ "dev": true,
+ "optional": true
+ },
+ "@tauri-apps/cli-linux-arm64-gnu": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.1.0.tgz",
+ "integrity": "sha512-ZTdgD5gLeMCzndMT2f358EkoYkZ5T+Qy6zPzU+l5vv5M7dHVN9ZmblNAYYXmoOuw7y+BY4X/rZvHV9pcGrcanQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@tauri-apps/cli-linux-arm64-musl": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.1.0.tgz",
+ "integrity": "sha512-NzwqjUCilhnhJzusz3d/0i0F1GFrwCQbkwR6yAHUxItESbsGYkZRJk0yMEWkg3PzFnyK4cWTlQJMEU52TjhEzA==",
+ "dev": true,
+ "optional": true
+ },
+ "@tauri-apps/cli-linux-x64-gnu": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.1.0.tgz",
+ "integrity": "sha512-TyiIpMEtZxNOQmuFyfJwaaYbg3movSthpBJLIdPlKxSAB2BW0VWLY3/ZfIxm/G2YGHyREkjJvimzYE0i37PnMA==",
+ "dev": true,
+ "optional": true
+ },
+ "@tauri-apps/cli-linux-x64-musl": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.1.0.tgz",
+ "integrity": "sha512-/dQd0TlaxBdJACrR72DhynWftzHDaX32eBtS5WBrNJ+nnNb+znM3gON6nJ9tSE9jgDa6n1v2BkI/oIDtypfUXw==",
+ "dev": true,
+ "optional": true
+ },
+ "@tauri-apps/cli-win32-arm64-msvc": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.1.0.tgz",
+ "integrity": "sha512-NdQJO7SmdYqOcE+JPU7bwg7+odfZMWO6g8xF9SXYCMdUzvM2Gv/AQfikNXz5yS7ralRhNFuW32i5dcHlxh4pDg==",
+ "dev": true,
+ "optional": true
+ },
+ "@tauri-apps/cli-win32-ia32-msvc": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.1.0.tgz",
+ "integrity": "sha512-f5h8gKT/cB8s1ticFRUpNmHqkmaLutT62oFDB7N//2YTXnxst7EpMIn1w+QimxTvTk2gcx6EcW6bEk/y2hZGzg==",
+ "dev": true,
+ "optional": true
+ },
+ "@tauri-apps/cli-win32-x64-msvc": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.1.0.tgz",
+ "integrity": "sha512-P/+LrdSSb5Xbho1LRP4haBjFHdyPdjWvGgeopL96OVtrFpYnfC+RctB45z2V2XxqFk3HweDDxk266btjttfjGw==",
+ "dev": true,
+ "optional": true
+ },
+ "@tauri-apps/plugin-cli": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-cli/-/plugin-cli-2.0.0.tgz",
+ "integrity": "sha512-glQmlL1IiCGEa1FHYa/PTPSeYhfu56omLRgHXWlJECDt6DbJyRuJWVgtkQfUxtqnVdYnnU+DGIGeiInoEqtjLw==",
+ "requires": {
+ "@tauri-apps/api": "^2.0.0"
+ }
+ },
+ "@testing-library/dom": {
+ "version": "9.3.4",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/runtime": "^7.12.5",
+ "@types/aria-query": "^5.0.1",
+ "aria-query": "5.1.3",
+ "chalk": "^4.1.0",
+ "dom-accessibility-api": "^0.5.9",
+ "lz-string": "^1.5.0",
+ "pretty-format": "^27.0.2"
+ }
+ },
+ "@testing-library/jest-dom": {
+ "version": "6.4.5",
+ "dev": true,
+ "requires": {
+ "@adobe/css-tools": "^4.3.2",
+ "@babel/runtime": "^7.9.2",
+ "aria-query": "^5.0.0",
+ "chalk": "^3.0.0",
+ "css.escape": "^1.5.1",
+ "dom-accessibility-api": "^0.6.3",
+ "lodash": "^4.17.21",
+ "redent": "^3.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "3.0.0",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "dom-accessibility-api": {
+ "version": "0.6.3",
+ "dev": true
+ }
+ }
+ },
+ "@testing-library/user-event": {
+ "version": "14.5.2",
+ "dev": true,
+ "requires": {}
+ },
+ "@types/aria-query": {
+ "version": "5.0.4",
+ "dev": true
+ },
+ "@types/babel__core": {
+ "version": "7.20.5",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "@types/babel__generator": {
+ "version": "7.6.8",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__template": {
+ "version": "7.4.4",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__traverse": {
+ "version": "7.20.5",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.20.7"
+ }
+ },
+ "@types/body-parser": {
+ "version": "1.19.5",
+ "dev": true,
+ "requires": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/connect": {
+ "version": "3.4.38",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/doctrine": {
+ "version": "0.0.3",
+ "dev": true
+ },
+ "@types/emscripten": {
+ "version": "1.39.12",
+ "dev": true
+ },
+ "@types/escodegen": {
+ "version": "0.0.6",
+ "dev": true
+ },
+ "@types/estree": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
+ "dev": true
+ },
+ "@types/express": {
+ "version": "4.17.21",
+ "dev": true,
+ "requires": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.33",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
+ }
+ },
+ "@types/express-serve-static-core": {
+ "version": "4.19.0",
+ "dev": true,
+ "requires": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
+ }
+ },
+ "@types/find-cache-dir": {
+ "version": "3.2.1",
+ "dev": true
+ },
+ "@types/glob": {
+ "version": "7.2.0",
+ "dev": true,
+ "requires": {
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "*"
+ }
+ },
+ "@types/http-errors": {
+ "version": "2.0.4",
+ "dev": true
+ },
+ "@types/json-schema": {
+ "version": "7.0.15",
+ "dev": true
+ },
+ "@types/lodash": {
+ "version": "4.17.10",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.10.tgz",
+ "integrity": "sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==",
+ "dev": true
+ },
+ "@types/mdx": {
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz",
+ "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==",
+ "dev": true
+ },
+ "@types/mime": {
+ "version": "1.3.5",
+ "dev": true
+ },
+ "@types/minimatch": {
+ "version": "5.1.2",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "18.19.33",
+ "requires": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "@types/prop-types": {
+ "version": "15.7.12",
+ "dev": true
+ },
+ "@types/qs": {
+ "version": "6.9.15",
+ "dev": true
+ },
+ "@types/range-parser": {
+ "version": "1.2.7",
+ "dev": true
+ },
+ "@types/react": {
+ "version": "18.3.2",
+ "dev": true,
+ "requires": {
+ "@types/prop-types": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "@types/react-dom": {
+ "version": "18.3.0",
+ "dev": true,
+ "requires": {
+ "@types/react": "*"
+ }
+ },
+ "@types/resolve": {
+ "version": "1.20.6",
+ "dev": true
+ },
+ "@types/semver": {
+ "version": "7.5.8",
+ "dev": true
+ },
+ "@types/send": {
+ "version": "0.17.4",
+ "dev": true,
+ "requires": {
+ "@types/mime": "^1",
+ "@types/node": "*"
+ }
+ },
+ "@types/serve-static": {
+ "version": "1.15.7",
+ "dev": true,
+ "requires": {
+ "@types/http-errors": "*",
+ "@types/node": "*",
+ "@types/send": "*"
+ }
+ },
+ "@types/unist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "9.0.8",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
+ "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==",
+ "dev": true
+ },
+ "@types/w3c-web-serial": {
+ "version": "1.0.6",
+ "dev": true
+ },
+ "@types/web-bluetooth": {
+ "version": "0.0.20",
+ "dev": true
+ },
+ "@typescript-eslint/eslint-plugin": {
+ "version": "7.8.0",
+ "dev": true,
+ "requires": {
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "7.8.0",
+ "@typescript-eslint/type-utils": "7.8.0",
+ "@typescript-eslint/utils": "7.8.0",
+ "@typescript-eslint/visitor-keys": "7.8.0",
+ "debug": "^4.3.4",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.3.1",
+ "natural-compare": "^1.4.0",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "7.8.0",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/scope-manager": "7.8.0",
+ "@typescript-eslint/types": "7.8.0",
+ "@typescript-eslint/typescript-estree": "7.8.0",
+ "@typescript-eslint/visitor-keys": "7.8.0",
+ "debug": "^4.3.4"
+ }
+ },
+ "@typescript-eslint/scope-manager": {
+ "version": "7.8.0",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "7.8.0",
+ "@typescript-eslint/visitor-keys": "7.8.0"
+ }
+ },
+ "@typescript-eslint/type-utils": {
+ "version": "7.8.0",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/typescript-estree": "7.8.0",
+ "@typescript-eslint/utils": "7.8.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.3.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "7.8.0",
+ "dev": true
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "7.8.0",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "7.8.0",
+ "@typescript-eslint/visitor-keys": "7.8.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
+ }
+ },
+ "@typescript-eslint/utils": {
+ "version": "7.8.0",
+ "dev": true,
+ "requires": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@types/json-schema": "^7.0.15",
+ "@types/semver": "^7.5.8",
+ "@typescript-eslint/scope-manager": "7.8.0",
+ "@typescript-eslint/types": "7.8.0",
+ "@typescript-eslint/typescript-estree": "7.8.0",
+ "semver": "^7.6.0"
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "7.8.0",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "7.8.0",
+ "eslint-visitor-keys": "^3.4.3"
+ }
+ },
+ "@ungap/structured-clone": {
+ "version": "1.2.0",
+ "dev": true
+ },
+ "@vitejs/plugin-react-swc": {
+ "version": "3.6.0",
+ "dev": true,
+ "requires": {
+ "@swc/core": "^1.3.107"
+ }
+ },
+ "@vitest/expect": {
+ "version": "1.3.1",
+ "dev": true,
+ "requires": {
+ "@vitest/spy": "1.3.1",
+ "@vitest/utils": "1.3.1",
+ "chai": "^4.3.10"
+ },
+ "dependencies": {
+ "@vitest/spy": {
+ "version": "1.3.1",
+ "dev": true,
+ "requires": {
+ "tinyspy": "^2.2.0"
+ }
+ },
+ "@vitest/utils": {
+ "version": "1.3.1",
+ "dev": true,
+ "requires": {
+ "diff-sequences": "^29.6.3",
+ "estree-walker": "^3.0.3",
+ "loupe": "^2.3.7",
+ "pretty-format": "^29.7.0"
+ }
+ },
+ "ansi-styles": {
+ "version": "5.2.0",
+ "dev": true
+ },
+ "estree-walker": {
+ "version": "3.0.3",
+ "dev": true,
+ "requires": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "pretty-format": {
+ "version": "29.7.0",
+ "dev": true,
+ "requires": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ }
+ },
+ "react-is": {
+ "version": "18.3.1",
+ "dev": true
+ }
+ }
+ },
+ "@vitest/spy": {
+ "version": "1.6.0",
+ "dev": true,
+ "requires": {
+ "tinyspy": "^2.2.0"
+ }
+ },
+ "@vitest/utils": {
+ "version": "1.6.0",
+ "dev": true,
+ "requires": {
+ "diff-sequences": "^29.6.3",
+ "estree-walker": "^3.0.3",
+ "loupe": "^2.3.7",
+ "pretty-format": "^29.7.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "5.2.0",
+ "dev": true
+ },
+ "estree-walker": {
+ "version": "3.0.3",
+ "dev": true,
+ "requires": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "pretty-format": {
+ "version": "29.7.0",
+ "dev": true,
+ "requires": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ }
+ },
+ "react-is": {
+ "version": "18.3.1",
+ "dev": true
+ }
+ }
+ },
+ "@yarnpkg/fslib": {
+ "version": "2.10.3",
+ "dev": true,
+ "requires": {
+ "@yarnpkg/libzip": "^2.3.0",
+ "tslib": "^1.13.0"
+ }
+ },
+ "@yarnpkg/libzip": {
+ "version": "2.3.0",
+ "dev": true,
+ "requires": {
+ "@types/emscripten": "^1.39.6",
+ "tslib": "^1.13.0"
+ }
+ },
+ "@zmkfirmware/zmk-studio-ts-client": {
+ "version": "0.0.18",
+ "resolved": "https://registry.npmjs.org/@zmkfirmware/zmk-studio-ts-client/-/zmk-studio-ts-client-0.0.18.tgz",
+ "integrity": "sha512-S3NIkwL0zGOMZCf69Fy6LhhsC07clHoeAEx0JdMtNKfBfPTBIn0CYlkkUvrophAQwBpOQqEyw3gi7uc9WzuOCQ==",
+ "requires": {
+ "async-mutex": "^0.5.0",
+ "protobufjs": "^7.3.2"
+ }
+ },
+ "accepts": {
+ "version": "1.3.8",
+ "dev": true,
+ "requires": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ }
+ },
+ "acorn": {
+ "version": "8.11.3",
+ "dev": true
+ },
+ "acorn-jsx": {
+ "version": "5.3.2",
+ "dev": true,
+ "requires": {}
+ },
+ "acorn-walk": {
+ "version": "7.2.0",
+ "dev": true
+ },
+ "aggregate-error": {
+ "version": "3.1.0",
+ "dev": true,
+ "requires": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ }
+ },
+ "ajv": {
+ "version": "6.12.6",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ansi-regex": {
+ "version": "5.0.1"
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
+ },
+ "anymatch": {
+ "version": "3.1.3",
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "app-root-dir": {
+ "version": "1.0.2",
+ "dev": true
+ },
+ "arg": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
+ },
+ "argparse": {
+ "version": "2.0.1",
+ "dev": true
+ },
+ "aria-query": {
+ "version": "5.1.3",
+ "dev": true,
+ "requires": {
+ "deep-equal": "^2.0.5"
+ }
+ },
+ "array-buffer-byte-length": {
+ "version": "1.0.1",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ }
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "dev": true
+ },
+ "array-union": {
+ "version": "2.1.0",
+ "dev": true
+ },
+ "assert": {
+ "version": "2.1.0",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "is-nan": "^1.3.2",
+ "object-is": "^1.1.5",
+ "object.assign": "^4.1.4",
+ "util": "^0.12.5"
+ }
+ },
+ "assertion-error": {
+ "version": "1.1.0",
+ "dev": true
+ },
+ "ast-types": {
+ "version": "0.16.1",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.0.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.6.2",
+ "dev": true
+ }
+ }
+ },
+ "async-mutex": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz",
+ "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==",
+ "requires": {
+ "tslib": "^2.4.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ }
+ }
+ },
+ "autoprefixer": {
+ "version": "10.4.19",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz",
+ "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.23.0",
+ "caniuse-lite": "^1.0.30001599",
+ "fraction.js": "^4.3.7",
+ "normalize-range": "^0.1.2",
+ "picocolors": "^1.0.0",
+ "postcss-value-parser": "^4.2.0"
+ }
+ },
+ "available-typed-arrays": {
+ "version": "1.0.7",
+ "dev": true,
+ "requires": {
+ "possible-typed-array-names": "^1.0.0"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.2"
+ },
+ "better-opn": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz",
+ "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==",
+ "dev": true,
+ "requires": {
+ "open": "^8.0.4"
+ }
+ },
+ "binary-extensions": {
+ "version": "2.3.0"
+ },
+ "body-parser": {
+ "version": "1.20.3",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
+ "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
+ "dev": true,
+ "requires": {
+ "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.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.13.0",
+ "raw-body": "2.5.2",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ }
+ }
+ },
+ "brace-expansion": {
+ "version": "2.0.1",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "requires": {
+ "fill-range": "^7.1.1"
+ }
+ },
+ "browser-assert": {
+ "version": "1.2.1",
+ "dev": true
+ },
+ "browserslist": {
+ "version": "4.23.0",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30001587",
+ "electron-to-chromium": "^1.4.668",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.0.13"
+ }
+ },
+ "bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "dev": true
+ },
+ "call-bind": {
+ "version": "1.0.7",
+ "dev": true,
+ "requires": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "dev": true
+ },
+ "camelcase-css": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001617",
+ "dev": true
+ },
+ "chai": {
+ "version": "4.4.1",
+ "dev": true,
+ "requires": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.3",
+ "deep-eql": "^4.1.3",
+ "get-func-name": "^2.0.2",
+ "loupe": "^2.3.6",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.8"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "check-error": {
+ "version": "1.0.3",
+ "dev": true,
+ "requires": {
+ "get-func-name": "^2.0.2"
+ }
+ },
+ "chokidar": {
+ "version": "3.6.0",
+ "requires": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "5.1.2",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ }
+ }
+ },
+ "chromatic": {
+ "version": "11.3.2",
+ "dev": true,
+ "requires": {}
+ },
+ "clean-stack": {
+ "version": "2.2.0",
+ "dev": true
+ },
+ "client-only": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
+ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
+ },
+ "clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "dev": true
+ },
+ "content-disposition": {
+ "version": "0.5.4",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.2.1"
+ }
+ },
+ "content-type": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "cookie": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
+ "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
+ "dev": true
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "dev": true
+ },
+ "cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "crypto-random-string": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "css.escape": {
+ "version": "1.5.1",
+ "dev": true
+ },
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
+ },
+ "csstype": {
+ "version": "3.1.3",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.3.4",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "deep-eql": {
+ "version": "4.1.3",
+ "dev": true,
+ "requires": {
+ "type-detect": "^4.0.0"
+ }
+ },
+ "deep-equal": {
+ "version": "2.2.3",
+ "dev": true,
+ "requires": {
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.5",
+ "es-get-iterator": "^1.1.3",
+ "get-intrinsic": "^1.2.2",
+ "is-arguments": "^1.1.1",
+ "is-array-buffer": "^3.0.2",
+ "is-date-object": "^1.0.5",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.2",
+ "isarray": "^2.0.5",
+ "object-is": "^1.1.5",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.4",
+ "regexp.prototype.flags": "^1.5.1",
+ "side-channel": "^1.0.4",
+ "which-boxed-primitive": "^1.0.2",
+ "which-collection": "^1.0.1",
+ "which-typed-array": "^1.1.13"
+ }
+ },
+ "deep-is": {
+ "version": "0.1.4",
+ "dev": true
+ },
+ "define-data-property": {
+ "version": "1.1.4",
+ "dev": true,
+ "requires": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ }
+ },
+ "define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true
+ },
+ "define-properties": {
+ "version": "1.2.1",
+ "dev": true,
+ "requires": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ }
+ },
+ "del": {
+ "version": "6.1.1",
+ "dev": true,
+ "requires": {
+ "globby": "^11.0.1",
+ "graceful-fs": "^4.2.4",
+ "is-glob": "^4.0.1",
+ "is-path-cwd": "^2.2.0",
+ "is-path-inside": "^3.0.2",
+ "p-map": "^4.0.0",
+ "rimraf": "^3.0.2",
+ "slash": "^3.0.0"
+ }
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true
+ },
+ "dequal": {
+ "version": "2.0.3",
+ "dev": true
+ },
+ "destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "dev": true
+ },
+ "didyoumean": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
+ },
+ "diff-sequences": {
+ "version": "29.6.3",
+ "dev": true
+ },
+ "dir-glob": {
+ "version": "3.0.1",
+ "dev": true,
+ "requires": {
+ "path-type": "^4.0.0"
+ }
+ },
+ "dlv": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "dom-accessibility-api": {
+ "version": "0.5.16",
+ "dev": true
+ },
+ "dotenv": {
+ "version": "16.4.5",
+ "dev": true
+ },
+ "dotenv-expand": {
+ "version": "10.0.0",
+ "dev": true
+ },
+ "eastasianwidth": {
+ "version": "0.2.0"
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+ "dev": true
+ },
+ "electron-to-chromium": {
+ "version": "1.4.765",
+ "dev": true
+ },
+ "emittery": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-1.0.3.tgz",
+ "integrity": "sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA=="
+ },
+ "emoji-regex": {
+ "version": "8.0.0"
+ },
+ "encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true
+ },
+ "es-define-property": {
+ "version": "1.0.0",
+ "dev": true,
+ "requires": {
+ "get-intrinsic": "^1.2.4"
+ }
+ },
+ "es-errors": {
+ "version": "1.3.0",
+ "dev": true
+ },
+ "es-get-iterator": {
+ "version": "1.1.3",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "has-symbols": "^1.0.3",
+ "is-arguments": "^1.1.1",
+ "is-map": "^2.0.2",
+ "is-set": "^2.0.2",
+ "is-string": "^1.0.7",
+ "isarray": "^2.0.5",
+ "stop-iteration-iterator": "^1.0.0"
+ }
+ },
+ "es-module-lexer": {
+ "version": "0.9.3",
+ "dev": true
+ },
+ "esbuild": {
+ "version": "0.20.2",
+ "dev": true,
+ "requires": {
+ "@esbuild/aix-ppc64": "0.20.2",
+ "@esbuild/android-arm": "0.20.2",
+ "@esbuild/android-arm64": "0.20.2",
+ "@esbuild/android-x64": "0.20.2",
+ "@esbuild/darwin-arm64": "0.20.2",
+ "@esbuild/darwin-x64": "0.20.2",
+ "@esbuild/freebsd-arm64": "0.20.2",
+ "@esbuild/freebsd-x64": "0.20.2",
+ "@esbuild/linux-arm": "0.20.2",
+ "@esbuild/linux-arm64": "0.20.2",
+ "@esbuild/linux-ia32": "0.20.2",
+ "@esbuild/linux-loong64": "0.20.2",
+ "@esbuild/linux-mips64el": "0.20.2",
+ "@esbuild/linux-ppc64": "0.20.2",
+ "@esbuild/linux-riscv64": "0.20.2",
+ "@esbuild/linux-s390x": "0.20.2",
+ "@esbuild/linux-x64": "0.20.2",
+ "@esbuild/netbsd-x64": "0.20.2",
+ "@esbuild/openbsd-x64": "0.20.2",
+ "@esbuild/sunos-x64": "0.20.2",
+ "@esbuild/win32-arm64": "0.20.2",
+ "@esbuild/win32-ia32": "0.20.2",
+ "@esbuild/win32-x64": "0.20.2"
+ },
+ "dependencies": {
+ "@esbuild/darwin-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz",
+ "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "esbuild-register": {
+ "version": "3.5.0",
+ "dev": true,
+ "requires": {
+ "debug": "^4.3.4"
+ }
+ },
+ "escalade": {
+ "version": "3.1.2",
+ "dev": true
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "escodegen": {
+ "version": "2.1.0",
+ "dev": true,
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "source-map": "~0.6.1"
+ }
+ },
+ "eslint": {
+ "version": "8.57.0",
+ "dev": true,
+ "requires": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "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.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
+ "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.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ },
+ "eslint-plugin-react-hooks": {
+ "version": "4.6.2",
+ "dev": true,
+ "requires": {}
+ },
+ "eslint-plugin-react-refresh": {
+ "version": "0.4.7",
+ "dev": true,
+ "requires": {}
+ },
+ "eslint-plugin-storybook": {
+ "version": "0.8.0",
+ "dev": true,
+ "requires": {
+ "@storybook/csf": "^0.0.1",
+ "@typescript-eslint/utils": "^5.62.0",
+ "requireindex": "^1.2.0",
+ "ts-dedent": "^2.2.0"
+ },
+ "dependencies": {
+ "@storybook/csf": {
+ "version": "0.0.1",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "5.62.0",
+ "dev": true
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "5.62.0",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ }
+ },
+ "@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "dev": true,
+ "requires": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "5.62.0",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
+ }
+ },
+ "eslint-scope": {
+ "version": "5.1.1",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "dev": true
+ }
+ }
+ },
+ "eslint-scope": {
+ "version": "7.2.2",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "3.4.3",
+ "dev": true
+ },
+ "espree": {
+ "version": "9.6.1",
+ "dev": true,
+ "requires": {
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
+ }
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "dev": true
+ },
+ "esquery": {
+ "version": "1.5.0",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.1.0"
+ }
+ },
+ "esrecurse": {
+ "version": "4.3.0",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.2.0"
+ }
+ },
+ "estraverse": {
+ "version": "5.3.0",
+ "dev": true
+ },
+ "estree-walker": {
+ "version": "2.0.2",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "dev": true
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "dev": true
+ },
+ "execa": {
+ "version": "5.1.1",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "express": {
+ "version": "4.21.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz",
+ "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.3",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.7.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.3.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.3",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.10",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.13.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.19.0",
+ "serve-static": "1.16.2",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "dev": true
+ }
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "dev": true
+ },
+ "fast-glob": {
+ "version": "3.3.2",
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "5.1.2",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ }
+ }
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "dev": true
+ },
+ "fastq": {
+ "version": "1.17.1",
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "file-entry-cache": {
+ "version": "6.0.1",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^3.0.4"
+ }
+ },
+ "file-system-cache": {
+ "version": "2.3.0",
+ "dev": true,
+ "requires": {
+ "fs-extra": "11.1.1",
+ "ramda": "0.29.0"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "11.1.1",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ }
+ }
+ },
+ "filesize": {
+ "version": "10.1.2",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
+ "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
+ "dev": true,
+ "requires": {
+ "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.1",
+ "unpipe": "~1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ }
+ }
+ },
+ "find-cache-dir": {
+ "version": "3.3.2",
+ "dev": true,
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ }
+ }
+ },
+ "find-up": {
+ "version": "5.0.0",
+ "dev": true,
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "flat-cache": {
+ "version": "3.2.0",
+ "dev": true,
+ "requires": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
+ }
+ },
+ "flatted": {
+ "version": "3.3.1",
+ "dev": true
+ },
+ "for-each": {
+ "version": "0.3.3",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.3"
+ }
+ },
+ "foreground-child": {
+ "version": "3.1.1",
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "dependencies": {
+ "signal-exit": {
+ "version": "4.1.0"
+ }
+ }
+ },
+ "forwarded": {
+ "version": "0.2.0",
+ "dev": true
+ },
+ "fraction.js": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
+ "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
+ "dev": true
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "11.2.0",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.2"
+ },
+ "functions-have-names": {
+ "version": "1.2.3",
+ "dev": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.2",
+ "dev": true
+ },
+ "get-func-name": {
+ "version": "2.0.2",
+ "dev": true
+ },
+ "get-intrinsic": {
+ "version": "1.2.4",
+ "dev": true,
+ "requires": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "6.0.1",
+ "dev": true
+ },
+ "github-slugger": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
+ "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.2.3",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ },
+ "glob-parent": {
+ "version": "6.0.2",
+ "requires": {
+ "is-glob": "^4.0.3"
+ }
+ },
+ "glob-promise": {
+ "version": "4.2.2",
+ "dev": true,
+ "requires": {
+ "@types/glob": "^7.1.3"
+ }
+ },
+ "globals": {
+ "version": "13.24.0",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ },
+ "globby": {
+ "version": "11.1.0",
+ "dev": true,
+ "requires": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ }
+ },
+ "gopd": {
+ "version": "1.0.1",
+ "dev": true,
+ "requires": {
+ "get-intrinsic": "^1.1.3"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.11",
+ "dev": true
+ },
+ "graphemer": {
+ "version": "1.4.0",
+ "dev": true
+ },
+ "handlebars": {
+ "version": "4.7.8",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5",
+ "neo-async": "^2.6.2",
+ "source-map": "^0.6.1",
+ "uglify-js": "^3.1.4",
+ "wordwrap": "^1.0.0"
+ }
+ },
+ "has-bigints": {
+ "version": "1.0.2",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "has-property-descriptors": {
+ "version": "1.0.2",
+ "dev": true,
+ "requires": {
+ "es-define-property": "^1.0.0"
+ }
+ },
+ "has-proto": {
+ "version": "1.0.3",
+ "dev": true
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "dev": true
+ },
+ "has-tostringtag": {
+ "version": "1.0.2",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "hasown": {
+ "version": "2.0.2",
+ "requires": {
+ "function-bind": "^1.1.2"
+ }
+ },
+ "hast-util-heading-rank": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz",
+ "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==",
+ "dev": true,
+ "requires": {
+ "@types/hast": "^3.0.0"
+ }
+ },
+ "hast-util-is-element": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
+ "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
+ "dev": true,
+ "requires": {
+ "@types/hast": "^3.0.0"
+ }
+ },
+ "hast-util-to-string": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz",
+ "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==",
+ "dev": true,
+ "requires": {
+ "@types/hast": "^3.0.0"
+ }
+ },
+ "html-tags": {
+ "version": "3.3.1",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dev": true,
+ "requires": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ }
+ },
+ "human-signals": {
+ "version": "2.1.0",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ignore": {
+ "version": "5.3.1",
+ "dev": true
+ },
+ "immer": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz",
+ "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw=="
+ },
+ "import-fresh": {
+ "version": "3.3.0",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "dev": true
+ },
+ "internal-slot": {
+ "version": "1.0.7",
+ "dev": true,
+ "requires": {
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.0",
+ "side-channel": "^1.0.4"
+ }
+ },
+ "intl-messageformat": {
+ "version": "10.5.14",
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.14.tgz",
+ "integrity": "sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==",
+ "requires": {
+ "@formatjs/ecma402-abstract": "2.0.0",
+ "@formatjs/fast-memoize": "2.2.0",
+ "@formatjs/icu-messageformat-parser": "2.7.8",
+ "tslib": "^2.4.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ }
+ }
+ },
+ "ipaddr.js": {
+ "version": "1.9.1",
+ "dev": true
+ },
+ "is-absolute-url": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz",
+ "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==",
+ "dev": true
+ },
+ "is-arguments": {
+ "version": "1.1.1",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-array-buffer": {
+ "version": "3.0.4",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1"
+ }
+ },
+ "is-bigint": {
+ "version": "1.0.4",
+ "dev": true,
+ "requires": {
+ "has-bigints": "^1.0.1"
+ }
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-boolean-object": {
+ "version": "1.1.2",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-callable": {
+ "version": "1.2.7",
+ "dev": true
+ },
+ "is-core-module": {
+ "version": "2.13.1",
+ "requires": {
+ "hasown": "^2.0.0"
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.5",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1"
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0"
+ },
+ "is-generator-function": {
+ "version": "1.0.10",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-map": {
+ "version": "2.0.3",
+ "dev": true
+ },
+ "is-nan": {
+ "version": "1.3.2",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-number-object": {
+ "version": "1.0.7",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-path-cwd": {
+ "version": "2.2.0",
+ "dev": true
+ },
+ "is-path-inside": {
+ "version": "3.0.3",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "5.0.0",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.1.4",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-set": {
+ "version": "2.0.3",
+ "dev": true
+ },
+ "is-shared-array-buffer": {
+ "version": "1.0.3",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.7"
+ }
+ },
+ "is-stream": {
+ "version": "2.0.1",
+ "dev": true
+ },
+ "is-string": {
+ "version": "1.0.7",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-symbol": {
+ "version": "1.0.4",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.2"
+ }
+ },
+ "is-typed-array": {
+ "version": "1.1.13",
+ "dev": true,
+ "requires": {
+ "which-typed-array": "^1.1.14"
+ }
+ },
+ "is-weakmap": {
+ "version": "2.0.2",
+ "dev": true
+ },
+ "is-weakset": {
+ "version": "2.0.3",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
+ }
+ },
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "isarray": {
+ "version": "2.0.5",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0"
+ },
+ "jackspeak": {
+ "version": "2.3.6",
+ "dev": true,
+ "requires": {
+ "@isaacs/cliui": "^8.0.2",
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "jiti": {
+ "version": "1.21.6",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz",
+ "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w=="
+ },
+ "js-tokens": {
+ "version": "4.0.0"
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "jsdoc-type-pratt-parser": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz",
+ "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==",
+ "dev": true
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "dev": true
+ },
+ "json-buffer": {
+ "version": "3.0.1",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "dev": true
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.2.3",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "keyv": {
+ "version": "4.5.4",
+ "dev": true,
+ "requires": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "lazy-universal-dotenv": {
+ "version": "4.0.0",
+ "dev": true,
+ "requires": {
+ "app-root-dir": "^1.0.2",
+ "dotenv": "^16.0.0",
+ "dotenv-expand": "^10.0.0"
+ }
+ },
+ "levn": {
+ "version": "0.4.1",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ }
+ },
+ "lilconfig": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="
+ },
+ "lines-and-columns": {
+ "version": "1.2.4"
+ },
+ "locate-path": {
+ "version": "6.0.0",
+ "dev": true,
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.21",
+ "dev": true
+ },
+ "lodash.merge": {
+ "version": "4.6.2",
+ "dev": true
+ },
+ "long": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
+ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "loupe": {
+ "version": "2.3.7",
+ "dev": true,
+ "requires": {
+ "get-func-name": "^2.0.1"
+ }
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "dev": true,
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "lucide-react": {
+ "version": "0.445.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.445.0.tgz",
+ "integrity": "sha512-YrLf3aAHvmd4dZ8ot+mMdNFrFpJD7YRwQ2pUcBhgqbmxtrMP4xDzIorcj+8y+6kpuXBF4JB0NOCTUWIYetJjgA==",
+ "requires": {}
+ },
+ "lz-string": {
+ "version": "1.5.0",
+ "dev": true
+ },
+ "magic-string": {
+ "version": "0.30.10",
+ "dev": true,
+ "requires": {
+ "@jridgewell/sourcemap-codec": "^1.4.15"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.1",
+ "dev": true
+ }
+ }
+ },
+ "map-or-similar": {
+ "version": "1.5.0",
+ "dev": true
+ },
+ "markdown-to-jsx": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.5.0.tgz",
+ "integrity": "sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw==",
+ "dev": true,
+ "requires": {}
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "dev": true
+ },
+ "memoizerific": {
+ "version": "1.11.3",
+ "dev": true,
+ "requires": {
+ "map-or-similar": "^1.5.0"
+ }
+ },
+ "merge-descriptors": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
+ "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
+ "dev": true
+ },
+ "merge-stream": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "merge2": {
+ "version": "1.4.1"
+ },
+ "methods": {
+ "version": "1.1.2",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "requires": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ }
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.52.0",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.35",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.52.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "dev": true
+ },
+ "min-indent": {
+ "version": "1.0.1",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "9.0.4",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ },
+ "minimist": {
+ "version": "1.2.8",
+ "dev": true
+ },
+ "minipass": {
+ "version": "5.0.0"
+ },
+ "ms": {
+ "version": "2.1.2",
+ "dev": true
+ },
+ "mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "requires": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "nanoid": {
+ "version": "3.3.7"
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "dev": true
+ },
+ "negotiator": {
+ "version": "0.6.3",
+ "dev": true
+ },
+ "neo-async": {
+ "version": "2.6.2",
+ "dev": true
+ },
+ "node-fetch": {
+ "version": "2.7.0",
+ "dev": true,
+ "requires": {
+ "whatwg-url": "^5.0.0"
+ }
+ },
+ "node-releases": {
+ "version": "2.0.14",
+ "dev": true
+ },
+ "normalize-path": {
+ "version": "3.0.0"
+ },
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1"
+ },
+ "object-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="
+ },
+ "object-inspect": {
+ "version": "1.13.1",
+ "dev": true
+ },
+ "object-is": {
+ "version": "1.1.6",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
+ }
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "dev": true
+ },
+ "object.assign": {
+ "version": "4.1.5",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "object-keys": "^1.1.1"
+ }
+ },
+ "on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.2",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "open": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+ "dev": true,
+ "requires": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ }
+ },
+ "optionator": {
+ "version": "0.9.4",
+ "dev": true,
+ "requires": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
+ }
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "dev": true,
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "dev": true,
+ "requires": {
+ "p-limit": "^3.0.2"
+ }
+ },
+ "p-map": {
+ "version": "4.0.0",
+ "dev": true,
+ "requires": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "dev": true
+ },
+ "parent-module": {
+ "version": "1.0.1",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0"
+ }
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.1"
+ },
+ "path-parse": {
+ "version": "1.0.7"
+ },
+ "path-scurry": {
+ "version": "1.11.1",
+ "requires": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "10.2.2"
+ }
+ }
+ },
+ "path-to-regexp": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
+ "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
+ "dev": true
+ },
+ "path-type": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "pathval": {
+ "version": "1.1.1",
+ "dev": true
+ },
+ "picocolors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
+ "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw=="
+ },
+ "picomatch": {
+ "version": "2.3.1"
+ },
+ "pirates": {
+ "version": "4.0.6"
+ },
+ "pkg-dir": {
+ "version": "5.0.0",
+ "dev": true,
+ "requires": {
+ "find-up": "^5.0.0"
+ }
+ },
+ "polished": {
+ "version": "4.3.1",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.17.8"
+ }
+ },
+ "possible-typed-array-names": {
+ "version": "1.0.0",
+ "dev": true
+ },
+ "postcss": {
+ "version": "8.4.47",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
+ "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
+ "requires": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.1.0",
+ "source-map-js": "^1.2.1"
+ }
+ },
+ "postcss-import": {
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
+ "requires": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ }
+ },
+ "postcss-js": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
+ "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
+ "requires": {
+ "camelcase-css": "^2.0.1"
+ }
+ },
+ "postcss-load-config": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
+ "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
+ "requires": {
+ "lilconfig": "^3.0.0",
+ "yaml": "^2.3.4"
+ },
+ "dependencies": {
+ "lilconfig": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
+ "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow=="
+ }
+ }
+ },
+ "postcss-nested": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
+ "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
+ "requires": {
+ "postcss-selector-parser": "^6.0.11"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz",
+ "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==",
+ "requires": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+ },
+ "prelude-ls": {
+ "version": "1.2.1",
+ "dev": true
+ },
+ "prettier": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz",
+ "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==",
+ "dev": true
+ },
+ "pretty-format": {
+ "version": "27.5.1",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^17.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "5.2.0",
+ "dev": true
+ }
+ }
+ },
+ "pretty-hrtime": {
+ "version": "1.0.3",
+ "dev": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
+ "dev": true
+ },
+ "prop-types": {
+ "version": "15.8.1",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "16.13.1"
+ }
+ }
+ },
+ "protobufjs": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz",
+ "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==",
+ "requires": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/node": ">=13.7.0",
+ "long": "^5.0.0"
+ }
+ },
+ "proxy-addr": {
+ "version": "2.0.7",
+ "dev": true,
+ "requires": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ }
+ },
+ "punycode": {
+ "version": "2.3.1",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
+ "dev": true,
+ "requires": {
+ "side-channel": "^1.0.6"
+ }
+ },
+ "queue-microtask": {
+ "version": "1.2.3"
+ },
+ "ramda": {
+ "version": "0.29.0",
+ "dev": true
+ },
+ "range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "dev": true
+ },
+ "raw-body": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
+ "dev": true,
+ "requires": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ },
+ "react": {
+ "version": "18.3.1",
+ "requires": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "react-aria": {
+ "version": "3.35.0",
+ "resolved": "https://registry.npmjs.org/react-aria/-/react-aria-3.35.0.tgz",
+ "integrity": "sha512-cbbd3iIveLDRnpVrpc1iuz8OMlDdH6u8EjncW3MQuYOiEGaho9xcDtWMKiSEIZASEnd7LK4Rgm5iVPr2O+cssw==",
+ "requires": {
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/breadcrumbs": "^3.5.17",
+ "@react-aria/button": "^3.10.0",
+ "@react-aria/calendar": "^3.5.12",
+ "@react-aria/checkbox": "^3.14.7",
+ "@react-aria/color": "^3.0.0",
+ "@react-aria/combobox": "^3.10.4",
+ "@react-aria/datepicker": "^3.11.3",
+ "@react-aria/dialog": "^3.5.18",
+ "@react-aria/dnd": "^3.7.3",
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/gridlist": "^3.9.4",
+ "@react-aria/i18n": "^3.12.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/label": "^3.7.12",
+ "@react-aria/link": "^3.7.5",
+ "@react-aria/listbox": "^3.13.4",
+ "@react-aria/menu": "^3.15.4",
+ "@react-aria/meter": "^3.4.17",
+ "@react-aria/numberfield": "^3.11.7",
+ "@react-aria/overlays": "^3.23.3",
+ "@react-aria/progress": "^3.4.17",
+ "@react-aria/radio": "^3.10.8",
+ "@react-aria/searchfield": "^3.7.9",
+ "@react-aria/select": "^3.14.10",
+ "@react-aria/selection": "^3.20.0",
+ "@react-aria/separator": "^3.4.3",
+ "@react-aria/slider": "^3.7.12",
+ "@react-aria/ssr": "^3.9.6",
+ "@react-aria/switch": "^3.6.8",
+ "@react-aria/table": "^3.15.4",
+ "@react-aria/tabs": "^3.9.6",
+ "@react-aria/tag": "^3.4.6",
+ "@react-aria/textfield": "^3.14.9",
+ "@react-aria/tooltip": "^3.7.8",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/visually-hidden": "^3.8.16",
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "react-aria-components": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/react-aria-components/-/react-aria-components-1.4.0.tgz",
+ "integrity": "sha512-CpeSeGI2FVT3hOzA28fhIGkrPPQPtz3gVHBfMWkXSuLUBaKFZQhdCLBXlpO5MoZV1RrC+e7mhOVREkw6DvlxKw==",
+ "requires": {
+ "@internationalized/date": "^3.5.6",
+ "@internationalized/string": "^3.2.4",
+ "@react-aria/accordion": "3.0.0-alpha.34",
+ "@react-aria/collections": "3.0.0-alpha.5",
+ "@react-aria/color": "^3.0.0",
+ "@react-aria/disclosure": "3.0.0-alpha.0",
+ "@react-aria/dnd": "^3.7.3",
+ "@react-aria/focus": "^3.18.3",
+ "@react-aria/interactions": "^3.22.3",
+ "@react-aria/live-announcer": "^3.4.0",
+ "@react-aria/menu": "^3.15.4",
+ "@react-aria/toolbar": "3.0.0-beta.9",
+ "@react-aria/tree": "3.0.0-beta.0",
+ "@react-aria/utils": "^3.25.3",
+ "@react-aria/virtualizer": "^4.0.3",
+ "@react-stately/color": "^3.8.0",
+ "@react-stately/disclosure": "3.0.0-alpha.0",
+ "@react-stately/layout": "^4.0.3",
+ "@react-stately/menu": "^3.8.3",
+ "@react-stately/table": "^3.12.3",
+ "@react-stately/utils": "^3.10.4",
+ "@react-stately/virtualizer": "^4.1.0",
+ "@react-types/color": "^3.0.0",
+ "@react-types/form": "^3.7.7",
+ "@react-types/grid": "^3.2.9",
+ "@react-types/shared": "^3.25.0",
+ "@react-types/table": "^3.10.2",
+ "@swc/helpers": "^0.5.0",
+ "client-only": "^0.0.1",
+ "react-aria": "^3.35.0",
+ "react-stately": "^3.33.0",
+ "use-sync-external-store": "^1.2.0"
+ }
+ },
+ "react-colorful": {
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz",
+ "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==",
+ "dev": true,
+ "requires": {}
+ },
+ "react-confetti": {
+ "version": "6.1.0",
+ "dev": true,
+ "requires": {
+ "tween-functions": "^1.2.0"
+ }
+ },
+ "react-docgen": {
+ "version": "7.0.3",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.18.9",
+ "@babel/traverse": "^7.18.9",
+ "@babel/types": "^7.18.9",
+ "@types/babel__core": "^7.18.0",
+ "@types/babel__traverse": "^7.18.0",
+ "@types/doctrine": "^0.0.9",
+ "@types/resolve": "^1.20.2",
+ "doctrine": "^3.0.0",
+ "resolve": "^1.22.1",
+ "strip-indent": "^4.0.0"
+ },
+ "dependencies": {
+ "@types/doctrine": {
+ "version": "0.0.9",
+ "dev": true
+ }
+ }
+ },
+ "react-docgen-typescript": {
+ "version": "2.2.2",
+ "dev": true,
+ "requires": {}
+ },
+ "react-dom": {
+ "version": "18.3.1",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.2"
+ }
+ },
+ "react-element-to-jsx-string": {
+ "version": "15.0.0",
+ "dev": true,
+ "requires": {
+ "@base2/pretty-print-object": "1.0.1",
+ "is-plain-object": "5.0.0",
+ "react-is": "18.1.0"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "18.1.0",
+ "dev": true
+ }
+ }
+ },
+ "react-is": {
+ "version": "17.0.2",
+ "dev": true
+ },
+ "react-stately": {
+ "version": "3.33.0",
+ "resolved": "https://registry.npmjs.org/react-stately/-/react-stately-3.33.0.tgz",
+ "integrity": "sha512-DNPOxYAPuhuXwSuE1s1K7iSgqG2QOBUZq3bsLAd4gUUZje6Qepkhe7TzK2LWarQYAZ3gC9Xhmnz8ie1fdCo0GA==",
+ "requires": {
+ "@react-stately/calendar": "^3.5.5",
+ "@react-stately/checkbox": "^3.6.9",
+ "@react-stately/collections": "^3.11.0",
+ "@react-stately/color": "^3.8.0",
+ "@react-stately/combobox": "^3.10.0",
+ "@react-stately/data": "^3.11.7",
+ "@react-stately/datepicker": "^3.10.3",
+ "@react-stately/dnd": "^3.4.3",
+ "@react-stately/form": "^3.0.6",
+ "@react-stately/list": "^3.11.0",
+ "@react-stately/menu": "^3.8.3",
+ "@react-stately/numberfield": "^3.9.7",
+ "@react-stately/overlays": "^3.6.11",
+ "@react-stately/radio": "^3.10.8",
+ "@react-stately/searchfield": "^3.5.7",
+ "@react-stately/select": "^3.6.8",
+ "@react-stately/selection": "^3.17.0",
+ "@react-stately/slider": "^3.5.8",
+ "@react-stately/table": "^3.12.3",
+ "@react-stately/tabs": "^3.6.10",
+ "@react-stately/toggle": "^3.7.8",
+ "@react-stately/tooltip": "^3.4.13",
+ "@react-stately/tree": "^3.8.5",
+ "@react-types/shared": "^3.25.0"
+ }
+ },
+ "read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "requires": {
+ "pify": "^2.3.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
+ }
+ }
+ },
+ "readdirp": {
+ "version": "3.6.0",
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "recast": {
+ "version": "0.23.7",
+ "dev": true,
+ "requires": {
+ "ast-types": "^0.16.1",
+ "esprima": "~4.0.0",
+ "source-map": "~0.6.1",
+ "tiny-invariant": "^1.3.3",
+ "tslib": "^2.0.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.6.2",
+ "dev": true
+ }
+ }
+ },
+ "redent": {
+ "version": "3.0.0",
+ "dev": true,
+ "requires": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ },
+ "dependencies": {
+ "strip-indent": {
+ "version": "3.0.0",
+ "dev": true,
+ "requires": {
+ "min-indent": "^1.0.0"
+ }
+ }
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.14.1",
+ "dev": true
+ },
+ "regexp.prototype.flags": {
+ "version": "1.5.2",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
+ }
+ },
+ "rehype-external-links": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz",
+ "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==",
+ "dev": true,
+ "requires": {
+ "@types/hast": "^3.0.0",
+ "@ungap/structured-clone": "^1.0.0",
+ "hast-util-is-element": "^3.0.0",
+ "is-absolute-url": "^4.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "unist-util-visit": "^5.0.0"
+ }
+ },
+ "rehype-slug": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz",
+ "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==",
+ "dev": true,
+ "requires": {
+ "@types/hast": "^3.0.0",
+ "github-slugger": "^2.0.0",
+ "hast-util-heading-rank": "^3.0.0",
+ "hast-util-to-string": "^3.0.0",
+ "unist-util-visit": "^5.0.0"
+ }
+ },
+ "requireindex": {
+ "version": "1.2.0",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.22.8",
+ "requires": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "reusify": {
+ "version": "1.0.4"
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "rollup": {
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz",
+ "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==",
+ "dev": true,
+ "requires": {
+ "@rollup/rollup-android-arm-eabi": "4.24.0",
+ "@rollup/rollup-android-arm64": "4.24.0",
+ "@rollup/rollup-darwin-arm64": "4.24.0",
+ "@rollup/rollup-darwin-x64": "4.24.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.24.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.24.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.24.0",
+ "@rollup/rollup-linux-arm64-musl": "4.24.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.24.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.24.0",
+ "@rollup/rollup-linux-x64-gnu": "4.24.0",
+ "@rollup/rollup-linux-x64-musl": "4.24.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.24.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.24.0",
+ "@rollup/rollup-win32-x64-msvc": "4.24.0",
+ "@types/estree": "1.0.6",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "run-parallel": {
+ "version": "1.2.0",
+ "requires": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "run-script-os": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz",
+ "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "scheduler": {
+ "version": "0.23.2",
+ "requires": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "semver": {
+ "version": "7.6.2",
+ "dev": true
+ },
+ "send": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+ "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ }
+ }
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ }
+ }
+ },
+ "serve-static": {
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
+ "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
+ "dev": true,
+ "requires": {
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.19.0"
+ }
+ },
+ "set-function-length": {
+ "version": "1.2.2",
+ "dev": true,
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ }
+ },
+ "set-function-name": {
+ "version": "2.0.2",
+ "dev": true,
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ }
+ },
+ "setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0"
+ },
+ "side-channel": {
+ "version": "1.0.6",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
+ }
+ },
+ "signal-exit": {
+ "version": "3.0.7",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "dev": true
+ },
+ "source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
+ },
+ "space-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
+ "dev": true
+ },
+ "statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "dev": true
+ },
+ "stop-iteration-iterator": {
+ "version": "1.0.0",
+ "dev": true,
+ "requires": {
+ "internal-slot": "^1.0.4"
+ }
+ },
+ "storybook": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.3.5.tgz",
+ "integrity": "sha512-hYQVtP2l+3kO8oKDn4fjXXQYxgTRsj/LaV6lUMJH0zt+OhVmDXKJLxmdUP4ieTm0T8wEbSYosFavgPcQZlxRfw==",
+ "dev": true,
+ "requires": {
+ "@storybook/core": "8.3.5"
+ }
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "string-width-cjs": {
+ "version": "npm:string-width@4.2.3",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "strip-ansi-cjs": {
+ "version": "npm:strip-ansi@6.0.1",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "dev": true
+ },
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "strip-indent": {
+ "version": "4.0.0",
+ "dev": true,
+ "requires": {
+ "min-indent": "^1.0.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "dev": true
+ },
+ "sucrase": {
+ "version": "3.35.0",
+ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
+ "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
+ "requires": {
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "commander": "^4.0.0",
+ "glob": "^10.3.10",
+ "lines-and-columns": "^1.1.6",
+ "mz": "^2.7.0",
+ "pirates": "^4.0.1",
+ "ts-interface-checker": "^0.1.9"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="
+ },
+ "glob": {
+ "version": "10.4.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
+ "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
+ "requires": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "path-scurry": "^1.11.1"
+ }
+ },
+ "jackspeak": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
+ "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
+ "requires": {
+ "@isaacs/cliui": "^8.0.2",
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="
+ }
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "supports-preserve-symlinks-flag": {
+ "version": "1.0.0"
+ },
+ "tailwindcss": {
+ "version": "3.4.4",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz",
+ "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==",
+ "requires": {
+ "@alloc/quick-lru": "^5.2.0",
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.3.0",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "jiti": "^1.21.0",
+ "lilconfig": "^2.1.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.23",
+ "postcss-import": "^15.1.0",
+ "postcss-js": "^4.0.1",
+ "postcss-load-config": "^4.0.1",
+ "postcss-nested": "^6.0.1",
+ "postcss-selector-parser": "^6.0.11",
+ "resolve": "^1.22.2",
+ "sucrase": "^3.32.0"
+ }
+ },
+ "tailwindcss-react-aria-components": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/tailwindcss-react-aria-components/-/tailwindcss-react-aria-components-1.1.3.tgz",
+ "integrity": "sha512-j852nEhbvD7/zxpNI7hY+6mYm//2zSKuPPq3NNohMi+/nA0hxjaJGg0LYEPzumn/efNT0Itrq+/TMD+r/m1EqA==",
+ "requires": {}
+ },
+ "telejson": {
+ "version": "7.2.0",
+ "dev": true,
+ "requires": {
+ "memoizerific": "^1.11.3"
+ }
+ },
+ "temp-dir": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "tempy": {
+ "version": "1.0.1",
+ "dev": true,
+ "requires": {
+ "del": "^6.0.0",
+ "is-stream": "^2.0.0",
+ "temp-dir": "^2.0.0",
+ "type-fest": "^0.16.0",
+ "unique-string": "^2.0.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.16.0",
+ "dev": true
+ }
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "dev": true
+ },
+ "thenify": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+ "requires": {
+ "any-promise": "^1.0.0"
+ }
+ },
+ "thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "requires": {
+ "thenify": ">= 3.1.0 < 4"
+ }
+ },
+ "tiny-invariant": {
+ "version": "1.3.3",
+ "dev": true
+ },
+ "tinyspy": {
+ "version": "2.2.1",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "dev": true
+ },
+ "tr46": {
+ "version": "0.0.3",
+ "dev": true
+ },
+ "ts-api-utils": {
+ "version": "1.3.0",
+ "dev": true,
+ "requires": {}
+ },
+ "ts-dedent": {
+ "version": "2.2.0",
+ "dev": true
+ },
+ "ts-interface-checker": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
+ },
+ "tsconfig-paths": {
+ "version": "4.2.0",
+ "dev": true,
+ "requires": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "dev": true
+ },
+ "tsutils": {
+ "version": "3.21.0",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.8.1"
+ }
+ },
+ "tween-functions": {
+ "version": "1.2.0",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.4.0",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1"
+ }
+ },
+ "type-detect": {
+ "version": "4.0.8",
+ "dev": true
+ },
+ "type-fest": {
+ "version": "0.20.2",
+ "dev": true
+ },
+ "type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ }
+ },
+ "typescript": {
+ "version": "5.4.5",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "3.17.4",
+ "dev": true,
+ "optional": true
+ },
+ "undici-types": {
+ "version": "5.26.5"
+ },
+ "unique-string": {
+ "version": "2.0.0",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "^2.0.0"
+ }
+ },
+ "unist-util-is": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
+ "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^3.0.0"
+ }
+ },
+ "unist-util-visit": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
+ "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
+ "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0"
+ }
+ },
+ "universalify": {
+ "version": "2.0.1",
+ "dev": true
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "dev": true
+ },
+ "unplugin": {
+ "version": "1.10.1",
+ "dev": true,
+ "requires": {
+ "acorn": "^8.11.3",
+ "chokidar": "^3.6.0",
+ "webpack-sources": "^3.2.3",
+ "webpack-virtual-modules": "^0.6.1"
+ }
+ },
+ "update-browserslist-db": {
+ "version": "1.0.15",
+ "dev": true,
+ "requires": {
+ "escalade": "^3.1.2",
+ "picocolors": "^1.0.0"
+ }
+ },
+ "uri-js": {
+ "version": "4.4.1",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "use-sync-external-store": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz",
+ "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==",
+ "requires": {}
+ },
+ "util": {
+ "version": "0.12.5",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "which-typed-array": "^1.1.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2"
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "dev": true
+ },
+ "uuid": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "dev": true
+ },
+ "vary": {
+ "version": "1.1.2",
+ "dev": true
+ },
+ "vite": {
+ "version": "5.4.8",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz",
+ "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==",
+ "dev": true,
+ "requires": {
+ "esbuild": "^0.21.3",
+ "fsevents": "~2.3.3",
+ "postcss": "^8.4.43",
+ "rollup": "^4.20.0"
+ },
+ "dependencies": {
+ "@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/win32-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "dev": true,
+ "requires": {
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
+ }
+ }
+ }
+ },
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "dev": true
+ },
+ "webpack-sources": {
+ "version": "3.2.3",
+ "dev": true
+ },
+ "webpack-virtual-modules": {
+ "version": "0.6.1",
+ "dev": true
+ },
+ "whatwg-url": {
+ "version": "5.0.0",
+ "dev": true,
+ "requires": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-boxed-primitive": {
+ "version": "1.0.2",
+ "dev": true,
+ "requires": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ }
+ },
+ "which-collection": {
+ "version": "1.0.2",
+ "dev": true,
+ "requires": {
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ }
+ },
+ "which-typed-array": {
+ "version": "1.1.15",
+ "dev": true,
+ "requires": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.2"
+ }
+ },
+ "word-wrap": {
+ "version": "1.2.5",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "1.0.0",
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "8.1.0",
+ "requires": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "6.0.1"
+ },
+ "ansi-styles": {
+ "version": "6.2.1"
+ },
+ "emoji-regex": {
+ "version": "9.2.2"
+ },
+ "string-width": {
+ "version": "5.1.2",
+ "requires": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "7.1.0",
+ "requires": {
+ "ansi-regex": "^6.0.1"
+ }
+ }
+ }
+ },
+ "wrap-ansi-cjs": {
+ "version": "npm:wrap-ansi@7.0.0",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "dev": true
+ },
+ "ws": {
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
+ "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
+ "dev": true,
+ "requires": {}
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "dev": true
+ },
+ "yaml": {
+ "version": "2.4.5",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz",
+ "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg=="
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "dev": true
+ }
+ }
+}
diff --git a/package.json b/package.json
index 1505bcaf..d499ebd0 100644
--- a/package.json
+++ b/package.json
@@ -1,67 +1,67 @@
-{
- "name": "zmk-studio",
- "private": true,
- "version": "0.3.1",
- "type": "module",
- "scripts": {
- "generate-data": "node scripts/generate-release-data.js",
- "dev": "npm run generate-data && vite",
- "build": "npm run generate-data && tsc && vite build",
- "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
- "preview": "vite preview",
- "tauri": "tauri",
- "storybook": "storybook dev -p 6006",
- "build-storybook": "storybook build"
- },
- "dependencies": {
- "@fortawesome/fontawesome-svg-core": "^6.7.1",
- "@fortawesome/free-brands-svg-icons": "^6.7.1",
- "@fortawesome/react-fontawesome": "^0.2.2",
- "@tailwindcss/container-queries": "^0.1.1",
- "@tauri-apps/api": "^2.0.0",
- "@tauri-apps/plugin-cli": "^2.0.0",
- "@zmkfirmware/zmk-studio-ts-client": "^0.0.18",
- "emittery": "^1.0.3",
- "immer": "^10.1.1",
- "lucide-react": "^0.445.0",
- "react": "^18.2.0",
- "react-aria-components": "^1.4.0",
- "react-dom": "^18.2.0",
- "tailwindcss-react-aria-components": "^1.1.3"
- },
- "devDependencies": {
- "@chromatic-com/storybook": "^1.3.5",
- "@storybook/addon-essentials": "^8.3.5",
- "@storybook/addon-interactions": "^8.0.10",
- "@storybook/addon-links": "^8.0.10",
- "@storybook/addon-onboarding": "^8.0.10",
- "@storybook/blocks": "^8.3.5",
- "@storybook/react": "^8.0.10",
- "@storybook/react-vite": "^8.0.10",
- "@storybook/test": "^8.0.10",
- "@tauri-apps/cli": "^2.0.0",
- "@types/react": "^18.2.66",
- "@types/react-dom": "^18.2.22",
- "@types/w3c-web-serial": "^1.0.6",
- "@types/web-bluetooth": "^0.0.20",
- "@typescript-eslint/eslint-plugin": "^7.2.0",
- "@typescript-eslint/parser": "^7.2.0",
- "@vitejs/plugin-react-swc": "^3.5.0",
- "autoprefixer": "^10.4.19",
- "eslint": "^8.57.0",
- "eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-react-refresh": "^0.4.6",
- "eslint-plugin-storybook": "^0.8.0",
- "postcss": "^8.4.38",
- "prettier": "3.3.2",
- "run-script-os": "^1.1.6",
- "storybook": "^8.0.10",
- "tailwindcss": "^3.4.4",
- "typescript": "^5.4.5",
- "vite": "^5.4.8"
- },
- "optionalDependencies": {
- "@esbuild/darwin-arm64": "0.23.0",
- "@rollup/rollup-darwin-arm64": "^4.18.1"
- }
+{
+ "name": "zmk-studio",
+ "private": true,
+ "version": "0.3.1",
+ "type": "module",
+ "scripts": {
+ "generate-data": "node scripts/generate-release-data.js",
+ "dev": "npm run generate-data && vite --host",
+ "build": "npm run generate-data && tsc && vite build",
+ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
+ "preview": "vite preview",
+ "tauri": "NO_STRIP=true tauri",
+ "storybook": "storybook dev -p 6006",
+ "build-storybook": "storybook build"
+ },
+ "dependencies": {
+ "@fortawesome/fontawesome-svg-core": "^6.7.1",
+ "@fortawesome/free-brands-svg-icons": "^6.7.1",
+ "@fortawesome/react-fontawesome": "^0.2.2",
+ "@tailwindcss/container-queries": "^0.1.1",
+ "@tauri-apps/api": "^2.0.0",
+ "@tauri-apps/plugin-cli": "^2.0.0",
+ "@zmkfirmware/zmk-studio-ts-client": "^0.0.18",
+ "emittery": "^1.0.3",
+ "immer": "^10.1.1",
+ "lucide-react": "^0.445.0",
+ "react": "^18.2.0",
+ "react-aria-components": "^1.4.0",
+ "react-dom": "^18.2.0",
+ "tailwindcss-react-aria-components": "^1.1.3"
+ },
+ "devDependencies": {
+ "@chromatic-com/storybook": "^1.3.5",
+ "@storybook/addon-essentials": "^8.3.5",
+ "@storybook/addon-interactions": "^8.0.10",
+ "@storybook/addon-links": "^8.0.10",
+ "@storybook/addon-onboarding": "^8.0.10",
+ "@storybook/blocks": "^8.3.5",
+ "@storybook/react": "^8.0.10",
+ "@storybook/react-vite": "^8.0.10",
+ "@storybook/test": "^8.0.10",
+ "@tauri-apps/cli": "^2.0.0",
+ "@types/react": "^18.2.66",
+ "@types/react-dom": "^18.2.22",
+ "@types/w3c-web-serial": "^1.0.6",
+ "@types/web-bluetooth": "^0.0.20",
+ "@typescript-eslint/eslint-plugin": "^7.2.0",
+ "@typescript-eslint/parser": "^7.2.0",
+ "@vitejs/plugin-react-swc": "^3.5.0",
+ "autoprefixer": "^10.4.19",
+ "eslint": "^8.57.0",
+ "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-react-refresh": "^0.4.6",
+ "eslint-plugin-storybook": "^0.8.0",
+ "postcss": "^8.4.38",
+ "prettier": "3.3.2",
+ "run-script-os": "^1.1.6",
+ "storybook": "^8.0.10",
+ "tailwindcss": "^3.4.4",
+ "typescript": "^5.4.5",
+ "vite": "^5.4.8"
+ },
+ "optionalDependencies": {
+ "@esbuild/darwin-arm64": "0.23.0",
+ "@rollup/rollup-darwin-arm64": "^4.18.1"
+ }
}
\ No newline at end of file
diff --git a/postcss.config.js b/postcss.config.js
index 2aa7205d..daedffd2 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -1,6 +1,6 @@
-export default {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-};
+export default {
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {},
+ },
+};
diff --git a/public/vite.svg b/public/vite.svg
index ee9fadaf..7a20b247 100644
--- a/public/vite.svg
+++ b/public/vite.svg
@@ -1 +1 @@
-
+
diff --git a/public/zmk.svg b/public/zmk.svg
index 31977a60..f45eac72 100644
--- a/public/zmk.svg
+++ b/public/zmk.svg
@@ -1,17 +1,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/release-please-config.json b/release-please-config.json
index b5399d3a..7c7cb9fd 100644
--- a/release-please-config.json
+++ b/release-please-config.json
@@ -1,20 +1,20 @@
-{
- "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
- "release-type": "node",
- "include-component-in-tag": false,
- "extra-files": [
- {
- "type": "toml",
- "path": "src-tauri/Cargo.toml",
- "jsonpath": "$.package.version"
- },
- {
- "type": "json",
- "path": "src-tauri/tauri.conf.json",
- "jsonpath": "$.version"
- }
- ],
- "packages": {
- ".": {}
- }
-}
+{
+ "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
+ "release-type": "node",
+ "include-component-in-tag": false,
+ "extra-files": [
+ {
+ "type": "toml",
+ "path": "src-tauri/Cargo.toml",
+ "jsonpath": "$.package.version"
+ },
+ {
+ "type": "json",
+ "path": "src-tauri/tauri.conf.json",
+ "jsonpath": "$.version"
+ }
+ ],
+ "packages": {
+ ".": {}
+ }
+}
diff --git a/requirements.txt b/requirements.txt
index 416634f5..323d5b0d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1 +1 @@
-pre-commit
+pre-commit
diff --git a/scripts/generate-release-data.js b/scripts/generate-release-data.js
index 9349c352..e3813ce6 100644
--- a/scripts/generate-release-data.js
+++ b/scripts/generate-release-data.js
@@ -1,39 +1,39 @@
-import fs from "fs/promises";
-import path from "path";
-import url from "url";
-
-const __filename = url.fileURLToPath(import.meta.url);
-const __dirname = path.resolve(__filename, "../..");
-
-async function generateReleaseData() {
- try {
- const response = await fetch(
- "https://api.github.com/repos/zmkfirmware/zmk-studio/releases/latest",
- {
- headers: process.env.GITHUB_TOKEN
- ? { Authorization: `Bearer ${process.env.GITHUB_TOKEN}` }
- : {},
- },
- );
- if (!response.ok) {
- throw new Error(`HTTP error! status: ${response.status}`);
- }
-
- const data = await response.json();
- const dataFilePath = path.resolve(
- __dirname,
- "src",
- "data",
- "release-data.json",
- );
- await fs.mkdir(path.dirname(dataFilePath), { recursive: true });
- await fs.writeFile(dataFilePath, JSON.stringify(data));
-
- console.log("Release data generated successfully!");
- } catch (error) {
- console.error("Error generating release data:", error);
- process.exit(1);
- }
-}
-
-generateReleaseData();
+import fs from "fs/promises";
+import path from "path";
+import url from "url";
+
+const __filename = url.fileURLToPath(import.meta.url);
+const __dirname = path.resolve(__filename, "../..");
+
+async function generateReleaseData() {
+ try {
+ const response = await fetch(
+ "https://api.github.com/repos/zmkfirmware/zmk-studio/releases/latest",
+ {
+ headers: process.env.GITHUB_TOKEN
+ ? { Authorization: `Bearer ${process.env.GITHUB_TOKEN}` }
+ : {},
+ },
+ );
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+
+ const data = await response.json();
+ const dataFilePath = path.resolve(
+ __dirname,
+ "src",
+ "data",
+ "release-data.json",
+ );
+ await fs.mkdir(path.dirname(dataFilePath), { recursive: true });
+ await fs.writeFile(dataFilePath, JSON.stringify(data));
+
+ console.log("Release data generated successfully!");
+ } catch (error) {
+ console.error("Error generating release data:", error);
+ process.exit(1);
+ }
+}
+
+generateReleaseData();
diff --git a/src-tauri/.gitignore b/src-tauri/.gitignore
index 502406b4..489be327 100644
--- a/src-tauri/.gitignore
+++ b/src-tauri/.gitignore
@@ -1,4 +1,4 @@
-# Generated by Cargo
-# will have compiled files and executables
-/target/
-/gen/schemas
+# Generated by Cargo
+# will have compiled files and executables
+/target/
+/gen/schemas
diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock
index 91fbadf2..63959285 100644
--- a/src-tauri/Cargo.lock
+++ b/src-tauri/Cargo.lock
@@ -113,7 +113,7 @@ checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3"
[[package]]
name = "app"
-version = "0.1.0"
+version = "0.3.1"
dependencies = [
"async-std",
"blocking",
diff --git a/src-tauri/Info.plist b/src-tauri/Info.plist
index 3fc104d3..5d3bc296 100644
--- a/src-tauri/Info.plist
+++ b/src-tauri/Info.plist
@@ -1,8 +1,8 @@
-
-
-
-
- NSBluetoothAlwaysUsageDescription
- Request bluetooth access for wireless access for config
-
+
+
+
+
+ NSBluetoothAlwaysUsageDescription
+ Request bluetooth access for wireless access for config
+
\ No newline at end of file
diff --git a/src-tauri/build.rs b/src-tauri/build.rs
index d860e1e6..2ba80a8b 100644
--- a/src-tauri/build.rs
+++ b/src-tauri/build.rs
@@ -1,3 +1,3 @@
-fn main() {
- tauri_build::build()
-}
+fn main() {
+ tauri_build::build()
+}
diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json
index ca7ad8ff..d74297d5 100644
--- a/src-tauri/capabilities/default.json
+++ b/src-tauri/capabilities/default.json
@@ -1,20 +1,20 @@
-{
- "$schema": "../gen/schemas/desktop-schema.json",
- "identifier": "default",
- "description": "enables the default permissions",
- "windows": [
- "main"
- ],
- "permissions": [
- "core:path:default",
- "core:event:default",
- "core:window:default",
- "core:webview:default",
- "core:app:default",
- "core:resources:default",
- "core:image:default",
- "core:menu:default",
- "core:tray:default",
- "cli:default"
- ]
-}
+{
+ "$schema": "../gen/schemas/desktop-schema.json",
+ "identifier": "default",
+ "description": "enables the default permissions",
+ "windows": [
+ "main"
+ ],
+ "permissions": [
+ "core:path:default",
+ "core:event:default",
+ "core:window:default",
+ "core:webview:default",
+ "core:app:default",
+ "core:resources:default",
+ "core:image:default",
+ "core:menu:default",
+ "core:tray:default",
+ "cli:default"
+ ]
+}
diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs
index 3b48e91a..531a2055 100644
--- a/src-tauri/src/lib.rs
+++ b/src-tauri/src/lib.rs
@@ -1,6 +1,6 @@
-#[cfg_attr(mobile, tauri::mobile_entry_point)]
-pub fn run() {
- tauri::Builder::default()
- .run(tauri::generate_context!())
- .expect("error while running tauri application");
-}
+#[cfg_attr(mobile, tauri::mobile_entry_point)]
+pub fn run() {
+ tauri::Builder::default()
+ .run(tauri::generate_context!())
+ .expect("error while running tauri application");
+}
diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs
index e9d7348e..5184f4fa 100644
--- a/src-tauri/src/main.rs
+++ b/src-tauri/src/main.rs
@@ -1,30 +1,30 @@
-// Prevents additional console window on Windows in release, DO NOT REMOVE!!
-#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
-
-use std::env;
-
-use futures::lock::Mutex;
-
-mod transport;
-use transport::commands::{transport_close, transport_send_data, ActiveConnection};
-
-use transport::gatt::{gatt_connect, gatt_list_devices};
-use transport::serial::{serial_connect, serial_list_devices};
-
-fn main() {
- tauri::Builder::default()
- .plugin(tauri_plugin_cli::init())
- .manage(ActiveConnection {
- conn: Mutex::new(None),
- })
- .invoke_handler(tauri::generate_handler![
- transport_send_data,
- transport_close,
- gatt_list_devices,
- gatt_connect,
- serial_list_devices,
- serial_connect,
- ])
- .run(tauri::generate_context!())
- .expect("error while running tauri application");
-}
+// Prevents additional console window on Windows in release, DO NOT REMOVE!!
+#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
+
+use std::env;
+
+use futures::lock::Mutex;
+
+mod transport;
+use transport::commands::{transport_close, transport_send_data, ActiveConnection};
+
+use transport::gatt::{gatt_connect, gatt_list_devices};
+use transport::serial::{serial_connect, serial_list_devices};
+
+fn main() {
+ tauri::Builder::default()
+ .plugin(tauri_plugin_cli::init())
+ .manage(ActiveConnection {
+ conn: Mutex::new(None),
+ })
+ .invoke_handler(tauri::generate_handler![
+ transport_send_data,
+ transport_close,
+ gatt_list_devices,
+ gatt_connect,
+ serial_list_devices,
+ serial_connect,
+ ])
+ .run(tauri::generate_context!())
+ .expect("error while running tauri application");
+}
diff --git a/src-tauri/src/transport/commands.rs b/src-tauri/src/transport/commands.rs
index 8b638535..41760b58 100644
--- a/src-tauri/src/transport/commands.rs
+++ b/src-tauri/src/transport/commands.rs
@@ -1,50 +1,50 @@
-use futures::lock::Mutex;
-use futures::Sink;
-use futures::SinkExt;
-
-use futures::channel::mpsc::SendError;
-
-use serde::{Deserialize, Serialize};
-
-use tauri::ipc::InvokeBody;
-use tauri::{
- command,
- ipc::{Request},
- State,
-};
-
-#[derive(Debug, Serialize, Deserialize)]
-pub struct AvailableDevice {
- pub label: String,
- pub id: String,
-}
-
-#[derive(Debug, Default)]
-pub struct ActiveConnection<'a> {
- pub conn: Mutex, Error = SendError> + Unpin + Send + 'a>>>,
-}
-
-#[command]
-pub async fn transport_send_data(
- req: Request<'_>,
- state: State<'_, ActiveConnection<'_>>,
-) -> Result<(), ()> {
- if let InvokeBody::Raw(data) = req.body() {
- let mut lock = state.conn.lock().await;
-
- let sink = lock.as_mut().unwrap();
- sink.send(data.clone()).await;
- }
-
- Ok(())
-}
-
-#[command]
-pub async fn transport_close(
- req: Request<'_>,
- state: State<'_, ActiveConnection<'_>>,
-) -> Result<(), ()> {
- *state.conn.lock().await = None;
-
- Ok(())
-}
+use futures::lock::Mutex;
+use futures::Sink;
+use futures::SinkExt;
+
+use futures::channel::mpsc::SendError;
+
+use serde::{Deserialize, Serialize};
+
+use tauri::ipc::InvokeBody;
+use tauri::{
+ command,
+ ipc::{Request},
+ State,
+};
+
+#[derive(Debug, Serialize, Deserialize)]
+pub struct AvailableDevice {
+ pub label: String,
+ pub id: String,
+}
+
+#[derive(Debug, Default)]
+pub struct ActiveConnection<'a> {
+ pub conn: Mutex , Error = SendError> + Unpin + Send + 'a>>>,
+}
+
+#[command]
+pub async fn transport_send_data(
+ req: Request<'_>,
+ state: State<'_, ActiveConnection<'_>>,
+) -> Result<(), ()> {
+ if let InvokeBody::Raw(data) = req.body() {
+ let mut lock = state.conn.lock().await;
+
+ let sink = lock.as_mut().unwrap();
+ sink.send(data.clone()).await;
+ }
+
+ Ok(())
+}
+
+#[command]
+pub async fn transport_close(
+ req: Request<'_>,
+ state: State<'_, ActiveConnection<'_>>,
+) -> Result<(), ()> {
+ *state.conn.lock().await = None;
+
+ Ok(())
+}
diff --git a/src-tauri/src/transport/gatt.rs b/src-tauri/src/transport/gatt.rs
index 357fc25c..3fd51f57 100644
--- a/src-tauri/src/transport/gatt.rs
+++ b/src-tauri/src/transport/gatt.rs
@@ -1,158 +1,158 @@
-use async_std::future::timeout;
-use futures::future::ready;
-use futures::{channel::mpsc::channel, FutureExt};
-use futures::{StreamExt, TryFutureExt};
-
-use std::time::Duration;
-use uuid::Uuid;
-
-use bluest::{Adapter, ConnectionEvent, Device, DeviceId};
-
-use tauri::{command, AppHandle, State};
-
-const SVC_UUID: Uuid = Uuid::from_u128(0x00000000_0196_6107_c967_c5cfb1c2482a);
-const RPC_CHRC_UUID: Uuid = Uuid::from_u128(0x00000001_0196_6107_c967_c5cfb1c2482a);
-
-#[command]
-pub async fn gatt_connect(
- id: String,
- app_handle: AppHandle,
- state: State<'_, super::commands::ActiveConnection<'_>>,
-) -> Result {
- let adapter = Adapter::default().await.ok_or("Failed to access the BT adapter".to_string())?;
-
- adapter.wait_available().await.map_err(|e| format!("Failed to wait for the BT adapter access: {}", e.message()))?;
-
- let device_id: DeviceId = serde_json::from_str(&id).unwrap();
- let d = adapter.open_device(&device_id).await.map_err(|e| format!("Failed to open the device: {}", e.message()))?;
-
- if !d.is_connected().await {
- adapter.connect_device(&d).await.map_err(|e| format!("Failed to connect to the device: {}", e.message()))?;
- }
-
- let service = d
- .discover_services_with_uuid(SVC_UUID)
- .await
- .map_err(|e| format!("Failed to find the device services: {}", e.message()))?
- .get(0)
- .cloned();
-
- if let Some(s) = service {
- let char = s
- .discover_characteristics_with_uuid(RPC_CHRC_UUID)
- .await
- .map_err(|e| format!("Failed to find the studio service characteristics: {}", e.message()))?
- .get(0)
- .cloned();
-
- if let Some(c) = char {
- let c2 = c.clone();
- let ah1 = app_handle.clone();
- let notify_handle = tauri::async_runtime::spawn(async move {
- if let Ok(mut n) = c2.notify().await {
- use tauri::Emitter;
-
- while let Some(Ok(vn)) = n.next().await {
- ah1.emit("connection_data", vn.clone());
- }
- }
- });
-
- let ah2 = app_handle.clone();
- let disconnect_handle = tauri::async_runtime::spawn(async move {
- // Need to keep adapter from being dropped while active/connected
- let a = adapter;
-
- use tauri::Emitter;
- use tauri::Manager;
-
- if let Ok(mut events) = a.device_connection_events(&d).await {
- while let Some(ev) = events.next().await {
- if ev == ConnectionEvent::Disconnected {
- let state = ah2.state::();
- *state.conn.lock().await = None;
-
- if let Err(e) = ah2.emit("connection_disconnected", ()) {
- println!("ERROR RAISING! {:?}", e);
- }
-
- *state.conn.lock().await = None;
- }
- }
- };
- });
-
- let (send, mut recv) = channel(5);
- *state.conn.lock().await = Some(Box::new(send));
- tauri::async_runtime::spawn(async move {
- while let Some(data) = recv.next().await {
- c.write(&data).await.expect("Write uneventfully");
- }
-
- disconnect_handle.abort();
- notify_handle.abort();
- });
-
- Ok(true)
- } else {
- Err("Failed to connect: Unable to locate the required studio GATT characteristic".to_string())
- }
- } else {
- Err("Failed to connect: Unable to locate the required studio GATT service".to_string())
- }
-}
-
-#[cfg(target_os = "macos")]
-async fn check_connected(adapter: &Adapter, device: &Device) -> bool {
- if let Ok(()) = adapter.connect_device(&device).await {
- true
- } else {
- false
- }
-}
-
-#[cfg(not(target_os = "macos"))]
-async fn check_connected(_: &Adapter, device: &Device) -> bool {
- device.is_connected().await
-}
-
-const ADAPTER_TIMEOUT: Duration = Duration::from_secs(2);
-
-#[command]
-pub async fn gatt_list_devices() -> Result, ()> {
- let adapter = Adapter::default()
- .map(|a| a.ok_or(()))
- .and_then(|a| async {
- timeout(ADAPTER_TIMEOUT, a.wait_available())
- .await
- .map_err(|_| ())
- .map(|_| a)
- })
- .await;
-
- let mut ret = vec![];
-
- if let Ok(a) = adapter {
- let devices = a
- .discover_devices(&[SVC_UUID])
- .await
- .expect("GET DEVICES!")
- .take_until(async_std::task::sleep(Duration::from_secs(2)))
- .filter_map(|d| ready(d.ok()));
-
- futures::pin_mut!(devices);
-
- while let Some(device) = devices.next().await {
- if check_connected(&a, &device).await {
- let label = device.name_async().await.unwrap_or("Unknown".to_string());
- let id = serde_json::to_string(&device.id()).unwrap();
-
- ret.push(super::commands::AvailableDevice { label, id });
- } else {
- println!("Device isn't connected: {:?}", device);
- }
- }
- }
-
- Ok(ret)
-}
+use async_std::future::timeout;
+use futures::future::ready;
+use futures::{channel::mpsc::channel, FutureExt};
+use futures::{StreamExt, TryFutureExt};
+
+use std::time::Duration;
+use uuid::Uuid;
+
+use bluest::{Adapter, ConnectionEvent, Device, DeviceId};
+
+use tauri::{command, AppHandle, State};
+
+const SVC_UUID: Uuid = Uuid::from_u128(0x00000000_0196_6107_c967_c5cfb1c2482a);
+const RPC_CHRC_UUID: Uuid = Uuid::from_u128(0x00000001_0196_6107_c967_c5cfb1c2482a);
+
+#[command]
+pub async fn gatt_connect(
+ id: String,
+ app_handle: AppHandle,
+ state: State<'_, super::commands::ActiveConnection<'_>>,
+) -> Result {
+ let adapter = Adapter::default().await.ok_or("Failed to access the BT adapter".to_string())?;
+
+ adapter.wait_available().await.map_err(|e| format!("Failed to wait for the BT adapter access: {}", e.message()))?;
+
+ let device_id: DeviceId = serde_json::from_str(&id).unwrap();
+ let d = adapter.open_device(&device_id).await.map_err(|e| format!("Failed to open the device: {}", e.message()))?;
+
+ if !d.is_connected().await {
+ adapter.connect_device(&d).await.map_err(|e| format!("Failed to connect to the device: {}", e.message()))?;
+ }
+
+ let service = d
+ .discover_services_with_uuid(SVC_UUID)
+ .await
+ .map_err(|e| format!("Failed to find the device services: {}", e.message()))?
+ .get(0)
+ .cloned();
+
+ if let Some(s) = service {
+ let char = s
+ .discover_characteristics_with_uuid(RPC_CHRC_UUID)
+ .await
+ .map_err(|e| format!("Failed to find the studio service characteristics: {}", e.message()))?
+ .get(0)
+ .cloned();
+
+ if let Some(c) = char {
+ let c2 = c.clone();
+ let ah1 = app_handle.clone();
+ let notify_handle = tauri::async_runtime::spawn(async move {
+ if let Ok(mut n) = c2.notify().await {
+ use tauri::Emitter;
+
+ while let Some(Ok(vn)) = n.next().await {
+ ah1.emit("connection_data", vn.clone());
+ }
+ }
+ });
+
+ let ah2 = app_handle.clone();
+ let disconnect_handle = tauri::async_runtime::spawn(async move {
+ // Need to keep adapter from being dropped while active/connected
+ let a = adapter;
+
+ use tauri::Emitter;
+ use tauri::Manager;
+
+ if let Ok(mut events) = a.device_connection_events(&d).await {
+ while let Some(ev) = events.next().await {
+ if ev == ConnectionEvent::Disconnected {
+ let state = ah2.state::();
+ *state.conn.lock().await = None;
+
+ if let Err(e) = ah2.emit("connection_disconnected", ()) {
+ println!("ERROR RAISING! {:?}", e);
+ }
+
+ *state.conn.lock().await = None;
+ }
+ }
+ };
+ });
+
+ let (send, mut recv) = channel(5);
+ *state.conn.lock().await = Some(Box::new(send));
+ tauri::async_runtime::spawn(async move {
+ while let Some(data) = recv.next().await {
+ c.write(&data).await.expect("Write uneventfully");
+ }
+
+ disconnect_handle.abort();
+ notify_handle.abort();
+ });
+
+ Ok(true)
+ } else {
+ Err("Failed to connect: Unable to locate the required studio GATT characteristic".to_string())
+ }
+ } else {
+ Err("Failed to connect: Unable to locate the required studio GATT service".to_string())
+ }
+}
+
+#[cfg(target_os = "macos")]
+async fn check_connected(adapter: &Adapter, device: &Device) -> bool {
+ if let Ok(()) = adapter.connect_device(&device).await {
+ true
+ } else {
+ false
+ }
+}
+
+#[cfg(not(target_os = "macos"))]
+async fn check_connected(_: &Adapter, device: &Device) -> bool {
+ device.is_connected().await
+}
+
+const ADAPTER_TIMEOUT: Duration = Duration::from_secs(2);
+
+#[command]
+pub async fn gatt_list_devices() -> Result, ()> {
+ let adapter = Adapter::default()
+ .map(|a| a.ok_or(()))
+ .and_then(|a| async {
+ timeout(ADAPTER_TIMEOUT, a.wait_available())
+ .await
+ .map_err(|_| ())
+ .map(|_| a)
+ })
+ .await;
+
+ let mut ret = vec![];
+
+ if let Ok(a) = adapter {
+ let devices = a
+ .discover_devices(&[SVC_UUID])
+ .await
+ .expect("GET DEVICES!")
+ .take_until(async_std::task::sleep(Duration::from_secs(2)))
+ .filter_map(|d| ready(d.ok()));
+
+ futures::pin_mut!(devices);
+
+ while let Some(device) = devices.next().await {
+ if check_connected(&a, &device).await {
+ let label = device.name_async().await.unwrap_or("Unknown".to_string());
+ let id = serde_json::to_string(&device.id()).unwrap();
+
+ ret.push(super::commands::AvailableDevice { label, id });
+ } else {
+ println!("Device isn't connected: {:?}", device);
+ }
+ }
+ }
+
+ Ok(ret)
+}
diff --git a/src-tauri/src/transport/mod.rs b/src-tauri/src/transport/mod.rs
index 61492f91..9849a9e9 100644
--- a/src-tauri/src/transport/mod.rs
+++ b/src-tauri/src/transport/mod.rs
@@ -1,3 +1,3 @@
-pub mod commands;
-pub mod gatt;
-pub mod serial;
+pub mod commands;
+pub mod gatt;
+pub mod serial;
diff --git a/src-tauri/src/transport/serial.rs b/src-tauri/src/transport/serial.rs
index cebba80f..4b6fe514 100644
--- a/src-tauri/src/transport/serial.rs
+++ b/src-tauri/src/transport/serial.rs
@@ -1,103 +1,103 @@
-use blocking::unblock;
-use futures::channel::mpsc::channel;
-use futures::StreamExt;
-
-use tokio::io::{AsyncReadExt, AsyncWriteExt};
-use tokio_serial::{available_ports, SerialPortBuilderExt, SerialPortType};
-
-use tauri::{command, AppHandle, State};
-use tauri_plugin_cli::CliExt;
-
-const READ_BUF_SIZE: usize = 1024;
-
-#[command]
-pub async fn serial_connect(
- id: String,
- app_handle: AppHandle,
- state: State<'_, super::commands::ActiveConnection<'_>>,
-) -> Result {
- match tokio_serial::new(id, 9600).open_native_async() {
- Ok(mut port) => {
- #[cfg(unix)]
- port.set_exclusive(false)
- .expect("Unable to set serial port exclusive to false");
-
- let (mut reader, mut writer) = tokio::io::split(port);
-
- let ahc = app_handle.clone();
- let (send, mut recv) = channel(5);
- *state.conn.lock().await = Some(Box::new(send));
-
- let read_process = tauri::async_runtime::spawn(async move {
- use tauri::Manager;
- use tauri::Emitter;
-
- let mut buffer = vec![0; READ_BUF_SIZE];
- while let Ok(size) = reader.read(&mut buffer).await {
- if size > 0 {
- app_handle.emit("connection_data", &buffer[..size]);
- } else {
- break;
- }
- }
-
- let state = app_handle.state::();
- *state.conn.lock().await = None;
-
- app_handle.emit("connection_disconnected", ());
- });
-
- tauri::async_runtime::spawn(async move {
- use tauri::Manager;
-
- while let Some(data) = recv.next().await {
- let _res = writer.write(&data).await;
- }
-
- let state = ahc.state::();
- read_process.abort();
- *state.conn.lock().await = None;
- });
-
- Ok(true)
- }
- Err(e) => {
- Err(format!("Failed to open the serial port: {}", e.description))
- }
- }
-}
-
-#[command]
-pub async fn serial_list_devices(app_handle: AppHandle) -> Result, ()> {
- let ports = unblock(|| available_ports()).await.unwrap();
-
- let mut candidates = ports
- .into_iter()
- .filter_map(|pi| {
- if let SerialPortType::UsbPort(u) = pi.port_type {
- Some(super::commands::AvailableDevice {
- id: pi.port_name,
- label: u.product.unwrap_or("TODO".to_string()),
- })
- } else {
- None
- }
- })
- .collect::>();
-
- match app_handle.cli().matches() {
- Ok(m) => {
- if let Some(p) = m.args.get("serial-port") {
- if let serde_json::Value::String(path) = &p.value {
- candidates.push(super::commands::AvailableDevice {
- id: path.to_string(),
- label: format!("CLI Port: {path}").to_string(),
- })
- }
- }
- },
- Err(_) => {},
- }
-
- Ok(candidates)
-}
+use blocking::unblock;
+use futures::channel::mpsc::channel;
+use futures::StreamExt;
+
+use tokio::io::{AsyncReadExt, AsyncWriteExt};
+use tokio_serial::{available_ports, SerialPortBuilderExt, SerialPortType};
+
+use tauri::{command, AppHandle, State};
+use tauri_plugin_cli::CliExt;
+
+const READ_BUF_SIZE: usize = 1024;
+
+#[command]
+pub async fn serial_connect(
+ id: String,
+ app_handle: AppHandle,
+ state: State<'_, super::commands::ActiveConnection<'_>>,
+) -> Result {
+ match tokio_serial::new(id, 9600).open_native_async() {
+ Ok(mut port) => {
+ #[cfg(unix)]
+ port.set_exclusive(false)
+ .expect("Unable to set serial port exclusive to false");
+
+ let (mut reader, mut writer) = tokio::io::split(port);
+
+ let ahc = app_handle.clone();
+ let (send, mut recv) = channel(5);
+ *state.conn.lock().await = Some(Box::new(send));
+
+ let read_process = tauri::async_runtime::spawn(async move {
+ use tauri::Manager;
+ use tauri::Emitter;
+
+ let mut buffer = vec![0; READ_BUF_SIZE];
+ while let Ok(size) = reader.read(&mut buffer).await {
+ if size > 0 {
+ app_handle.emit("connection_data", &buffer[..size]);
+ } else {
+ break;
+ }
+ }
+
+ let state = app_handle.state::();
+ *state.conn.lock().await = None;
+
+ app_handle.emit("connection_disconnected", ());
+ });
+
+ tauri::async_runtime::spawn(async move {
+ use tauri::Manager;
+
+ while let Some(data) = recv.next().await {
+ let _res = writer.write(&data).await;
+ }
+
+ let state = ahc.state::();
+ read_process.abort();
+ *state.conn.lock().await = None;
+ });
+
+ Ok(true)
+ }
+ Err(e) => {
+ Err(format!("Failed to open the serial port: {}", e.description))
+ }
+ }
+}
+
+#[command]
+pub async fn serial_list_devices(app_handle: AppHandle) -> Result, ()> {
+ let ports = unblock(|| available_ports()).await.unwrap();
+
+ let mut candidates = ports
+ .into_iter()
+ .filter_map(|pi| {
+ if let SerialPortType::UsbPort(u) = pi.port_type {
+ Some(super::commands::AvailableDevice {
+ id: pi.port_name,
+ label: u.product.unwrap_or("TODO".to_string()),
+ })
+ } else {
+ None
+ }
+ })
+ .collect::>();
+
+ match app_handle.cli().matches() {
+ Ok(m) => {
+ if let Some(p) = m.args.get("serial-port") {
+ if let serde_json::Value::String(path) = &p.value {
+ candidates.push(super::commands::AvailableDevice {
+ id: path.to_string(),
+ label: format!("CLI Port: {path}").to_string(),
+ })
+ }
+ }
+ },
+ Err(_) => {},
+ }
+
+ Ok(candidates)
+}
diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json
index 8fd57bfd..65b7eef3 100644
--- a/src-tauri/tauri.conf.json
+++ b/src-tauri/tauri.conf.json
@@ -1,77 +1,77 @@
-{
- "$schema": "../node_modules/@tauri-apps/cli/schema.json",
- "build": {
- "beforeBuildCommand": "npm run build",
- "beforeDevCommand": "npm run dev",
- "devUrl": "http://localhost:5173",
- "frontendDist": "../dist/"
- },
- "productName": "ZMK Studio",
- "mainBinaryName": "zmk-studio",
- "version": "0.3.1",
- "identifier": "dev.zmk.studio",
- "bundle": {
- "active": true,
- "category": "Productivity",
- "copyright": "",
- "linux": {
- "deb": {
- "depends": []
- }
- },
- "externalBin": [],
- "icon": [
- "icons/32x32.png",
- "icons/128x128.png",
- "icons/128x128@2x.png",
- "icons/icon.icns",
- "icons/icon.ico"
- ],
- "longDescription": "",
- "macOS": {
- "entitlements": null,
- "exceptionDomain": "",
- "frameworks": [],
- "providerShortName": null,
- "signingIdentity": "-"
- },
- "resources": [],
- "shortDescription": "",
- "targets": "all",
- "windows": {
- "signCommand": "signtool.exe sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 /dlib ..\\Microsoft.Trusted.Signing.Client\\bin\\x64\\Azure.CodeSigning.Dlib.dll /dmdf trusted-signing-metadata.json %1"
- }
- },
- "plugins": {
- "cli": {
- "description": "Tauri CLI Plugin Example",
- "args": [
- {
- "name": "serial-port",
- "takesValue": true,
- "description": "Specific serial port to connect to"
- }
- ]
- }
- },
- "app": {
- "security": {
- "capabilities": [
- "default"
- ],
- "csp": {
- "default-src": "'self' customprotocol: asset:",
- "connect-src": "ipc: http://ipc.localhost"
- }
- },
- "windows": [
- {
- "fullscreen": false,
- "height": 600,
- "resizable": true,
- "title": "ZMK Studio",
- "width": 800
- }
- ]
- }
-}
+{
+ "$schema": "../node_modules/@tauri-apps/cli/schema.json",
+ "build": {
+ "beforeBuildCommand": "npm run build",
+ "beforeDevCommand": "npm run dev",
+ "devUrl": "http://localhost:5173",
+ "frontendDist": "../dist/"
+ },
+ "productName": "ZMK Studio",
+ "mainBinaryName": "zmk-studio",
+ "version": "0.3.1",
+ "identifier": "dev.zmk.studio",
+ "bundle": {
+ "active": true,
+ "category": "Productivity",
+ "copyright": "",
+ "linux": {
+ "deb": {
+ "depends": []
+ }
+ },
+ "externalBin": [],
+ "icon": [
+ "icons/32x32.png",
+ "icons/128x128.png",
+ "icons/128x128@2x.png",
+ "icons/icon.icns",
+ "icons/icon.ico"
+ ],
+ "longDescription": "",
+ "macOS": {
+ "entitlements": null,
+ "exceptionDomain": "",
+ "frameworks": [],
+ "providerShortName": null,
+ "signingIdentity": "-"
+ },
+ "resources": [],
+ "shortDescription": "",
+ "targets": "all",
+ "windows": {
+ "signCommand": "signtool.exe sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 /dlib ..\\Microsoft.Trusted.Signing.Client\\bin\\x64\\Azure.CodeSigning.Dlib.dll /dmdf trusted-signing-metadata.json %1"
+ }
+ },
+ "plugins": {
+ "cli": {
+ "description": "Tauri CLI Plugin Example",
+ "args": [
+ {
+ "name": "serial-port",
+ "takesValue": true,
+ "description": "Specific serial port to connect to"
+ }
+ ]
+ }
+ },
+ "app": {
+ "security": {
+ "capabilities": [
+ "default"
+ ],
+ "csp": {
+ "default-src": "'self' customprotocol: asset:",
+ "connect-src": "ipc: http://ipc.localhost"
+ }
+ },
+ "windows": [
+ {
+ "fullscreen": false,
+ "height": 600,
+ "resizable": true,
+ "title": "ZMK Studio",
+ "width": 800
+ }
+ ]
+ }
+}
diff --git a/src-tauri/trusted-signing-metadata.json b/src-tauri/trusted-signing-metadata.json
index 8fbf80cd..1538d93d 100644
--- a/src-tauri/trusted-signing-metadata.json
+++ b/src-tauri/trusted-signing-metadata.json
@@ -1,17 +1,17 @@
-{
- "Endpoint": "https://eus.codesigning.azure.net",
- "CodeSigningAccountName": "ZMKStudio",
- "CertificateProfileName": "ZMKStudioCertProfile",
- "ExcludeCredentials": [
- "ManagedIdentityCredential",
- "WorkloadIdentityCredential",
- "SharedTokenCacheCredential",
- "VisualStudioCredential",
- "VisualStudioCodeCredential",
-
- "AzurePowerShellCredential",
- "AzureCliCredential",
- "AzureDeveloperCliCredential",
- "InteractiveBrowserCredential"
- ]
- }
+{
+ "Endpoint": "https://eus.codesigning.azure.net",
+ "CodeSigningAccountName": "ZMKStudio",
+ "CertificateProfileName": "ZMKStudioCertProfile",
+ "ExcludeCredentials": [
+ "ManagedIdentityCredential",
+ "WorkloadIdentityCredential",
+ "SharedTokenCacheCredential",
+ "VisualStudioCredential",
+ "VisualStudioCodeCredential",
+
+ "AzurePowerShellCredential",
+ "AzureCliCredential",
+ "AzureDeveloperCliCredential",
+ "InteractiveBrowserCredential"
+ ]
+ }
diff --git a/src/AboutModal.tsx b/src/AboutModal.tsx
index 8ecf5940..4cdc23fb 100644
--- a/src/AboutModal.tsx
+++ b/src/AboutModal.tsx
@@ -1,254 +1,254 @@
-import React from "react";
-import { useModalRef } from "./misc/useModalRef";
-
-import cannonKeys from "./assets/cannonkeys.png";
-import cannonKeysDarkMode from "./assets/cannonkeys-dark-mode.png";
-
-import niceAndTyperactive from "./assets/niceandtyperactive.png";
-import niceAndTyperactiveDarkMode from "./assets/niceandtyperactive-dark-mode.png";
-
-import kinesis from "./assets/kinesis.png";
-import kinesisDarkMode from "./assets/kinesis-dark-mode.png";
-
-import keychron from "./assets/keychron.png";
-import keychronDarkMode from "./assets/keychron-dark-mode.png";
-
-import littleKeyboards from "./assets/littlekeyboards.avif";
-import littleKeyboardsDarkMode from "./assets/littlekeyboards-dark-mode.avif";
-
-import keebmaker from "./assets/keebmaker.png";
-import keebmakerDarkMode from "./assets/keebmaker-dark-mode.png";
-
-import keebio from "./assets/keebio.avif";
-
-import deskHero from "./assets/deskhero.webp";
-import deskHeroDarkMode from "./assets/deskhero-dark-mode.webp";
-
-import mode from "./assets/mode.png";
-import modeDarkMode from "./assets/mode-dark-mode.png";
-
-import mechlovin from "./assets/mechloving.png";
-import mechlovinDarkMode from "./assets/mechlovin-dark-mode.png";
-
-import phaseByte from "./assets/phasebyte.png";
-
-import keycapsss from "./assets/keycapsss.png";
-import keycapsssDarkMode from "./assets/keycapsss-dark-mode.png";
-
-import mekibo from "./assets/mekibo.png";
-import mekiboDarkMode from "./assets/mekibo-dark-mode.png";
-
-import splitkb from "./assets/splitkb.png";
-import splitkbDarkMode from "./assets/splitkb-dark-mode.png";
-import { GenericModal } from "./GenericModal";
-import { ExternalLink } from "./misc/ExternalLink";
-
-export interface AboutModalProps {
- open: boolean;
- onClose: () => void;
-}
-
-enum SponsorSize {
- Large,
- Medium,
- Small,
-}
-
-const sponsors = [
- {
- level: "Platinum",
- size: SponsorSize.Large,
- vendors: [
- {
- name: "nice!keyboards / typeractive",
- img: niceAndTyperactive,
- darkModeImg: niceAndTyperactiveDarkMode,
- url: "https://typeractive.xyz/",
- },
- {
- name: "Kinesis",
- img: kinesis,
- darkModeImg: kinesisDarkMode,
- url: "https://kinesis-ergo.com/",
- },
- ],
- },
- {
- level: "Gold+",
- size: SponsorSize.Large,
- vendors: [
- {
- name: "CannonKeys",
- img: cannonKeys,
- darkModeImg: cannonKeysDarkMode,
- url: "https://cannonkeys.com/",
- },
- {
- name: "Keychron",
- img: keychron,
- darkModeImg: keychronDarkMode,
- url: "https://keychron.com/",
- },
- ],
- },
- {
- level: "Gold",
- size: SponsorSize.Medium,
- vendors: [
- {
- name: "Little Keyboards",
- img: littleKeyboards,
- darkModeImg: littleKeyboardsDarkMode,
- url: "https://littlekeyboards.com/",
- },
- {
- name: "Keebmaker",
- img: keebmaker,
- darkModeImg: keebmakerDarkMode,
- url: "https://keebmaker.com/",
- },
- ],
- },
- {
- level: "Silver",
- size: SponsorSize.Medium,
- vendors: [
- {
- name: "keeb.io",
- img: keebio,
- url: "https://keeb.io/",
- },
- {
- name: "Mode Designs",
- img: mode,
- darkModeImg: modeDarkMode,
- url: "https://modedesigns.com/",
- },
- ],
- },
- {
- level: "Bronze",
- size: SponsorSize.Small,
- vendors: [
- {
- name: "deskhero",
- img: deskHero,
- darkModeImg: deskHeroDarkMode,
- url: "https://deskhero.ca/",
- },
- {
- name: "PhaseByte",
- img: phaseByte,
- url: "https://phasebyte.com/",
- },
- {
- name: "Mechlovin'",
- img: mechlovin,
- darkModeImg: mechlovinDarkMode,
- url: "https://mechlovin.studio/",
- },
- ],
- },
- {
- level: "Additional",
- size: SponsorSize.Small,
- vendors: [
- {
- name: "splitkb.com",
- img: splitkb,
- darkModeImg: splitkbDarkMode,
- url: "https://splitkb.com/",
- },
- {
- name: "keycapsss",
- img: keycapsss,
- darkModeImg: keycapsssDarkMode,
- url: "https://keycapsss.com/",
- },
- {
- name: "mekibo",
- img: mekibo,
- darkModeImg: mekiboDarkMode,
- url: "https://mekibo.com/",
- },
- ],
- },
-];
-
-export const AboutModal = ({ open, onClose }: AboutModalProps) => {
- const ref = useModalRef(open, true);
-
- return (
-
-
-
- The ZMK Project:{" "}
- website ,{" "}
-
- GitHub Issues
-
- ,{" "}
-
- Discord Server
-
-
-
- Close
-
-
-
-
- ZMK Studio is made possible thanks to the generous donation of time
- from our contributors, as well as the financial sponsorship from the
- following vendors:
-
-
-
- {sponsors.map((s) => {
- const heightVariants = {
- [SponsorSize.Large]: "h-16",
- [SponsorSize.Medium]: "h-12",
- [SponsorSize.Small]: "h-8",
- };
-
- return (
-
- {s.level}
-
- {s.vendors.map((v) => {
- const maxSizeVariants = {
- [SponsorSize.Large]: "max-h-16",
- [SponsorSize.Medium]: "max-h-12",
- [SponsorSize.Small]: "max-h-8",
- };
-
- return (
-
-
- {v.darkModeImg && (
-
- )}
-
-
-
- );
- })}
-
-
- );
- })}
-
-
- );
-};
+import React from "react";
+import { useModalRef } from "./misc/useModalRef";
+
+import cannonKeys from "./assets/cannonkeys.png";
+import cannonKeysDarkMode from "./assets/cannonkeys-dark-mode.png";
+
+import niceAndTyperactive from "./assets/niceandtyperactive.png";
+import niceAndTyperactiveDarkMode from "./assets/niceandtyperactive-dark-mode.png";
+
+import kinesis from "./assets/kinesis.png";
+import kinesisDarkMode from "./assets/kinesis-dark-mode.png";
+
+import keychron from "./assets/keychron.png";
+import keychronDarkMode from "./assets/keychron-dark-mode.png";
+
+import littleKeyboards from "./assets/littlekeyboards.avif";
+import littleKeyboardsDarkMode from "./assets/littlekeyboards-dark-mode.avif";
+
+import keebmaker from "./assets/keebmaker.png";
+import keebmakerDarkMode from "./assets/keebmaker-dark-mode.png";
+
+import keebio from "./assets/keebio.avif";
+
+import deskHero from "./assets/deskhero.webp";
+import deskHeroDarkMode from "./assets/deskhero-dark-mode.webp";
+
+import mode from "./assets/mode.png";
+import modeDarkMode from "./assets/mode-dark-mode.png";
+
+import mechlovin from "./assets/mechloving.png";
+import mechlovinDarkMode from "./assets/mechlovin-dark-mode.png";
+
+import phaseByte from "./assets/phasebyte.png";
+
+import keycapsss from "./assets/keycapsss.png";
+import keycapsssDarkMode from "./assets/keycapsss-dark-mode.png";
+
+import mekibo from "./assets/mekibo.png";
+import mekiboDarkMode from "./assets/mekibo-dark-mode.png";
+
+import splitkb from "./assets/splitkb.png";
+import splitkbDarkMode from "./assets/splitkb-dark-mode.png";
+import { GenericModal } from "./GenericModal";
+import { ExternalLink } from "./misc/ExternalLink";
+
+export interface AboutModalProps {
+ open: boolean;
+ onClose: () => void;
+}
+
+enum SponsorSize {
+ Large,
+ Medium,
+ Small,
+}
+
+const sponsors = [
+ {
+ level: "Platinum",
+ size: SponsorSize.Large,
+ vendors: [
+ {
+ name: "nice!keyboards / typeractive",
+ img: niceAndTyperactive,
+ darkModeImg: niceAndTyperactiveDarkMode,
+ url: "https://typeractive.xyz/",
+ },
+ {
+ name: "Kinesis",
+ img: kinesis,
+ darkModeImg: kinesisDarkMode,
+ url: "https://kinesis-ergo.com/",
+ },
+ ],
+ },
+ {
+ level: "Gold+",
+ size: SponsorSize.Large,
+ vendors: [
+ {
+ name: "CannonKeys",
+ img: cannonKeys,
+ darkModeImg: cannonKeysDarkMode,
+ url: "https://cannonkeys.com/",
+ },
+ {
+ name: "Keychron",
+ img: keychron,
+ darkModeImg: keychronDarkMode,
+ url: "https://keychron.com/",
+ },
+ ],
+ },
+ {
+ level: "Gold",
+ size: SponsorSize.Medium,
+ vendors: [
+ {
+ name: "Little Keyboards",
+ img: littleKeyboards,
+ darkModeImg: littleKeyboardsDarkMode,
+ url: "https://littlekeyboards.com/",
+ },
+ {
+ name: "Keebmaker",
+ img: keebmaker,
+ darkModeImg: keebmakerDarkMode,
+ url: "https://keebmaker.com/",
+ },
+ ],
+ },
+ {
+ level: "Silver",
+ size: SponsorSize.Medium,
+ vendors: [
+ {
+ name: "keeb.io",
+ img: keebio,
+ url: "https://keeb.io/",
+ },
+ {
+ name: "Mode Designs",
+ img: mode,
+ darkModeImg: modeDarkMode,
+ url: "https://modedesigns.com/",
+ },
+ ],
+ },
+ {
+ level: "Bronze",
+ size: SponsorSize.Small,
+ vendors: [
+ {
+ name: "deskhero",
+ img: deskHero,
+ darkModeImg: deskHeroDarkMode,
+ url: "https://deskhero.ca/",
+ },
+ {
+ name: "PhaseByte",
+ img: phaseByte,
+ url: "https://phasebyte.com/",
+ },
+ {
+ name: "Mechlovin'",
+ img: mechlovin,
+ darkModeImg: mechlovinDarkMode,
+ url: "https://mechlovin.studio/",
+ },
+ ],
+ },
+ {
+ level: "Additional",
+ size: SponsorSize.Small,
+ vendors: [
+ {
+ name: "splitkb.com",
+ img: splitkb,
+ darkModeImg: splitkbDarkMode,
+ url: "https://splitkb.com/",
+ },
+ {
+ name: "keycapsss",
+ img: keycapsss,
+ darkModeImg: keycapsssDarkMode,
+ url: "https://keycapsss.com/",
+ },
+ {
+ name: "mekibo",
+ img: mekibo,
+ darkModeImg: mekiboDarkMode,
+ url: "https://mekibo.com/",
+ },
+ ],
+ },
+];
+
+export const AboutModal = ({ open, onClose }: AboutModalProps) => {
+ const ref = useModalRef(open, true);
+
+ return (
+
+
+
+ The ZMK Project:{" "}
+ website ,{" "}
+
+ GitHub Issues
+
+ ,{" "}
+
+ Discord Server
+
+
+
+ Close
+
+
+
+
+ ZMK Studio is made possible thanks to the generous donation of time
+ from our contributors, as well as the financial sponsorship from the
+ following vendors:
+
+
+
+ {sponsors.map((s) => {
+ const heightVariants = {
+ [SponsorSize.Large]: "h-16",
+ [SponsorSize.Medium]: "h-12",
+ [SponsorSize.Small]: "h-8",
+ };
+
+ return (
+
+ {s.level}
+
+ {s.vendors.map((v) => {
+ const maxSizeVariants = {
+ [SponsorSize.Large]: "max-h-16",
+ [SponsorSize.Medium]: "max-h-12",
+ [SponsorSize.Small]: "max-h-8",
+ };
+
+ return (
+
+
+ {v.darkModeImg && (
+
+ )}
+
+
+
+ );
+ })}
+
+
+ );
+ })}
+
+
+ );
+};
diff --git a/src/App.tsx b/src/App.tsx
index e09ed0cb..fcfb831f 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,322 +1,325 @@
-import { AppHeader } from "./AppHeader";
-
-import { create_rpc_connection } from "@zmkfirmware/zmk-studio-ts-client";
-import { call_rpc } from "./rpc/logging";
-
-import type { Notification } from "@zmkfirmware/zmk-studio-ts-client/studio";
-import { ConnectionState, ConnectionContext } from "./rpc/ConnectionContext";
-import { Dispatch, useCallback, useEffect, useState } from "react";
-import { ConnectModal, TransportFactory } from "./ConnectModal";
-
-import type { RpcTransport } from "@zmkfirmware/zmk-studio-ts-client/transport/index";
-import { connect as gatt_connect } from "@zmkfirmware/zmk-studio-ts-client/transport/gatt";
-import { connect as serial_connect } from "@zmkfirmware/zmk-studio-ts-client/transport/serial";
-import {
- connect as tauri_ble_connect,
- list_devices as ble_list_devices,
-} from "./tauri/ble";
-import {
- connect as tauri_serial_connect,
- list_devices as serial_list_devices,
-} from "./tauri/serial";
-import Keyboard from "./keyboard/Keyboard";
-import { UndoRedoContext, useUndoRedo } from "./undoRedo";
-import { usePub, useSub } from "./usePubSub";
-import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
-import { LockStateContext } from "./rpc/LockStateContext";
-import { UnlockModal } from "./UnlockModal";
-import { valueAfter } from "./misc/async";
-import { AppFooter } from "./AppFooter";
-import { AboutModal } from "./AboutModal";
-import { LicenseNoticeModal } from "./misc/LicenseNoticeModal";
-
-declare global {
- interface Window {
- __TAURI_INTERNALS__?: object;
- }
-}
-
-const TRANSPORTS: TransportFactory[] = [
- navigator.serial && { label: "USB", connect: serial_connect },
- ...(navigator.bluetooth && navigator.userAgent.indexOf("Linux") >= 0
- ? [{ label: "BLE", connect: gatt_connect }]
- : []),
- ...(window.__TAURI_INTERNALS__
- ? [
- {
- label: "BLE",
- isWireless: true,
- pick_and_connect: {
- connect: tauri_ble_connect,
- list: ble_list_devices,
- },
- },
- ]
- : []),
- ...(window.__TAURI_INTERNALS__
- ? [
- {
- label: "USB",
- pick_and_connect: {
- connect: tauri_serial_connect,
- list: serial_list_devices,
- },
- },
- ]
- : []),
-].filter((t) => t !== undefined);
-
-async function listen_for_notifications(
- notification_stream: ReadableStream,
- signal: AbortSignal
-): Promise {
- let reader = notification_stream.getReader();
- const onAbort = () => {
- reader.cancel();
- reader.releaseLock();
- };
- signal.addEventListener("abort", onAbort, { once: true });
- do {
- let pub = usePub();
-
- try {
- let { done, value } = await reader.read();
- if (done) {
- break;
- }
-
- if (!value) {
- continue;
- }
-
- console.log("Notification", value);
- pub("rpc_notification", value);
-
- const subsystem = Object.entries(value).find(
- ([_k, v]) => v !== undefined
- );
- if (!subsystem) {
- continue;
- }
-
- const [subId, subData] = subsystem;
- const event = Object.entries(subData).find(([_k, v]) => v !== undefined);
-
- if (!event) {
- continue;
- }
-
- const [eventName, eventData] = event;
- const topic = ["rpc_notification", subId, eventName].join(".");
-
- pub(topic, eventData);
- } catch (e) {
- signal.removeEventListener("abort", onAbort);
- reader.releaseLock();
- throw e;
- }
- } while (true);
-
- signal.removeEventListener("abort", onAbort);
- reader.releaseLock();
- notification_stream.cancel();
-}
-
-async function connect(
- transport: RpcTransport,
- setConn: Dispatch,
- setConnectedDeviceName: Dispatch,
- signal: AbortSignal
-) {
- let conn = await create_rpc_connection(transport, { signal });
-
- let details = await Promise.race([
- call_rpc(conn, { core: { getDeviceInfo: true } })
- .then((r) => r?.core?.getDeviceInfo)
- .catch((e) => {
- console.error("Failed first RPC call", e);
- return undefined;
- }),
- valueAfter(undefined, 1000),
- ]);
-
- if (!details) {
- // TODO: Show a proper toast/alert not using `window.alert`
- window.alert("Failed to connect to the chosen device");
- return;
- }
-
- listen_for_notifications(conn.notification_readable, signal)
- .then(() => {
- setConnectedDeviceName(undefined);
- setConn({ conn: null });
- })
- .catch((_e) => {
- setConnectedDeviceName(undefined);
- setConn({ conn: null });
- });
-
- setConnectedDeviceName(details.name);
- setConn({ conn });
-}
-
-function App() {
- const [conn, setConn] = useState({ conn: null });
- const [connectedDeviceName, setConnectedDeviceName] = useState<
- string | undefined
- >(undefined);
- const [doIt, undo, redo, canUndo, canRedo, reset] = useUndoRedo();
- const [showAbout, setShowAbout] = useState(false);
- const [showLicenseNotice, setShowLicenseNotice] = useState(false);
- const [connectionAbort, setConnectionAbort] = useState(new AbortController());
-
- const [lockState, setLockState] = useState(
- LockState.ZMK_STUDIO_CORE_LOCK_STATE_LOCKED
- );
-
- useSub("rpc_notification.core.lockStateChanged", (ls) => {
- setLockState(ls);
- });
-
- useEffect(() => {
- if (!conn) {
- reset();
- setLockState(LockState.ZMK_STUDIO_CORE_LOCK_STATE_LOCKED);
- }
-
- async function updateLockState() {
- if (!conn.conn) {
- return;
- }
-
- let locked_resp = await call_rpc(conn.conn, {
- core: { getLockState: true },
- });
-
- setLockState(
- locked_resp.core?.getLockState ||
- LockState.ZMK_STUDIO_CORE_LOCK_STATE_LOCKED
- );
- }
-
- updateLockState();
- }, [conn, setLockState]);
-
- const save = useCallback(() => {
- async function doSave() {
- if (!conn.conn) {
- return;
- }
-
- let resp = await call_rpc(conn.conn, { keymap: { saveChanges: true } });
- if (!resp.keymap?.saveChanges || resp.keymap?.saveChanges.err) {
- console.error("Failed to save changes", resp.keymap?.saveChanges);
- }
- }
-
- doSave();
- }, [conn]);
-
- const discard = useCallback(() => {
- async function doDiscard() {
- if (!conn.conn) {
- return;
- }
-
- let resp = await call_rpc(conn.conn, {
- keymap: { discardChanges: true },
- });
- if (!resp.keymap?.discardChanges) {
- console.error("Failed to discard changes", resp);
- }
-
- reset();
- setConn({ conn: conn.conn });
- }
-
- doDiscard();
- }, [conn]);
-
- const resetSettings = useCallback(() => {
- async function doReset() {
- if (!conn.conn) {
- return;
- }
-
- let resp = await call_rpc(conn.conn, {
- core: { resetSettings: true },
- });
- if (!resp.core?.resetSettings) {
- console.error("Failed to settings reset", resp);
- }
-
- reset();
- setConn({ conn: conn.conn });
- }
-
- doReset();
- }, [conn]);
-
- const disconnect = useCallback(() => {
- async function doDisconnect() {
- if (!conn.conn) {
- return;
- }
-
- await conn.conn.request_writable.close();
- connectionAbort.abort("User disconnected");
- setConnectionAbort(new AbortController());
- }
-
- doDisconnect();
- }, [conn]);
-
- const onConnect = useCallback(
- (t: RpcTransport) => {
- const ac = new AbortController();
- setConnectionAbort(ac);
- connect(t, setConn, setConnectedDeviceName, ac.signal);
- },
- [setConn, setConnectedDeviceName, setConnectedDeviceName]
- );
-
- return (
-
-
-
-
-
- setShowAbout(false)} />
- setShowLicenseNotice(false)}
- />
-
-
-
-
setShowAbout(true)}
- onShowLicenseNotice={() => setShowLicenseNotice(true)}
- />
-
-
-
-
- );
-}
-
-export default App;
+import { AppHeader } from "./AppHeader";
+
+import { create_rpc_connection } from "@zmkfirmware/zmk-studio-ts-client";
+import { call_rpc } from "./rpc/logging";
+
+import type { Notification } from "@zmkfirmware/zmk-studio-ts-client/studio";
+import { ConnectionState, ConnectionContext } from "./rpc/ConnectionContext";
+import { Dispatch, useCallback, useEffect, useState } from "react";
+import { ConnectModal, TransportFactory } from "./ConnectModal";
+
+import type { RpcTransport } from "@zmkfirmware/zmk-studio-ts-client/transport/index";
+import { connect as gatt_connect } from "@zmkfirmware/zmk-studio-ts-client/transport/gatt";
+import { connect as serial_connect } from "@zmkfirmware/zmk-studio-ts-client/transport/serial";
+import {
+ connect as tauri_ble_connect,
+ list_devices as ble_list_devices,
+} from "./tauri/ble";
+import {
+ connect as tauri_serial_connect,
+ list_devices as serial_list_devices,
+} from "./tauri/serial";
+import Keyboard from "./keyboard/Keyboard";
+import { UndoRedoContext, useUndoRedo } from "./undoRedo";
+import { usePub, useSub } from "./usePubSub";
+import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
+import { LockStateContext } from "./rpc/LockStateContext";
+import { UnlockModal } from "./UnlockModal";
+import { valueAfter } from "./misc/async";
+import { AppFooter } from "./AppFooter";
+import { AboutModal } from "./AboutModal";
+import { LicenseNoticeModal } from "./misc/LicenseNoticeModal";
+import { KeymapProvider } from "./context/keymap";
+
+declare global {
+ interface Window {
+ __TAURI_INTERNALS__?: object;
+ }
+}
+
+const TRANSPORTS: TransportFactory[] = [
+ navigator.serial && { label: "USB", connect: serial_connect },
+ ...(navigator.bluetooth && navigator.userAgent.indexOf("Linux") >= 0
+ ? [{ label: "BLE", connect: gatt_connect }]
+ : []),
+ ...(window.__TAURI_INTERNALS__
+ ? [
+ {
+ label: "BLE",
+ isWireless: true,
+ pick_and_connect: {
+ connect: tauri_ble_connect,
+ list: ble_list_devices,
+ },
+ },
+ ]
+ : []),
+ ...(window.__TAURI_INTERNALS__
+ ? [
+ {
+ label: "USB",
+ pick_and_connect: {
+ connect: tauri_serial_connect,
+ list: serial_list_devices,
+ },
+ },
+ ]
+ : []),
+].filter((t) => t !== undefined);
+
+async function listen_for_notifications(
+ notification_stream: ReadableStream,
+ signal: AbortSignal
+): Promise {
+ let reader = notification_stream.getReader();
+ const onAbort = () => {
+ reader.cancel();
+ reader.releaseLock();
+ };
+ signal.addEventListener("abort", onAbort, { once: true });
+ do {
+ let pub = usePub();
+
+ try {
+ let { done, value } = await reader.read();
+ if (done) {
+ break;
+ }
+
+ if (!value) {
+ continue;
+ }
+
+ console.log("Notification", value);
+ pub("rpc_notification", value);
+
+ const subsystem = Object.entries(value).find(
+ ([_k, v]) => v !== undefined
+ );
+ if (!subsystem) {
+ continue;
+ }
+
+ const [subId, subData] = subsystem;
+ const event = Object.entries(subData).find(([_k, v]) => v !== undefined);
+
+ if (!event) {
+ continue;
+ }
+
+ const [eventName, eventData] = event;
+ const topic = ["rpc_notification", subId, eventName].join(".");
+
+ pub(topic, eventData);
+ } catch (e) {
+ signal.removeEventListener("abort", onAbort);
+ reader.releaseLock();
+ throw e;
+ }
+ } while (true);
+
+ signal.removeEventListener("abort", onAbort);
+ reader.releaseLock();
+ notification_stream.cancel();
+}
+
+async function connect(
+ transport: RpcTransport,
+ setConn: Dispatch,
+ setConnectedDeviceName: Dispatch,
+ signal: AbortSignal
+) {
+ let conn = await create_rpc_connection(transport, { signal });
+
+ let details = await Promise.race([
+ call_rpc(conn, { core: { getDeviceInfo: true } })
+ .then((r) => r?.core?.getDeviceInfo)
+ .catch((e) => {
+ console.error("Failed first RPC call", e);
+ return undefined;
+ }),
+ valueAfter(undefined, 1000),
+ ]);
+
+ if (!details) {
+ // TODO: Show a proper toast/alert not using `window.alert`
+ window.alert("Failed to connect to the chosen device");
+ return;
+ }
+
+ listen_for_notifications(conn.notification_readable, signal)
+ .then(() => {
+ setConnectedDeviceName(undefined);
+ setConn({ conn: null });
+ })
+ .catch((_e) => {
+ setConnectedDeviceName(undefined);
+ setConn({ conn: null });
+ });
+
+ setConnectedDeviceName(details.name);
+ setConn({ conn });
+}
+
+function App() {
+ const [conn, setConn] = useState({ conn: null });
+ const [connectedDeviceName, setConnectedDeviceName] = useState<
+ string | undefined
+ >(undefined);
+ const [doIt, undo, redo, canUndo, canRedo, reset] = useUndoRedo();
+ const [showAbout, setShowAbout] = useState(false);
+ const [showLicenseNotice, setShowLicenseNotice] = useState(false);
+ const [connectionAbort, setConnectionAbort] = useState(new AbortController());
+
+ const [lockState, setLockState] = useState(
+ LockState.ZMK_STUDIO_CORE_LOCK_STATE_LOCKED
+ );
+
+ useSub("rpc_notification.core.lockStateChanged", (ls) => {
+ setLockState(ls);
+ });
+
+ useEffect(() => {
+ if (!conn) {
+ reset();
+ setLockState(LockState.ZMK_STUDIO_CORE_LOCK_STATE_LOCKED);
+ }
+
+ async function updateLockState() {
+ if (!conn.conn) {
+ return;
+ }
+
+ let locked_resp = await call_rpc(conn.conn, {
+ core: { getLockState: true },
+ });
+
+ setLockState(
+ locked_resp.core?.getLockState ||
+ LockState.ZMK_STUDIO_CORE_LOCK_STATE_LOCKED
+ );
+ }
+
+ updateLockState();
+ }, [conn, setLockState]);
+
+ const save = useCallback(() => {
+ async function doSave() {
+ if (!conn.conn) {
+ return;
+ }
+
+ let resp = await call_rpc(conn.conn, { keymap: { saveChanges: true } });
+ if (!resp.keymap?.saveChanges || resp.keymap?.saveChanges.err) {
+ console.error("Failed to save changes", resp.keymap?.saveChanges);
+ }
+ }
+
+ doSave();
+ }, [conn]);
+
+ const discard = useCallback(() => {
+ async function doDiscard() {
+ if (!conn.conn) {
+ return;
+ }
+
+ let resp = await call_rpc(conn.conn, {
+ keymap: { discardChanges: true },
+ });
+ if (!resp.keymap?.discardChanges) {
+ console.error("Failed to discard changes", resp);
+ }
+
+ reset();
+ setConn({ conn: conn.conn });
+ }
+
+ doDiscard();
+ }, [conn]);
+
+ const resetSettings = useCallback(() => {
+ async function doReset() {
+ if (!conn.conn) {
+ return;
+ }
+
+ let resp = await call_rpc(conn.conn, {
+ core: { resetSettings: true },
+ });
+ if (!resp.core?.resetSettings) {
+ console.error("Failed to settings reset", resp);
+ }
+
+ reset();
+ setConn({ conn: conn.conn });
+ }
+
+ doReset();
+ }, [conn]);
+
+ const disconnect = useCallback(() => {
+ async function doDisconnect() {
+ if (!conn.conn) {
+ return;
+ }
+
+ await conn.conn.request_writable.close();
+ connectionAbort.abort("User disconnected");
+ setConnectionAbort(new AbortController());
+ }
+
+ doDisconnect();
+ }, [conn]);
+
+ const onConnect = useCallback(
+ (t: RpcTransport) => {
+ const ac = new AbortController();
+ setConnectionAbort(ac);
+ connect(t, setConn, setConnectedDeviceName, ac.signal);
+ },
+ [setConn, setConnectedDeviceName, setConnectedDeviceName]
+ );
+
+ return (
+
+
+
+
+
+
+ setShowAbout(false)} />
+ setShowLicenseNotice(false)}
+ />
+
+
+
+
setShowAbout(true)}
+ onShowLicenseNotice={() => setShowLicenseNotice(true)}
+ />
+
+
+
+
+
+ );
+}
+
+export default App;
diff --git a/src/AppFooter.tsx b/src/AppFooter.tsx
index e0d9af43..6b32b905 100644
--- a/src/AppFooter.tsx
+++ b/src/AppFooter.tsx
@@ -1,24 +1,24 @@
-export interface AppFooterProps {
- onShowAbout: () => void;
- onShowLicenseNotice: () => void;
-}
-
-export const AppFooter = ({
- onShowAbout,
- onShowLicenseNotice,
-}: AppFooterProps) => {
- return (
-
- );
-};
+export interface AppFooterProps {
+ onShowAbout: () => void;
+ onShowLicenseNotice: () => void;
+}
+
+export const AppFooter = ({
+ onShowAbout,
+ onShowLicenseNotice,
+}: AppFooterProps) => {
+ return (
+
+ );
+};
diff --git a/src/AppHeader.stories.ts b/src/AppHeader.stories.ts
index 62ff88b0..5e6f7b5b 100644
--- a/src/AppHeader.stories.ts
+++ b/src/AppHeader.stories.ts
@@ -1,27 +1,27 @@
-import type { Meta, StoryObj } from "@storybook/react";
-import { AppHeader } from "./AppHeader";
-
-// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
-const meta = {
- title: "Application/AppHeader",
- component: AppHeader,
- parameters: {
- // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
- layout: "centered",
- },
- // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
- tags: ["autodocs"],
- // More on argTypes: https://storybook.js.org/docs/api/argtypes
- argTypes: {
- // backgroundColor: { control: 'color' },
- },
- // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
- args: {},
-} satisfies Meta;
-
-export default meta;
-type Story = StoryObj;
-
-export const Standard: Story = {
- args: {},
-};
+import type { Meta, StoryObj } from "@storybook/react";
+import { AppHeader } from "./AppHeader";
+
+// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
+const meta = {
+ title: "Application/AppHeader",
+ component: AppHeader,
+ parameters: {
+ // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
+ layout: "centered",
+ },
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
+ tags: ["autodocs"],
+ // More on argTypes: https://storybook.js.org/docs/api/argtypes
+ argTypes: {
+ // backgroundColor: { control: 'color' },
+ },
+ // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
+ args: {},
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+export const Standard: Story = {
+ args: {},
+};
diff --git a/src/AppHeader.tsx b/src/AppHeader.tsx
index 52a6658d..4bf76548 100644
--- a/src/AppHeader.tsx
+++ b/src/AppHeader.tsx
@@ -1,170 +1,234 @@
-import {
- Button,
- Menu,
- MenuItem,
- MenuTrigger,
- Popover,
-} from "react-aria-components";
-import { useConnectedDeviceData } from "./rpc/useConnectedDeviceData";
-import { useSub } from "./usePubSub";
-import { useContext, useEffect, useState } from "react";
-import { useModalRef } from "./misc/useModalRef";
-import { LockStateContext } from "./rpc/LockStateContext";
-import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
-import { ConnectionContext } from "./rpc/ConnectionContext";
-import { ChevronDown, Undo2, Redo2, Save, Trash2 } from "lucide-react";
-import { Tooltip } from "./misc/Tooltip";
-import { GenericModal } from "./GenericModal";
-
-export interface AppHeaderProps {
- connectedDeviceLabel?: string;
- onSave?: () => void | Promise;
- onDiscard?: () => void | Promise;
- onUndo?: () => Promise;
- onRedo?: () => Promise;
- onResetSettings?: () => void | Promise;
- onDisconnect?: () => void | Promise;
- canUndo?: boolean;
- canRedo?: boolean;
-}
-
-export const AppHeader = ({
- connectedDeviceLabel,
- canRedo,
- canUndo,
- onRedo,
- onUndo,
- onSave,
- onDiscard,
- onDisconnect,
- onResetSettings,
-}: AppHeaderProps) => {
- const [showSettingsReset, setShowSettingsReset] = useState(false);
-
- const lockState = useContext(LockStateContext);
- const connectionState = useContext(ConnectionContext);
-
- useEffect(() => {
- if (
- (!connectionState.conn ||
- lockState != LockState.ZMK_STUDIO_CORE_LOCK_STATE_UNLOCKED) &&
- showSettingsReset
- ) {
- setShowSettingsReset(false);
- }
- }, [lockState, showSettingsReset]);
-
- const showSettingsRef = useModalRef(showSettingsReset);
- const [unsaved, setUnsaved] = useConnectedDeviceData(
- { keymap: { checkUnsavedChanges: true } },
- (r) => r.keymap?.checkUnsavedChanges
- );
-
- useSub("rpc_notification.keymap.unsavedChangesStatusChanged", (unsaved) =>
- setUnsaved(unsaved)
- );
-
- return (
-
- );
-};
+import {
+ Button,
+ Menu,
+ MenuItem,
+ MenuTrigger,
+ Popover,
+} from "react-aria-components";
+import { useConnectedDeviceData } from "./rpc/useConnectedDeviceData";
+import { useSub } from "./usePubSub";
+import { useCallback, useContext, useEffect, useState } from "react";
+import { useModalRef } from "./misc/useModalRef";
+import { LockStateContext } from "./rpc/LockStateContext";
+import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
+import { ConnectionContext } from "./rpc/ConnectionContext";
+import { ChevronDown, Undo2, Redo2, Save, Trash2, Download } from "lucide-react";
+import { Tooltip } from "./misc/Tooltip";
+import { GenericModal } from "./GenericModal";
+import { useKeymap } from "./context/keymap";
+import { useBehaviors } from "./keyboard/Keyboard";
+import { hid_usage_page_and_id_from_usage } from "./hid-usages";
+
+export interface AppHeaderProps {
+ connectedDeviceLabel?: string;
+ onSave?: () => void | Promise;
+ onDiscard?: () => void | Promise;
+ onUndo?: () => Promise;
+ onRedo?: () => Promise;
+ onResetSettings?: () => void | Promise;
+ onDisconnect?: () => void | Promise;
+ canUndo?: boolean;
+ canRedo?: boolean;
+}
+
+export const AppHeader = ({
+ connectedDeviceLabel,
+ canRedo,
+ canUndo,
+ onRedo,
+ onUndo,
+ onSave,
+ onDiscard,
+ onDisconnect,
+ onResetSettings,
+}: AppHeaderProps) => {
+ const [showSettingsReset, setShowSettingsReset] = useState(false);
+
+ const lockState = useContext(LockStateContext);
+ const connectionState = useContext(ConnectionContext);
+
+ const { keymap } = useKeymap();
+ const behaviors = useBehaviors();
+
+ useEffect(() => {
+ if (
+ (!connectionState.conn ||
+ lockState != LockState.ZMK_STUDIO_CORE_LOCK_STATE_UNLOCKED) &&
+ showSettingsReset
+ ) {
+ setShowSettingsReset(false);
+ }
+ }, [lockState, showSettingsReset]);
+
+ const showSettingsRef = useModalRef(showSettingsReset);
+ const [unsaved, setUnsaved] = useConnectedDeviceData(
+ { keymap: { checkUnsavedChanges: true } },
+ (r) => r.keymap?.checkUnsavedChanges
+ );
+
+ useSub("rpc_notification.keymap.unsavedChangesStatusChanged", (unsaved) =>
+ setUnsaved(unsaved)
+ );
+
+ const onExportKeymap = useCallback(() => {
+ async function doExport() {
+ console.log("Exporting keymap", keymap);
+ console.log("Exporting behaviors", behaviors);
+ if (!keymap || !behaviors) {
+ return;
+ }
+
+ const extendedKeymaps = {
+ layers: keymap.layers.map((layer) => {
+ return {
+ ...layer,
+ bindings: layer.bindings.map((binding) => {
+ const behavior = behaviors[binding.behaviorId];
+ const param1Type = behavior.metadata[0]?.param1[0]?.name
+ const param2Type = behavior.metadata[0]?.param2[0]?.name
+ const param1Meta = param1Type === "Key" ? hid_usage_page_and_id_from_usage(binding.param1) : undefined
+ const param2Meta = param2Type === "Key" ? hid_usage_page_and_id_from_usage(binding.param1) : undefined
+
+ if (param1Meta) {
+ console.log("param1Meta", param1Meta)
+
+ }
+ return {
+ ...binding,
+ behavior,
+ param1Meta,
+ param2Meta
+ }
+ })
+ }
+ })
+ }
+
+ // we download the keymap to the user downloads folder
+ const blob = new Blob([JSON.stringify(extendedKeymaps)], {
+ type: "application/json",
+ });
+ const url = URL.createObjectURL(blob);
+ const a = document.createElement("a");
+ a.href = url;
+ a.download = "keymap.json";
+ a.click();
+ URL.revokeObjectURL(url);
+ a.remove();
+ }
+
+ doExport()
+ }, [keymap, behaviors]);
+
+ return (
+
+ );
+};
diff --git a/src/ConnectModal.tsx b/src/ConnectModal.tsx
index c65e780c..cc104ffc 100644
--- a/src/ConnectModal.tsx
+++ b/src/ConnectModal.tsx
@@ -1,293 +1,293 @@
-import { useCallback, useEffect, useMemo, useState } from "react";
-
-import type { RpcTransport } from "@zmkfirmware/zmk-studio-ts-client/transport/index";
-import { UserCancelledError } from "@zmkfirmware/zmk-studio-ts-client/transport/errors";
-import type { AvailableDevice } from "./tauri/index";
-import { Bluetooth, RefreshCw } from "lucide-react";
-import { Key, ListBox, ListBoxItem, Selection } from "react-aria-components";
-import { useModalRef } from "./misc/useModalRef";
-import { ExternalLink } from "./misc/ExternalLink";
-import { GenericModal } from "./GenericModal";
-
-export type TransportFactory = {
- label: string;
- isWireless?: boolean;
- connect?: () => Promise;
- pick_and_connect?: {
- list: () => Promise>;
- connect: (dev: AvailableDevice) => Promise;
- };
-};
-
-export interface ConnectModalProps {
- open?: boolean;
- transports: TransportFactory[];
- onTransportCreated: (t: RpcTransport) => void;
-}
-
-function deviceList(
- open: boolean,
- transports: TransportFactory[],
- onTransportCreated: (t: RpcTransport) => void
-) {
- const [devices, setDevices] = useState<
- Array<[TransportFactory, AvailableDevice]>
- >([]);
- const [selectedDev, setSelectedDev] = useState(new Set());
- const [refreshing, setRefreshing] = useState(false);
-
- async function LoadEm() {
- setRefreshing(true);
- let entries: Array<[TransportFactory, AvailableDevice]> = [];
- for (const t of transports.filter((t) => t.pick_and_connect)) {
- const devices = await t.pick_and_connect?.list();
- if (!devices) {
- continue;
- }
-
- entries.push(
- ...devices.map<[TransportFactory, AvailableDevice]>((d) => {
- return [t, d];
- })
- );
- }
-
- setDevices(entries);
- setRefreshing(false);
- }
-
- useEffect(() => {
- setSelectedDev(new Set());
- setDevices([]);
-
- LoadEm();
- }, [transports, open, setDevices]);
-
- const onRefresh = useCallback(() => {
- setSelectedDev(new Set());
- setDevices([]);
-
- LoadEm();
- }, [setDevices]);
-
- const onSelect = useCallback(
- async (keys: Selection) => {
- if (keys === "all") {
- return;
- }
- const dev = devices.find(([_t, d]) => keys.has(d.id));
- if (dev) {
- dev[0]
- .pick_and_connect!.connect(dev[1])
- .then(onTransportCreated)
- .catch((e) => alert(e));
- }
- },
- [devices, onTransportCreated]
- );
-
- return (
-
-
- Select A Device:
-
-
-
-
-
- {([t, d]) => (
-
- {t.isWireless && (
-
- )}
- {d.label}
-
- )}
-
-
- );
-}
-
-function simpleDevicePicker(
- transports: TransportFactory[],
- onTransportCreated: (t: RpcTransport) => void
-) {
- const [availableDevices, setAvailableDevices] = useState<
- AvailableDevice[] | undefined
- >(undefined);
- const [selectedTransport, setSelectedTransport] = useState<
- TransportFactory | undefined
- >(undefined);
-
- useEffect(() => {
- if (!selectedTransport) {
- setAvailableDevices(undefined);
- return;
- }
-
- let ignore = false;
-
- if (selectedTransport.connect) {
- async function connectTransport() {
- try {
- const transport = await selectedTransport?.connect?.();
-
- if (!ignore) {
- if (transport) {
- onTransportCreated(transport);
- }
- setSelectedTransport(undefined);
- }
- } catch (e) {
- if (!ignore) {
- console.error(e);
- if (e instanceof Error && !(e instanceof UserCancelledError)) {
- alert(e.message);
- }
- setSelectedTransport(undefined);
- }
- }
- }
-
- connectTransport();
- } else {
- async function loadAvailableDevices() {
- const devices = await selectedTransport?.pick_and_connect?.list();
-
- if (!ignore) {
- setAvailableDevices(devices);
- }
- }
-
- loadAvailableDevices();
- }
-
- return () => {
- ignore = true;
- };
- }, [selectedTransport]);
-
- let connections = transports.map((t) => (
-
- setSelectedTransport(t)}
- >
- {t.label}
-
-
- ));
- return (
-
-
Select a connection type.
-
- {selectedTransport && availableDevices && (
-
- {availableDevices.map((d) => (
- {
- onTransportCreated(
- await selectedTransport!.pick_and_connect!.connect(d)
- );
- setSelectedTransport(undefined);
- }}
- >
- {d.label}
-
- ))}
-
- )}
-
- );
-}
-
-function noTransportsOptionsPrompt() {
- return (
-
-
- Your browser is not supported. ZMK Studio uses either{" "}
-
- Web Serial
- {" "}
- or{" "}
-
- Web Bluetooth
- {" "}
- (Linux only) to connect to ZMK devices.
-
-
-
-
To use ZMK Studio, either:
-
-
- Use a browser that supports the above web technologies, e.g.
- Chrome/Edge, or
-
-
- Download our{" "}
-
- cross platform application
-
- .
-
-
-
-
- );
-}
-
-function connectOptions(
- transports: TransportFactory[],
- onTransportCreated: (t: RpcTransport) => void,
- open?: boolean
-) {
- const useSimplePicker = useMemo(
- () => transports.every((t) => !t.pick_and_connect),
- [transports]
- );
-
- return useSimplePicker
- ? simpleDevicePicker(transports, onTransportCreated)
- : deviceList(open || false, transports, onTransportCreated);
-}
-
-export const ConnectModal = ({
- open,
- transports,
- onTransportCreated,
-}: ConnectModalProps) => {
- const dialog = useModalRef(open || false, false, false);
-
- const haveTransports = useMemo(() => transports.length > 0, [transports]);
-
- return (
-
- Welcome to ZMK Studio
- {haveTransports
- ? connectOptions(transports, onTransportCreated, open)
- : noTransportsOptionsPrompt()}
-
- );
-};
+import { useCallback, useEffect, useMemo, useState } from "react";
+
+import type { RpcTransport } from "@zmkfirmware/zmk-studio-ts-client/transport/index";
+import { UserCancelledError } from "@zmkfirmware/zmk-studio-ts-client/transport/errors";
+import type { AvailableDevice } from "./tauri/index";
+import { Bluetooth, RefreshCw } from "lucide-react";
+import { Key, ListBox, ListBoxItem, Selection } from "react-aria-components";
+import { useModalRef } from "./misc/useModalRef";
+import { ExternalLink } from "./misc/ExternalLink";
+import { GenericModal } from "./GenericModal";
+
+export type TransportFactory = {
+ label: string;
+ isWireless?: boolean;
+ connect?: () => Promise;
+ pick_and_connect?: {
+ list: () => Promise>;
+ connect: (dev: AvailableDevice) => Promise;
+ };
+};
+
+export interface ConnectModalProps {
+ open?: boolean;
+ transports: TransportFactory[];
+ onTransportCreated: (t: RpcTransport) => void;
+}
+
+function deviceList(
+ open: boolean,
+ transports: TransportFactory[],
+ onTransportCreated: (t: RpcTransport) => void
+) {
+ const [devices, setDevices] = useState<
+ Array<[TransportFactory, AvailableDevice]>
+ >([]);
+ const [selectedDev, setSelectedDev] = useState(new Set());
+ const [refreshing, setRefreshing] = useState(false);
+
+ async function LoadEm() {
+ setRefreshing(true);
+ let entries: Array<[TransportFactory, AvailableDevice]> = [];
+ for (const t of transports.filter((t) => t.pick_and_connect)) {
+ const devices = await t.pick_and_connect?.list();
+ if (!devices) {
+ continue;
+ }
+
+ entries.push(
+ ...devices.map<[TransportFactory, AvailableDevice]>((d) => {
+ return [t, d];
+ })
+ );
+ }
+
+ setDevices(entries);
+ setRefreshing(false);
+ }
+
+ useEffect(() => {
+ setSelectedDev(new Set());
+ setDevices([]);
+
+ LoadEm();
+ }, [transports, open, setDevices]);
+
+ const onRefresh = useCallback(() => {
+ setSelectedDev(new Set());
+ setDevices([]);
+
+ LoadEm();
+ }, [setDevices]);
+
+ const onSelect = useCallback(
+ async (keys: Selection) => {
+ if (keys === "all") {
+ return;
+ }
+ const dev = devices.find(([_t, d]) => keys.has(d.id));
+ if (dev) {
+ dev[0]
+ .pick_and_connect!.connect(dev[1])
+ .then(onTransportCreated)
+ .catch((e) => alert(e));
+ }
+ },
+ [devices, onTransportCreated]
+ );
+
+ return (
+
+
+ Select A Device:
+
+
+
+
+
+ {([t, d]) => (
+
+ {t.isWireless && (
+
+ )}
+ {d.label}
+
+ )}
+
+
+ );
+}
+
+function simpleDevicePicker(
+ transports: TransportFactory[],
+ onTransportCreated: (t: RpcTransport) => void
+) {
+ const [availableDevices, setAvailableDevices] = useState<
+ AvailableDevice[] | undefined
+ >(undefined);
+ const [selectedTransport, setSelectedTransport] = useState<
+ TransportFactory | undefined
+ >(undefined);
+
+ useEffect(() => {
+ if (!selectedTransport) {
+ setAvailableDevices(undefined);
+ return;
+ }
+
+ let ignore = false;
+
+ if (selectedTransport.connect) {
+ async function connectTransport() {
+ try {
+ const transport = await selectedTransport?.connect?.();
+
+ if (!ignore) {
+ if (transport) {
+ onTransportCreated(transport);
+ }
+ setSelectedTransport(undefined);
+ }
+ } catch (e) {
+ if (!ignore) {
+ console.error(e);
+ if (e instanceof Error && !(e instanceof UserCancelledError)) {
+ alert(e.message);
+ }
+ setSelectedTransport(undefined);
+ }
+ }
+ }
+
+ connectTransport();
+ } else {
+ async function loadAvailableDevices() {
+ const devices = await selectedTransport?.pick_and_connect?.list();
+
+ if (!ignore) {
+ setAvailableDevices(devices);
+ }
+ }
+
+ loadAvailableDevices();
+ }
+
+ return () => {
+ ignore = true;
+ };
+ }, [selectedTransport]);
+
+ let connections = transports.map((t) => (
+
+ setSelectedTransport(t)}
+ >
+ {t.label}
+
+
+ ));
+ return (
+
+
Select a connection type.
+
+ {selectedTransport && availableDevices && (
+
+ {availableDevices.map((d) => (
+ {
+ onTransportCreated(
+ await selectedTransport!.pick_and_connect!.connect(d)
+ );
+ setSelectedTransport(undefined);
+ }}
+ >
+ {d.label}
+
+ ))}
+
+ )}
+
+ );
+}
+
+function noTransportsOptionsPrompt() {
+ return (
+
+
+ Your browser is not supported. ZMK Studio uses either{" "}
+
+ Web Serial
+ {" "}
+ or{" "}
+
+ Web Bluetooth
+ {" "}
+ (Linux only) to connect to ZMK devices.
+
+
+
+
To use ZMK Studio, either:
+
+
+ Use a browser that supports the above web technologies, e.g.
+ Chrome/Edge, or
+
+
+ Download our{" "}
+
+ cross platform application
+
+ .
+
+
+
+
+ );
+}
+
+function connectOptions(
+ transports: TransportFactory[],
+ onTransportCreated: (t: RpcTransport) => void,
+ open?: boolean
+) {
+ const useSimplePicker = useMemo(
+ () => transports.every((t) => !t.pick_and_connect),
+ [transports]
+ );
+
+ return useSimplePicker
+ ? simpleDevicePicker(transports, onTransportCreated)
+ : deviceList(open || false, transports, onTransportCreated);
+}
+
+export const ConnectModal = ({
+ open,
+ transports,
+ onTransportCreated,
+}: ConnectModalProps) => {
+ const dialog = useModalRef(open || false, false, false);
+
+ const haveTransports = useMemo(() => transports.length > 0, [transports]);
+
+ return (
+
+ Welcome to ZMK Studio
+ {haveTransports
+ ? connectOptions(transports, onTransportCreated, open)
+ : noTransportsOptionsPrompt()}
+
+ );
+};
diff --git a/src/DownloadPage.tsx b/src/DownloadPage.tsx
index 19e01d7b..818dbf72 100644
--- a/src/DownloadPage.tsx
+++ b/src/DownloadPage.tsx
@@ -1,177 +1,177 @@
-import { useEffect, useState } from "react";
-import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-import {
- faAndroid,
- faApple,
- faLinux,
- faWindows,
- IconDefinition,
-} from "@fortawesome/free-brands-svg-icons";
-import { DownloadIcon } from "lucide-react";
-import releaseData from "./data/release-data.json";
-
-type Platform = "windows" | "mac" | "linux" | "ios" | "android" | "unknown";
-
-const PlatformMetadata: Record<
- Platform,
- { name: string; icon: IconDefinition }
-> = {
- windows: {
- name: "Windows",
- icon: faWindows,
- },
- mac: {
- name: "macOS",
- icon: faApple,
- },
- linux: {
- name: "Linux",
- icon: faLinux,
- },
- ios: {
- name: "iOS",
- icon: faApple,
- },
- android: {
- name: "Android",
- icon: faAndroid,
- },
- unknown: {
- name: "Unknown",
- icon: faAndroid,
- },
-};
-
-type DownloadLink = {
- name: string;
- urlPattern: RegExp;
-};
-
-const DownloadLinks: Record = {
- windows_exe: {
- name: "Windows (exe)",
- urlPattern: /.*\.exe/,
- },
- windows_msi: {
- name: "Windows (msi)",
- urlPattern: /.*\.msi/,
- },
- macos: {
- name: "macOS",
- urlPattern: /.*\.dmg/,
- },
- linux_appimage: {
- name: "Linux (AppImage)",
- urlPattern: /.*\.AppImage/,
- },
- linux_deb: {
- name: "Linux (deb)",
- urlPattern: /.*\.deb/,
- },
-};
-
-const PlatformLinks: Record = {
- windows: [DownloadLinks.windows_exe, DownloadLinks.windows_msi],
- mac: [DownloadLinks.macos],
- linux: [DownloadLinks.linux_appimage, DownloadLinks.linux_deb],
- ios: [],
- android: [],
- unknown: [],
-};
-
-const ReleaseAssets = releaseData.assets.map((asset: any) => asset.browser_download_url);
-const ReleaseVersion = releaseData.tag_name;
-
-function detectPlatform(): Platform {
- if (typeof window === "undefined") return "unknown";
-
- const userAgent = window.navigator.userAgent.toLowerCase();
-
- if (userAgent.includes("win")) return "windows";
- if (userAgent.includes("mac")) return "mac";
- if (userAgent.includes("linux")) return "linux";
- if (/iphone|ipad|ipod/.test(userAgent)) return "ios";
- if (userAgent.includes("android")) return "android";
-
- return "unknown";
-}
-
-function getUrlFromPattern(assets: string[], pattern: RegExp) {
- const asset = assets.find((asset) => pattern.test(asset));
- return asset;
-}
-
-export const Download = () => {
- const [platform, setPlatform] = useState("unknown");
- const [showAll, setShowAll] = useState(false);
-
- useEffect(() => {
- const platform = detectPlatform();
- setPlatform(platform);
- if (PlatformLinks[platform].length === 0) {
- setShowAll(true);
- }
- }, []);
-
- return (
-
-
-
ZMK Studio
-
- {ReleaseVersion}
-
-
- {PlatformLinks[platform].length > 0 && (
- <>
-
- >
- )}
-
- {PlatformLinks[platform].length > 0 && (
-
setShowAll(!showAll)}
- className="text-primary text-left hover:underline"
- >
- {showAll ? "Hide" : "Show"} all downloads
-
- )}
- {showAll && (
-
- {Object.entries(PlatformLinks).map(([platform, links]) => (
-
- ))}
-
- )}
-
-
-
- See GitHub Releases →
-
-
- );
-};
+import { useEffect, useState } from "react";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import {
+ faAndroid,
+ faApple,
+ faLinux,
+ faWindows,
+ IconDefinition,
+} from "@fortawesome/free-brands-svg-icons";
+import { DownloadIcon } from "lucide-react";
+import releaseData from "./data/release-data.json";
+
+type Platform = "windows" | "mac" | "linux" | "ios" | "android" | "unknown";
+
+const PlatformMetadata: Record<
+ Platform,
+ { name: string; icon: IconDefinition }
+> = {
+ windows: {
+ name: "Windows",
+ icon: faWindows,
+ },
+ mac: {
+ name: "macOS",
+ icon: faApple,
+ },
+ linux: {
+ name: "Linux",
+ icon: faLinux,
+ },
+ ios: {
+ name: "iOS",
+ icon: faApple,
+ },
+ android: {
+ name: "Android",
+ icon: faAndroid,
+ },
+ unknown: {
+ name: "Unknown",
+ icon: faAndroid,
+ },
+};
+
+type DownloadLink = {
+ name: string;
+ urlPattern: RegExp;
+};
+
+const DownloadLinks: Record = {
+ windows_exe: {
+ name: "Windows (exe)",
+ urlPattern: /.*\.exe/,
+ },
+ windows_msi: {
+ name: "Windows (msi)",
+ urlPattern: /.*\.msi/,
+ },
+ macos: {
+ name: "macOS",
+ urlPattern: /.*\.dmg/,
+ },
+ linux_appimage: {
+ name: "Linux (AppImage)",
+ urlPattern: /.*\.AppImage/,
+ },
+ linux_deb: {
+ name: "Linux (deb)",
+ urlPattern: /.*\.deb/,
+ },
+};
+
+const PlatformLinks: Record = {
+ windows: [DownloadLinks.windows_exe, DownloadLinks.windows_msi],
+ mac: [DownloadLinks.macos],
+ linux: [DownloadLinks.linux_appimage, DownloadLinks.linux_deb],
+ ios: [],
+ android: [],
+ unknown: [],
+};
+
+const ReleaseAssets = releaseData.assets.map((asset: any) => asset.browser_download_url);
+const ReleaseVersion = releaseData.tag_name;
+
+function detectPlatform(): Platform {
+ if (typeof window === "undefined") return "unknown";
+
+ const userAgent = window.navigator.userAgent.toLowerCase();
+
+ if (userAgent.includes("win")) return "windows";
+ if (userAgent.includes("mac")) return "mac";
+ if (userAgent.includes("linux")) return "linux";
+ if (/iphone|ipad|ipod/.test(userAgent)) return "ios";
+ if (userAgent.includes("android")) return "android";
+
+ return "unknown";
+}
+
+function getUrlFromPattern(assets: string[], pattern: RegExp) {
+ const asset = assets.find((asset) => pattern.test(asset));
+ return asset;
+}
+
+export const Download = () => {
+ const [platform, setPlatform] = useState("unknown");
+ const [showAll, setShowAll] = useState(false);
+
+ useEffect(() => {
+ const platform = detectPlatform();
+ setPlatform(platform);
+ if (PlatformLinks[platform].length === 0) {
+ setShowAll(true);
+ }
+ }, []);
+
+ return (
+
+
+
ZMK Studio
+
+ {ReleaseVersion}
+
+
+ {PlatformLinks[platform].length > 0 && (
+ <>
+
+ >
+ )}
+
+ {PlatformLinks[platform].length > 0 && (
+
setShowAll(!showAll)}
+ className="text-primary text-left hover:underline"
+ >
+ {showAll ? "Hide" : "Show"} all downloads
+
+ )}
+ {showAll && (
+
+ {Object.entries(PlatformLinks).map(([platform, links]) => (
+
+ ))}
+
+ )}
+
+
+
+ See GitHub Releases →
+
+
+ );
+};
diff --git a/src/GenericModal.tsx b/src/GenericModal.tsx
index 8aad01b6..4f69d615 100644
--- a/src/GenericModal.tsx
+++ b/src/GenericModal.tsx
@@ -1,19 +1,19 @@
-import React from 'react';
-
-export interface GenericModalProps {
- onClose?: () => void;
- className?: string;
- children: React.ReactNode;
-}
-
-export const GenericModal = React.forwardRef(({ onClose, children, className }: GenericModalProps, ref: React.Ref) => {
- return (
-
- {children}
-
- );
-});
+import React from 'react';
+
+export interface GenericModalProps {
+ onClose?: () => void;
+ className?: string;
+ children: React.ReactNode;
+}
+
+export const GenericModal = React.forwardRef(({ onClose, children, className }: GenericModalProps, ref: React.Ref) => {
+ return (
+
+ {children}
+
+ );
+});
diff --git a/src/UnlockModal.tsx b/src/UnlockModal.tsx
index dd981239..080ae6da 100644
--- a/src/UnlockModal.tsx
+++ b/src/UnlockModal.tsx
@@ -1,50 +1,50 @@
-import { useContext, useMemo } from "react";
-
-import type { RpcTransport } from "@zmkfirmware/zmk-studio-ts-client/transport/index";
-import type { AvailableDevice } from "./tauri/index";
-import { LockStateContext } from "./rpc/LockStateContext";
-import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
-import { ConnectionContext } from "./rpc/ConnectionContext";
-import { useModalRef } from "./misc/useModalRef";
-import { GenericModal } from "./GenericModal";
-import { ExternalLink } from "./misc/ExternalLink";
-
-export type TransportFactory = {
- label: string;
- connect?: () => Promise;
- pick_and_connect?: {
- list: () => Promise>;
- connect: (dev: AvailableDevice) => Promise;
- };
-};
-
-export interface UnlockModalProps {}
-
-export const UnlockModal = ({}: UnlockModalProps) => {
- let conn = useContext(ConnectionContext);
- let lockState = useContext(LockStateContext);
-
- let open = useMemo(
- () =>
- !!conn.conn && lockState != LockState.ZMK_STUDIO_CORE_LOCK_STATE_UNLOCKED,
- [conn, lockState]
- );
- const dialog = useModalRef(open, false, false);
-
- return (
-
- Unlock To Continue
-
- For security reasons, your keyboard requires unlocking before using ZMK
- Studio.
-
-
- If studio unlocking hasn't been added to your keymap or a combo, see the{" "}
-
- Studio Unlock Behavior
- {" "}
- documentation for more infomation.
-
-
- );
-};
+import { useContext, useMemo } from "react";
+
+import type { RpcTransport } from "@zmkfirmware/zmk-studio-ts-client/transport/index";
+import type { AvailableDevice } from "./tauri/index";
+import { LockStateContext } from "./rpc/LockStateContext";
+import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
+import { ConnectionContext } from "./rpc/ConnectionContext";
+import { useModalRef } from "./misc/useModalRef";
+import { GenericModal } from "./GenericModal";
+import { ExternalLink } from "./misc/ExternalLink";
+
+export type TransportFactory = {
+ label: string;
+ connect?: () => Promise;
+ pick_and_connect?: {
+ list: () => Promise>;
+ connect: (dev: AvailableDevice) => Promise;
+ };
+};
+
+export interface UnlockModalProps {}
+
+export const UnlockModal = ({}: UnlockModalProps) => {
+ let conn = useContext(ConnectionContext);
+ let lockState = useContext(LockStateContext);
+
+ let open = useMemo(
+ () =>
+ !!conn.conn && lockState != LockState.ZMK_STUDIO_CORE_LOCK_STATE_UNLOCKED,
+ [conn, lockState]
+ );
+ const dialog = useModalRef(open, false, false);
+
+ return (
+
+ Unlock To Continue
+
+ For security reasons, your keyboard requires unlocking before using ZMK
+ Studio.
+
+
+ If studio unlocking hasn't been added to your keymap or a combo, see the{" "}
+
+ Studio Unlock Behavior
+ {" "}
+ documentation for more infomation.
+
+
+ );
+};
diff --git a/src/assets/mode.svg b/src/assets/mode.svg
index b8e88dcb..8e8a7a1e 100644
--- a/src/assets/mode.svg
+++ b/src/assets/mode.svg
@@ -1 +1 @@
-
+
diff --git a/src/behaviors/BehaviorBindingPicker.stories.ts b/src/behaviors/BehaviorBindingPicker.stories.ts
index bc83e03b..860d8f85 100644
--- a/src/behaviors/BehaviorBindingPicker.stories.ts
+++ b/src/behaviors/BehaviorBindingPicker.stories.ts
@@ -1,50 +1,50 @@
-import type { Meta, StoryObj } from "@storybook/react";
-import { fn } from "@storybook/test";
-import { BehaviorBindingPicker } from "./BehaviorBindingPicker";
-
-// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
-const meta = {
- title: "Behaviors/BehaviorBindingPicker",
- component: BehaviorBindingPicker,
- parameters: {
- // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
- layout: "centered",
- },
- // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
- tags: ["autodocs"],
- // More on argTypes: https://storybook.js.org/docs/api/argtypes
- argTypes: {
- // backgroundColor: { control: 'color' },
- },
- // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
- args: {
- layers: [
- { name: "Base", id: 0 },
- { id: 1, name: "Num" },
- ],
- onBindingChanged: fn(),
- },
-} satisfies Meta;
-
-export default meta;
-type Story = StoryObj;
-
-export const Example: Story = {
- args: {
- binding: { behaviorId: 0, param1: 0, param2: 0 },
- behaviors: [
- {
- id: 0,
- displayName: "Key Press",
- metadata: [
- {
- param1: [
- { name: "Key", hidUsage: { consumerMax: 0, keyboardMax: 0 } },
- ],
- param2: [],
- },
- ],
- },
- ],
- },
-};
+import type { Meta, StoryObj } from "@storybook/react";
+import { fn } from "@storybook/test";
+import { BehaviorBindingPicker } from "./BehaviorBindingPicker";
+
+// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
+const meta = {
+ title: "Behaviors/BehaviorBindingPicker",
+ component: BehaviorBindingPicker,
+ parameters: {
+ // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
+ layout: "centered",
+ },
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
+ tags: ["autodocs"],
+ // More on argTypes: https://storybook.js.org/docs/api/argtypes
+ argTypes: {
+ // backgroundColor: { control: 'color' },
+ },
+ // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
+ args: {
+ layers: [
+ { name: "Base", id: 0 },
+ { id: 1, name: "Num" },
+ ],
+ onBindingChanged: fn(),
+ },
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+export const Example: Story = {
+ args: {
+ binding: { behaviorId: 0, param1: 0, param2: 0 },
+ behaviors: [
+ {
+ id: 0,
+ displayName: "Key Press",
+ metadata: [
+ {
+ param1: [
+ { name: "Key", hidUsage: { consumerMax: 0, keyboardMax: 0 } },
+ ],
+ param2: [],
+ },
+ ],
+ },
+ ],
+ },
+};
diff --git a/src/behaviors/BehaviorBindingPicker.tsx b/src/behaviors/BehaviorBindingPicker.tsx
index 8c3f54e7..9ae38499 100644
--- a/src/behaviors/BehaviorBindingPicker.tsx
+++ b/src/behaviors/BehaviorBindingPicker.tsx
@@ -1,133 +1,133 @@
-import { useEffect, useMemo, useState } from "react";
-
-import {
- GetBehaviorDetailsResponse,
- BehaviorBindingParametersSet,
-} from "@zmkfirmware/zmk-studio-ts-client/behaviors";
-import { BehaviorBinding } from "@zmkfirmware/zmk-studio-ts-client/keymap";
-import { BehaviorParametersPicker } from "./BehaviorParametersPicker";
-import { validateValue } from "./parameters";
-
-export interface BehaviorBindingPickerProps {
- binding: BehaviorBinding;
- behaviors: GetBehaviorDetailsResponse[];
- layers: { id: number; name: string }[];
- onBindingChanged: (binding: BehaviorBinding) => void;
-}
-
-function validateBinding(
- metadata: BehaviorBindingParametersSet[],
- layerIds: number[],
- param1?: number,
- param2?: number
-): boolean {
- if (
- (param1 === undefined || param1 === 0) &&
- metadata.every((s) => !s.param1 || s.param1.length === 0)
- ) {
- return true;
- }
-
- let matchingSet = metadata.find((s) =>
- validateValue(layerIds, param1, s.param1)
- );
-
- if (!matchingSet) {
- return false;
- }
-
- return validateValue(layerIds, param2, matchingSet.param2);
-}
-
-export const BehaviorBindingPicker = ({
- binding,
- layers,
- behaviors,
- onBindingChanged,
-}: BehaviorBindingPickerProps) => {
- const [behaviorId, setBehaviorId] = useState(binding.behaviorId);
- const [param1, setParam1] = useState(binding.param1);
- const [param2, setParam2] = useState(binding.param2);
-
- const metadata = useMemo(
- () => behaviors.find((b) => b.id == behaviorId)?.metadata,
- [behaviorId, behaviors]
- );
-
- const sortedBehaviors = useMemo(
- () => behaviors.sort((a, b) => a.displayName.localeCompare(b.displayName)),
- [behaviors]
- );
-
- useEffect(() => {
- if (
- binding.behaviorId === behaviorId &&
- binding.param1 === param1 &&
- binding.param2 === param2
- ) {
- return;
- }
-
- if (!metadata) {
- console.error(
- "Can't find metadata for the selected behaviorId",
- behaviorId
- );
- return;
- }
-
- if (
- validateBinding(
- metadata,
- layers.map(({ id }) => id),
- param1,
- param2
- )
- ) {
- onBindingChanged({
- behaviorId,
- param1: param1 || 0,
- param2: param2 || 0,
- });
- }
- }, [behaviorId, param1, param2]);
-
- useEffect(() => {
- setBehaviorId(binding.behaviorId);
- setParam1(binding.param1);
- setParam2(binding.param2);
- }, [binding]);
-
- return (
-
-
- Behavior:
- {
- setBehaviorId(parseInt(e.target.value));
- setParam1(0);
- setParam2(0);
- }}
- >
- {sortedBehaviors.map((b) => (
-
- {b.displayName}
-
- ))}
-
-
- {metadata && (
-
- )}
-
- );
-};
+import { useEffect, useMemo, useState } from "react";
+
+import {
+ GetBehaviorDetailsResponse,
+ BehaviorBindingParametersSet,
+} from "@zmkfirmware/zmk-studio-ts-client/behaviors";
+import { BehaviorBinding } from "@zmkfirmware/zmk-studio-ts-client/keymap";
+import { BehaviorParametersPicker } from "./BehaviorParametersPicker";
+import { validateValue } from "./parameters";
+
+export interface BehaviorBindingPickerProps {
+ binding: BehaviorBinding;
+ behaviors: GetBehaviorDetailsResponse[];
+ layers: { id: number; name: string }[];
+ onBindingChanged: (binding: BehaviorBinding) => void;
+}
+
+function validateBinding(
+ metadata: BehaviorBindingParametersSet[],
+ layerIds: number[],
+ param1?: number,
+ param2?: number
+): boolean {
+ if (
+ (param1 === undefined || param1 === 0) &&
+ metadata.every((s) => !s.param1 || s.param1.length === 0)
+ ) {
+ return true;
+ }
+
+ let matchingSet = metadata.find((s) =>
+ validateValue(layerIds, param1, s.param1)
+ );
+
+ if (!matchingSet) {
+ return false;
+ }
+
+ return validateValue(layerIds, param2, matchingSet.param2);
+}
+
+export const BehaviorBindingPicker = ({
+ binding,
+ layers,
+ behaviors,
+ onBindingChanged,
+}: BehaviorBindingPickerProps) => {
+ const [behaviorId, setBehaviorId] = useState(binding.behaviorId);
+ const [param1, setParam1] = useState(binding.param1);
+ const [param2, setParam2] = useState(binding.param2);
+
+ const metadata = useMemo(
+ () => behaviors.find((b) => b.id == behaviorId)?.metadata,
+ [behaviorId, behaviors]
+ );
+
+ const sortedBehaviors = useMemo(
+ () => behaviors.sort((a, b) => a.displayName.localeCompare(b.displayName)),
+ [behaviors]
+ );
+
+ useEffect(() => {
+ if (
+ binding.behaviorId === behaviorId &&
+ binding.param1 === param1 &&
+ binding.param2 === param2
+ ) {
+ return;
+ }
+
+ if (!metadata) {
+ console.error(
+ "Can't find metadata for the selected behaviorId",
+ behaviorId
+ );
+ return;
+ }
+
+ if (
+ validateBinding(
+ metadata,
+ layers.map(({ id }) => id),
+ param1,
+ param2
+ )
+ ) {
+ onBindingChanged({
+ behaviorId,
+ param1: param1 || 0,
+ param2: param2 || 0,
+ });
+ }
+ }, [behaviorId, param1, param2]);
+
+ useEffect(() => {
+ setBehaviorId(binding.behaviorId);
+ setParam1(binding.param1);
+ setParam2(binding.param2);
+ }, [binding]);
+
+ return (
+
+
+ Behavior:
+ {
+ setBehaviorId(parseInt(e.target.value));
+ setParam1(0);
+ setParam2(0);
+ }}
+ >
+ {sortedBehaviors.map((b) => (
+
+ {b.displayName}
+
+ ))}
+
+
+ {metadata && (
+
+ )}
+
+ );
+};
diff --git a/src/behaviors/BehaviorParametersPicker.stories.ts b/src/behaviors/BehaviorParametersPicker.stories.ts
index 8c085bc1..25da5bb9 100644
--- a/src/behaviors/BehaviorParametersPicker.stories.ts
+++ b/src/behaviors/BehaviorParametersPicker.stories.ts
@@ -1,65 +1,65 @@
-import type { Meta, StoryObj } from "@storybook/react";
-import { fn } from "@storybook/test";
-
-import { BehaviorParametersPicker } from "./BehaviorParametersPicker";
-
-// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
-const meta = {
- title: "Behaviors/BehaviorParametersPicker",
- component: BehaviorParametersPicker,
- parameters: {
- // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
- layout: "centered",
- },
- // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
- tags: ["autodocs"],
- // More on argTypes: https://storybook.js.org/docs/api/argtypes
- argTypes: {
- // backgroundColor: { control: 'color' },
- },
- // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
- args: {
- layers: [
- { name: "Base", id: 0 },
- { id: 1, name: "Num" },
- ],
- onParam1Changed: fn(),
- onParam2Changed: fn(),
- },
-} satisfies Meta;
-
-export default meta;
-type Story = StoryObj;
-
-export const Example: Story = {
- args: {
- metadata: [
- {
- param1: [
- { name: "Const #1", constant: 1 },
- { name: "Const #2", constant: 2 },
- ],
- param2: [],
- },
- ],
- },
-};
-
-export const SecondParamBasedOnFirst: Story = {
- args: {
- param1: 3,
- metadata: [
- {
- param1: [
- { name: "Const #1", constant: 1 },
- { name: "Const #2", constant: 2 },
- ],
- param2: [],
- },
- {
- param1: [{ name: "Const #3", constant: 3 }],
- param2: [{ name: "Second Range", range: { min: 0, max: 4 } }],
- },
- ],
- },
-};
+import type { Meta, StoryObj } from "@storybook/react";
+import { fn } from "@storybook/test";
+
+import { BehaviorParametersPicker } from "./BehaviorParametersPicker";
+
+// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
+const meta = {
+ title: "Behaviors/BehaviorParametersPicker",
+ component: BehaviorParametersPicker,
+ parameters: {
+ // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
+ layout: "centered",
+ },
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
+ tags: ["autodocs"],
+ // More on argTypes: https://storybook.js.org/docs/api/argtypes
+ argTypes: {
+ // backgroundColor: { control: 'color' },
+ },
+ // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
+ args: {
+ layers: [
+ { name: "Base", id: 0 },
+ { id: 1, name: "Num" },
+ ],
+ onParam1Changed: fn(),
+ onParam2Changed: fn(),
+ },
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+export const Example: Story = {
+ args: {
+ metadata: [
+ {
+ param1: [
+ { name: "Const #1", constant: 1 },
+ { name: "Const #2", constant: 2 },
+ ],
+ param2: [],
+ },
+ ],
+ },
+};
+
+export const SecondParamBasedOnFirst: Story = {
+ args: {
+ param1: 3,
+ metadata: [
+ {
+ param1: [
+ { name: "Const #1", constant: 1 },
+ { name: "Const #2", constant: 2 },
+ ],
+ param2: [],
+ },
+ {
+ param1: [{ name: "Const #3", constant: 3 }],
+ param2: [{ name: "Second Range", range: { min: 0, max: 4 } }],
+ },
+ ],
+ },
+};
diff --git a/src/behaviors/BehaviorParametersPicker.tsx b/src/behaviors/BehaviorParametersPicker.tsx
index 1a1f035b..db60b5d5 100644
--- a/src/behaviors/BehaviorParametersPicker.tsx
+++ b/src/behaviors/BehaviorParametersPicker.tsx
@@ -1,59 +1,59 @@
-import { BehaviorBindingParametersSet } from "@zmkfirmware/zmk-studio-ts-client/behaviors";
-import { ParameterValuePicker } from "./ParameterValuePicker";
-import { validateValue } from "./parameters";
-
-export interface BehaviorParametersPickerProps {
- param1?: number;
- param2?: number;
- metadata: BehaviorBindingParametersSet[];
- layers: { id: number; name: string }[];
- onParam1Changed: (value?: number) => void;
- onParam2Changed: (value?: number) => void;
-}
-
-export const BehaviorParametersPicker = ({
- param1,
- param2,
- metadata,
- layers,
- onParam1Changed,
- onParam2Changed,
-}: BehaviorParametersPickerProps) => {
- if (param1 === undefined) {
- return (
-
-
m.param1)}
- onValueChanged={onParam1Changed}
- layers={layers}
- />
-
- );
- } else {
- const set = metadata.find((s) =>
- validateValue(
- layers.map((l) => l.id),
- param1,
- s.param1
- )
- );
- return (
- <>
- m.param1)}
- value={param1}
- layers={layers}
- onValueChanged={onParam1Changed}
- />
- {(set?.param2?.length || 0) > 0 && (
-
- )}
- >
- );
- }
-};
+import { BehaviorBindingParametersSet } from "@zmkfirmware/zmk-studio-ts-client/behaviors";
+import { ParameterValuePicker } from "./ParameterValuePicker";
+import { validateValue } from "./parameters";
+
+export interface BehaviorParametersPickerProps {
+ param1?: number;
+ param2?: number;
+ metadata: BehaviorBindingParametersSet[];
+ layers: { id: number; name: string }[];
+ onParam1Changed: (value?: number) => void;
+ onParam2Changed: (value?: number) => void;
+}
+
+export const BehaviorParametersPicker = ({
+ param1,
+ param2,
+ metadata,
+ layers,
+ onParam1Changed,
+ onParam2Changed,
+}: BehaviorParametersPickerProps) => {
+ if (param1 === undefined) {
+ return (
+
+
m.param1)}
+ onValueChanged={onParam1Changed}
+ layers={layers}
+ />
+
+ );
+ } else {
+ const set = metadata.find((s) =>
+ validateValue(
+ layers.map((l) => l.id),
+ param1,
+ s.param1
+ )
+ );
+ return (
+ <>
+ m.param1)}
+ value={param1}
+ layers={layers}
+ onValueChanged={onParam1Changed}
+ />
+ {(set?.param2?.length || 0) > 0 && (
+
+ )}
+ >
+ );
+ }
+};
diff --git a/src/behaviors/HidUsagePicker.stories.ts b/src/behaviors/HidUsagePicker.stories.ts
index e0618df1..9d667a4d 100644
--- a/src/behaviors/HidUsagePicker.stories.ts
+++ b/src/behaviors/HidUsagePicker.stories.ts
@@ -1,39 +1,39 @@
-import type { Meta, StoryObj } from "@storybook/react";
-import { fn } from "@storybook/test";
-import { HidUsagePicker } from "./HidUsagePicker";
-
-// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
-const meta = {
- title: "Behaviors/HidUsagePicker",
- component: HidUsagePicker,
- parameters: {
- layout: "centered",
- },
- tags: ["autodocs"],
- argTypes: {},
- args: {
- onValueChanged: fn(),
- },
-} satisfies Meta;
-
-export default meta;
-type Story = StoryObj;
-
-export const Keyboard: Story = {
- args: {
- usagePages: [{ id: 7 }],
- },
-};
-
-export const KeyboardModSelection: Story = {
- args: {
- usagePages: [{ id: 7 }],
- value: 458756,
- },
-};
-
-export const KeyboardAndConsumer: Story = {
- args: {
- usagePages: [{ id: 7 }, { id: 12 }],
- },
-};
+import type { Meta, StoryObj } from "@storybook/react";
+import { fn } from "@storybook/test";
+import { HidUsagePicker } from "./HidUsagePicker";
+
+// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
+const meta = {
+ title: "Behaviors/HidUsagePicker",
+ component: HidUsagePicker,
+ parameters: {
+ layout: "centered",
+ },
+ tags: ["autodocs"],
+ argTypes: {},
+ args: {
+ onValueChanged: fn(),
+ },
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+export const Keyboard: Story = {
+ args: {
+ usagePages: [{ id: 7 }],
+ },
+};
+
+export const KeyboardModSelection: Story = {
+ args: {
+ usagePages: [{ id: 7 }],
+ value: 458756,
+ },
+};
+
+export const KeyboardAndConsumer: Story = {
+ args: {
+ usagePages: [{ id: 7 }, { id: 12 }],
+ },
+};
diff --git a/src/behaviors/HidUsagePicker.tsx b/src/behaviors/HidUsagePicker.tsx
index 4cbf8566..8119d748 100644
--- a/src/behaviors/HidUsagePicker.tsx
+++ b/src/behaviors/HidUsagePicker.tsx
@@ -1,192 +1,265 @@
-import {
- Button,
- Checkbox,
- CheckboxGroup,
- Collection,
- ComboBox,
- Header,
- Input,
- Key,
- Label,
- ListBox,
- ListBoxItem,
- Popover,
- Section,
-} from "react-aria-components";
-import {
- hid_usage_from_page_and_id,
- hid_usage_page_get_ids,
-} from "../hid-usages";
-import { useCallback, useMemo } from "react";
-import { ChevronDown } from "lucide-react";
-
-export interface HidUsagePage {
- id: number;
- min?: number;
- max?: number;
-}
-
-export interface HidUsagePickerProps {
- label?: string;
- value?: number;
- usagePages: HidUsagePage[];
- onValueChanged: (value?: number) => void;
-}
-
-type UsageSectionProps = HidUsagePage;
-
-const UsageSection = ({ id, min, max }: UsageSectionProps) => {
- const info = useMemo(() => hid_usage_page_get_ids(id), [id]);
-
- let usages = useMemo(() => {
- let usages = info?.UsageIds || [];
- if (max || min) {
- usages = usages.filter(
- (i) =>
- (i.Id <= (max || Number.MAX_SAFE_INTEGER) && i.Id >= (min || 0)) ||
- (id === 7 && i.Id >= 0xe0 && i.Id <= 0xe7)
- );
- }
-
- return usages;
- }, [id, min, max, info]);
-
- return (
-
-
-
- {(i) => (
-
- {i.Name}
-
- )}
-
-
- );
-};
-
-enum Mods {
- LeftControl = 0x01,
- LeftShift = 0x02,
- LeftAlt = 0x04,
- LeftGUI = 0x08,
- RightControl = 0x10,
- RightShift = 0x20,
- RightAlt = 0x40,
- RightGUI = 0x80,
-}
-
-const mod_labels: Record = {
- [Mods.LeftControl]: "L Ctrl",
- [Mods.LeftShift]: "L Shift",
- [Mods.LeftAlt]: "L Alt",
- [Mods.LeftGUI]: "L GUI",
- [Mods.RightControl]: "R Ctrl",
- [Mods.RightShift]: "R Shift",
- [Mods.RightAlt]: "R Alt",
- [Mods.RightGUI]: "R GUI",
-};
-
-const all_mods = [
- Mods.LeftControl,
- Mods.LeftShift,
- Mods.LeftAlt,
- Mods.LeftGUI,
- Mods.RightControl,
- Mods.RightShift,
- Mods.RightAlt,
- Mods.RightGUI,
-];
-
-function mods_to_flags(mods: Mods[]): number {
- return mods.reduce((a, v) => a + v, 0);
-}
-
-function mask_mods(value: number) {
- return value & ~(mods_to_flags(all_mods) << 24);
-}
-
-export const HidUsagePicker = ({
- label,
- value,
- usagePages,
- onValueChanged,
-}: HidUsagePickerProps) => {
- const mods = useMemo(() => {
- let flags = value ? value >> 24 : 0;
-
- return all_mods.filter((m) => m & flags).map((m) => m.toLocaleString());
- }, [value]);
-
- const selectionChanged = useCallback(
- (e: Key | null) => {
- let value = typeof e == "number" ? e : undefined;
- if (value !== undefined) {
- let mod_flags = mods_to_flags(mods.map((m) => parseInt(m)));
- value = value | (mod_flags << 24);
- }
-
- onValueChanged(value);
- },
- [onValueChanged, mods]
- );
-
- const modifiersChanged = useCallback(
- (m: string[]) => {
- if (!value) {
- return;
- }
-
- let mod_flags = mods_to_flags(m.map((m) => parseInt(m)));
- let new_value = mask_mods(value) | (mod_flags << 24);
- onValueChanged(new_value);
- },
- [value]
- );
-
- return (
-
- {label &&
{label}: }
-
-
-
-
-
-
-
-
-
- {({ id, min, max }) => }
-
-
-
-
- {all_mods.map((m) => (
-
- {mod_labels[m]}
-
- ))}
-
-
- );
-};
+import {
+ Button,
+ Checkbox,
+ CheckboxGroup,
+ Collection,
+ ComboBox,
+ Header,
+ Input,
+ Key,
+ Label,
+ ListBox,
+ ListBoxItem,
+ Popover,
+ Section,
+} from "react-aria-components";
+import {
+ hid_usage_from_page_and_id,
+ hid_usage_get_labels,
+ hid_usage_get_labels,
+ hid_usage_page_get_ids,
+ UsageId,
+} from "../hid-usages";
+import { useCallback, useMemo, useState } from "react";
+import { ChevronDown } from "lucide-react";
+
+export interface HidUsagePage {
+ id: number;
+ min?: number;
+ max?: number;
+}
+
+export interface HidUsagePickerProps {
+ label?: string;
+ value?: number;
+ usagePages: HidUsagePage[];
+ onValueChanged: (value?: number) => void;
+}
+
+export interface UsageSectionGridProps {
+ id: number;
+ min?: number;
+ max?: number;
+ onMouseOver?: (mouseOverData: {
+ id: number, i: UsageId
+ }) => void;
+}
+
+type UsageSectionProps = HidUsagePage;
+
+const UsageSection = ({ id, min, max }: UsageSectionProps) => {
+ const info = useMemo(() => hid_usage_page_get_ids(id), [id]);
+
+ let usages = useMemo(() => {
+ let usages = info?.UsageIds || [];
+ if (max || min) {
+ usages = usages.filter(
+ (i) =>
+ (i.Id <= (max || Number.MAX_SAFE_INTEGER) && i.Id >= (min || 0)) ||
+ (id === 7 && i.Id >= 0xe0 && i.Id <= 0xe7)
+ );
+ }
+
+ return usages;
+ }, [id, min, max, info]);
+
+ return (
+
+
+
+ {(i) => (
+
+ {i.Name}
+
+ )}
+
+
+ );
+};
+
+const UsageSectionGrid = ({ id, min, max }: UsageSectionProps) => {
+ const info = useMemo(() => hid_usage_page_get_ids(id), [id]);
+
+ let usages = useMemo(() => {
+ let usages = info?.UsageIds || [];
+ if (max || min) {
+ usages = usages.filter(
+ (i) =>
+ (i.Id <= (max || Number.MAX_SAFE_INTEGER) && i.Id >= (min || 0)) ||
+ (id === 7 && i.Id >= 0xe0 && i.Id <= 0xe7)
+ );
+ }
+
+ return usages;
+ }, [id, min, max, info]);
+
+ return (
+
+
+
+ {(i) => (
+
+ {({isSelected}) => {
+ const labels = hid_usage_get_labels(id, i.Id, { removePrefix: true })
+ console.log(labels)
+ return (
+
+
+ {labels.short || labels.med || labels.long || i.Name}
+
+ {labels.secondary && (
+
+ {labels.secondary}
+
+ )}
+
+ )}}
+
+ )}
+
+
+ );
+};
+
+enum Mods {
+ LeftControl = 0x01,
+ LeftShift = 0x02,
+ LeftAlt = 0x04,
+ LeftGUI = 0x08,
+ RightControl = 0x10,
+ RightShift = 0x20,
+ RightAlt = 0x40,
+ RightGUI = 0x80,
+}
+
+const mod_labels: Record = {
+ [Mods.LeftControl]: "L Ctrl",
+ [Mods.LeftShift]: "L Shift",
+ [Mods.LeftAlt]: "L Alt",
+ [Mods.LeftGUI]: "L GUI",
+ [Mods.RightControl]: "R Ctrl",
+ [Mods.RightShift]: "R Shift",
+ [Mods.RightAlt]: "R Alt",
+ [Mods.RightGUI]: "R GUI",
+};
+
+const all_mods = [
+ Mods.LeftControl,
+ Mods.LeftShift,
+ Mods.LeftAlt,
+ Mods.LeftGUI,
+ Mods.RightControl,
+ Mods.RightShift,
+ Mods.RightAlt,
+ Mods.RightGUI,
+];
+
+function mods_to_flags(mods: Mods[]): number {
+ return mods.reduce((a, v) => a + v, 0);
+}
+
+function mask_mods(value: number) {
+ return value & ~(mods_to_flags(all_mods) << 24);
+}
+
+export const HidUsagePicker = ({
+ label,
+ value,
+ usagePages,
+ onValueChanged,
+}: HidUsagePickerProps) => {
+ const mods = useMemo(() => {
+ let flags = value ? value >> 24 : 0;
+
+ return all_mods.filter((m) => m & flags).map((m) => m.toLocaleString());
+ }, [value]);
+
+ const selectionChanged = useCallback(
+ (e: Key | null) => {
+ let value = typeof e == "number" ? e : undefined;
+ if (value !== undefined) {
+ let mod_flags = mods_to_flags(mods.map((m) => parseInt(m)));
+ value = value | (mod_flags << 24);
+ }
+
+ onValueChanged(value);
+ },
+ [onValueChanged, mods]
+ );
+
+ const modifiersChanged = useCallback(
+ (m: string[]) => {
+ if (!value) {
+ return;
+ }
+
+ let mod_flags = mods_to_flags(m.map((m) => parseInt(m)));
+ let new_value = mask_mods(value) | (mod_flags << 24);
+ onValueChanged(new_value);
+ },
+ [value]
+ );
+
+ console.log("A", value ? mask_mods(value) : null)
+
+ return (
+
+
+ {label &&
{label}: }
+
+
+
+
+
+
+
+
+
+ {({ id, min, max }) => }
+
+
+
+
+ {all_mods.map((m) => (
+
+ {mod_labels[m]}
+
+ ))}
+
+
+
selectionChanged(currentKey)}
+ aria-labelledby="hid-usage-picker"
+ >
+ {({ id, min, max }) => }
+
+
+ );
+};
diff --git a/src/behaviors/ParameterValuePicker.stories.ts b/src/behaviors/ParameterValuePicker.stories.ts
index cbd0db8e..8d8adf2f 100644
--- a/src/behaviors/ParameterValuePicker.stories.ts
+++ b/src/behaviors/ParameterValuePicker.stories.ts
@@ -1,57 +1,57 @@
-import type { Meta, StoryObj } from "@storybook/react";
-import { fn } from "@storybook/test";
-import { ParameterValuePicker } from "./ParameterValuePicker";
-
-// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
-const meta = {
- title: "Behaviors/ParameterValuePicker",
- component: ParameterValuePicker,
- parameters: {
- // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
- layout: "centered",
- },
- // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
- tags: ["autodocs"],
- // More on argTypes: https://storybook.js.org/docs/api/argtypes
- argTypes: {
- // backgroundColor: { control: 'color' },
- },
- // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
- args: {
- layers: [
- { name: "Base", id: 0 },
- { id: 1, name: "Num" },
- ],
- onValueChanged: fn(),
- },
-} satisfies Meta;
-
-export default meta;
-type Story = StoryObj;
-
-export const Const: Story = {
- args: {
- values: [
- { name: "Const #1", constant: 1 },
- { name: "Const #2", constant: 2 },
- ],
- },
-};
-
-export const Range: Story = {
- args: {
- values: [{ name: "Profile", range: { min: 0, max: 4 } }],
- },
-};
-
-export const HID: Story = {
- args: {
- values: [{ name: "Key", hidUsage: { consumerMax: 0, keyboardMax: 0 } }],
- },
-};
-
-export const LayerId: Story = {
- args: {
- values: [{ name: "Layer", layerId: {} }],
- },
-};
+import type { Meta, StoryObj } from "@storybook/react";
+import { fn } from "@storybook/test";
+import { ParameterValuePicker } from "./ParameterValuePicker";
+
+// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
+const meta = {
+ title: "Behaviors/ParameterValuePicker",
+ component: ParameterValuePicker,
+ parameters: {
+ // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
+ layout: "centered",
+ },
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
+ tags: ["autodocs"],
+ // More on argTypes: https://storybook.js.org/docs/api/argtypes
+ argTypes: {
+ // backgroundColor: { control: 'color' },
+ },
+ // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
+ args: {
+ layers: [
+ { name: "Base", id: 0 },
+ { id: 1, name: "Num" },
+ ],
+ onValueChanged: fn(),
+ },
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+export const Const: Story = {
+ args: {
+ values: [
+ { name: "Const #1", constant: 1 },
+ { name: "Const #2", constant: 2 },
+ ],
+ },
+};
+
+export const Range: Story = {
+ args: {
+ values: [{ name: "Profile", range: { min: 0, max: 4 } }],
+ },
+};
+
+export const HID: Story = {
+ args: {
+ values: [{ name: "Key", hidUsage: { consumerMax: 0, keyboardMax: 0 } }],
+ },
+};
+
+export const LayerId: Story = {
+ args: {
+ values: [{ name: "Layer", layerId: {} }],
+ },
+};
diff --git a/src/behaviors/ParameterValuePicker.tsx b/src/behaviors/ParameterValuePicker.tsx
index ca0aaae4..3ee384a1 100644
--- a/src/behaviors/ParameterValuePicker.tsx
+++ b/src/behaviors/ParameterValuePicker.tsx
@@ -1,85 +1,85 @@
-import { BehaviorParameterValueDescription } from "@zmkfirmware/zmk-studio-ts-client/behaviors";
-import { HidUsagePicker } from "./HidUsagePicker";
-
-export interface ParameterValuePickerProps {
- value?: number;
- values: BehaviorParameterValueDescription[];
- layers: { id: number; name: string }[];
- onValueChanged: (value?: number) => void;
-}
-
-export const ParameterValuePicker = ({
- value,
- values,
- layers,
- onValueChanged,
-}: ParameterValuePickerProps) => {
- if (values.length == 0) {
- return <>>;
- } else if (values.every((v) => v.constant !== undefined)) {
- return (
-
- onValueChanged(parseInt(e.target.value))}
- >
- {values.map((v) => (
- {v.name}
- ))}
-
-
- );
- } else if (values.length == 1) {
- if (values[0].range) {
- return (
-
- {values[0].name}:
- onValueChanged(parseInt(e.target.value))}
- />
-
- );
- } else if (values[0].hidUsage) {
- return (
-
- );
- } else if (values[0].layerId) {
- return (
-
- {values[0].name}:
- onValueChanged(parseInt(e.target.value))}
- >
- {layers.map(({ name, id }) => (
- {name}
- ))}
-
-
- );
- }
- } else {
- console.log("Not sure how to handle", values);
- return (
- <>
- Some composite?
- >
- );
- }
-
- return <>>;
-};
+import { BehaviorParameterValueDescription } from "@zmkfirmware/zmk-studio-ts-client/behaviors";
+import { HidUsagePicker } from "./HidUsagePicker";
+
+export interface ParameterValuePickerProps {
+ value?: number;
+ values: BehaviorParameterValueDescription[];
+ layers: { id: number; name: string }[];
+ onValueChanged: (value?: number) => void;
+}
+
+export const ParameterValuePicker = ({
+ value,
+ values,
+ layers,
+ onValueChanged,
+}: ParameterValuePickerProps) => {
+ if (values.length == 0) {
+ return <>>;
+ } else if (values.every((v) => v.constant !== undefined)) {
+ return (
+
+ onValueChanged(parseInt(e.target.value))}
+ >
+ {values.map((v) => (
+ {v.name}
+ ))}
+
+
+ );
+ } else if (values.length == 1) {
+ if (values[0].range) {
+ return (
+
+ {values[0].name}:
+ onValueChanged(parseInt(e.target.value))}
+ />
+
+ );
+ } else if (values[0].hidUsage) {
+ return (
+
+ );
+ } else if (values[0].layerId) {
+ return (
+
+ {values[0].name}:
+ onValueChanged(parseInt(e.target.value))}
+ >
+ {layers.map(({ name, id }) => (
+ {name}
+ ))}
+
+
+ );
+ }
+ } else {
+ console.log("Not sure how to handle", values);
+ return (
+ <>
+ Some composite?
+ >
+ );
+ }
+
+ return <>>;
+};
diff --git a/src/behaviors/parameters.ts b/src/behaviors/parameters.ts
index 96f91527..f812f9f5 100644
--- a/src/behaviors/parameters.ts
+++ b/src/behaviors/parameters.ts
@@ -1,32 +1,32 @@
-import { BehaviorParameterValueDescription } from "@zmkfirmware/zmk-studio-ts-client/behaviors";
-import { hid_usage_page_and_id_from_usage } from "../hid-usages";
-
-export function validateValue(
- layerIds: number[],
- value?: number,
- values?: BehaviorParameterValueDescription[]
-): boolean {
- if (value === undefined) {
- return values === undefined || values?.length === 0 || !!values[0].nil;
- }
-
- const matchingValue = values?.find((v) => {
- if (v.constant !== undefined) {
- return v.constant == value;
- } else if (v.range) {
- return value >= v.range.min && value <= v.range.max;
- } else if (v.hidUsage) {
- const [page, id] = hid_usage_page_and_id_from_usage(value);
- return page !== 0 && id !== 0;
- } else if (v.layerId) {
- return layerIds.includes(value);
- } else if (v.nil) {
- return value === 0;
- } else {
- console.error("Unknown check type!");
- return false;
- }
- });
-
- return !!matchingValue || (value === 0 && (!values || values.length === 0));
-}
+import { BehaviorParameterValueDescription } from "@zmkfirmware/zmk-studio-ts-client/behaviors";
+import { hid_usage_page_and_id_from_usage } from "../hid-usages";
+
+export function validateValue(
+ layerIds: number[],
+ value?: number,
+ values?: BehaviorParameterValueDescription[]
+): boolean {
+ if (value === undefined) {
+ return values === undefined || values?.length === 0 || !!values[0].nil;
+ }
+
+ const matchingValue = values?.find((v) => {
+ if (v.constant !== undefined) {
+ return v.constant == value;
+ } else if (v.range) {
+ return value >= v.range.min && value <= v.range.max;
+ } else if (v.hidUsage) {
+ const [page, id] = hid_usage_page_and_id_from_usage(value);
+ return page !== 0 && id !== 0;
+ } else if (v.layerId) {
+ return layerIds.includes(value);
+ } else if (v.nil) {
+ return value === 0;
+ } else {
+ console.error("Unknown check type!");
+ return false;
+ }
+ });
+
+ return !!matchingValue || (value === 0 && (!values || values.length === 0));
+}
diff --git a/src/context/keymap.tsx b/src/context/keymap.tsx
new file mode 100644
index 00000000..6c6ce061
--- /dev/null
+++ b/src/context/keymap.tsx
@@ -0,0 +1,35 @@
+import { Keymap } from '@zmkfirmware/zmk-studio-ts-client/keymap';
+import { createContext, Dispatch, PropsWithChildren, SetStateAction, useContext } from 'react';
+import { useConnectedDeviceData } from '../rpc/useConnectedDeviceData';
+
+interface KeymapContextValue {
+ keymap: Keymap | undefined;
+ setKeymap: Dispatch>;
+}
+
+const KeymapContext = createContext(undefined);
+
+export const KeymapProvider = ({ children }: PropsWithChildren<{}>) => {
+ const [keymap, setKeymap] = useConnectedDeviceData(
+ { keymap: { getKeymap: true } },
+ (keymap) => {
+ console.log("Got the keymap!");
+ return keymap?.keymap?.getKeymap;
+ },
+ true
+ );
+
+ return (
+
+ {children}
+
+ );
+}
+
+export const useKeymap = (): KeymapContextValue => {
+ const context = useContext(KeymapContext);
+ if (!context) {
+ throw new Error('useKeymap must be used within a KeymapProvider');
+ }
+ return context;
+}
\ No newline at end of file
diff --git a/src/download.tsx b/src/download.tsx
index 180a70d2..7340eea2 100644
--- a/src/download.tsx
+++ b/src/download.tsx
@@ -1,11 +1,11 @@
-import React from "react";
-import ReactDOM from "react-dom/client";
-import "./index.css";
-
-import { Download } from "./DownloadPage";
-
-ReactDOM.createRoot(document.getElementById("root")!).render(
-
-
- ,
-);
+import React from "react";
+import ReactDOM from "react-dom/client";
+import "./index.css";
+
+import { Download } from "./DownloadPage";
+
+ReactDOM.createRoot(document.getElementById("root")!).render(
+
+
+ ,
+);
diff --git a/src/hid-usage-name-overrides.json b/src/hid-usage-name-overrides.json
index f2773ff5..aed18d71 100644
--- a/src/hid-usage-name-overrides.json
+++ b/src/hid-usage-name-overrides.json
@@ -1,85 +1,159 @@
-{
- "7": {
- "30": { "short": "1" },
- "31": { "short": "2" },
- "32": { "short": "3" },
- "33": { "short": "4" },
- "34": { "short": "5" },
- "35": { "short": "6" },
- "36": { "short": "7" },
- "37": { "short": "8" },
- "38": { "short": "9" },
- "39": { "short": "0" },
- "40": { "short": "Ret", "med": "Return" },
- "41": { "short": "Esc", "long": "Escape" },
- "42": { "short": "BkSp", "med": "BkSpc", "long": "Backspace" },
- "44": { "short": "␣", "med": "Space" },
- "45": { "short": "-", "med": "Dash" },
- "46": { "short": "=", "med": "Equals" },
- "47": { "short": "{" },
- "48": { "short": "}" },
- "49": { "short": "\\" },
- "50": { "short": "NUHS", "long": "NonUS Hash" },
- "51": { "short": ";" },
- "52": { "short": "'" },
- "53": { "short": "`" },
- "54": { "short": "," },
- "55": { "short": "." },
- "56": { "short": "/" },
- "57": { "short": "Cap", "long": "Caps Lock" },
- "70": { "short": "PrSc", "long": "Print Scr" },
- "71": { "short": "ScLk", "long": "ScrollLock" },
- "72": { "short": "Paus", "med": "Pause" },
- "73": { "short": "Ins", "med": "Insert" },
- "75": { "short": "PgUp", "med": "PageUp", "long": "Page Up" },
- "76": { "short": "Del", "med": "Delete" },
- "78": { "short": "PgDn", "med": "PageDn", "long": "Page Down" },
- "79": { "short": "→" },
- "80": { "short": "←" },
- "81": { "short": "↓" },
- "82": { "short": "↑" },
- "83": { "short": "Num", "med": "NumLck", "long": "Num Lock" },
- "84": { "short": "/" },
- "85": { "short": "*" },
- "86": { "short": "-" },
- "87": { "short": "+" },
- "88": { "short": "Ent", "med": "KP Ent", "long": "KP Enter" },
- "89": { "short": "1 En", "med": "1 End" },
- "90": { "short": "2 ↓" },
- "91": { "short": "3 PD", "med": "3 PgDn" },
- "92": { "short": "4 ←" },
- "93": { "short": "5" },
- "94": { "short": "6 →" },
- "95": { "short": "7 Hm", "med": "7 Home" },
- "96": { "short": "8 ↑" },
- "97": { "short": "9 PU", "med": "9 PgUp" },
- "98": { "short": "0 In", "med": "0 Ins", "long": "0 Insert" },
- "99": { "short": ". Dl", "med": ". Del", "long": ". Delete" },
- "101": { "short": "Appl", "med": "Appl", "long": "Applicat'n" },
- "102": { "short": "Power", "med": "Power" },
- "100": { "short": "NUBS" },
- "103": { "short": "=" },
- "133": { "short": "," },
- "134": { "short": "=" },
- "176": { "short": "00" },
- "177": { "short": "000" },
- "224": { "short": "Ctrl", "med": "L Ctrl" },
- "225": { "short": "Shft", "med": "L Shft", "long": "L Shift" },
- "226": { "short": "Alt", "med": "L Alt", "long": "Left Alt" },
- "227": { "short": "GUI", "med": "L GUI", "long": "Left GUI" },
- "228": { "short": "Ctrl", "med": "R Ctrl" },
- "229": { "short": "Shft", "med": "R Shft", "long": "R Shift" },
- "230": { "short": "AltG", "med": "AltGr" },
- "231": { "short": "GUI", "med": "R GUI", "long": "Right GUI" }
- },
- "12": {
- "111": { "short": "🔆" },
- "112": { "short": "🔅" },
- "181": { "short": "⇥" },
- "182": { "short": "⇤" },
- "205": { "short": "⏯️" },
- "226": { "short": "🔇" },
- "233": { "short": "🔊" },
- "234": { "short": "🔉" }
- }
-}
+{
+ "7": {
+ "30": { "short": "1", "secondary": "!" },
+ "31": { "short": "2", "secondary": "\"" },
+ "32": { "short": "3", "secondary": "£" },
+ "33": { "short": "4", "secondary": "$" },
+ "34": { "short": "5", "secondary": "%" },
+ "35": { "short": "6", "secondary": "&" },
+ "36": { "short": "7", "secondary": "/" },
+ "37": { "short": "8", "secondary": "(" },
+ "38": { "short": "9", "secondary": ")" },
+ "39": { "short": "0", "secondary": "=" },
+ "40": { "short": "Ret", "med": "Return" },
+ "41": { "short": "Esc", "long": "Escape" },
+ "42": { "short": "BkSp", "med": "BkSpc", "long": "Backspace" },
+ "44": { "short": "␣", "med": "Space" },
+ "45": { "short": "-", "med": "Dash" },
+ "46": { "short": "=", "med": "Equals" },
+ "47": { "short": "{" },
+ "48": { "short": "}" },
+ "49": { "short": "\\" },
+ "50": { "short": "NUHS", "long": "NonUS Hash" },
+ "51": { "short": ";" },
+ "52": { "short": "'" },
+ "53": { "short": "`" },
+ "54": { "short": "," },
+ "55": { "short": "." },
+ "56": { "short": "/" },
+ "57": { "short": "Cap", "long": "Caps Lock" },
+ "70": { "short": "PrSc", "long": "Print Scr" },
+ "71": { "short": "ScLk", "long": "ScrollLock" },
+ "72": { "short": "Paus", "med": "Pause" },
+ "73": { "short": "Ins", "med": "Insert" },
+ "75": { "short": "PgUp", "med": "PageUp", "long": "Page Up" },
+ "76": { "short": "Del", "med": "Delete" },
+ "78": { "short": "PgDn", "med": "PageDn", "long": "Page Down" },
+ "79": { "short": "→" },
+ "80": { "short": "←" },
+ "81": { "short": "↓" },
+ "82": { "short": "↑" },
+ "83": { "short": "Num", "med": "NumLck", "long": "Num Lock" },
+ "84": { "short": "/" },
+ "85": { "short": "*" },
+ "86": { "short": "-" },
+ "87": { "short": "+" },
+ "88": { "short": "Ent", "med": "KP Ent", "long": "KP Enter" },
+ "89": { "short": "1 En", "med": "1 End" },
+ "90": { "short": "2 ↓" },
+ "91": { "short": "3 PD", "med": "3 PgDn" },
+ "92": { "short": "4 ←" },
+ "93": { "short": "5" },
+ "94": { "short": "6 →" },
+ "95": { "short": "7 Hm", "med": "7 Home" },
+ "96": { "short": "8 ↑" },
+ "97": { "short": "9 PU", "med": "9 PgUp" },
+ "98": { "short": "0 In", "med": "0 Ins", "long": "0 Insert" },
+ "99": { "short": ". Dl", "med": ". Del", "long": ". Delete" },
+ "101": { "short": "Appl", "med": "Appl", "long": "Applicat'n" },
+ "102": { "short": "Power", "med": "Power" },
+ "100": { "short": "NUBS" },
+ "103": { "short": "=" },
+ "133": { "short": "," },
+ "134": { "short": "=" },
+ "176": { "short": "00" },
+ "177": { "short": "000" },
+ "224": { "short": "Ctrl", "med": "L Ctrl" },
+ "225": { "short": "Shft", "med": "L Shft", "long": "L Shift" },
+ "226": { "short": "Alt", "med": "L Alt", "long": "Left Alt" },
+ "227": { "short": "GUI", "med": "L GUI", "long": "Left GUI" },
+ "228": { "short": "Ctrl", "med": "R Ctrl" },
+ "229": { "short": "Shft", "med": "R Shft", "long": "R Shift" },
+ "230": { "short": "AltG", "med": "AltGr" },
+ "231": { "short": "GUI", "med": "R GUI", "long": "Right GUI" }
+ },
+ "12": {
+
+ "2": { "short": "🔢" },
+ "3": { "short": "⚙️⌨" },
+ "4": { "short": "🎤" },
+ "5": { "short": "🎧" },
+ "6": { "short": "🎵 EQ" },
+ "48": { "short": "⚡" },
+ "49": { "short": "🔄" },
+ "50": { "short": "💤" },
+ "51": { "short": "💤🔜" },
+ "52": { "short": "💤⚙️" },
+ "53": { "short": "✨" },
+ "54": { "short": "📊⌨" },
+ "64": { "short": "📜" },
+ "65": { "short": "📜👈" },
+ "66": { "short": "📜⬆️" },
+ "67": { "short": "📜⬇️" },
+ "68": { "short": "📜⬅️" },
+ "69": { "short": "📜➡️" },
+ "70": { "short": "📜🏃♂️" },
+ "71": { "short": "📜🔼" },
+ "72": { "short": "📜🔽" },
+ "96": { "short": "📺📊" },
+ "97": { "short": "📺💬" },
+ "98": { "short": "📺🎯" },
+ "99": { "short": "📼📺" },
+ "100": { "short": "🗣️" },
+ "101": { "short": "🖼️" },
+ "102": { "short": "❄️" },
+ "103": { "short": "🔳🔁" },
+ "104": { "short": "🔳🔃" },
+ "105": { "short": "🔴" },
+ "106": { "short": "🟢" },
+ "107": { "short": "🔵" },
+ "108": { "short": "🟡" },
+ "109": { "short": "📐" },
+ "110": { "short": "🎨" },
+ "111": { "short": "🔆🔼" },
+ "112": { "short": "🔅🔽" },
+ "113": { "short": "🔆" },
+ "114": { "short": "🌞🌑" },
+ "115": { "short": "🌙" },
+ "116": { "short": "🌞" },
+ "117": { "short": "🌅" },
+ "118": { "short": "📷✔️" },
+ "119": { "short": "📷❌" },
+ "120": { "short": "📷🔁" },
+ "136": { "short": "👉💻" },
+ "137": { "short": "👉📺" },
+ "138": { "short": "👉🌍" },
+ "139": { "short": "👉📀" },
+ "140": { "short": "👉📞" },
+ "141": { "short": "👉📅" },
+ "142": { "short": "👉📱" },
+ "143": { "short": "👉🎮" },
+ "144": { "short": "👉💬" },
+ "145": { "short": "👉💿" },
+ "146": { "short": "👉📼" },
+ "147": { "short": "👉📻" },
+ "148": { "short": "🛑" },
+ "149": { "short": "❓" },
+ "150": { "short": "👉🎞️" },
+ "151": { "short": "👉🔌" },
+ "152": { "short": "👉📡" },
+ "153": { "short": "👉🛡️" },
+ "154": { "short": "👉🏠" },
+ "155": { "short": "👉📲" },
+ "176": { "short": "▶️" },
+ "177": { "short": "⏸️" },
+ "178": { "short": "⏺️" },
+ "179": { "short": "⏩" },
+ "180": { "short": "⏪" },
+ "181": { "short": "⏭️" },
+ "182": { "short": "⏮️" },
+ "183": { "short": "⏹️" },
+ "184": { "short": "⏏️" },
+ "185": { "short": "🔀" },
+ "188": { "short": "🔁" },
+ "205": { "short": "⏯️" },
+ "226": { "short": "🔇" },
+ "233": { "short": "🔊" },
+ "234": { "short": "🔉" }
+ }
+}
\ No newline at end of file
diff --git a/src/hid-usages.ts b/src/hid-usages.ts
index a3e3dd84..f308ecf6 100644
--- a/src/hid-usages.ts
+++ b/src/hid-usages.ts
@@ -1,52 +1,70 @@
-// import { UsagePages } from "./HidUsageTables-1.5.json";
-// Filtered with `cat src/HidUsageTables-1.5.json | jq '{ UsagePages: [.UsagePages[] | select([.Id] |inside([7, 12]))] }' > src/keyboard-and-consumer-usage-tables.json`
-import { UsagePages } from "./keyboard-and-consumer-usage-tables.json";
-import HidOverrides from "./hid-usage-name-overrides.json";
-
-interface HidLabels {
- short?: string;
- med?: string;
- long?: string;
-}
-
-const overrides: Record> = HidOverrides;
-
-export interface UsageId {
- Id: number;
- Name: string;
-}
-
-export interface UsagePageInfo {
- Name: string;
- UsageIds: UsageId[];
-}
-
-export const hid_usage_from_page_and_id = (page: number, id: number) =>
- (page << 16) + id;
-
-export const hid_usage_page_and_id_from_usage = (
- usage: number
-): [number, number] => [(usage >> 16) & 0xffff, usage & 0xffff];
-
-export const hid_usage_page_get_ids = (
- usage_page: number
-): UsagePageInfo | undefined => UsagePages.find((p) => p.Id === usage_page);
-
-export const hid_usage_get_label = (
- usage_page: number,
- usage_id: number
-): string | undefined =>
- overrides[usage_page.toString()]?.[usage_id.toString()]?.short ||
- UsagePages.find((p) => p.Id === usage_page)?.UsageIds?.find(
- (u) => u.Id === usage_id
- )?.Name;
-
-export const hid_usage_get_labels = (
- usage_page: number,
- usage_id: number
-): { short?: string; med?: string; long?: string } =>
- overrides[usage_page.toString()]?.[usage_id.toString()] || {
- short: UsagePages.find((p) => p.Id === usage_page)?.UsageIds?.find(
- (u) => u.Id === usage_id
- )?.Name,
- };
+// import { UsagePages } from "./HidUsageTables-1.5.json";
+// Filtered with `cat src/HidUsageTables-1.5.json | jq '{ UsagePages: [.UsagePages[] | select([.Id] |inside([7, 12]))] }' > src/keyboard-and-consumer-usage-tables.json`
+import { UsagePages } from "./keyboard-and-consumer-usage-tables.json";
+import HidOverrides from "./hid-usage-name-overrides.json";
+
+interface HidLabels {
+ short?: string;
+ med?: string;
+ long?: string;
+ secondary?: string;
+}
+
+const overrides: Record> = HidOverrides;
+
+export interface UsageId {
+ Id: number;
+ Name: string;
+}
+
+export interface UsagePageInfo {
+ Name: string;
+ UsageIds: UsageId[];
+}
+
+function remove_prefix(s?: string) {
+ return s?.replace(/^Keyboard /, "");
+}
+
+export const hid_usage_from_page_and_id = (page: number, id: number) =>
+ (page << 16) + id;
+
+export const hid_usage_page_and_id_from_usage = (
+ usage: number
+): [number, number] => [(usage >> 16) & 0xffff, usage & 0xffff];
+
+export const hid_usage_page_get_ids = (
+ usage_page: number
+): UsagePageInfo | undefined => UsagePages.find((p) => p.Id === usage_page);
+
+export const hid_usage_get_label = (
+ usage_page: number,
+ usage_id: number
+): string | undefined =>
+ overrides[usage_page.toString()]?.[usage_id.toString()]?.short ||
+ UsagePages.find((p) => p.Id === usage_page)?.UsageIds?.find(
+ (u) => u.Id === usage_id
+ )?.Name;
+
+export const hid_usage_get_labels = (
+ usage_page: number,
+ usage_id: number,
+ options: {
+ removePrefix?: boolean;
+ } = {}
+): HidLabels => {
+ const labels = overrides[usage_page.toString()]?.[usage_id.toString()] || {
+ short: UsagePages.find((p) => p.Id === usage_page)?.UsageIds?.find(
+ (u) => u.Id === usage_id
+ )?.Name,
+ };
+ if (options.removePrefix) {
+ return {
+ short: remove_prefix(labels.short),
+ med: remove_prefix(labels.med),
+ long: remove_prefix(labels.long),
+ secondary: labels.secondary,
+ };
+ }
+ return labels;
+}
diff --git a/src/index.css b/src/index.css
index 3432b94a..8fcd040e 100644
--- a/src/index.css
+++ b/src/index.css
@@ -1,28 +1,28 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-@layer base {
- @font-face {
- font-family: "Inter";
- src: url("/Inter.woff2") format("woff2");
- font-display: fallback;
- }
-}
-
-html {
- color-scheme: light dark;
-}
-
-#root {
- height: 100%;
- width: 100%;
-}
-
-body {
- margin: 0;
- min-width: 320px;
-
- width: 100vw;
- height: 100vh;
-}
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+@layer base {
+ @font-face {
+ font-family: "Inter";
+ src: url("/Inter.woff2") format("woff2");
+ font-display: fallback;
+ }
+}
+
+html {
+ color-scheme: light dark;
+}
+
+#root {
+ height: 100%;
+ width: 100%;
+}
+
+body {
+ margin: 0;
+ min-width: 320px;
+
+ width: 100vw;
+ height: 100vh;
+}
diff --git a/src/keyboard-and-consumer-usage-tables.json b/src/keyboard-and-consumer-usage-tables.json
index cff60885..9f69d107 100644
--- a/src/keyboard-and-consumer-usage-tables.json
+++ b/src/keyboard-and-consumer-usage-tables.json
@@ -1,4696 +1,4696 @@
-{
- "UsagePages": [
- {
- "Kind": "Defined",
- "Id": 12,
- "Name": "Consumer",
- "UsageIds": [
- {
- "Id": 1,
- "Name": "Consumer Control",
- "Kinds": [
- "CA"
- ]
- },
- {
- "Id": 2,
- "Name": "Numeric Key Pad",
- "Kinds": [
- "NAry"
- ]
- },
- {
- "Id": 3,
- "Name": "Programmable Buttons",
- "Kinds": [
- "NAry"
- ]
- },
- {
- "Id": 4,
- "Name": "Microphone",
- "Kinds": [
- "CA"
- ]
- },
- {
- "Id": 5,
- "Name": "Headphone",
- "Kinds": [
- "CA"
- ]
- },
- {
- "Id": 6,
- "Name": "Graphic Equalizer",
- "Kinds": [
- "CA"
- ]
- },
- {
- "Id": 32,
- "Name": "+10",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 33,
- "Name": "+100",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 34,
- "Name": "AM/PM",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 48,
- "Name": "Power",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 49,
- "Name": "Reset",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 50,
- "Name": "Sleep",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 51,
- "Name": "Sleep After",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 52,
- "Name": "Sleep Mode",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 53,
- "Name": "Illumination",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 54,
- "Name": "Function Buttons",
- "Kinds": [
- "NAry"
- ]
- },
- {
- "Id": 64,
- "Name": "Menu",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 65,
- "Name": "Menu Pick",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 66,
- "Name": "Menu Up",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 67,
- "Name": "Menu Down",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 68,
- "Name": "Menu Left",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 69,
- "Name": "Menu Right",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 70,
- "Name": "Menu Escape",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 71,
- "Name": "Menu Value Increase",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 72,
- "Name": "Menu Value Decrease",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 96,
- "Name": "Data On Screen",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 97,
- "Name": "Closed Caption",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 98,
- "Name": "Closed Caption Select",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 99,
- "Name": "VCR/TV",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 100,
- "Name": "Broadcast Mode",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 101,
- "Name": "Snapshot",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 102,
- "Name": "Still",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 103,
- "Name": "Picture-in-Picture Toggle",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 104,
- "Name": "Picture-in-Picture Swap",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 105,
- "Name": "Red Menu Button",
- "Kinds": [
- "MC"
- ]
- },
- {
- "Id": 106,
- "Name": "Green Menu Button",
- "Kinds": [
- "MC"
- ]
- },
- {
- "Id": 107,
- "Name": "Blue Menu Button",
- "Kinds": [
- "MC"
- ]
- },
- {
- "Id": 108,
- "Name": "Yellow Menu Button",
- "Kinds": [
- "MC"
- ]
- },
- {
- "Id": 109,
- "Name": "Aspect",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 110,
- "Name": "3D Mode Select",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 111,
- "Name": "Display Brightness Increment",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 112,
- "Name": "Display Brightness Decrement",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 113,
- "Name": "Display Brightness",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 114,
- "Name": "Display Backlight Toggle",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 115,
- "Name": "Display Set Brightness to Minimum",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 116,
- "Name": "Display Set Brightness to Maximum",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 117,
- "Name": "Display Set Auto Brightness",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 118,
- "Name": "Camera Access Enabled",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 119,
- "Name": "Camera Access Disabled",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 120,
- "Name": "Camera Access Toggle",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 121,
- "Name": "Keyboard Brightness Increment",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 122,
- "Name": "Keyboard Brightness Decrement",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 123,
- "Name": "Keyboard Backlight Set Level",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 124,
- "Name": "Keyboard Backlight OOC",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 125,
- "Name": "Keyboard Backlight Set Minimum",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 126,
- "Name": "Keyboard Backlight Set Maximum",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 127,
- "Name": "Keyboard Backlight Auto",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 128,
- "Name": "Selection",
- "Kinds": [
- "NAry"
- ]
- },
- {
- "Id": 129,
- "Name": "Assign Selection",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 130,
- "Name": "Mode Step",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 131,
- "Name": "Recall Last",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 132,
- "Name": "Enter Channel",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 133,
- "Name": "Order Movie",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 134,
- "Name": "Channel",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 135,
- "Name": "Media Selection",
- "Kinds": [
- "NAry"
- ]
- },
- {
- "Id": 136,
- "Name": "Media Select Computer",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 137,
- "Name": "Media Select TV",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 138,
- "Name": "Media Select WWW",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 139,
- "Name": "Media Select DVD",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 140,
- "Name": "Media Select Telephone",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 141,
- "Name": "Media Select Program Guide",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 142,
- "Name": "Media Select Video Phone",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 143,
- "Name": "Media Select Games",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 144,
- "Name": "Media Select Messages",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 145,
- "Name": "Media Select CD",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 146,
- "Name": "Media Select VCR",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 147,
- "Name": "Media Select Tuner",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 148,
- "Name": "Quit",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 149,
- "Name": "Help",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 150,
- "Name": "Media Select Tape",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 151,
- "Name": "Media Select Cable",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 152,
- "Name": "Media Select Satellite",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 153,
- "Name": "Media Select Security",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 154,
- "Name": "Media Select Home",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 155,
- "Name": "Media Select Call",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 156,
- "Name": "Channel Increment",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 157,
- "Name": "Channel Decrement",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 158,
- "Name": "Media Select SAP",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 160,
- "Name": "VCR Plus",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 161,
- "Name": "Once",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 162,
- "Name": "Daily",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 163,
- "Name": "Weekly",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 164,
- "Name": "Monthly",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 176,
- "Name": "Play",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 177,
- "Name": "Pause",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 178,
- "Name": "Record",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 179,
- "Name": "Fast Forward",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 180,
- "Name": "Rewind",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 181,
- "Name": "Scan Next Track",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 182,
- "Name": "Scan Previous Track",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 183,
- "Name": "Stop",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 184,
- "Name": "Eject",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 185,
- "Name": "Random Play",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 186,
- "Name": "Select Disc",
- "Kinds": [
- "NAry"
- ]
- },
- {
- "Id": 187,
- "Name": "Enter Disc",
- "Kinds": [
- "MC"
- ]
- },
- {
- "Id": 188,
- "Name": "Repeat",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 189,
- "Name": "Tracking",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 190,
- "Name": "Track Normal",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 191,
- "Name": "Slow Tracking",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 192,
- "Name": "Frame Forward",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 193,
- "Name": "Frame Back",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 194,
- "Name": "Mark",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 195,
- "Name": "Clear Mark",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 196,
- "Name": "Repeat From Mark",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 197,
- "Name": "Return To Mark",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 198,
- "Name": "Search Mark Forward",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 199,
- "Name": "Search Mark Backwards",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 200,
- "Name": "Counter Reset",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 201,
- "Name": "Show Counter",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 202,
- "Name": "Tracking Increment",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 203,
- "Name": "Tracking Decrement",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 204,
- "Name": "Stop/Eject",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 205,
- "Name": "Play/Pause",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 206,
- "Name": "Play/Skip",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 207,
- "Name": "Voice Command",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 208,
- "Name": "Invoke Capture Interface",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 209,
- "Name": "Start or Stop Game Recording",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 210,
- "Name": "Historical Game Capture",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 211,
- "Name": "Capture Game Screenshot",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 212,
- "Name": "Show or Hide Recording Indicator",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 213,
- "Name": "Start or Stop Microphone Capture",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 214,
- "Name": "Start or Stop Camera Capture",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 215,
- "Name": "Start or Stop Game Broadcast",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 216,
- "Name": "Start or Stop Voice Dictation Session",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 217,
- "Name": "Invoke/Dismiss Emoji Picker",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 224,
- "Name": "Volume",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 225,
- "Name": "Balance",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 226,
- "Name": "Mute",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 227,
- "Name": "Bass",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 228,
- "Name": "Treble",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 229,
- "Name": "Bass Boost",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 230,
- "Name": "Surround Mode",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 231,
- "Name": "Loudness",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 232,
- "Name": "MPX",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 233,
- "Name": "Volume Increment",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 234,
- "Name": "Volume Decrement",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 240,
- "Name": "Speed Select",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 241,
- "Name": "Playback Speed",
- "Kinds": [
- "NAry"
- ]
- },
- {
- "Id": 242,
- "Name": "Standard Play",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 243,
- "Name": "Long Play",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 244,
- "Name": "Extended Play",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 245,
- "Name": "Slow",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 256,
- "Name": "Fan Enable",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 257,
- "Name": "Fan Speed",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 258,
- "Name": "Light Enable",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 259,
- "Name": "Light Illumination Level",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 260,
- "Name": "Climate Control Enable",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 261,
- "Name": "Room Temperature",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 262,
- "Name": "Security Enable",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 263,
- "Name": "Fire Alarm",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 264,
- "Name": "Police Alarm",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 265,
- "Name": "Proximity",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 266,
- "Name": "Motion",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 267,
- "Name": "Duress Alarm",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 268,
- "Name": "Holdup Alarm",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 269,
- "Name": "Medical Alarm",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 336,
- "Name": "Balance Right",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 337,
- "Name": "Balance Left",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 338,
- "Name": "Bass Increment",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 339,
- "Name": "Bass Decrement",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 340,
- "Name": "Treble Increment",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 341,
- "Name": "Treble Decrement",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 352,
- "Name": "Speaker System",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 353,
- "Name": "Channel Left",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 354,
- "Name": "Channel Right",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 355,
- "Name": "Channel Center",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 356,
- "Name": "Channel Front",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 357,
- "Name": "Channel Center Front",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 358,
- "Name": "Channel Side",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 359,
- "Name": "Channel Surround",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 360,
- "Name": "Channel Low Frequency Enhancement",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 361,
- "Name": "Channel Top",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 362,
- "Name": "Channel Unknown",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 368,
- "Name": "Sub-channel",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 369,
- "Name": "Sub-channel Increment",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 370,
- "Name": "Sub-channel Decrement",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 371,
- "Name": "Alternate Audio Increment",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 372,
- "Name": "Alternate Audio Decrement",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 384,
- "Name": "Application Launch Buttons",
- "Kinds": [
- "NAry"
- ]
- },
- {
- "Id": 385,
- "Name": "AL Launch Button Configuration Tool",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 386,
- "Name": "AL Programmable Button Configuration",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 387,
- "Name": "AL Consumer Control Configuration",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 388,
- "Name": "AL Word Processor",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 389,
- "Name": "AL Text Editor",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 390,
- "Name": "AL Spreadsheet",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 391,
- "Name": "AL Graphics Editor",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 392,
- "Name": "AL Presentation App",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 393,
- "Name": "AL Database App",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 394,
- "Name": "AL Email Reader",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 395,
- "Name": "AL Newsreader",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 396,
- "Name": "AL Voicemail",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 397,
- "Name": "AL Contacts/Address Book",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 398,
- "Name": "AL Calendar/Schedule",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 399,
- "Name": "AL Task/Project Manager",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 400,
- "Name": "AL Log/Journal/Timecard",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 401,
- "Name": "AL Checkbook/Finance",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 402,
- "Name": "AL Calculator",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 403,
- "Name": "AL A/V Capture/Playback",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 404,
- "Name": "AL Local Machine Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 405,
- "Name": "AL LAN/WAN Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 406,
- "Name": "AL Internet Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 407,
- "Name": "AL Remote Networking/ISP Connect",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 408,
- "Name": "AL Network Conference",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 409,
- "Name": "AL Network Chat",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 410,
- "Name": "AL Telephony/Dialer",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 411,
- "Name": "AL Logon",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 412,
- "Name": "AL Logoff",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 413,
- "Name": "AL Logon/Logoff",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 414,
- "Name": "AL Terminal Lock/Screensaver",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 415,
- "Name": "AL Control Panel",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 416,
- "Name": "AL Command Line Processor/Run",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 417,
- "Name": "AL Process/Task Manager",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 418,
- "Name": "AL Select Task/Application",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 419,
- "Name": "AL Next Task/Application",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 420,
- "Name": "AL Previous Task/Application",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 421,
- "Name": "AL Preemptive Halt Task/Application",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 422,
- "Name": "AL Integrated Help Center",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 423,
- "Name": "AL Documents",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 424,
- "Name": "AL Thesaurus",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 425,
- "Name": "AL Dictionary",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 426,
- "Name": "AL Desktop",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 427,
- "Name": "AL Spell Check",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 428,
- "Name": "AL Grammar Check",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 429,
- "Name": "AL Wireless Status",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 430,
- "Name": "AL Keyboard Layout",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 431,
- "Name": "AL Virus Protection",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 432,
- "Name": "AL Encryption",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 433,
- "Name": "AL Screen Saver",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 434,
- "Name": "AL Alarms",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 435,
- "Name": "AL Clock",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 436,
- "Name": "AL File Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 437,
- "Name": "AL Power Status",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 438,
- "Name": "AL Image Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 439,
- "Name": "AL Audio Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 440,
- "Name": "AL Movie Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 441,
- "Name": "AL Digital Rights Manager",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 442,
- "Name": "AL Digital Wallet",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 444,
- "Name": "AL Instant Messaging",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 445,
- "Name": "AL OEM Features/ Tips/Tutorial Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 446,
- "Name": "AL OEM Help",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 447,
- "Name": "AL Online Community",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 448,
- "Name": "AL Entertainment Content Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 449,
- "Name": "AL Online Shopping Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 450,
- "Name": "AL SmartCard Information/Help",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 451,
- "Name": "AL Market Monitor/Finance Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 452,
- "Name": "AL Customized Corporate News Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 453,
- "Name": "AL Online Activity Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 454,
- "Name": "AL Research/Search Browser",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 455,
- "Name": "AL Audio Player",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 456,
- "Name": "AL Message Status",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 457,
- "Name": "AL Contact Sync",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 458,
- "Name": "AL Navigation",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 459,
- "Name": "AL Context‐aware Desktop Assistant",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 512,
- "Name": "Generic GUI Application Controls",
- "Kinds": [
- "NAry"
- ]
- },
- {
- "Id": 513,
- "Name": "AC New",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 514,
- "Name": "AC Open",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 515,
- "Name": "AC Close",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 516,
- "Name": "AC Exit",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 517,
- "Name": "AC Maximize",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 518,
- "Name": "AC Minimize",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 519,
- "Name": "AC Save",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 520,
- "Name": "AC Print",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 521,
- "Name": "AC Properties",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 538,
- "Name": "AC Undo",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 539,
- "Name": "AC Copy",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 540,
- "Name": "AC Cut",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 541,
- "Name": "AC Paste",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 542,
- "Name": "AC Select All",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 543,
- "Name": "AC Find",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 544,
- "Name": "AC Find and Replace",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 545,
- "Name": "AC Search",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 546,
- "Name": "AC Go To",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 547,
- "Name": "AC Home",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 548,
- "Name": "AC Back",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 549,
- "Name": "AC Forward",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 550,
- "Name": "AC Stop",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 551,
- "Name": "AC Refresh",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 552,
- "Name": "AC Previous Link",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 553,
- "Name": "AC Next Link",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 554,
- "Name": "AC Bookmarks",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 555,
- "Name": "AC History",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 556,
- "Name": "AC Subscriptions",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 557,
- "Name": "AC Zoom In",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 558,
- "Name": "AC Zoom Out",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 559,
- "Name": "AC Zoom",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 560,
- "Name": "AC Full Screen View",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 561,
- "Name": "AC Normal View",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 562,
- "Name": "AC View Toggle",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 563,
- "Name": "AC Scroll Up",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 564,
- "Name": "AC Scroll Down",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 565,
- "Name": "AC Scroll",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 566,
- "Name": "AC Pan Left",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 567,
- "Name": "AC Pan Right",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 568,
- "Name": "AC Pan",
- "Kinds": [
- "LC"
- ]
- },
- {
- "Id": 569,
- "Name": "AC New Window",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 570,
- "Name": "AC Tile Horizontally",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 571,
- "Name": "AC Tile Vertically",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 572,
- "Name": "AC Format",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 573,
- "Name": "AC Edit",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 574,
- "Name": "AC Bold",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 575,
- "Name": "AC Italics",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 576,
- "Name": "AC Underline",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 577,
- "Name": "AC Strikethrough",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 578,
- "Name": "AC Subscript",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 579,
- "Name": "AC Superscript",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 580,
- "Name": "AC All Caps",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 581,
- "Name": "AC Rotate",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 582,
- "Name": "AC Resize",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 583,
- "Name": "AC Flip Horizontal",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 584,
- "Name": "AC Flip Vertical",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 585,
- "Name": "AC Mirror Horizontal",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 586,
- "Name": "AC Mirror Vertical",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 587,
- "Name": "AC Font Select",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 588,
- "Name": "AC Font Color",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 589,
- "Name": "AC Font Size",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 590,
- "Name": "AC Justify Left",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 591,
- "Name": "AC Justify Center H",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 592,
- "Name": "AC Justify Right",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 593,
- "Name": "AC Justify Block H",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 594,
- "Name": "AC Justify Top",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 595,
- "Name": "AC Justify Center V",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 596,
- "Name": "AC Justify Bottom",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 597,
- "Name": "AC Justify Block V",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 598,
- "Name": "AC Indent Decrease",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 599,
- "Name": "AC Indent Increase",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 600,
- "Name": "AC Numbered List",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 601,
- "Name": "AC Restart Numbering",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 602,
- "Name": "AC Bulleted List",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 603,
- "Name": "AC Promote",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 604,
- "Name": "AC Demote",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 605,
- "Name": "AC Yes",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 606,
- "Name": "AC No",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 607,
- "Name": "AC Cancel",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 608,
- "Name": "AC Catalog",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 609,
- "Name": "AC Buy/Checkout",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 610,
- "Name": "AC Add to Cart",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 611,
- "Name": "AC Expand",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 612,
- "Name": "AC Expand All",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 613,
- "Name": "AC Collapse",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 614,
- "Name": "AC Collapse All",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 615,
- "Name": "AC Print Preview",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 616,
- "Name": "AC Paste Special",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 617,
- "Name": "AC Insert Mode",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 618,
- "Name": "AC Delete",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 619,
- "Name": "AC Lock",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 620,
- "Name": "AC Unlock",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 621,
- "Name": "AC Protect",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 622,
- "Name": "AC Unprotect",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 623,
- "Name": "AC Attach Comment",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 624,
- "Name": "AC Delete Comment",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 625,
- "Name": "AC View Comment",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 626,
- "Name": "AC Select Word",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 627,
- "Name": "AC Select Sentence",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 628,
- "Name": "AC Select Paragraph",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 629,
- "Name": "AC Select Column",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 630,
- "Name": "AC Select Row",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 631,
- "Name": "AC Select Table",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 632,
- "Name": "AC Select Object",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 633,
- "Name": "AC Redo/Repeat",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 634,
- "Name": "AC Sort",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 635,
- "Name": "AC Sort Ascending",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 636,
- "Name": "AC Sort Descending",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 637,
- "Name": "AC Filter",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 638,
- "Name": "AC Set Clock",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 639,
- "Name": "AC View Clock",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 640,
- "Name": "AC Select Time Zone",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 641,
- "Name": "AC Edit Time Zones",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 642,
- "Name": "AC Set Alarm",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 643,
- "Name": "AC Clear Alarm",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 644,
- "Name": "AC Snooze Alarm",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 645,
- "Name": "AC Reset Alarm",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 646,
- "Name": "AC Synchronize",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 647,
- "Name": "AC Send/Receive",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 648,
- "Name": "AC Send To",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 649,
- "Name": "AC Reply",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 650,
- "Name": "AC Reply All",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 651,
- "Name": "AC Forward Msg",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 652,
- "Name": "AC Send",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 653,
- "Name": "AC Attach File",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 654,
- "Name": "AC Upload",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 655,
- "Name": "AC Download (Save Target As)",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 656,
- "Name": "AC Set Borders",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 657,
- "Name": "AC Insert Row",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 658,
- "Name": "AC Insert Column",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 659,
- "Name": "AC Insert File",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 660,
- "Name": "AC Insert Picture",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 661,
- "Name": "AC Insert Object",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 662,
- "Name": "AC Insert Symbol",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 663,
- "Name": "AC Save and Close",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 664,
- "Name": "AC Rename",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 665,
- "Name": "AC Merge",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 666,
- "Name": "AC Split",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 667,
- "Name": "AC Disribute Horizontally",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 668,
- "Name": "AC Distribute Vertically",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 669,
- "Name": "AC Next Keyboard Layout Select",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 670,
- "Name": "AC Navigation Guidance",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 671,
- "Name": "AC Desktop Show All Windows",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 672,
- "Name": "AC Soft Key Left",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 673,
- "Name": "AC Soft Key Right",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 674,
- "Name": "AC Desktop Show All Applications",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 688,
- "Name": "AC Idle Keep Alive",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 704,
- "Name": "Extended Keyboard Attributes Collection",
- "Kinds": [
- "CL"
- ]
- },
- {
- "Id": 705,
- "Name": "Keyboard Form Factor",
- "Kinds": [
- "SV"
- ]
- },
- {
- "Id": 706,
- "Name": "Keyboard Key Type",
- "Kinds": [
- "SV"
- ]
- },
- {
- "Id": 707,
- "Name": "Keyboard Physical Layout",
- "Kinds": [
- "SV"
- ]
- },
- {
- "Id": 708,
- "Name": "Vendor‐Specific Keyboard Physical Layout",
- "Kinds": [
- "SV"
- ]
- },
- {
- "Id": 709,
- "Name": "Keyboard IETF Language Tag Index",
- "Kinds": [
- "SV"
- ]
- },
- {
- "Id": 710,
- "Name": "Implemented Keyboard Input Assist Controls",
- "Kinds": [
- "SV"
- ]
- },
- {
- "Id": 711,
- "Name": "Keyboard Input Assist Previous",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 712,
- "Name": "Keyboard Input Assist Next",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 713,
- "Name": "Keyboard Input Assist Previous Group",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 714,
- "Name": "Keyboard Input Assist Next Group",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 715,
- "Name": "Keyboard Input Assist Accept",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 716,
- "Name": "Keyboard Input Assist Cancel",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 720,
- "Name": "Privacy Screen Toggle",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 721,
- "Name": "Privacy Screen Level Decrement",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 722,
- "Name": "Privacy Screen Level Increment",
- "Kinds": [
- "RTC"
- ]
- },
- {
- "Id": 723,
- "Name": "Privacy Screen Level Minimum",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 724,
- "Name": "Privacy Screen Level Maximum",
- "Kinds": [
- "OSC"
- ]
- },
- {
- "Id": 1280,
- "Name": "Contact Edited",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 1281,
- "Name": "Contact Added",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 1282,
- "Name": "Contact Record Active",
- "Kinds": [
- "OOC"
- ]
- },
- {
- "Id": 1283,
- "Name": "Contact Index",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1284,
- "Name": "Contact Nickname",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1285,
- "Name": "Contact First Name",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1286,
- "Name": "Contact Last Name",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1287,
- "Name": "Contact Full Name",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1288,
- "Name": "Contact Phone Number Personal",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1289,
- "Name": "Contact Phone Number Business",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1290,
- "Name": "Contact Phone Number Mobile",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1291,
- "Name": "Contact Phone Number Pager",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1292,
- "Name": "Contact Phone Number Fax",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1293,
- "Name": "Contact Phone Number Other",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1294,
- "Name": "Contact Email Personal",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1295,
- "Name": "Contact Email Business",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1296,
- "Name": "Contact Email Other",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1297,
- "Name": "Contact Email Main",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1298,
- "Name": "Contact Speed Dial Number",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1299,
- "Name": "Contact Status Flag",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 1300,
- "Name": "Contact Misc.",
- "Kinds": [
- "DV"
- ]
- }
- ],
- "UsageIdGenerator": null
- },
- {
- "Kind": "Defined",
- "Id": 7,
- "Name": "Keyboard/Keypad",
- "UsageIds": [
- {
- "Id": 1,
- "Name": "ErrorRollOver",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 2,
- "Name": "POSTFail",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 3,
- "Name": "ErrorUndefined",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 4,
- "Name": "Keyboard A",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 5,
- "Name": "Keyboard B",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 6,
- "Name": "Keyboard C",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 7,
- "Name": "Keyboard D",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 8,
- "Name": "Keyboard E",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 9,
- "Name": "Keyboard F",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 10,
- "Name": "Keyboard G",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 11,
- "Name": "Keyboard H",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 12,
- "Name": "Keyboard I",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 13,
- "Name": "Keyboard J",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 14,
- "Name": "Keyboard K",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 15,
- "Name": "Keyboard L",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 16,
- "Name": "Keyboard M",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 17,
- "Name": "Keyboard N",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 18,
- "Name": "Keyboard O",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 19,
- "Name": "Keyboard P",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 20,
- "Name": "Keyboard Q",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 21,
- "Name": "Keyboard R",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 22,
- "Name": "Keyboard S",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 23,
- "Name": "Keyboard T",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 24,
- "Name": "Keyboard U",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 25,
- "Name": "Keyboard V",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 26,
- "Name": "Keyboard W",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 27,
- "Name": "Keyboard X",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 28,
- "Name": "Keyboard Y",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 29,
- "Name": "Keyboard Z",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 30,
- "Name": "Keyboard 1 and Bang",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 31,
- "Name": "Keyboard 2 and At",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 32,
- "Name": "Keyboard 3 and Hash",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 33,
- "Name": "Keyboard 4 and Dollar",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 34,
- "Name": "Keyboard 5 and Percent",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 35,
- "Name": "Keyboard 6 and Caret",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 36,
- "Name": "Keyboard 7 and Ampersand",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 37,
- "Name": "Keyboard 8 and Star",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 38,
- "Name": "Keyboard 9 and Left Bracket",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 39,
- "Name": "Keyboard 0 and Right Bracket",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 40,
- "Name": "Keyboard Return Enter",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 41,
- "Name": "Keyboard Escape",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 42,
- "Name": "Keyboard Delete",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 43,
- "Name": "Keyboard Tab",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 44,
- "Name": "Keyboard Spacebar",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 45,
- "Name": "Keyboard Dash and Underscore",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 46,
- "Name": "Keyboard Equals and Plus",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 47,
- "Name": "Keyboard Left Brace",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 48,
- "Name": "Keyboard Right Brace",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 49,
- "Name": "Keyboard Backslash and Pipe",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 50,
- "Name": "Keyboard Non-US Hash and Tilde",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 51,
- "Name": "Keyboard SemiColon and Colon",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 52,
- "Name": "Keyboard Left Apos and Double",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 53,
- "Name": "Keyboard Grave Accent and Tilde",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 54,
- "Name": "Keyboard Comma and LessThan",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 55,
- "Name": "Keyboard Period and GreaterThan",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 56,
- "Name": "Keyboard ForwardSlash and QuestionMark",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 57,
- "Name": "Keyboard Caps Lock",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 58,
- "Name": "Keyboard F1",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 59,
- "Name": "Keyboard F2",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 60,
- "Name": "Keyboard F3",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 61,
- "Name": "Keyboard F4",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 62,
- "Name": "Keyboard F5",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 63,
- "Name": "Keyboard F6",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 64,
- "Name": "Keyboard F7",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 65,
- "Name": "Keyboard F8",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 66,
- "Name": "Keyboard F9",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 67,
- "Name": "Keyboard F10",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 68,
- "Name": "Keyboard F11",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 69,
- "Name": "Keyboard F12",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 70,
- "Name": "Keyboard PrintScreen",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 71,
- "Name": "Keyboard Scroll Lock",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 72,
- "Name": "Keyboard Pause",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 73,
- "Name": "Keyboard Insert",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 74,
- "Name": "Keyboard Home",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 75,
- "Name": "Keyboard PageUp",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 76,
- "Name": "Keyboard Delete Forward",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 77,
- "Name": "Keyboard End",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 78,
- "Name": "Keyboard PageDown",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 79,
- "Name": "Keyboard RightArrow",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 80,
- "Name": "Keyboard LeftArrow",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 81,
- "Name": "Keyboard DownArrow",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 82,
- "Name": "Keyboard UpArrow",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 83,
- "Name": "Keypad Num Lock and Clear",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 84,
- "Name": "Keypad ForwardSlash",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 85,
- "Name": "Keypad Star",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 86,
- "Name": "Keypad Dash",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 87,
- "Name": "Keypad Plus",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 88,
- "Name": "Keypad ENTER",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 89,
- "Name": "Keypad 1 and End",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 90,
- "Name": "Keypad 2 and Down Arrow",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 91,
- "Name": "Keypad 3 and PageDn",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 92,
- "Name": "Keypad 4 and Left Arrow",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 93,
- "Name": "Keypad 5",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 94,
- "Name": "Keypad 6 and Right Arrow",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 95,
- "Name": "Keypad 7 and Home",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 96,
- "Name": "Keypad 8 and Up Arrow",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 97,
- "Name": "Keypad 9 and PageUp",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 98,
- "Name": "Keypad 0 and Insert",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 99,
- "Name": "Keypad Period and Delete",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 100,
- "Name": "Keyboard Non-US Backslash and Pipe",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 101,
- "Name": "Keyboard Application",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 102,
- "Name": "Keyboard Power",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 103,
- "Name": "Keypad Equals",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 104,
- "Name": "Keyboard F13",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 105,
- "Name": "Keyboard F14",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 106,
- "Name": "Keyboard F15",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 107,
- "Name": "Keyboard F16",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 108,
- "Name": "Keyboard F17",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 109,
- "Name": "Keyboard F18",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 110,
- "Name": "Keyboard F19",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 111,
- "Name": "Keyboard F20",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 112,
- "Name": "Keyboard F21",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 113,
- "Name": "Keyboard F22",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 114,
- "Name": "Keyboard F23",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 115,
- "Name": "Keyboard F24",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 116,
- "Name": "Keyboard Execute",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 117,
- "Name": "Keyboard Help",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 118,
- "Name": "Keyboard Menu",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 119,
- "Name": "Keyboard Select",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 120,
- "Name": "Keyboard Stop",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 121,
- "Name": "Keyboard Again",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 122,
- "Name": "Keyboard Undo",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 123,
- "Name": "Keyboard Cut",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 124,
- "Name": "Keyboard Copy",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 125,
- "Name": "Keyboard Paste",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 126,
- "Name": "Keyboard Find",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 127,
- "Name": "Keyboard Mute",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 128,
- "Name": "Keyboard Volume Up",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 129,
- "Name": "Keyboard Volume Down",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 130,
- "Name": "Keyboard Locking Caps Lock",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 131,
- "Name": "Keyboard Locking Num Lock",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 132,
- "Name": "Keyboard Locking Scroll Lock",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 133,
- "Name": "Keypad Comma",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 134,
- "Name": "Keypad Equal Sign",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 135,
- "Name": "Keyboard International1",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 136,
- "Name": "Keyboard International2",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 137,
- "Name": "Keyboard International3",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 138,
- "Name": "Keyboard International4",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 139,
- "Name": "Keyboard International5",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 140,
- "Name": "Keyboard International6",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 141,
- "Name": "Keyboard International7",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 142,
- "Name": "Keyboard International8",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 143,
- "Name": "Keyboard International9",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 144,
- "Name": "Keyboard LANG1",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 145,
- "Name": "Keyboard LANG2",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 146,
- "Name": "Keyboard LANG3",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 147,
- "Name": "Keyboard LANG4",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 148,
- "Name": "Keyboard LANG5",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 149,
- "Name": "Keyboard LANG6",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 150,
- "Name": "Keyboard LANG7",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 151,
- "Name": "Keyboard LANG8",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 152,
- "Name": "Keyboard LANG9",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 153,
- "Name": "Keyboard Alternate Erase",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 154,
- "Name": "Keyboard SysReq Attention",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 155,
- "Name": "Keyboard Cancel",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 156,
- "Name": "Keyboard Clear",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 157,
- "Name": "Keyboard Prior",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 158,
- "Name": "Keyboard Return",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 159,
- "Name": "Keyboard Separator",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 160,
- "Name": "Keyboard Out",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 161,
- "Name": "Keyboard Oper",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 162,
- "Name": "Keyboard Clear Again",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 163,
- "Name": "Keyboard CrSel Props",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 164,
- "Name": "Keyboard ExSel",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 176,
- "Name": "Keypad Double 0",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 177,
- "Name": "Keypad Triple 0",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 178,
- "Name": "Thousands Separator",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 179,
- "Name": "Decimal Separator",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 180,
- "Name": "Currency Unit",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 181,
- "Name": "Currency Sub-unit",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 182,
- "Name": "Keypad Left Bracket",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 183,
- "Name": "Keypad Right Bracket",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 184,
- "Name": "Keypad Left Brace",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 185,
- "Name": "Keypad Right Brace",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 186,
- "Name": "Keypad Tab",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 187,
- "Name": "Keypad Backspace",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 188,
- "Name": "Keypad A",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 189,
- "Name": "Keypad B",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 190,
- "Name": "Keypad C",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 191,
- "Name": "Keypad D",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 192,
- "Name": "Keypad E",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 193,
- "Name": "Keypad F",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 194,
- "Name": "Keypad XOR",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 195,
- "Name": "Keypad Caret",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 196,
- "Name": "Keypad Percentage",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 197,
- "Name": "Keypad Less",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 198,
- "Name": "Keypad Greater",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 199,
- "Name": "Keypad Ampersand",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 200,
- "Name": "Keypad Double Ampersand",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 201,
- "Name": "Keypad Bar",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 202,
- "Name": "Keypad Double Bar",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 203,
- "Name": "Keypad Colon",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 204,
- "Name": "Keypad Hash",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 205,
- "Name": "Keypad Space",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 206,
- "Name": "Keypad At",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 207,
- "Name": "Keypad Bang",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 208,
- "Name": "Keypad Memory Store",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 209,
- "Name": "Keypad Memory Recall",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 210,
- "Name": "Keypad Memory Clear",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 211,
- "Name": "Keypad Memory Add",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 212,
- "Name": "Keypad Memory Subtract",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 213,
- "Name": "Keypad Memory Multiply",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 214,
- "Name": "Keypad Memory Divide",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 215,
- "Name": "Keypad Plus Minus",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 216,
- "Name": "Keypad Clear",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 217,
- "Name": "Keypad Clear Entry",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 218,
- "Name": "Keypad Binary",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 219,
- "Name": "Keypad Octal",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 220,
- "Name": "Keypad Decimal",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 221,
- "Name": "Keypad Hexadecimal",
- "Kinds": [
- "Sel"
- ]
- },
- {
- "Id": 224,
- "Name": "Keyboard LeftControl",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 225,
- "Name": "Keyboard LeftShift",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 226,
- "Name": "Keyboard LeftAlt",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 227,
- "Name": "Keyboard Left GUI",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 228,
- "Name": "Keyboard RightControl",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 229,
- "Name": "Keyboard RightShift",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 230,
- "Name": "Keyboard RightAlt",
- "Kinds": [
- "DV"
- ]
- },
- {
- "Id": 231,
- "Name": "Keyboard Right GUI",
- "Kinds": [
- "DV"
- ]
- }
- ],
- "UsageIdGenerator": null
- }
- ]
-}
+{
+ "UsagePages": [
+ {
+ "Kind": "Defined",
+ "Id": 12,
+ "Name": "Consumer",
+ "UsageIds": [
+ {
+ "Id": 1,
+ "Name": "Consumer Control",
+ "Kinds": [
+ "CA"
+ ]
+ },
+ {
+ "Id": 2,
+ "Name": "Numeric Key Pad",
+ "Kinds": [
+ "NAry"
+ ]
+ },
+ {
+ "Id": 3,
+ "Name": "Programmable Buttons",
+ "Kinds": [
+ "NAry"
+ ]
+ },
+ {
+ "Id": 4,
+ "Name": "Microphone",
+ "Kinds": [
+ "CA"
+ ]
+ },
+ {
+ "Id": 5,
+ "Name": "Headphone",
+ "Kinds": [
+ "CA"
+ ]
+ },
+ {
+ "Id": 6,
+ "Name": "Graphic Equalizer",
+ "Kinds": [
+ "CA"
+ ]
+ },
+ {
+ "Id": 32,
+ "Name": "+10",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 33,
+ "Name": "+100",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 34,
+ "Name": "AM/PM",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 48,
+ "Name": "Power",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 49,
+ "Name": "Reset",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 50,
+ "Name": "Sleep",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 51,
+ "Name": "Sleep After",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 52,
+ "Name": "Sleep Mode",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 53,
+ "Name": "Illumination",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 54,
+ "Name": "Function Buttons",
+ "Kinds": [
+ "NAry"
+ ]
+ },
+ {
+ "Id": 64,
+ "Name": "Menu",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 65,
+ "Name": "Menu Pick",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 66,
+ "Name": "Menu Up",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 67,
+ "Name": "Menu Down",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 68,
+ "Name": "Menu Left",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 69,
+ "Name": "Menu Right",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 70,
+ "Name": "Menu Escape",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 71,
+ "Name": "Menu Value Increase",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 72,
+ "Name": "Menu Value Decrease",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 96,
+ "Name": "Data On Screen",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 97,
+ "Name": "Closed Caption",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 98,
+ "Name": "Closed Caption Select",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 99,
+ "Name": "VCR/TV",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 100,
+ "Name": "Broadcast Mode",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 101,
+ "Name": "Snapshot",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 102,
+ "Name": "Still",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 103,
+ "Name": "Picture-in-Picture Toggle",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 104,
+ "Name": "Picture-in-Picture Swap",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 105,
+ "Name": "Red Menu Button",
+ "Kinds": [
+ "MC"
+ ]
+ },
+ {
+ "Id": 106,
+ "Name": "Green Menu Button",
+ "Kinds": [
+ "MC"
+ ]
+ },
+ {
+ "Id": 107,
+ "Name": "Blue Menu Button",
+ "Kinds": [
+ "MC"
+ ]
+ },
+ {
+ "Id": 108,
+ "Name": "Yellow Menu Button",
+ "Kinds": [
+ "MC"
+ ]
+ },
+ {
+ "Id": 109,
+ "Name": "Aspect",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 110,
+ "Name": "3D Mode Select",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 111,
+ "Name": "Display Brightness Increment",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 112,
+ "Name": "Display Brightness Decrement",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 113,
+ "Name": "Display Brightness",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 114,
+ "Name": "Display Backlight Toggle",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 115,
+ "Name": "Display Set Brightness to Minimum",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 116,
+ "Name": "Display Set Brightness to Maximum",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 117,
+ "Name": "Display Set Auto Brightness",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 118,
+ "Name": "Camera Access Enabled",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 119,
+ "Name": "Camera Access Disabled",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 120,
+ "Name": "Camera Access Toggle",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 121,
+ "Name": "Keyboard Brightness Increment",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 122,
+ "Name": "Keyboard Brightness Decrement",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 123,
+ "Name": "Keyboard Backlight Set Level",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 124,
+ "Name": "Keyboard Backlight OOC",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 125,
+ "Name": "Keyboard Backlight Set Minimum",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 126,
+ "Name": "Keyboard Backlight Set Maximum",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 127,
+ "Name": "Keyboard Backlight Auto",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 128,
+ "Name": "Selection",
+ "Kinds": [
+ "NAry"
+ ]
+ },
+ {
+ "Id": 129,
+ "Name": "Assign Selection",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 130,
+ "Name": "Mode Step",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 131,
+ "Name": "Recall Last",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 132,
+ "Name": "Enter Channel",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 133,
+ "Name": "Order Movie",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 134,
+ "Name": "Channel",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 135,
+ "Name": "Media Selection",
+ "Kinds": [
+ "NAry"
+ ]
+ },
+ {
+ "Id": 136,
+ "Name": "Media Select Computer",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 137,
+ "Name": "Media Select TV",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 138,
+ "Name": "Media Select WWW",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 139,
+ "Name": "Media Select DVD",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 140,
+ "Name": "Media Select Telephone",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 141,
+ "Name": "Media Select Program Guide",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 142,
+ "Name": "Media Select Video Phone",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 143,
+ "Name": "Media Select Games",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 144,
+ "Name": "Media Select Messages",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 145,
+ "Name": "Media Select CD",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 146,
+ "Name": "Media Select VCR",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 147,
+ "Name": "Media Select Tuner",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 148,
+ "Name": "Quit",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 149,
+ "Name": "Help",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 150,
+ "Name": "Media Select Tape",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 151,
+ "Name": "Media Select Cable",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 152,
+ "Name": "Media Select Satellite",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 153,
+ "Name": "Media Select Security",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 154,
+ "Name": "Media Select Home",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 155,
+ "Name": "Media Select Call",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 156,
+ "Name": "Channel Increment",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 157,
+ "Name": "Channel Decrement",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 158,
+ "Name": "Media Select SAP",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 160,
+ "Name": "VCR Plus",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 161,
+ "Name": "Once",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 162,
+ "Name": "Daily",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 163,
+ "Name": "Weekly",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 164,
+ "Name": "Monthly",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 176,
+ "Name": "Play",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 177,
+ "Name": "Pause",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 178,
+ "Name": "Record",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 179,
+ "Name": "Fast Forward",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 180,
+ "Name": "Rewind",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 181,
+ "Name": "Scan Next Track",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 182,
+ "Name": "Scan Previous Track",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 183,
+ "Name": "Stop",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 184,
+ "Name": "Eject",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 185,
+ "Name": "Random Play",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 186,
+ "Name": "Select Disc",
+ "Kinds": [
+ "NAry"
+ ]
+ },
+ {
+ "Id": 187,
+ "Name": "Enter Disc",
+ "Kinds": [
+ "MC"
+ ]
+ },
+ {
+ "Id": 188,
+ "Name": "Repeat",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 189,
+ "Name": "Tracking",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 190,
+ "Name": "Track Normal",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 191,
+ "Name": "Slow Tracking",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 192,
+ "Name": "Frame Forward",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 193,
+ "Name": "Frame Back",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 194,
+ "Name": "Mark",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 195,
+ "Name": "Clear Mark",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 196,
+ "Name": "Repeat From Mark",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 197,
+ "Name": "Return To Mark",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 198,
+ "Name": "Search Mark Forward",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 199,
+ "Name": "Search Mark Backwards",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 200,
+ "Name": "Counter Reset",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 201,
+ "Name": "Show Counter",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 202,
+ "Name": "Tracking Increment",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 203,
+ "Name": "Tracking Decrement",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 204,
+ "Name": "Stop/Eject",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 205,
+ "Name": "Play/Pause",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 206,
+ "Name": "Play/Skip",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 207,
+ "Name": "Voice Command",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 208,
+ "Name": "Invoke Capture Interface",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 209,
+ "Name": "Start or Stop Game Recording",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 210,
+ "Name": "Historical Game Capture",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 211,
+ "Name": "Capture Game Screenshot",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 212,
+ "Name": "Show or Hide Recording Indicator",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 213,
+ "Name": "Start or Stop Microphone Capture",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 214,
+ "Name": "Start or Stop Camera Capture",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 215,
+ "Name": "Start or Stop Game Broadcast",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 216,
+ "Name": "Start or Stop Voice Dictation Session",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 217,
+ "Name": "Invoke/Dismiss Emoji Picker",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 224,
+ "Name": "Volume",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 225,
+ "Name": "Balance",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 226,
+ "Name": "Mute",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 227,
+ "Name": "Bass",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 228,
+ "Name": "Treble",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 229,
+ "Name": "Bass Boost",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 230,
+ "Name": "Surround Mode",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 231,
+ "Name": "Loudness",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 232,
+ "Name": "MPX",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 233,
+ "Name": "Volume Increment",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 234,
+ "Name": "Volume Decrement",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 240,
+ "Name": "Speed Select",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 241,
+ "Name": "Playback Speed",
+ "Kinds": [
+ "NAry"
+ ]
+ },
+ {
+ "Id": 242,
+ "Name": "Standard Play",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 243,
+ "Name": "Long Play",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 244,
+ "Name": "Extended Play",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 245,
+ "Name": "Slow",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 256,
+ "Name": "Fan Enable",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 257,
+ "Name": "Fan Speed",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 258,
+ "Name": "Light Enable",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 259,
+ "Name": "Light Illumination Level",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 260,
+ "Name": "Climate Control Enable",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 261,
+ "Name": "Room Temperature",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 262,
+ "Name": "Security Enable",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 263,
+ "Name": "Fire Alarm",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 264,
+ "Name": "Police Alarm",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 265,
+ "Name": "Proximity",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 266,
+ "Name": "Motion",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 267,
+ "Name": "Duress Alarm",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 268,
+ "Name": "Holdup Alarm",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 269,
+ "Name": "Medical Alarm",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 336,
+ "Name": "Balance Right",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 337,
+ "Name": "Balance Left",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 338,
+ "Name": "Bass Increment",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 339,
+ "Name": "Bass Decrement",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 340,
+ "Name": "Treble Increment",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 341,
+ "Name": "Treble Decrement",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 352,
+ "Name": "Speaker System",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 353,
+ "Name": "Channel Left",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 354,
+ "Name": "Channel Right",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 355,
+ "Name": "Channel Center",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 356,
+ "Name": "Channel Front",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 357,
+ "Name": "Channel Center Front",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 358,
+ "Name": "Channel Side",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 359,
+ "Name": "Channel Surround",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 360,
+ "Name": "Channel Low Frequency Enhancement",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 361,
+ "Name": "Channel Top",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 362,
+ "Name": "Channel Unknown",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 368,
+ "Name": "Sub-channel",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 369,
+ "Name": "Sub-channel Increment",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 370,
+ "Name": "Sub-channel Decrement",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 371,
+ "Name": "Alternate Audio Increment",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 372,
+ "Name": "Alternate Audio Decrement",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 384,
+ "Name": "Application Launch Buttons",
+ "Kinds": [
+ "NAry"
+ ]
+ },
+ {
+ "Id": 385,
+ "Name": "AL Launch Button Configuration Tool",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 386,
+ "Name": "AL Programmable Button Configuration",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 387,
+ "Name": "AL Consumer Control Configuration",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 388,
+ "Name": "AL Word Processor",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 389,
+ "Name": "AL Text Editor",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 390,
+ "Name": "AL Spreadsheet",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 391,
+ "Name": "AL Graphics Editor",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 392,
+ "Name": "AL Presentation App",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 393,
+ "Name": "AL Database App",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 394,
+ "Name": "AL Email Reader",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 395,
+ "Name": "AL Newsreader",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 396,
+ "Name": "AL Voicemail",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 397,
+ "Name": "AL Contacts/Address Book",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 398,
+ "Name": "AL Calendar/Schedule",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 399,
+ "Name": "AL Task/Project Manager",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 400,
+ "Name": "AL Log/Journal/Timecard",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 401,
+ "Name": "AL Checkbook/Finance",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 402,
+ "Name": "AL Calculator",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 403,
+ "Name": "AL A/V Capture/Playback",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 404,
+ "Name": "AL Local Machine Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 405,
+ "Name": "AL LAN/WAN Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 406,
+ "Name": "AL Internet Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 407,
+ "Name": "AL Remote Networking/ISP Connect",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 408,
+ "Name": "AL Network Conference",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 409,
+ "Name": "AL Network Chat",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 410,
+ "Name": "AL Telephony/Dialer",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 411,
+ "Name": "AL Logon",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 412,
+ "Name": "AL Logoff",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 413,
+ "Name": "AL Logon/Logoff",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 414,
+ "Name": "AL Terminal Lock/Screensaver",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 415,
+ "Name": "AL Control Panel",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 416,
+ "Name": "AL Command Line Processor/Run",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 417,
+ "Name": "AL Process/Task Manager",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 418,
+ "Name": "AL Select Task/Application",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 419,
+ "Name": "AL Next Task/Application",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 420,
+ "Name": "AL Previous Task/Application",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 421,
+ "Name": "AL Preemptive Halt Task/Application",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 422,
+ "Name": "AL Integrated Help Center",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 423,
+ "Name": "AL Documents",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 424,
+ "Name": "AL Thesaurus",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 425,
+ "Name": "AL Dictionary",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 426,
+ "Name": "AL Desktop",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 427,
+ "Name": "AL Spell Check",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 428,
+ "Name": "AL Grammar Check",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 429,
+ "Name": "AL Wireless Status",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 430,
+ "Name": "AL Keyboard Layout",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 431,
+ "Name": "AL Virus Protection",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 432,
+ "Name": "AL Encryption",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 433,
+ "Name": "AL Screen Saver",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 434,
+ "Name": "AL Alarms",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 435,
+ "Name": "AL Clock",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 436,
+ "Name": "AL File Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 437,
+ "Name": "AL Power Status",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 438,
+ "Name": "AL Image Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 439,
+ "Name": "AL Audio Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 440,
+ "Name": "AL Movie Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 441,
+ "Name": "AL Digital Rights Manager",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 442,
+ "Name": "AL Digital Wallet",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 444,
+ "Name": "AL Instant Messaging",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 445,
+ "Name": "AL OEM Features/ Tips/Tutorial Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 446,
+ "Name": "AL OEM Help",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 447,
+ "Name": "AL Online Community",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 448,
+ "Name": "AL Entertainment Content Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 449,
+ "Name": "AL Online Shopping Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 450,
+ "Name": "AL SmartCard Information/Help",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 451,
+ "Name": "AL Market Monitor/Finance Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 452,
+ "Name": "AL Customized Corporate News Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 453,
+ "Name": "AL Online Activity Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 454,
+ "Name": "AL Research/Search Browser",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 455,
+ "Name": "AL Audio Player",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 456,
+ "Name": "AL Message Status",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 457,
+ "Name": "AL Contact Sync",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 458,
+ "Name": "AL Navigation",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 459,
+ "Name": "AL Context‐aware Desktop Assistant",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 512,
+ "Name": "Generic GUI Application Controls",
+ "Kinds": [
+ "NAry"
+ ]
+ },
+ {
+ "Id": 513,
+ "Name": "AC New",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 514,
+ "Name": "AC Open",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 515,
+ "Name": "AC Close",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 516,
+ "Name": "AC Exit",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 517,
+ "Name": "AC Maximize",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 518,
+ "Name": "AC Minimize",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 519,
+ "Name": "AC Save",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 520,
+ "Name": "AC Print",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 521,
+ "Name": "AC Properties",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 538,
+ "Name": "AC Undo",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 539,
+ "Name": "AC Copy",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 540,
+ "Name": "AC Cut",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 541,
+ "Name": "AC Paste",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 542,
+ "Name": "AC Select All",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 543,
+ "Name": "AC Find",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 544,
+ "Name": "AC Find and Replace",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 545,
+ "Name": "AC Search",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 546,
+ "Name": "AC Go To",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 547,
+ "Name": "AC Home",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 548,
+ "Name": "AC Back",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 549,
+ "Name": "AC Forward",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 550,
+ "Name": "AC Stop",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 551,
+ "Name": "AC Refresh",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 552,
+ "Name": "AC Previous Link",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 553,
+ "Name": "AC Next Link",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 554,
+ "Name": "AC Bookmarks",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 555,
+ "Name": "AC History",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 556,
+ "Name": "AC Subscriptions",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 557,
+ "Name": "AC Zoom In",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 558,
+ "Name": "AC Zoom Out",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 559,
+ "Name": "AC Zoom",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 560,
+ "Name": "AC Full Screen View",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 561,
+ "Name": "AC Normal View",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 562,
+ "Name": "AC View Toggle",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 563,
+ "Name": "AC Scroll Up",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 564,
+ "Name": "AC Scroll Down",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 565,
+ "Name": "AC Scroll",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 566,
+ "Name": "AC Pan Left",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 567,
+ "Name": "AC Pan Right",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 568,
+ "Name": "AC Pan",
+ "Kinds": [
+ "LC"
+ ]
+ },
+ {
+ "Id": 569,
+ "Name": "AC New Window",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 570,
+ "Name": "AC Tile Horizontally",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 571,
+ "Name": "AC Tile Vertically",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 572,
+ "Name": "AC Format",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 573,
+ "Name": "AC Edit",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 574,
+ "Name": "AC Bold",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 575,
+ "Name": "AC Italics",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 576,
+ "Name": "AC Underline",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 577,
+ "Name": "AC Strikethrough",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 578,
+ "Name": "AC Subscript",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 579,
+ "Name": "AC Superscript",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 580,
+ "Name": "AC All Caps",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 581,
+ "Name": "AC Rotate",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 582,
+ "Name": "AC Resize",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 583,
+ "Name": "AC Flip Horizontal",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 584,
+ "Name": "AC Flip Vertical",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 585,
+ "Name": "AC Mirror Horizontal",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 586,
+ "Name": "AC Mirror Vertical",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 587,
+ "Name": "AC Font Select",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 588,
+ "Name": "AC Font Color",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 589,
+ "Name": "AC Font Size",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 590,
+ "Name": "AC Justify Left",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 591,
+ "Name": "AC Justify Center H",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 592,
+ "Name": "AC Justify Right",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 593,
+ "Name": "AC Justify Block H",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 594,
+ "Name": "AC Justify Top",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 595,
+ "Name": "AC Justify Center V",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 596,
+ "Name": "AC Justify Bottom",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 597,
+ "Name": "AC Justify Block V",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 598,
+ "Name": "AC Indent Decrease",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 599,
+ "Name": "AC Indent Increase",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 600,
+ "Name": "AC Numbered List",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 601,
+ "Name": "AC Restart Numbering",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 602,
+ "Name": "AC Bulleted List",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 603,
+ "Name": "AC Promote",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 604,
+ "Name": "AC Demote",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 605,
+ "Name": "AC Yes",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 606,
+ "Name": "AC No",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 607,
+ "Name": "AC Cancel",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 608,
+ "Name": "AC Catalog",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 609,
+ "Name": "AC Buy/Checkout",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 610,
+ "Name": "AC Add to Cart",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 611,
+ "Name": "AC Expand",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 612,
+ "Name": "AC Expand All",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 613,
+ "Name": "AC Collapse",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 614,
+ "Name": "AC Collapse All",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 615,
+ "Name": "AC Print Preview",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 616,
+ "Name": "AC Paste Special",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 617,
+ "Name": "AC Insert Mode",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 618,
+ "Name": "AC Delete",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 619,
+ "Name": "AC Lock",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 620,
+ "Name": "AC Unlock",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 621,
+ "Name": "AC Protect",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 622,
+ "Name": "AC Unprotect",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 623,
+ "Name": "AC Attach Comment",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 624,
+ "Name": "AC Delete Comment",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 625,
+ "Name": "AC View Comment",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 626,
+ "Name": "AC Select Word",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 627,
+ "Name": "AC Select Sentence",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 628,
+ "Name": "AC Select Paragraph",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 629,
+ "Name": "AC Select Column",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 630,
+ "Name": "AC Select Row",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 631,
+ "Name": "AC Select Table",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 632,
+ "Name": "AC Select Object",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 633,
+ "Name": "AC Redo/Repeat",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 634,
+ "Name": "AC Sort",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 635,
+ "Name": "AC Sort Ascending",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 636,
+ "Name": "AC Sort Descending",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 637,
+ "Name": "AC Filter",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 638,
+ "Name": "AC Set Clock",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 639,
+ "Name": "AC View Clock",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 640,
+ "Name": "AC Select Time Zone",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 641,
+ "Name": "AC Edit Time Zones",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 642,
+ "Name": "AC Set Alarm",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 643,
+ "Name": "AC Clear Alarm",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 644,
+ "Name": "AC Snooze Alarm",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 645,
+ "Name": "AC Reset Alarm",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 646,
+ "Name": "AC Synchronize",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 647,
+ "Name": "AC Send/Receive",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 648,
+ "Name": "AC Send To",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 649,
+ "Name": "AC Reply",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 650,
+ "Name": "AC Reply All",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 651,
+ "Name": "AC Forward Msg",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 652,
+ "Name": "AC Send",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 653,
+ "Name": "AC Attach File",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 654,
+ "Name": "AC Upload",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 655,
+ "Name": "AC Download (Save Target As)",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 656,
+ "Name": "AC Set Borders",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 657,
+ "Name": "AC Insert Row",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 658,
+ "Name": "AC Insert Column",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 659,
+ "Name": "AC Insert File",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 660,
+ "Name": "AC Insert Picture",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 661,
+ "Name": "AC Insert Object",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 662,
+ "Name": "AC Insert Symbol",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 663,
+ "Name": "AC Save and Close",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 664,
+ "Name": "AC Rename",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 665,
+ "Name": "AC Merge",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 666,
+ "Name": "AC Split",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 667,
+ "Name": "AC Disribute Horizontally",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 668,
+ "Name": "AC Distribute Vertically",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 669,
+ "Name": "AC Next Keyboard Layout Select",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 670,
+ "Name": "AC Navigation Guidance",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 671,
+ "Name": "AC Desktop Show All Windows",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 672,
+ "Name": "AC Soft Key Left",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 673,
+ "Name": "AC Soft Key Right",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 674,
+ "Name": "AC Desktop Show All Applications",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 688,
+ "Name": "AC Idle Keep Alive",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 704,
+ "Name": "Extended Keyboard Attributes Collection",
+ "Kinds": [
+ "CL"
+ ]
+ },
+ {
+ "Id": 705,
+ "Name": "Keyboard Form Factor",
+ "Kinds": [
+ "SV"
+ ]
+ },
+ {
+ "Id": 706,
+ "Name": "Keyboard Key Type",
+ "Kinds": [
+ "SV"
+ ]
+ },
+ {
+ "Id": 707,
+ "Name": "Keyboard Physical Layout",
+ "Kinds": [
+ "SV"
+ ]
+ },
+ {
+ "Id": 708,
+ "Name": "Vendor‐Specific Keyboard Physical Layout",
+ "Kinds": [
+ "SV"
+ ]
+ },
+ {
+ "Id": 709,
+ "Name": "Keyboard IETF Language Tag Index",
+ "Kinds": [
+ "SV"
+ ]
+ },
+ {
+ "Id": 710,
+ "Name": "Implemented Keyboard Input Assist Controls",
+ "Kinds": [
+ "SV"
+ ]
+ },
+ {
+ "Id": 711,
+ "Name": "Keyboard Input Assist Previous",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 712,
+ "Name": "Keyboard Input Assist Next",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 713,
+ "Name": "Keyboard Input Assist Previous Group",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 714,
+ "Name": "Keyboard Input Assist Next Group",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 715,
+ "Name": "Keyboard Input Assist Accept",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 716,
+ "Name": "Keyboard Input Assist Cancel",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 720,
+ "Name": "Privacy Screen Toggle",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 721,
+ "Name": "Privacy Screen Level Decrement",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 722,
+ "Name": "Privacy Screen Level Increment",
+ "Kinds": [
+ "RTC"
+ ]
+ },
+ {
+ "Id": 723,
+ "Name": "Privacy Screen Level Minimum",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 724,
+ "Name": "Privacy Screen Level Maximum",
+ "Kinds": [
+ "OSC"
+ ]
+ },
+ {
+ "Id": 1280,
+ "Name": "Contact Edited",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 1281,
+ "Name": "Contact Added",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 1282,
+ "Name": "Contact Record Active",
+ "Kinds": [
+ "OOC"
+ ]
+ },
+ {
+ "Id": 1283,
+ "Name": "Contact Index",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1284,
+ "Name": "Contact Nickname",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1285,
+ "Name": "Contact First Name",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1286,
+ "Name": "Contact Last Name",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1287,
+ "Name": "Contact Full Name",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1288,
+ "Name": "Contact Phone Number Personal",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1289,
+ "Name": "Contact Phone Number Business",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1290,
+ "Name": "Contact Phone Number Mobile",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1291,
+ "Name": "Contact Phone Number Pager",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1292,
+ "Name": "Contact Phone Number Fax",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1293,
+ "Name": "Contact Phone Number Other",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1294,
+ "Name": "Contact Email Personal",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1295,
+ "Name": "Contact Email Business",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1296,
+ "Name": "Contact Email Other",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1297,
+ "Name": "Contact Email Main",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1298,
+ "Name": "Contact Speed Dial Number",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1299,
+ "Name": "Contact Status Flag",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 1300,
+ "Name": "Contact Misc.",
+ "Kinds": [
+ "DV"
+ ]
+ }
+ ],
+ "UsageIdGenerator": null
+ },
+ {
+ "Kind": "Defined",
+ "Id": 7,
+ "Name": "Keyboard/Keypad",
+ "UsageIds": [
+ {
+ "Id": 1,
+ "Name": "ErrorRollOver",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 2,
+ "Name": "POSTFail",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 3,
+ "Name": "ErrorUndefined",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 4,
+ "Name": "Keyboard A",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 5,
+ "Name": "Keyboard B",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 6,
+ "Name": "Keyboard C",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 7,
+ "Name": "Keyboard D",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 8,
+ "Name": "Keyboard E",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 9,
+ "Name": "Keyboard F",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 10,
+ "Name": "Keyboard G",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 11,
+ "Name": "Keyboard H",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 12,
+ "Name": "Keyboard I",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 13,
+ "Name": "Keyboard J",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 14,
+ "Name": "Keyboard K",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 15,
+ "Name": "Keyboard L",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 16,
+ "Name": "Keyboard M",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 17,
+ "Name": "Keyboard N",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 18,
+ "Name": "Keyboard O",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 19,
+ "Name": "Keyboard P",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 20,
+ "Name": "Keyboard Q",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 21,
+ "Name": "Keyboard R",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 22,
+ "Name": "Keyboard S",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 23,
+ "Name": "Keyboard T",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 24,
+ "Name": "Keyboard U",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 25,
+ "Name": "Keyboard V",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 26,
+ "Name": "Keyboard W",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 27,
+ "Name": "Keyboard X",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 28,
+ "Name": "Keyboard Y",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 29,
+ "Name": "Keyboard Z",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 30,
+ "Name": "Keyboard 1 and Bang",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 31,
+ "Name": "Keyboard 2 and At",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 32,
+ "Name": "Keyboard 3 and Hash",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 33,
+ "Name": "Keyboard 4 and Dollar",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 34,
+ "Name": "Keyboard 5 and Percent",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 35,
+ "Name": "Keyboard 6 and Caret",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 36,
+ "Name": "Keyboard 7 and Ampersand",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 37,
+ "Name": "Keyboard 8 and Star",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 38,
+ "Name": "Keyboard 9 and Left Bracket",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 39,
+ "Name": "Keyboard 0 and Right Bracket",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 40,
+ "Name": "Keyboard Return Enter",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 41,
+ "Name": "Keyboard Escape",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 42,
+ "Name": "Keyboard Delete",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 43,
+ "Name": "Keyboard Tab",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 44,
+ "Name": "Keyboard Spacebar",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 45,
+ "Name": "Keyboard Dash and Underscore",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 46,
+ "Name": "Keyboard Equals and Plus",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 47,
+ "Name": "Keyboard Left Brace",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 48,
+ "Name": "Keyboard Right Brace",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 49,
+ "Name": "Keyboard Backslash and Pipe",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 50,
+ "Name": "Keyboard Non-US Hash and Tilde",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 51,
+ "Name": "Keyboard SemiColon and Colon",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 52,
+ "Name": "Keyboard Left Apos and Double",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 53,
+ "Name": "Keyboard Grave Accent and Tilde",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 54,
+ "Name": "Keyboard Comma and LessThan",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 55,
+ "Name": "Keyboard Period and GreaterThan",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 56,
+ "Name": "Keyboard ForwardSlash and QuestionMark",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 57,
+ "Name": "Keyboard Caps Lock",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 58,
+ "Name": "Keyboard F1",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 59,
+ "Name": "Keyboard F2",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 60,
+ "Name": "Keyboard F3",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 61,
+ "Name": "Keyboard F4",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 62,
+ "Name": "Keyboard F5",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 63,
+ "Name": "Keyboard F6",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 64,
+ "Name": "Keyboard F7",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 65,
+ "Name": "Keyboard F8",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 66,
+ "Name": "Keyboard F9",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 67,
+ "Name": "Keyboard F10",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 68,
+ "Name": "Keyboard F11",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 69,
+ "Name": "Keyboard F12",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 70,
+ "Name": "Keyboard PrintScreen",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 71,
+ "Name": "Keyboard Scroll Lock",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 72,
+ "Name": "Keyboard Pause",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 73,
+ "Name": "Keyboard Insert",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 74,
+ "Name": "Keyboard Home",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 75,
+ "Name": "Keyboard PageUp",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 76,
+ "Name": "Keyboard Delete Forward",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 77,
+ "Name": "Keyboard End",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 78,
+ "Name": "Keyboard PageDown",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 79,
+ "Name": "Keyboard RightArrow",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 80,
+ "Name": "Keyboard LeftArrow",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 81,
+ "Name": "Keyboard DownArrow",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 82,
+ "Name": "Keyboard UpArrow",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 83,
+ "Name": "Keypad Num Lock and Clear",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 84,
+ "Name": "Keypad ForwardSlash",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 85,
+ "Name": "Keypad Star",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 86,
+ "Name": "Keypad Dash",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 87,
+ "Name": "Keypad Plus",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 88,
+ "Name": "Keypad ENTER",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 89,
+ "Name": "Keypad 1 and End",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 90,
+ "Name": "Keypad 2 and Down Arrow",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 91,
+ "Name": "Keypad 3 and PageDn",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 92,
+ "Name": "Keypad 4 and Left Arrow",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 93,
+ "Name": "Keypad 5",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 94,
+ "Name": "Keypad 6 and Right Arrow",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 95,
+ "Name": "Keypad 7 and Home",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 96,
+ "Name": "Keypad 8 and Up Arrow",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 97,
+ "Name": "Keypad 9 and PageUp",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 98,
+ "Name": "Keypad 0 and Insert",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 99,
+ "Name": "Keypad Period and Delete",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 100,
+ "Name": "Keyboard Non-US Backslash and Pipe",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 101,
+ "Name": "Keyboard Application",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 102,
+ "Name": "Keyboard Power",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 103,
+ "Name": "Keypad Equals",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 104,
+ "Name": "Keyboard F13",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 105,
+ "Name": "Keyboard F14",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 106,
+ "Name": "Keyboard F15",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 107,
+ "Name": "Keyboard F16",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 108,
+ "Name": "Keyboard F17",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 109,
+ "Name": "Keyboard F18",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 110,
+ "Name": "Keyboard F19",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 111,
+ "Name": "Keyboard F20",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 112,
+ "Name": "Keyboard F21",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 113,
+ "Name": "Keyboard F22",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 114,
+ "Name": "Keyboard F23",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 115,
+ "Name": "Keyboard F24",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 116,
+ "Name": "Keyboard Execute",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 117,
+ "Name": "Keyboard Help",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 118,
+ "Name": "Keyboard Menu",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 119,
+ "Name": "Keyboard Select",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 120,
+ "Name": "Keyboard Stop",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 121,
+ "Name": "Keyboard Again",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 122,
+ "Name": "Keyboard Undo",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 123,
+ "Name": "Keyboard Cut",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 124,
+ "Name": "Keyboard Copy",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 125,
+ "Name": "Keyboard Paste",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 126,
+ "Name": "Keyboard Find",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 127,
+ "Name": "Keyboard Mute",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 128,
+ "Name": "Keyboard Volume Up",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 129,
+ "Name": "Keyboard Volume Down",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 130,
+ "Name": "Keyboard Locking Caps Lock",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 131,
+ "Name": "Keyboard Locking Num Lock",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 132,
+ "Name": "Keyboard Locking Scroll Lock",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 133,
+ "Name": "Keypad Comma",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 134,
+ "Name": "Keypad Equal Sign",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 135,
+ "Name": "Keyboard International1",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 136,
+ "Name": "Keyboard International2",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 137,
+ "Name": "Keyboard International3",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 138,
+ "Name": "Keyboard International4",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 139,
+ "Name": "Keyboard International5",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 140,
+ "Name": "Keyboard International6",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 141,
+ "Name": "Keyboard International7",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 142,
+ "Name": "Keyboard International8",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 143,
+ "Name": "Keyboard International9",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 144,
+ "Name": "Keyboard LANG1",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 145,
+ "Name": "Keyboard LANG2",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 146,
+ "Name": "Keyboard LANG3",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 147,
+ "Name": "Keyboard LANG4",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 148,
+ "Name": "Keyboard LANG5",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 149,
+ "Name": "Keyboard LANG6",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 150,
+ "Name": "Keyboard LANG7",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 151,
+ "Name": "Keyboard LANG8",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 152,
+ "Name": "Keyboard LANG9",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 153,
+ "Name": "Keyboard Alternate Erase",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 154,
+ "Name": "Keyboard SysReq Attention",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 155,
+ "Name": "Keyboard Cancel",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 156,
+ "Name": "Keyboard Clear",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 157,
+ "Name": "Keyboard Prior",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 158,
+ "Name": "Keyboard Return",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 159,
+ "Name": "Keyboard Separator",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 160,
+ "Name": "Keyboard Out",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 161,
+ "Name": "Keyboard Oper",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 162,
+ "Name": "Keyboard Clear Again",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 163,
+ "Name": "Keyboard CrSel Props",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 164,
+ "Name": "Keyboard ExSel",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 176,
+ "Name": "Keypad Double 0",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 177,
+ "Name": "Keypad Triple 0",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 178,
+ "Name": "Thousands Separator",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 179,
+ "Name": "Decimal Separator",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 180,
+ "Name": "Currency Unit",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 181,
+ "Name": "Currency Sub-unit",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 182,
+ "Name": "Keypad Left Bracket",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 183,
+ "Name": "Keypad Right Bracket",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 184,
+ "Name": "Keypad Left Brace",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 185,
+ "Name": "Keypad Right Brace",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 186,
+ "Name": "Keypad Tab",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 187,
+ "Name": "Keypad Backspace",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 188,
+ "Name": "Keypad A",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 189,
+ "Name": "Keypad B",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 190,
+ "Name": "Keypad C",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 191,
+ "Name": "Keypad D",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 192,
+ "Name": "Keypad E",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 193,
+ "Name": "Keypad F",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 194,
+ "Name": "Keypad XOR",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 195,
+ "Name": "Keypad Caret",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 196,
+ "Name": "Keypad Percentage",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 197,
+ "Name": "Keypad Less",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 198,
+ "Name": "Keypad Greater",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 199,
+ "Name": "Keypad Ampersand",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 200,
+ "Name": "Keypad Double Ampersand",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 201,
+ "Name": "Keypad Bar",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 202,
+ "Name": "Keypad Double Bar",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 203,
+ "Name": "Keypad Colon",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 204,
+ "Name": "Keypad Hash",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 205,
+ "Name": "Keypad Space",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 206,
+ "Name": "Keypad At",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 207,
+ "Name": "Keypad Bang",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 208,
+ "Name": "Keypad Memory Store",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 209,
+ "Name": "Keypad Memory Recall",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 210,
+ "Name": "Keypad Memory Clear",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 211,
+ "Name": "Keypad Memory Add",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 212,
+ "Name": "Keypad Memory Subtract",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 213,
+ "Name": "Keypad Memory Multiply",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 214,
+ "Name": "Keypad Memory Divide",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 215,
+ "Name": "Keypad Plus Minus",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 216,
+ "Name": "Keypad Clear",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 217,
+ "Name": "Keypad Clear Entry",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 218,
+ "Name": "Keypad Binary",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 219,
+ "Name": "Keypad Octal",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 220,
+ "Name": "Keypad Decimal",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 221,
+ "Name": "Keypad Hexadecimal",
+ "Kinds": [
+ "Sel"
+ ]
+ },
+ {
+ "Id": 224,
+ "Name": "Keyboard LeftControl",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 225,
+ "Name": "Keyboard LeftShift",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 226,
+ "Name": "Keyboard LeftAlt",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 227,
+ "Name": "Keyboard Left GUI",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 228,
+ "Name": "Keyboard RightControl",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 229,
+ "Name": "Keyboard RightShift",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 230,
+ "Name": "Keyboard RightAlt",
+ "Kinds": [
+ "DV"
+ ]
+ },
+ {
+ "Id": 231,
+ "Name": "Keyboard Right GUI",
+ "Kinds": [
+ "DV"
+ ]
+ }
+ ],
+ "UsageIdGenerator": null
+ }
+ ]
+}
diff --git a/src/keyboard/HidUsageLabel.tsx b/src/keyboard/HidUsageLabel.tsx
index aa15195c..64cc9410 100644
--- a/src/keyboard/HidUsageLabel.tsx
+++ b/src/keyboard/HidUsageLabel.tsx
@@ -1,32 +1,29 @@
-import {
- hid_usage_get_labels,
- hid_usage_page_and_id_from_usage,
-} from "../hid-usages";
-
-export interface HidUsageLabelProps {
- hid_usage: number;
-}
-
-function remove_prefix(s?: string) {
- return s?.replace(/^Keyboard /, "");
-}
-
-export const HidUsageLabel = ({ hid_usage }: HidUsageLabelProps) => {
- let [page, id] = hid_usage_page_and_id_from_usage(hid_usage);
-
- // TODO: Do something with implicit mods!
- page &= 0xff;
-
- let labels = hid_usage_get_labels(page, id);
-
- return (
-
- );
-};
+import {
+ hid_usage_get_labels,
+ hid_usage_page_and_id_from_usage,
+} from "../hid-usages";
+
+export interface HidUsageLabelProps {
+ hid_usage: number;
+}
+export const HidUsageLabel = ({ hid_usage }: HidUsageLabelProps) => {
+ let [page, id] = hid_usage_page_and_id_from_usage(hid_usage);
+
+ // TODO: Do something with implicit mods!
+ page &= 0xff;
+
+ let labels = hid_usage_get_labels(page, id, {
+ removePrefix: true,
+ });
+
+ return (
+
+ );
+};
diff --git a/src/keyboard/Key.stories.tsx b/src/keyboard/Key.stories.tsx
index 2b81a38a..5f26c8e5 100644
--- a/src/keyboard/Key.stories.tsx
+++ b/src/keyboard/Key.stories.tsx
@@ -1,53 +1,53 @@
-import type { Meta, StoryObj } from "@storybook/react";
-import { fn } from "@storybook/test";
-import { Key } from "./Key";
-
-// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
-const meta = {
- title: "Keyboard/Key",
- component: Key,
- parameters: {
- // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
- layout: "centered",
- },
- // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
- tags: ["autodocs"],
- // More on argTypes: https://storybook.js.org/docs/api/argtypes
- argTypes: {
- // backgroundColor: { control: 'color' },
- },
- // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
- args: { oneU: 48, onClick: fn() },
-} satisfies Meta;
-
-export default meta;
-type Story = StoryObj;
-
-// More on writing stories with args: https://storybook.js.org/docs/writing-stories/args
-export const Normal: Story = {
- args: {
- width: 1,
- height: 1,
- header: "Key Press",
- children: [A ],
- },
-};
-
-export const Selected: Story = {
- args: {
- selected: true,
- width: 1,
- height: 1,
- header: "Key Press",
- children: [B ],
- },
-};
-
-export const Large: Story = {
- args: {
- width: 2,
- height: 1,
- header: "Key Press",
- children: [C ],
- },
-};
+import type { Meta, StoryObj } from "@storybook/react";
+import { fn } from "@storybook/test";
+import { Key } from "./Key";
+
+// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
+const meta = {
+ title: "Keyboard/Key",
+ component: Key,
+ parameters: {
+ // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
+ layout: "centered",
+ },
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
+ tags: ["autodocs"],
+ // More on argTypes: https://storybook.js.org/docs/api/argtypes
+ argTypes: {
+ // backgroundColor: { control: 'color' },
+ },
+ // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
+ args: { oneU: 48, onClick: fn() },
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+// More on writing stories with args: https://storybook.js.org/docs/writing-stories/args
+export const Normal: Story = {
+ args: {
+ width: 1,
+ height: 1,
+ header: "Key Press",
+ children: [A ],
+ },
+};
+
+export const Selected: Story = {
+ args: {
+ selected: true,
+ width: 1,
+ height: 1,
+ header: "Key Press",
+ children: [B ],
+ },
+};
+
+export const Large: Story = {
+ args: {
+ width: 2,
+ height: 1,
+ header: "Key Press",
+ children: [C ],
+ },
+};
diff --git a/src/keyboard/Key.tsx b/src/keyboard/Key.tsx
index 80babd4d..6c42b35f 100644
--- a/src/keyboard/Key.tsx
+++ b/src/keyboard/Key.tsx
@@ -1,88 +1,88 @@
-// import './key.css';
-
-import { PropsWithChildren, Children, CSSProperties } from "react";
-
-interface KeyProps {
- /**
- * Is this the principal call to action on the page?
- */
- selected?: boolean;
- /**
- * How large should the button be?
- */
- width: number;
- height: number;
-
- oneU: number;
-
- hoverZoom?: boolean;
- /**
- * Button contents
- */
- header?: string;
- /**
- * Optional click handler
- */
- onClick?: () => void;
-}
-
-interface KeyDimension {
- width: number;
- height: number;
-}
-
-function makeSize(
- { width, height }: KeyDimension,
- oneU: number
-): CSSProperties {
- width *= oneU;
- height *= oneU;
-
- return {
- "--zmk-key-center-width": "calc(" + width + "px - 2px)",
- "--zmk-key-center-height": "calc(" + height + "px - 2px)",
- };
-}
-
-export const Key = ({
- selected = false,
- header,
- oneU,
- hoverZoom = true,
- ...props
-}: PropsWithChildren) => {
- const size = makeSize(props, oneU);
-
- const children = Children.map(props.children, (c) => (
-
- {c}
-
- ));
-
- return (
-
- 20 ? "-md" : ""
- } transition-all duration-100 m-auto p-0 b-0 box-border grid grid-rows-[0_var(--zmk-key-center-height)_0] grid-cols-[0_var(--zmk-key-center-width)_0] data-[zoomer=true]:hover:grid-rows-[1em_var(--zmk-key-center-height)_1em] data-[zoomer=true]:hover:grid-cols-[1em_var(--zmk-key-center-width)_1em] shadow-[0_0_0_1px_inset] shadow-base-content data-[zoomer=true]:shadow-base-200 data-[zoomer=true]:hover:shadow-base-content data-[zoomer=true]:hover:z-50 text-base-content bg-base-100 aria-selected:bg-primary aria-selected:text-primary-content grow @container`}
- >
- {header && (
-
- {header}
-
- )}
- {children}
-
-
- );
-};
+// import './key.css';
+
+import { PropsWithChildren, Children, CSSProperties } from "react";
+
+interface KeyProps {
+ /**
+ * Is this the principal call to action on the page?
+ */
+ selected?: boolean;
+ /**
+ * How large should the button be?
+ */
+ width: number;
+ height: number;
+
+ oneU: number;
+
+ hoverZoom?: boolean;
+ /**
+ * Button contents
+ */
+ header?: string;
+ /**
+ * Optional click handler
+ */
+ onClick?: () => void;
+}
+
+interface KeyDimension {
+ width: number;
+ height: number;
+}
+
+function makeSize(
+ { width, height }: KeyDimension,
+ oneU: number
+): CSSProperties {
+ width *= oneU;
+ height *= oneU;
+
+ return {
+ "--zmk-key-center-width": "calc(" + width + "px - 2px)",
+ "--zmk-key-center-height": "calc(" + height + "px - 2px)",
+ };
+}
+
+export const Key = ({
+ selected = false,
+ header,
+ oneU,
+ hoverZoom = true,
+ ...props
+}: PropsWithChildren) => {
+ const size = makeSize(props, oneU);
+
+ const children = Children.map(props.children, (c) => (
+
+ {c}
+
+ ));
+
+ return (
+
+ 20 ? "-md" : ""
+ } transition-all duration-100 select-none m-auto p-0 b-0 box-border grid grid-rows-[0_var(--zmk-key-center-height)_0] grid-cols-[0_var(--zmk-key-center-width)_0] data-[zoomer=true]:hover:grid-rows-[1em_var(--zmk-key-center-height)_1em] data-[zoomer=true]:hover:grid-cols-[1em_var(--zmk-key-center-width)_1em] shadow-[0_0_0_1px_inset] shadow-base-content data-[zoomer=true]:shadow-base-200 data-[zoomer=true]:hover:shadow-base-content data-[zoomer=true]:hover:z-50 text-base-content bg-base-100 aria-selected:bg-primary aria-selected:text-primary-content grow @container`}
+ >
+ {header && (
+
+ {header}
+
+ )}
+ {children}
+
+
+ );
+};
diff --git a/src/keyboard/Keyboard.tsx b/src/keyboard/Keyboard.tsx
index e4a9e4bf..4d73fad1 100644
--- a/src/keyboard/Keyboard.tsx
+++ b/src/keyboard/Keyboard.tsx
@@ -1,577 +1,574 @@
-import React, {
- SetStateAction,
- useCallback,
- useContext,
- useEffect,
- useMemo,
- useState,
-} from "react";
-
-import { Request } from "@zmkfirmware/zmk-studio-ts-client";
-import { call_rpc } from "../rpc/logging";
-import {
- PhysicalLayout,
- Keymap,
- SetLayerBindingResponse,
- SetLayerPropsResponse,
- BehaviorBinding,
- Layer,
-} from "@zmkfirmware/zmk-studio-ts-client/keymap";
-import type { GetBehaviorDetailsResponse } from "@zmkfirmware/zmk-studio-ts-client/behaviors";
-
-import { LayerPicker } from "./LayerPicker";
-import { PhysicalLayoutPicker } from "./PhysicalLayoutPicker";
-import { Keymap as KeymapComp } from "./Keymap";
-import { useConnectedDeviceData } from "../rpc/useConnectedDeviceData";
-import { ConnectionContext } from "../rpc/ConnectionContext";
-import { UndoRedoContext } from "../undoRedo";
-import { BehaviorBindingPicker } from "../behaviors/BehaviorBindingPicker";
-import { produce } from "immer";
-import { LockStateContext } from "../rpc/LockStateContext";
-import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
-import { deserializeLayoutZoom, LayoutZoom } from "./PhysicalLayout";
-import { useLocalStorageState } from "../misc/useLocalStorageState";
-
-type BehaviorMap = Record;
-
-function useBehaviors(): BehaviorMap {
- let connection = useContext(ConnectionContext);
- let lockState = useContext(LockStateContext);
-
- const [behaviors, setBehaviors] = useState({});
-
- useEffect(() => {
- if (
- !connection.conn ||
- lockState != LockState.ZMK_STUDIO_CORE_LOCK_STATE_UNLOCKED
- ) {
- setBehaviors({});
- return;
- }
-
- async function startRequest() {
- setBehaviors({});
-
- if (!connection.conn) {
- return;
- }
-
- let get_behaviors: Request = {
- behaviors: { listAllBehaviors: true },
- requestId: 0,
- };
-
- let behavior_list = await call_rpc(connection.conn, get_behaviors);
- if (!ignore) {
- let behavior_map: BehaviorMap = {};
- for (let behaviorId of behavior_list.behaviors?.listAllBehaviors
- ?.behaviors || []) {
- if (ignore) {
- break;
- }
- let details_req = {
- behaviors: { getBehaviorDetails: { behaviorId } },
- requestId: 0,
- };
- let behavior_details = await call_rpc(connection.conn, details_req);
- let dets: GetBehaviorDetailsResponse | undefined =
- behavior_details?.behaviors?.getBehaviorDetails;
-
- if (dets) {
- behavior_map[dets.id] = dets;
- }
- }
-
- if (!ignore) {
- setBehaviors(behavior_map);
- }
- }
- }
-
- let ignore = false;
- startRequest();
-
- return () => {
- ignore = true;
- };
- }, [connection, lockState]);
-
- return behaviors;
-}
-
-function useLayouts(): [
- PhysicalLayout[] | undefined,
- React.Dispatch>,
- number,
- React.Dispatch>
-] {
- let connection = useContext(ConnectionContext);
- let lockState = useContext(LockStateContext);
-
- const [layouts, setLayouts] = useState(
- undefined
- );
- const [selectedPhysicalLayoutIndex, setSelectedPhysicalLayoutIndex] =
- useState(0);
-
- useEffect(() => {
- if (
- !connection.conn ||
- lockState != LockState.ZMK_STUDIO_CORE_LOCK_STATE_UNLOCKED
- ) {
- setLayouts(undefined);
- return;
- }
-
- async function startRequest() {
- setLayouts(undefined);
-
- if (!connection.conn) {
- return;
- }
-
- let response = await call_rpc(connection.conn, {
- keymap: { getPhysicalLayouts: true },
- });
-
- if (!ignore) {
- setLayouts(response?.keymap?.getPhysicalLayouts?.layouts);
- setSelectedPhysicalLayoutIndex(
- response?.keymap?.getPhysicalLayouts?.activeLayoutIndex || 0
- );
- }
- }
-
- let ignore = false;
- startRequest();
-
- return () => {
- ignore = true;
- };
- }, [connection, lockState]);
-
- return [
- layouts,
- setLayouts,
- selectedPhysicalLayoutIndex,
- setSelectedPhysicalLayoutIndex,
- ];
-}
-
-export default function Keyboard() {
- const [
- layouts,
- _setLayouts,
- selectedPhysicalLayoutIndex,
- setSelectedPhysicalLayoutIndex,
- ] = useLayouts();
- const [keymap, setKeymap] = useConnectedDeviceData(
- { keymap: { getKeymap: true } },
- (keymap) => {
- console.log("Got the keymap!");
- return keymap?.keymap?.getKeymap;
- },
- true
- );
-
- const [keymapScale, setKeymapScale] = useLocalStorageState("keymapScale", "auto", {
- deserialize: deserializeLayoutZoom,
- });
-
- const [selectedLayerIndex, setSelectedLayerIndex] = useState(0);
- const [selectedKeyPosition, setSelectedKeyPosition] = useState<
- number | undefined
- >(undefined);
- const behaviors = useBehaviors();
-
- const conn = useContext(ConnectionContext);
- const undoRedo = useContext(UndoRedoContext);
-
- useEffect(() => {
- setSelectedLayerIndex(0);
- setSelectedKeyPosition(undefined);
- }, [conn]);
-
- useEffect(() => {
- async function performSetRequest() {
- if (!conn.conn || !layouts) {
- return;
- }
-
- let resp = await call_rpc(conn.conn, {
- keymap: { setActivePhysicalLayout: selectedPhysicalLayoutIndex },
- });
-
- let new_keymap = resp?.keymap?.setActivePhysicalLayout?.ok;
- if (new_keymap) {
- setKeymap(new_keymap);
- } else {
- console.error(
- "Failed to set the active physical layout err:",
- resp?.keymap?.setActivePhysicalLayout?.err
- );
- }
- }
-
- performSetRequest();
- }, [selectedPhysicalLayoutIndex]);
-
- let doSelectPhysicalLayout = useCallback(
- (i: number) => {
- let oldLayout = selectedPhysicalLayoutIndex;
- undoRedo?.(async () => {
- setSelectedPhysicalLayoutIndex(i);
-
- return async () => {
- setSelectedPhysicalLayoutIndex(oldLayout);
- };
- });
- },
- [undoRedo, selectedPhysicalLayoutIndex]
- );
-
- let doUpdateBinding = useCallback(
- (binding: BehaviorBinding) => {
- if (!keymap || selectedKeyPosition === undefined) {
- console.error(
- "Can't update binding without a selected key position and loaded keymap"
- );
- return;
- }
-
- const layer = selectedLayerIndex;
- const layerId = keymap.layers[layer].id;
- const keyPosition = selectedKeyPosition;
- const oldBinding = keymap.layers[layer].bindings[keyPosition];
- undoRedo?.(async () => {
- if (!conn.conn) {
- throw new Error("Not connected");
- }
-
- let resp = await call_rpc(conn.conn, {
- keymap: { setLayerBinding: { layerId, keyPosition, binding } },
- });
-
- if (
- resp.keymap?.setLayerBinding ===
- SetLayerBindingResponse.SET_LAYER_BINDING_RESP_OK
- ) {
- setKeymap(
- produce((draft: any) => {
- draft.layers[layer].bindings[keyPosition] = binding;
- })
- );
- } else {
- console.error("Failed to set binding", resp.keymap?.setLayerBinding);
- }
-
- return async () => {
- if (!conn.conn) {
- return;
- }
-
- let resp = await call_rpc(conn.conn, {
- keymap: {
- setLayerBinding: { layerId, keyPosition, binding: oldBinding },
- },
- });
- if (
- resp.keymap?.setLayerBinding ===
- SetLayerBindingResponse.SET_LAYER_BINDING_RESP_OK
- ) {
- setKeymap(
- produce((draft: any) => {
- draft.layers[layer].bindings[keyPosition] = oldBinding;
- })
- );
- } else {
- }
- };
- });
- },
- [conn, keymap, undoRedo, selectedLayerIndex, selectedKeyPosition]
- );
-
- let selectedBinding = useMemo(() => {
- if (keymap == null || selectedKeyPosition == null || !keymap.layers[selectedLayerIndex]) {
- return null;
- }
-
- return keymap.layers[selectedLayerIndex].bindings[selectedKeyPosition];
- }, [keymap, selectedLayerIndex, selectedKeyPosition]);
-
- const moveLayer = useCallback(
- (start: number, end: number) => {
- const doMove = async (startIndex: number, destIndex: number) => {
- if (!conn.conn) {
- return;
- }
-
- let resp = await call_rpc(conn.conn, {
- keymap: { moveLayer: { startIndex, destIndex } },
- });
-
- if (resp.keymap?.moveLayer?.ok) {
- setKeymap(resp.keymap?.moveLayer?.ok);
- setSelectedLayerIndex(destIndex);
- } else {
- console.error("Error moving", resp);
- }
- };
-
- undoRedo?.(async () => {
- await doMove(start, end);
- return () => doMove(end, start);
- });
- },
- [undoRedo]
- );
-
- const addLayer = useCallback(() => {
- async function doAdd(): Promise {
- if (!conn.conn || !keymap) {
- throw new Error("Not connected");
- }
-
- const resp = await call_rpc(conn.conn, { keymap: { addLayer: {} } });
-
- if (resp.keymap?.addLayer?.ok) {
- const newSelection = keymap.layers.length;
- setKeymap(
- produce((draft: any) => {
- draft.layers.push(resp.keymap!.addLayer!.ok!.layer);
- draft.availableLayers--;
- })
- );
-
- setSelectedLayerIndex(newSelection);
-
- return resp.keymap.addLayer.ok.index;
- } else {
- console.error("Add error", resp.keymap?.addLayer?.err);
- throw new Error("Failed to add layer:" + resp.keymap?.addLayer?.err);
- }
- }
-
- async function doRemove(layerIndex: number) {
- if (!conn.conn) {
- throw new Error("Not connected");
- }
-
- const resp = await call_rpc(conn.conn, {
- keymap: { removeLayer: { layerIndex } },
- });
-
- console.log(resp);
- if (resp.keymap?.removeLayer?.ok) {
- setKeymap(
- produce((draft: any) => {
- draft.layers.splice(layerIndex, 1);
- draft.availableLayers++;
- })
- );
- } else {
- console.error("Remove error", resp.keymap?.removeLayer?.err);
- throw new Error(
- "Failed to remove layer:" + resp.keymap?.removeLayer?.err
- );
- }
- }
-
- undoRedo?.(async () => {
- let index = await doAdd();
- return () => doRemove(index);
- });
- }, [conn, undoRedo, keymap]);
-
- const removeLayer = useCallback(() => {
- async function doRemove(layerIndex: number): Promise {
- if (!conn.conn || !keymap) {
- throw new Error("Not connected");
- }
-
- const resp = await call_rpc(conn.conn, {
- keymap: { removeLayer: { layerIndex } },
- });
-
- if (resp.keymap?.removeLayer?.ok) {
- if (layerIndex == keymap.layers.length - 1) {
- setSelectedLayerIndex(layerIndex - 1);
- }
- setKeymap(
- produce((draft: any) => {
- draft.layers.splice(layerIndex, 1);
- draft.availableLayers++;
- })
- );
- } else {
- console.error("Remove error", resp.keymap?.removeLayer?.err);
- throw new Error(
- "Failed to remove layer:" + resp.keymap?.removeLayer?.err
- );
- }
- }
-
- async function doRestore(layerId: number, atIndex: number) {
- if (!conn.conn) {
- throw new Error("Not connected");
- }
-
- const resp = await call_rpc(conn.conn, {
- keymap: { restoreLayer: { layerId, atIndex } },
- });
-
- console.log(resp);
- if (resp.keymap?.restoreLayer?.ok) {
- setKeymap(
- produce((draft: any) => {
- draft.layers.splice(atIndex, 0, resp!.keymap!.restoreLayer!.ok);
- draft.availableLayers--;
- })
- );
- setSelectedLayerIndex(atIndex);
- } else {
- console.error("Remove error", resp.keymap?.restoreLayer?.err);
- throw new Error(
- "Failed to restore layer:" + resp.keymap?.restoreLayer?.err
- );
- }
- }
-
- if (!keymap) {
- throw new Error("No keymap loaded");
- }
-
- let index = selectedLayerIndex;
- let layerId = keymap.layers[index].id;
- undoRedo?.(async () => {
- await doRemove(index);
- return () => doRestore(layerId, index);
- });
- }, [conn, undoRedo, selectedLayerIndex]);
-
- const changeLayerName = useCallback(
- (id: number, oldName: string, newName: string) => {
- async function changeName(layerId: number, name: string) {
- if (!conn.conn) {
- throw new Error("Not connected");
- }
-
- const resp = await call_rpc(conn.conn, {
- keymap: { setLayerProps: { layerId, name } },
- });
-
- if (
- resp.keymap?.setLayerProps ==
- SetLayerPropsResponse.SET_LAYER_PROPS_RESP_OK
- ) {
- setKeymap(
- produce((draft: any) => {
- const layer_index = draft.layers.findIndex(
- (l: Layer) => l.id == layerId
- );
- draft.layers[layer_index].name = name;
- })
- );
- } else {
- throw new Error(
- "Failed to change layer name:" + resp.keymap?.setLayerProps
- );
- }
- }
-
- undoRedo?.(async () => {
- await changeName(id, newName);
- return async () => {
- await changeName(id, oldName);
- };
- });
- },
- [conn, undoRedo, keymap]
- );
-
- useEffect(() => {
- if (!keymap?.layers) return;
-
- const layers = keymap.layers.length - 1;
-
- if (selectedLayerIndex > layers) {
- setSelectedLayerIndex(layers);
- }
- }, [keymap, selectedLayerIndex]);
-
- return (
-
-
- {layouts && (
-
- )}
-
- {keymap && (
-
- 0}
- canRemove={(keymap.layers?.length || 0) > 1}
- onAddClicked={addLayer}
- onRemoveClicked={removeLayer}
- onLayerNameChanged={changeLayerName}
- />
-
- )}
-
- {layouts && keymap && behaviors && (
-
-
- {
- const value = deserializeLayoutZoom(e.target.value);
- setKeymapScale(value);
- }}
- >
- Auto
- 25%
- 50%
- 75%
- 100%
- 125%
- 150%
- 200%
-
-
- )}
- {keymap && selectedBinding && (
-
- ({
- id,
- name: name || li.toLocaleString(),
- }))}
- onBindingChanged={doUpdateBinding}
- />
-
- )}
-
- );
-}
+import React, {
+ SetStateAction,
+ useCallback,
+ useContext,
+ useEffect,
+ useMemo,
+ useState,
+} from "react";
+
+import { Request } from "@zmkfirmware/zmk-studio-ts-client";
+import { call_rpc } from "../rpc/logging";
+import {
+ PhysicalLayout,
+ Keymap,
+ SetLayerBindingResponse,
+ SetLayerPropsResponse,
+ BehaviorBinding,
+ Layer,
+} from "@zmkfirmware/zmk-studio-ts-client/keymap";
+import type { GetBehaviorDetailsResponse } from "@zmkfirmware/zmk-studio-ts-client/behaviors";
+
+import { LayerPicker } from "./LayerPicker";
+import { PhysicalLayoutPicker } from "./PhysicalLayoutPicker";
+import { Keymap as KeymapComp } from "./Keymap";
+import { useConnectedDeviceData } from "../rpc/useConnectedDeviceData";
+import { ConnectionContext } from "../rpc/ConnectionContext";
+import { UndoRedoContext } from "../undoRedo";
+import { BehaviorBindingPicker } from "../behaviors/BehaviorBindingPicker";
+import { produce } from "immer";
+import { LockStateContext } from "../rpc/LockStateContext";
+import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
+import { deserializeLayoutZoom, LayoutZoom } from "./PhysicalLayout";
+import { useLocalStorageState } from "../misc/useLocalStorageState";
+import { useKeymap } from "../context/keymap";
+
+type BehaviorMap = Record;
+
+export function useBehaviors(): BehaviorMap {
+ let connection = useContext(ConnectionContext);
+ let lockState = useContext(LockStateContext);
+
+ const [behaviors, setBehaviors] = useState({});
+
+ useEffect(() => {
+ if (
+ !connection.conn ||
+ lockState != LockState.ZMK_STUDIO_CORE_LOCK_STATE_UNLOCKED
+ ) {
+ setBehaviors({});
+ return;
+ }
+
+ async function startRequest() {
+ setBehaviors({});
+
+ if (!connection.conn) {
+ return;
+ }
+
+ let get_behaviors: Request = {
+ behaviors: { listAllBehaviors: true },
+ requestId: 0,
+ };
+
+ let behavior_list = await call_rpc(connection.conn, get_behaviors);
+ if (!ignore) {
+ let behavior_map: BehaviorMap = {};
+ for (let behaviorId of behavior_list.behaviors?.listAllBehaviors
+ ?.behaviors || []) {
+ if (ignore) {
+ break;
+ }
+ let details_req = {
+ behaviors: { getBehaviorDetails: { behaviorId } },
+ requestId: 0,
+ };
+ let behavior_details = await call_rpc(connection.conn, details_req);
+ let dets: GetBehaviorDetailsResponse | undefined =
+ behavior_details?.behaviors?.getBehaviorDetails;
+
+ if (dets) {
+ behavior_map[dets.id] = dets;
+ }
+ }
+
+ if (!ignore) {
+ setBehaviors(behavior_map);
+ }
+ }
+ }
+
+ let ignore = false;
+ startRequest();
+
+ return () => {
+ ignore = true;
+ };
+ }, [connection, lockState]);
+
+ return behaviors;
+}
+
+function useLayouts(): [
+ PhysicalLayout[] | undefined,
+ React.Dispatch>,
+ number,
+ React.Dispatch>
+] {
+ let connection = useContext(ConnectionContext);
+ let lockState = useContext(LockStateContext);
+
+ const [layouts, setLayouts] = useState(
+ undefined
+ );
+ const [selectedPhysicalLayoutIndex, setSelectedPhysicalLayoutIndex] =
+ useState(0);
+
+ useEffect(() => {
+ if (
+ !connection.conn ||
+ lockState != LockState.ZMK_STUDIO_CORE_LOCK_STATE_UNLOCKED
+ ) {
+ setLayouts(undefined);
+ return;
+ }
+
+ async function startRequest() {
+ setLayouts(undefined);
+
+ if (!connection.conn) {
+ return;
+ }
+
+ let response = await call_rpc(connection.conn, {
+ keymap: { getPhysicalLayouts: true },
+ });
+
+ if (!ignore) {
+ setLayouts(response?.keymap?.getPhysicalLayouts?.layouts);
+ setSelectedPhysicalLayoutIndex(
+ response?.keymap?.getPhysicalLayouts?.activeLayoutIndex || 0
+ );
+ }
+ }
+
+ let ignore = false;
+ startRequest();
+
+ return () => {
+ ignore = true;
+ };
+ }, [connection, lockState]);
+
+ return [
+ layouts,
+ setLayouts,
+ selectedPhysicalLayoutIndex,
+ setSelectedPhysicalLayoutIndex,
+ ];
+}
+
+export default function Keyboard() {
+ const [
+ layouts,
+ _setLayouts,
+ selectedPhysicalLayoutIndex,
+ setSelectedPhysicalLayoutIndex,
+ ] = useLayouts();
+
+ const {
+ keymap,
+ setKeymap,
+ } = useKeymap();
+ const [keymapScale, setKeymapScale] = useLocalStorageState("keymapScale", "auto", {
+ deserialize: deserializeLayoutZoom,
+ });
+
+ const [selectedLayerIndex, setSelectedLayerIndex] = useState(0);
+ const [selectedKeyPosition, setSelectedKeyPosition] = useState<
+ number | undefined
+ >(undefined);
+ const behaviors = useBehaviors();
+
+ const conn = useContext(ConnectionContext);
+ const undoRedo = useContext(UndoRedoContext);
+
+ useEffect(() => {
+ setSelectedLayerIndex(0);
+ setSelectedKeyPosition(undefined);
+ }, [conn]);
+
+ useEffect(() => {
+ async function performSetRequest() {
+ if (!conn.conn || !layouts) {
+ return;
+ }
+
+ let resp = await call_rpc(conn.conn, {
+ keymap: { setActivePhysicalLayout: selectedPhysicalLayoutIndex },
+ });
+
+ let new_keymap = resp?.keymap?.setActivePhysicalLayout?.ok;
+ if (new_keymap) {
+ setKeymap(new_keymap);
+ } else {
+ console.error(
+ "Failed to set the active physical layout err:",
+ resp?.keymap?.setActivePhysicalLayout?.err
+ );
+ }
+ }
+
+ performSetRequest();
+ }, [selectedPhysicalLayoutIndex]);
+
+ let doSelectPhysicalLayout = useCallback(
+ (i: number) => {
+ let oldLayout = selectedPhysicalLayoutIndex;
+ undoRedo?.(async () => {
+ setSelectedPhysicalLayoutIndex(i);
+
+ return async () => {
+ setSelectedPhysicalLayoutIndex(oldLayout);
+ };
+ });
+ },
+ [undoRedo, selectedPhysicalLayoutIndex]
+ );
+
+ let doUpdateBinding = useCallback(
+ (binding: BehaviorBinding) => {
+ if (!keymap || selectedKeyPosition === undefined) {
+ console.error(
+ "Can't update binding without a selected key position and loaded keymap"
+ );
+ return;
+ }
+
+ const layer = selectedLayerIndex;
+ const layerId = keymap.layers[layer].id;
+ const keyPosition = selectedKeyPosition;
+ const oldBinding = keymap.layers[layer].bindings[keyPosition];
+ undoRedo?.(async () => {
+ if (!conn.conn) {
+ throw new Error("Not connected");
+ }
+
+ let resp = await call_rpc(conn.conn, {
+ keymap: { setLayerBinding: { layerId, keyPosition, binding } },
+ });
+
+ if (
+ resp.keymap?.setLayerBinding ===
+ SetLayerBindingResponse.SET_LAYER_BINDING_RESP_OK
+ ) {
+ setKeymap(
+ produce((draft: any) => {
+ draft.layers[layer].bindings[keyPosition] = binding;
+ })
+ );
+ } else {
+ console.error("Failed to set binding", resp.keymap?.setLayerBinding);
+ }
+
+ return async () => {
+ if (!conn.conn) {
+ return;
+ }
+
+ let resp = await call_rpc(conn.conn, {
+ keymap: {
+ setLayerBinding: { layerId, keyPosition, binding: oldBinding },
+ },
+ });
+ if (
+ resp.keymap?.setLayerBinding ===
+ SetLayerBindingResponse.SET_LAYER_BINDING_RESP_OK
+ ) {
+ setKeymap(
+ produce((draft: any) => {
+ draft.layers[layer].bindings[keyPosition] = oldBinding;
+ })
+ );
+ } else {
+ }
+ };
+ });
+ },
+ [conn, keymap, undoRedo, selectedLayerIndex, selectedKeyPosition]
+ );
+
+ let selectedBinding = useMemo(() => {
+ if (keymap == null || selectedKeyPosition == null || !keymap.layers[selectedLayerIndex]) {
+ return null;
+ }
+
+ return keymap.layers[selectedLayerIndex].bindings[selectedKeyPosition];
+ }, [keymap, selectedLayerIndex, selectedKeyPosition]);
+
+ const moveLayer = useCallback(
+ (start: number, end: number) => {
+ const doMove = async (startIndex: number, destIndex: number) => {
+ if (!conn.conn) {
+ return;
+ }
+
+ let resp = await call_rpc(conn.conn, {
+ keymap: { moveLayer: { startIndex, destIndex } },
+ });
+
+ if (resp.keymap?.moveLayer?.ok) {
+ setKeymap(resp.keymap?.moveLayer?.ok);
+ setSelectedLayerIndex(destIndex);
+ } else {
+ console.error("Error moving", resp);
+ }
+ };
+
+ undoRedo?.(async () => {
+ await doMove(start, end);
+ return () => doMove(end, start);
+ });
+ },
+ [undoRedo]
+ );
+
+ const addLayer = useCallback(() => {
+ async function doAdd(): Promise {
+ if (!conn.conn || !keymap) {
+ throw new Error("Not connected");
+ }
+
+ const resp = await call_rpc(conn.conn, { keymap: { addLayer: {} } });
+
+ if (resp.keymap?.addLayer?.ok) {
+ const newSelection = keymap.layers.length;
+ setKeymap(
+ produce((draft: any) => {
+ draft.layers.push(resp.keymap!.addLayer!.ok!.layer);
+ draft.availableLayers--;
+ })
+ );
+
+ setSelectedLayerIndex(newSelection);
+
+ return resp.keymap.addLayer.ok.index;
+ } else {
+ console.error("Add error", resp.keymap?.addLayer?.err);
+ throw new Error("Failed to add layer:" + resp.keymap?.addLayer?.err);
+ }
+ }
+
+ async function doRemove(layerIndex: number) {
+ if (!conn.conn) {
+ throw new Error("Not connected");
+ }
+
+ const resp = await call_rpc(conn.conn, {
+ keymap: { removeLayer: { layerIndex } },
+ });
+
+ console.log(resp);
+ if (resp.keymap?.removeLayer?.ok) {
+ setKeymap(
+ produce((draft: any) => {
+ draft.layers.splice(layerIndex, 1);
+ draft.availableLayers++;
+ })
+ );
+ } else {
+ console.error("Remove error", resp.keymap?.removeLayer?.err);
+ throw new Error(
+ "Failed to remove layer:" + resp.keymap?.removeLayer?.err
+ );
+ }
+ }
+
+ undoRedo?.(async () => {
+ let index = await doAdd();
+ return () => doRemove(index);
+ });
+ }, [conn, undoRedo, keymap]);
+
+ const removeLayer = useCallback(() => {
+ async function doRemove(layerIndex: number): Promise {
+ if (!conn.conn || !keymap) {
+ throw new Error("Not connected");
+ }
+
+ const resp = await call_rpc(conn.conn, {
+ keymap: { removeLayer: { layerIndex } },
+ });
+
+ if (resp.keymap?.removeLayer?.ok) {
+ if (layerIndex == keymap.layers.length - 1) {
+ setSelectedLayerIndex(layerIndex - 1);
+ }
+ setKeymap(
+ produce((draft: any) => {
+ draft.layers.splice(layerIndex, 1);
+ draft.availableLayers++;
+ })
+ );
+ } else {
+ console.error("Remove error", resp.keymap?.removeLayer?.err);
+ throw new Error(
+ "Failed to remove layer:" + resp.keymap?.removeLayer?.err
+ );
+ }
+ }
+
+ async function doRestore(layerId: number, atIndex: number) {
+ if (!conn.conn) {
+ throw new Error("Not connected");
+ }
+
+ const resp = await call_rpc(conn.conn, {
+ keymap: { restoreLayer: { layerId, atIndex } },
+ });
+
+ console.log(resp);
+ if (resp.keymap?.restoreLayer?.ok) {
+ setKeymap(
+ produce((draft: any) => {
+ draft.layers.splice(atIndex, 0, resp!.keymap!.restoreLayer!.ok);
+ draft.availableLayers--;
+ })
+ );
+ setSelectedLayerIndex(atIndex);
+ } else {
+ console.error("Remove error", resp.keymap?.restoreLayer?.err);
+ throw new Error(
+ "Failed to restore layer:" + resp.keymap?.restoreLayer?.err
+ );
+ }
+ }
+
+ if (!keymap) {
+ throw new Error("No keymap loaded");
+ }
+
+ let index = selectedLayerIndex;
+ let layerId = keymap.layers[index].id;
+ undoRedo?.(async () => {
+ await doRemove(index);
+ return () => doRestore(layerId, index);
+ });
+ }, [conn, undoRedo, selectedLayerIndex]);
+
+ const changeLayerName = useCallback(
+ (id: number, oldName: string, newName: string) => {
+ async function changeName(layerId: number, name: string) {
+ if (!conn.conn) {
+ throw new Error("Not connected");
+ }
+
+ const resp = await call_rpc(conn.conn, {
+ keymap: { setLayerProps: { layerId, name } },
+ });
+
+ if (
+ resp.keymap?.setLayerProps ==
+ SetLayerPropsResponse.SET_LAYER_PROPS_RESP_OK
+ ) {
+ setKeymap(
+ produce((draft: any) => {
+ const layer_index = draft.layers.findIndex(
+ (l: Layer) => l.id == layerId
+ );
+ draft.layers[layer_index].name = name;
+ })
+ );
+ } else {
+ throw new Error(
+ "Failed to change layer name:" + resp.keymap?.setLayerProps
+ );
+ }
+ }
+
+ undoRedo?.(async () => {
+ await changeName(id, newName);
+ return async () => {
+ await changeName(id, oldName);
+ };
+ });
+ },
+ [conn, undoRedo, keymap]
+ );
+
+ useEffect(() => {
+ if (!keymap?.layers) return;
+
+ const layers = keymap.layers.length - 1;
+
+ if (selectedLayerIndex > layers) {
+ setSelectedLayerIndex(layers);
+ }
+ }, [keymap, selectedLayerIndex]);
+
+ return (
+
+
+ {layouts && (
+
+ )}
+
+ {keymap && (
+
+ 0}
+ canRemove={(keymap.layers?.length || 0) > 1}
+ onAddClicked={addLayer}
+ onRemoveClicked={removeLayer}
+ onLayerNameChanged={changeLayerName}
+ />
+
+ )}
+
+ {layouts && keymap && behaviors && (
+
+
+ {
+ const value = deserializeLayoutZoom(e.target.value);
+ setKeymapScale(value);
+ }}
+ >
+ Auto
+ 25%
+ 50%
+ 75%
+ 100%
+ 125%
+ 150%
+ 200%
+
+
+ )}
+ {keymap && selectedBinding && (
+
+ ({
+ id,
+ name: name || li.toLocaleString(),
+ }))}
+ onBindingChanged={doUpdateBinding}
+ />
+
+ )}
+
+ );
+}
diff --git a/src/keyboard/Keymap.tsx b/src/keyboard/Keymap.tsx
index 4d457b13..24aa5470 100644
--- a/src/keyboard/Keymap.tsx
+++ b/src/keyboard/Keymap.tsx
@@ -1,79 +1,79 @@
-import {
- PhysicalLayout,
- Keymap as KeymapMsg,
-} from "@zmkfirmware/zmk-studio-ts-client/keymap";
-import type { GetBehaviorDetailsResponse } from "@zmkfirmware/zmk-studio-ts-client/behaviors";
-
-import {
- LayoutZoom,
- PhysicalLayout as PhysicalLayoutComp,
-} from "./PhysicalLayout";
-import { HidUsageLabel } from "./HidUsageLabel";
-
-type BehaviorMap = Record;
-
-export interface KeymapProps {
- layout: PhysicalLayout;
- keymap: KeymapMsg;
- behaviors: BehaviorMap;
- scale: LayoutZoom;
- selectedLayerIndex: number;
- selectedKeyPosition: number | undefined;
- onKeyPositionClicked: (keyPosition: number) => void;
-}
-
-export const Keymap = ({
- layout,
- keymap,
- behaviors,
- scale,
- selectedLayerIndex,
- selectedKeyPosition,
- onKeyPositionClicked,
-}: KeymapProps) => {
- if (!keymap.layers[selectedLayerIndex]) {
- return <>>;
- }
-
- let positions = layout.keys.map((k, i) => {
- if (i >= keymap.layers[selectedLayerIndex].bindings.length) {
- return {
- header: "Unknown",
- x: k.x / 100.0,
- y: k.y / 100.0,
- width: k.width / 100,
- height: k.height / 100.0,
- children: ,
- };
- }
-
- return {
- header:
- behaviors[keymap.layers[selectedLayerIndex].bindings[i].behaviorId]
- ?.displayName || "Unknown",
- x: k.x / 100.0,
- y: k.y / 100.0,
- width: k.width / 100,
- height: k.height / 100.0,
- r: (k.r || 0) / 100.0,
- rx: (k.rx || 0) / 100.0,
- ry: (k.ry || 0) / 100.0,
- children: (
-
- ),
- };
- });
-
- return (
-
- );
-};
+import {
+ PhysicalLayout,
+ Keymap as KeymapMsg,
+} from "@zmkfirmware/zmk-studio-ts-client/keymap";
+import type { GetBehaviorDetailsResponse } from "@zmkfirmware/zmk-studio-ts-client/behaviors";
+
+import {
+ LayoutZoom,
+ PhysicalLayout as PhysicalLayoutComp,
+} from "./PhysicalLayout";
+import { HidUsageLabel } from "./HidUsageLabel";
+
+type BehaviorMap = Record;
+
+export interface KeymapProps {
+ layout: PhysicalLayout;
+ keymap: KeymapMsg;
+ behaviors: BehaviorMap;
+ scale: LayoutZoom;
+ selectedLayerIndex: number;
+ selectedKeyPosition: number | undefined;
+ onKeyPositionClicked: (keyPosition: number) => void;
+}
+
+export const Keymap = ({
+ layout,
+ keymap,
+ behaviors,
+ scale,
+ selectedLayerIndex,
+ selectedKeyPosition,
+ onKeyPositionClicked,
+}: KeymapProps) => {
+ if (!keymap.layers[selectedLayerIndex]) {
+ return <>>;
+ }
+
+ let positions = layout.keys.map((k, i) => {
+ if (i >= keymap.layers[selectedLayerIndex].bindings.length) {
+ return {
+ header: "Unknown",
+ x: k.x / 100.0,
+ y: k.y / 100.0,
+ width: k.width / 100,
+ height: k.height / 100.0,
+ children: ,
+ };
+ }
+
+ return {
+ header:
+ behaviors[keymap.layers[selectedLayerIndex].bindings[i].behaviorId]
+ ?.displayName || "Unknown",
+ x: k.x / 100.0,
+ y: k.y / 100.0,
+ width: k.width / 100,
+ height: k.height / 100.0,
+ r: (k.r || 0) / 100.0,
+ rx: (k.rx || 0) / 100.0,
+ ry: (k.ry || 0) / 100.0,
+ children: (
+
+ ),
+ };
+ });
+
+ return (
+
+ );
+};
diff --git a/src/keyboard/LayerPicker.stories.ts b/src/keyboard/LayerPicker.stories.ts
index 32b28863..48a96780 100644
--- a/src/keyboard/LayerPicker.stories.ts
+++ b/src/keyboard/LayerPicker.stories.ts
@@ -1,45 +1,45 @@
-import type { Meta, StoryObj } from "@storybook/react";
-import { fn } from "@storybook/test";
-import { LayerPicker } from "./LayerPicker";
-
-// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
-const meta = {
- title: "Keyboard/LayerPicker",
- component: LayerPicker,
- parameters: {
- // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
- layout: "centered",
- },
- // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
- tags: ["autodocs"],
- // More on argTypes: https://storybook.js.org/docs/api/argtypes
- argTypes: {
- // backgroundColor: { control: 'color' },
- },
- // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
- args: {
- onLayerClicked: fn(),
- },
-} satisfies Meta;
-
-export default meta;
-type Story = StoryObj;
-
-export const Named: Story = {
- args: {
- layers: [
- { id: 1, name: "Base" },
- { id: 2, name: "Num" },
- { id: 3, name: "Nav" },
- { id: 4, name: "Symbol" },
- ],
- selectedLayerIndex: 2,
- },
-};
-
-export const NoNames: Story = {
- args: {
- layers: [{ id: 1 }, { id: 2 }, { id: 3 }],
- selectedLayerIndex: 0,
- },
-};
+import type { Meta, StoryObj } from "@storybook/react";
+import { fn } from "@storybook/test";
+import { LayerPicker } from "./LayerPicker";
+
+// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
+const meta = {
+ title: "Keyboard/LayerPicker",
+ component: LayerPicker,
+ parameters: {
+ // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
+ layout: "centered",
+ },
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
+ tags: ["autodocs"],
+ // More on argTypes: https://storybook.js.org/docs/api/argtypes
+ argTypes: {
+ // backgroundColor: { control: 'color' },
+ },
+ // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
+ args: {
+ onLayerClicked: fn(),
+ },
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+export const Named: Story = {
+ args: {
+ layers: [
+ { id: 1, name: "Base" },
+ { id: 2, name: "Num" },
+ { id: 3, name: "Nav" },
+ { id: 4, name: "Symbol" },
+ ],
+ selectedLayerIndex: 2,
+ },
+};
+
+export const NoNames: Story = {
+ args: {
+ layers: [{ id: 1 }, { id: 2 }, { id: 3 }],
+ selectedLayerIndex: 0,
+ },
+};
diff --git a/src/keyboard/LayerPicker.tsx b/src/keyboard/LayerPicker.tsx
index 1584191d..67db6abb 100644
--- a/src/keyboard/LayerPicker.tsx
+++ b/src/keyboard/LayerPicker.tsx
@@ -1,233 +1,233 @@
-import { Pencil, Minus, Plus } from "lucide-react";
-import { useCallback, useMemo, useState } from "react";
-import {
- DropIndicator,
- Label,
- ListBox,
- ListBoxItem,
- Selection,
- useDragAndDrop,
-} from "react-aria-components";
-import { useModalRef } from "../misc/useModalRef";
-import { GenericModal } from "../GenericModal";
-
-interface Layer {
- id: number;
- name?: string;
-}
-
-export type LayerClickCallback = (index: number) => void;
-export type LayerMovedCallback = (index: number, destination: number) => void;
-
-interface LayerPickerProps {
- layers: Array;
- selectedLayerIndex: number;
- canAdd?: boolean;
- canRemove?: boolean;
-
- onLayerClicked?: LayerClickCallback;
- onLayerMoved?: LayerMovedCallback;
- onAddClicked?: () => void | Promise;
- onRemoveClicked?: () => void | Promise;
- onLayerNameChanged?: (
- id: number,
- oldName: string,
- newName: string
- ) => void | Promise;
-}
-
-interface EditLabelData {
- id: number;
- name: string;
-}
-
-const EditLabelModal = ({
- open,
- onClose,
- editLabelData,
- handleSaveNewLabel,
-}: {
- open: boolean;
- onClose: () => void;
- editLabelData: EditLabelData;
- handleSaveNewLabel: (
- id: number,
- oldName: string,
- newName: string | null
- ) => void;
-}) => {
- const ref = useModalRef(open);
- const [newLabelName, setNewLabelName] = useState(editLabelData.name);
-
- const handleSave = () => {
- handleSaveNewLabel(editLabelData.id, editLabelData.name, newLabelName);
- onClose();
- };
-
- return (
-
- New Layer Name
- setNewLabelName(e.target.value)}
- onKeyDown={(e) => {
- if (e.key === "Enter") {
- e.preventDefault();
- handleSave();
- }
- }}
- />
-
-
- Cancel
-
- {
- handleSave();
- }}
- >
- Save
-
-
-
- );
-};
-
-export const LayerPicker = ({
- layers,
- selectedLayerIndex,
- canAdd,
- canRemove,
- onLayerClicked,
- onLayerMoved,
- onAddClicked,
- onRemoveClicked,
- onLayerNameChanged,
- ...props
-}: LayerPickerProps) => {
- const [editLabelData, setEditLabelData] = useState(
- null
- );
-
- const layer_items = useMemo(() => {
- return layers.map((l, i) => ({
- name: l.name || i.toLocaleString(),
- id: l.id,
- index: i,
- selected: i === selectedLayerIndex,
- }));
- }, [layers, selectedLayerIndex]);
-
- const selectionChanged = useCallback(
- (s: Selection) => {
- if (s === "all") {
- return;
- }
-
- onLayerClicked?.(layer_items.findIndex((l) => s.has(l.id)));
- },
- [onLayerClicked, layer_items]
- );
-
- let { dragAndDropHooks } = useDragAndDrop({
- renderDropIndicator(target) {
- return (
-
- );
- },
- getItems: (keys) =>
- [...keys].map((key) => ({ "text/plain": key.toLocaleString() })),
- onReorder(e) {
- let startIndex = layer_items.findIndex((l) => e.keys.has(l.id));
- let endIndex = layer_items.findIndex((l) => l.id === e.target.key);
- onLayerMoved?.(startIndex, endIndex);
- },
- });
-
- const handleSaveNewLabel = useCallback(
- (id: number, oldName: string, newName: string | null) => {
- if (newName !== null) {
- onLayerNameChanged?.(id, oldName, newName);
- }
- },
- [onLayerNameChanged]
- );
-
- return (
-
-
-
Layers
- {onRemoveClicked && (
-
-
-
- )}
- {onAddClicked && (
-
-
-
- )}
-
- {editLabelData !== null && (
-
setEditLabelData(null)}
- editLabelData={editLabelData}
- handleSaveNewLabel={handleSaveNewLabel}
- />
- )}
-
- {(layer_item) => (
-
- {layer_item.name}
-
- setEditLabelData({ id: layer_item.id, name: layer_item.name })
- }
- />
-
- )}
-
-
- );
-};
+import { Pencil, Minus, Plus } from "lucide-react";
+import { useCallback, useMemo, useState } from "react";
+import {
+ DropIndicator,
+ Label,
+ ListBox,
+ ListBoxItem,
+ Selection,
+ useDragAndDrop,
+} from "react-aria-components";
+import { useModalRef } from "../misc/useModalRef";
+import { GenericModal } from "../GenericModal";
+
+interface Layer {
+ id: number;
+ name?: string;
+}
+
+export type LayerClickCallback = (index: number) => void;
+export type LayerMovedCallback = (index: number, destination: number) => void;
+
+interface LayerPickerProps {
+ layers: Array;
+ selectedLayerIndex: number;
+ canAdd?: boolean;
+ canRemove?: boolean;
+
+ onLayerClicked?: LayerClickCallback;
+ onLayerMoved?: LayerMovedCallback;
+ onAddClicked?: () => void | Promise;
+ onRemoveClicked?: () => void | Promise;
+ onLayerNameChanged?: (
+ id: number,
+ oldName: string,
+ newName: string
+ ) => void | Promise;
+}
+
+interface EditLabelData {
+ id: number;
+ name: string;
+}
+
+const EditLabelModal = ({
+ open,
+ onClose,
+ editLabelData,
+ handleSaveNewLabel,
+}: {
+ open: boolean;
+ onClose: () => void;
+ editLabelData: EditLabelData;
+ handleSaveNewLabel: (
+ id: number,
+ oldName: string,
+ newName: string | null
+ ) => void;
+}) => {
+ const ref = useModalRef(open);
+ const [newLabelName, setNewLabelName] = useState(editLabelData.name);
+
+ const handleSave = () => {
+ handleSaveNewLabel(editLabelData.id, editLabelData.name, newLabelName);
+ onClose();
+ };
+
+ return (
+
+ New Layer Name
+ setNewLabelName(e.target.value)}
+ onKeyDown={(e) => {
+ if (e.key === "Enter") {
+ e.preventDefault();
+ handleSave();
+ }
+ }}
+ />
+
+
+ Cancel
+
+ {
+ handleSave();
+ }}
+ >
+ Save
+
+
+
+ );
+};
+
+export const LayerPicker = ({
+ layers,
+ selectedLayerIndex,
+ canAdd,
+ canRemove,
+ onLayerClicked,
+ onLayerMoved,
+ onAddClicked,
+ onRemoveClicked,
+ onLayerNameChanged,
+ ...props
+}: LayerPickerProps) => {
+ const [editLabelData, setEditLabelData] = useState(
+ null
+ );
+
+ const layer_items = useMemo(() => {
+ return layers.map((l, i) => ({
+ name: l.name || i.toLocaleString(),
+ id: l.id,
+ index: i,
+ selected: i === selectedLayerIndex,
+ }));
+ }, [layers, selectedLayerIndex]);
+
+ const selectionChanged = useCallback(
+ (s: Selection) => {
+ if (s === "all") {
+ return;
+ }
+
+ onLayerClicked?.(layer_items.findIndex((l) => s.has(l.id)));
+ },
+ [onLayerClicked, layer_items]
+ );
+
+ let { dragAndDropHooks } = useDragAndDrop({
+ renderDropIndicator(target) {
+ return (
+
+ );
+ },
+ getItems: (keys) =>
+ [...keys].map((key) => ({ "text/plain": key.toLocaleString() })),
+ onReorder(e) {
+ let startIndex = layer_items.findIndex((l) => e.keys.has(l.id));
+ let endIndex = layer_items.findIndex((l) => l.id === e.target.key);
+ onLayerMoved?.(startIndex, endIndex);
+ },
+ });
+
+ const handleSaveNewLabel = useCallback(
+ (id: number, oldName: string, newName: string | null) => {
+ if (newName !== null) {
+ onLayerNameChanged?.(id, oldName, newName);
+ }
+ },
+ [onLayerNameChanged]
+ );
+
+ return (
+
+
+
Layers
+ {onRemoveClicked && (
+
+
+
+ )}
+ {onAddClicked && (
+
+
+
+ )}
+
+ {editLabelData !== null && (
+
setEditLabelData(null)}
+ editLabelData={editLabelData}
+ handleSaveNewLabel={handleSaveNewLabel}
+ />
+ )}
+
+ {(layer_item) => (
+
+ {layer_item.name}
+
+ setEditLabelData({ id: layer_item.id, name: layer_item.name })
+ }
+ />
+
+ )}
+
+
+ );
+};
diff --git a/src/keyboard/PhysicalLayout.stories.tsx b/src/keyboard/PhysicalLayout.stories.tsx
index fa1b2f07..5f0071d6 100644
--- a/src/keyboard/PhysicalLayout.stories.tsx
+++ b/src/keyboard/PhysicalLayout.stories.tsx
@@ -1,195 +1,195 @@
-import type { Meta, StoryObj } from "@storybook/react";
-import { fn } from "@storybook/test";
-import { PhysicalLayout } from "./PhysicalLayout";
-import { HidUsageLabel } from "./HidUsageLabel";
-import { hid_usage_from_page_and_id } from "../hid-usages";
-
-// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
-const meta = {
- title: "Keyboard/PhysicalLayout",
- component: PhysicalLayout,
- parameters: {
- // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
- },
- // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
- tags: ["autodocs"],
- // More on argTypes: https://storybook.js.org/docs/api/argtypes
- argTypes: {},
- args: {
- onPositionClicked: fn(),
- },
-} satisfies Meta;
-
-export default meta;
-type Story = StoryObj;
-
-const TOP = [41, ...[..."QWERTYUIOP"].map((c) => c.charCodeAt(0) - 61)];
-const MIDDLE = [...[..."ASDFGHJKL"].map((c) => c.charCodeAt(0) - 61), 51];
-const LOWER = [
- ...[..."ZXCVBNM"].map((c) => c.charCodeAt(0) - 61),
- 54,
- 55,
- 82,
- 229,
-];
-
-const MINIVAN_POSITIONS = [
- ...TOP.map((k, i) => ({
- width: 1,
- height: 1,
- x: i,
- y: 0,
- header: "Key Press",
- children: [ ],
- })),
- {
- x: TOP.length,
- y: 0,
- width: 1.75,
- height: 1,
- header: "Key Press",
- children: [ ],
- },
- {
- x: 0,
- y: 1,
- width: 1.25,
- height: 1,
- header: "Key Press",
- children: [Tab ],
- },
- ...MIDDLE.map((k, i) => ({
- x: i + 1.25,
- y: 1,
- width: 1,
- height: 1,
- header: "Key Press",
- children: [ ],
- })),
- {
- x: MIDDLE.length + 1.25,
- y: 1,
- width: 1.5,
- height: 1,
- header: "Key Press",
- children: [ ],
- },
- {
- x: 0,
- y: 2,
- width: 1.75,
- height: 1,
- header: "Key Press",
- children: [
- ,
- ],
- },
- ...LOWER.map((k, i) => ({
- x: i + 1.75,
- y: 2,
- width: 1,
- height: 1,
- header: "Key Press",
- children: [ ],
- })),
- {
- x: 0,
- y: 3,
- width: 1.25,
- height: 1,
- header: "Key Press",
- children: [
- ,
- ],
- },
- {
- x: 1.25,
- y: 3,
- width: 1.5,
- height: 1,
- header: "Key Press",
- children: [
- ,
- ],
- },
- {
- x: 2.75,
- y: 3,
- width: 1.25,
- height: 1,
- header: "Key Press",
- children: [
- ,
- ],
- },
- {
- x: 4,
- y: 3,
- width: 2.25,
- height: 1,
- header: "Key Press",
- children: [ ],
- },
- {
- x: 6.25,
- y: 3,
- width: 2,
- height: 1,
- header: "Key Press",
- children: [ ],
- },
- {
- x: 8.25,
- y: 3,
- width: 1.5,
- height: 1,
- header: "Key Press",
- children: [
- ,
- ],
- },
- {
- x: 9.75,
- y: 3,
- width: 1,
- height: 1,
- header: "Key Press",
- children: [ ],
- },
- {
- x: 10.75,
- y: 3,
- width: 1,
- height: 1,
- header: "Key Press",
- children: [ ],
- },
- {
- x: 11.75,
- y: 3,
- width: 1,
- height: 1,
- header: "Key Press",
- children: [ ],
- },
-];
-
-export const Minivan: Story = {
- args: {
- positions: MINIVAN_POSITIONS,
- hoverZoom: true,
- },
-};
-
-export const MiniMinivan: Story = {
- args: {
- positions: MINIVAN_POSITIONS.map(({ x, y, width, height }) => ({
- x,
- y,
- width,
- height,
- })),
- oneU: 15,
- hoverZoom: false,
- },
-};
+import type { Meta, StoryObj } from "@storybook/react";
+import { fn } from "@storybook/test";
+import { PhysicalLayout } from "./PhysicalLayout";
+import { HidUsageLabel } from "./HidUsageLabel";
+import { hid_usage_from_page_and_id } from "../hid-usages";
+
+// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
+const meta = {
+ title: "Keyboard/PhysicalLayout",
+ component: PhysicalLayout,
+ parameters: {
+ // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
+ },
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
+ tags: ["autodocs"],
+ // More on argTypes: https://storybook.js.org/docs/api/argtypes
+ argTypes: {},
+ args: {
+ onPositionClicked: fn(),
+ },
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+const TOP = [41, ...[..."QWERTYUIOP"].map((c) => c.charCodeAt(0) - 61)];
+const MIDDLE = [...[..."ASDFGHJKL"].map((c) => c.charCodeAt(0) - 61), 51];
+const LOWER = [
+ ...[..."ZXCVBNM"].map((c) => c.charCodeAt(0) - 61),
+ 54,
+ 55,
+ 82,
+ 229,
+];
+
+const MINIVAN_POSITIONS = [
+ ...TOP.map((k, i) => ({
+ width: 1,
+ height: 1,
+ x: i,
+ y: 0,
+ header: "Key Press",
+ children: [ ],
+ })),
+ {
+ x: TOP.length,
+ y: 0,
+ width: 1.75,
+ height: 1,
+ header: "Key Press",
+ children: [ ],
+ },
+ {
+ x: 0,
+ y: 1,
+ width: 1.25,
+ height: 1,
+ header: "Key Press",
+ children: [Tab ],
+ },
+ ...MIDDLE.map((k, i) => ({
+ x: i + 1.25,
+ y: 1,
+ width: 1,
+ height: 1,
+ header: "Key Press",
+ children: [ ],
+ })),
+ {
+ x: MIDDLE.length + 1.25,
+ y: 1,
+ width: 1.5,
+ height: 1,
+ header: "Key Press",
+ children: [ ],
+ },
+ {
+ x: 0,
+ y: 2,
+ width: 1.75,
+ height: 1,
+ header: "Key Press",
+ children: [
+ ,
+ ],
+ },
+ ...LOWER.map((k, i) => ({
+ x: i + 1.75,
+ y: 2,
+ width: 1,
+ height: 1,
+ header: "Key Press",
+ children: [ ],
+ })),
+ {
+ x: 0,
+ y: 3,
+ width: 1.25,
+ height: 1,
+ header: "Key Press",
+ children: [
+ ,
+ ],
+ },
+ {
+ x: 1.25,
+ y: 3,
+ width: 1.5,
+ height: 1,
+ header: "Key Press",
+ children: [
+ ,
+ ],
+ },
+ {
+ x: 2.75,
+ y: 3,
+ width: 1.25,
+ height: 1,
+ header: "Key Press",
+ children: [
+ ,
+ ],
+ },
+ {
+ x: 4,
+ y: 3,
+ width: 2.25,
+ height: 1,
+ header: "Key Press",
+ children: [ ],
+ },
+ {
+ x: 6.25,
+ y: 3,
+ width: 2,
+ height: 1,
+ header: "Key Press",
+ children: [ ],
+ },
+ {
+ x: 8.25,
+ y: 3,
+ width: 1.5,
+ height: 1,
+ header: "Key Press",
+ children: [
+ ,
+ ],
+ },
+ {
+ x: 9.75,
+ y: 3,
+ width: 1,
+ height: 1,
+ header: "Key Press",
+ children: [ ],
+ },
+ {
+ x: 10.75,
+ y: 3,
+ width: 1,
+ height: 1,
+ header: "Key Press",
+ children: [ ],
+ },
+ {
+ x: 11.75,
+ y: 3,
+ width: 1,
+ height: 1,
+ header: "Key Press",
+ children: [ ],
+ },
+];
+
+export const Minivan: Story = {
+ args: {
+ positions: MINIVAN_POSITIONS,
+ hoverZoom: true,
+ },
+};
+
+export const MiniMinivan: Story = {
+ args: {
+ positions: MINIVAN_POSITIONS.map(({ x, y, width, height }) => ({
+ x,
+ y,
+ width,
+ height,
+ })),
+ oneU: 15,
+ hoverZoom: false,
+ },
+};
diff --git a/src/keyboard/PhysicalLayout.tsx b/src/keyboard/PhysicalLayout.tsx
index 6c7d98cf..39426e37 100644
--- a/src/keyboard/PhysicalLayout.tsx
+++ b/src/keyboard/PhysicalLayout.tsx
@@ -1,156 +1,156 @@
-import {
- CSSProperties,
- PropsWithChildren,
- useLayoutEffect,
- useRef,
- useState,
-} from "react";
-import { Key } from "./Key";
-
-export type KeyPosition = PropsWithChildren<{
- header?: string;
- width: number;
- height: number;
- x: number;
- y: number;
- r?: number;
- rx?: number;
- ry?: number;
-}>;
-
-export type LayoutZoom = number | "auto";
-
-export function deserializeLayoutZoom(value: string): LayoutZoom {
- if (value === "auto") {
- return "auto";
- }
- return parseFloat(value) || "auto";
-}
-
-interface PhysicalLayoutProps {
- positions: Array;
- selectedPosition?: number;
- oneU?: number;
- hoverZoom?: boolean;
- zoom?: LayoutZoom;
- onPositionClicked?: (position: number) => void;
-}
-
-interface PhysicalLayoutPositionLocation {
- x: number;
- y: number;
- r?: number;
- rx?: number;
- ry?: number;
-}
-
-function scalePosition(
- { x, y, r, rx, ry }: PhysicalLayoutPositionLocation,
- oneU: number,
-): CSSProperties {
- let left = x * oneU;
- let top = y * oneU;
- let transformOrigin = undefined;
- let transform = undefined;
-
- if (r) {
- let transformX = ((rx || x) - x) * oneU;
- let transformY = ((ry || y) - y) * oneU;
- transformOrigin = `${transformX}px ${transformY}px`;
- transform = `rotate(${r}deg)`;
- }
-
- return {
- top,
- left,
- transformOrigin,
- transform,
- willChange: "transform",
- };
-}
-
-export const PhysicalLayout = ({
- positions,
- selectedPosition,
- oneU = 48,
- hoverZoom = true,
- onPositionClicked,
- ...props
-}: PhysicalLayoutProps) => {
- const ref = useRef(null);
- const [scale, setScale] = useState(1);
-
- useLayoutEffect(() => {
- const element = ref.current;
- if (!element) return;
-
- const parent = element.parentElement;
- if (!parent) return;
-
- const calculateScale = () => {
- if (props.zoom === "auto") {
- const padding = Math.min(window.innerWidth, window.innerHeight) * 0.05; // Padding when in auto mode
- const newScale = Math.min(
- parent.clientWidth / (element.clientWidth + 2 * padding),
- parent.clientHeight / (element.clientHeight + 2 * padding),
- );
- setScale(newScale);
- } else {
- setScale(props.zoom || 1);
- }
- };
-
- calculateScale(); // Initial calculation
-
- const resizeObserver = new ResizeObserver(() => {
- calculateScale();
- });
-
- resizeObserver.observe(element);
- resizeObserver.observe(parent);
-
- return () => {
- resizeObserver.disconnect();
- };
- }, [props.zoom]);
-
- // TODO: Add a bit of padding for rotation when supported
- let rightMost = positions
- .map((k) => k.x + k.width)
- .reduce((a, b) => Math.max(a, b), 0);
- let bottomMost = positions
- .map((k) => k.y + k.height)
- .reduce((a, b) => Math.max(a, b), 0);
-
- const positionItems = positions.map((p, idx) => (
- onPositionClicked?.(idx)}
- className="absolute data-[zoomer=true]:hover:z-[1000] leading-[0]"
- data-zoomer={hoverZoom}
- style={scalePosition(p, oneU)}
- >
-
-
- ));
-
- return (
-
- {positionItems}
-
- );
-};
+import {
+ CSSProperties,
+ PropsWithChildren,
+ useLayoutEffect,
+ useRef,
+ useState,
+} from "react";
+import { Key } from "./Key";
+
+export type KeyPosition = PropsWithChildren<{
+ header?: string;
+ width: number;
+ height: number;
+ x: number;
+ y: number;
+ r?: number;
+ rx?: number;
+ ry?: number;
+}>;
+
+export type LayoutZoom = number | "auto";
+
+export function deserializeLayoutZoom(value: string): LayoutZoom {
+ if (value === "auto") {
+ return "auto";
+ }
+ return parseFloat(value) || "auto";
+}
+
+interface PhysicalLayoutProps {
+ positions: Array;
+ selectedPosition?: number;
+ oneU?: number;
+ hoverZoom?: boolean;
+ zoom?: LayoutZoom;
+ onPositionClicked?: (position: number) => void;
+}
+
+interface PhysicalLayoutPositionLocation {
+ x: number;
+ y: number;
+ r?: number;
+ rx?: number;
+ ry?: number;
+}
+
+function scalePosition(
+ { x, y, r, rx, ry }: PhysicalLayoutPositionLocation,
+ oneU: number,
+): CSSProperties {
+ let left = x * oneU;
+ let top = y * oneU;
+ let transformOrigin = undefined;
+ let transform = undefined;
+
+ if (r) {
+ let transformX = ((rx || x) - x) * oneU;
+ let transformY = ((ry || y) - y) * oneU;
+ transformOrigin = `${transformX}px ${transformY}px`;
+ transform = `rotate(${r}deg)`;
+ }
+
+ return {
+ top,
+ left,
+ transformOrigin,
+ transform,
+ willChange: "transform",
+ };
+}
+
+export const PhysicalLayout = ({
+ positions,
+ selectedPosition,
+ oneU = 48,
+ hoverZoom = true,
+ onPositionClicked,
+ ...props
+}: PhysicalLayoutProps) => {
+ const ref = useRef(null);
+ const [scale, setScale] = useState(1);
+
+ useLayoutEffect(() => {
+ const element = ref.current;
+ if (!element) return;
+
+ const parent = element.parentElement;
+ if (!parent) return;
+
+ const calculateScale = () => {
+ if (props.zoom === "auto") {
+ const padding = Math.min(window.innerWidth, window.innerHeight) * 0.05; // Padding when in auto mode
+ const newScale = Math.min(
+ parent.clientWidth / (element.clientWidth + 2 * padding),
+ parent.clientHeight / (element.clientHeight + 2 * padding),
+ );
+ setScale(newScale);
+ } else {
+ setScale(props.zoom || 1);
+ }
+ };
+
+ calculateScale(); // Initial calculation
+
+ const resizeObserver = new ResizeObserver(() => {
+ calculateScale();
+ });
+
+ resizeObserver.observe(element);
+ resizeObserver.observe(parent);
+
+ return () => {
+ resizeObserver.disconnect();
+ };
+ }, [props.zoom]);
+
+ // TODO: Add a bit of padding for rotation when supported
+ let rightMost = positions
+ .map((k) => k.x + k.width)
+ .reduce((a, b) => Math.max(a, b), 0);
+ let bottomMost = positions
+ .map((k) => k.y + k.height)
+ .reduce((a, b) => Math.max(a, b), 0);
+
+ const positionItems = positions.map((p, idx) => (
+ onPositionClicked?.(idx)}
+ className="absolute data-[zoomer=true]:hover:z-[1000] leading-[0]"
+ data-zoomer={hoverZoom}
+ style={scalePosition(p, oneU)}
+ >
+
+
+ ));
+
+ return (
+
+ {positionItems}
+
+ );
+};
diff --git a/src/keyboard/PhysicalLayoutPicker.stories.ts b/src/keyboard/PhysicalLayoutPicker.stories.ts
index 9ab11688..96d57387 100644
--- a/src/keyboard/PhysicalLayoutPicker.stories.ts
+++ b/src/keyboard/PhysicalLayoutPicker.stories.ts
@@ -1,52 +1,52 @@
-import type { Meta, StoryObj } from "@storybook/react";
-import { fn } from "@storybook/test";
-import { PhysicalLayoutPicker } from "./PhysicalLayoutPicker";
-
-// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
-const meta = {
- title: "Keyboard/PhysicalLayoutPicker",
- component: PhysicalLayoutPicker,
- parameters: {
- // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
- layout: "centered",
- },
- // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
- tags: ["autodocs"],
- // More on argTypes: https://storybook.js.org/docs/api/argtypes
- argTypes: {
- // backgroundColor: { control: 'color' },
- },
- // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
- args: {
- onPhysicalLayoutClicked: fn(),
- },
-} satisfies Meta;
-
-export default meta;
-type Story = StoryObj;
-
-export const Standard: Story = {
- args: {
- layouts: [
- {
- name: "ISO",
- keys: [1, 2, 3].map((x) => ({
- x: x * 100,
- y: 0,
- width: 100,
- height: 100,
- })),
- },
- {
- name: "ANSI",
- keys: [1, 2, 3, 4].map((x) => ({
- x: x * 100,
- y: 0,
- width: 100,
- height: 100,
- })),
- },
- ],
- selectedPhysicalLayoutIndex: 1,
- },
-};
+import type { Meta, StoryObj } from "@storybook/react";
+import { fn } from "@storybook/test";
+import { PhysicalLayoutPicker } from "./PhysicalLayoutPicker";
+
+// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
+const meta = {
+ title: "Keyboard/PhysicalLayoutPicker",
+ component: PhysicalLayoutPicker,
+ parameters: {
+ // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
+ layout: "centered",
+ },
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
+ tags: ["autodocs"],
+ // More on argTypes: https://storybook.js.org/docs/api/argtypes
+ argTypes: {
+ // backgroundColor: { control: 'color' },
+ },
+ // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
+ args: {
+ onPhysicalLayoutClicked: fn(),
+ },
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+export const Standard: Story = {
+ args: {
+ layouts: [
+ {
+ name: "ISO",
+ keys: [1, 2, 3].map((x) => ({
+ x: x * 100,
+ y: 0,
+ width: 100,
+ height: 100,
+ })),
+ },
+ {
+ name: "ANSI",
+ keys: [1, 2, 3, 4].map((x) => ({
+ x: x * 100,
+ y: 0,
+ width: 100,
+ height: 100,
+ })),
+ },
+ ],
+ selectedPhysicalLayoutIndex: 1,
+ },
+};
diff --git a/src/keyboard/PhysicalLayoutPicker.tsx b/src/keyboard/PhysicalLayoutPicker.tsx
index 1821091c..74e0e0fa 100644
--- a/src/keyboard/PhysicalLayoutPicker.tsx
+++ b/src/keyboard/PhysicalLayoutPicker.tsx
@@ -1,88 +1,88 @@
-import {
- Button,
- Key,
- Label,
- ListBox,
- ListBoxItem,
- Popover,
- Select,
- SelectValue,
- Text,
-} from "react-aria-components";
-import { PhysicalLayout, type KeyPosition } from "./PhysicalLayout";
-import { useCallback } from "react";
-
-export interface PhysicalLayoutItem {
- name: string;
- keys: Array;
-}
-
-export type PhysicalLayoutClickCallback = (index: number) => void;
-
-export interface PhysicalLayoutPickerProps {
- layouts: Array;
-
- selectedPhysicalLayoutIndex: number;
-
- onPhysicalLayoutClicked?: PhysicalLayoutClickCallback;
-}
-
-export const PhysicalLayoutPicker = ({
- layouts,
- selectedPhysicalLayoutIndex,
- onPhysicalLayoutClicked,
-}: PhysicalLayoutPickerProps) => {
- let selectionChanged = useCallback(
- (e: Key) => {
- onPhysicalLayoutClicked?.(layouts.findIndex((l) => l.name === e));
- },
- [layouts, onPhysicalLayoutClicked]
- );
-
- return (
-
- Layout
-
- >
- {(v) => {
- return {v.selectedItem?.name} ;
- }}
-
-
-
-
- {(l) => (
-
- {l.name}
-
-
({
- x: x / 100.0,
- y: y / 100.0,
- width: width / 100.0,
- height: height / 100.0,
- r: (r || 0) / 100.0,
- rx: (rx || 0) / 100.0,
- ry: (ry || 0) / 100.0,
- })
- )}
- />
-
-
- )}
-
-
-
- );
-};
+import {
+ Button,
+ Key,
+ Label,
+ ListBox,
+ ListBoxItem,
+ Popover,
+ Select,
+ SelectValue,
+ Text,
+} from "react-aria-components";
+import { PhysicalLayout, type KeyPosition } from "./PhysicalLayout";
+import { useCallback } from "react";
+
+export interface PhysicalLayoutItem {
+ name: string;
+ keys: Array;
+}
+
+export type PhysicalLayoutClickCallback = (index: number) => void;
+
+export interface PhysicalLayoutPickerProps {
+ layouts: Array;
+
+ selectedPhysicalLayoutIndex: number;
+
+ onPhysicalLayoutClicked?: PhysicalLayoutClickCallback;
+}
+
+export const PhysicalLayoutPicker = ({
+ layouts,
+ selectedPhysicalLayoutIndex,
+ onPhysicalLayoutClicked,
+}: PhysicalLayoutPickerProps) => {
+ let selectionChanged = useCallback(
+ (e: Key) => {
+ onPhysicalLayoutClicked?.(layouts.findIndex((l) => l.name === e));
+ },
+ [layouts, onPhysicalLayoutClicked]
+ );
+
+ return (
+
+ Layout
+
+ >
+ {(v) => {
+ return {v.selectedItem?.name} ;
+ }}
+
+
+
+
+ {(l) => (
+
+ {l.name}
+
+
({
+ x: x / 100.0,
+ y: y / 100.0,
+ width: width / 100.0,
+ height: height / 100.0,
+ r: (r || 0) / 100.0,
+ rx: (rx || 0) / 100.0,
+ ry: (ry || 0) / 100.0,
+ })
+ )}
+ />
+
+
+ )}
+
+
+
+ );
+};
diff --git a/src/main.tsx b/src/main.tsx
index 966f17a4..88eb9456 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -1,10 +1,10 @@
-import React from "react";
-import ReactDOM from "react-dom/client";
-import App from "./App.tsx";
-import "./index.css";
-
-ReactDOM.createRoot(document.getElementById("root")!).render(
-
-
-
-);
+import React from "react";
+import ReactDOM from "react-dom/client";
+import App from "./App.tsx";
+import "./index.css";
+
+ReactDOM.createRoot(document.getElementById("root")!).render(
+
+
+
+);
diff --git a/src/misc/ExternalLink.tsx b/src/misc/ExternalLink.tsx
index cbf1f70d..87ce7be6 100644
--- a/src/misc/ExternalLink.tsx
+++ b/src/misc/ExternalLink.tsx
@@ -1,19 +1,19 @@
-import { PropsWithChildren } from "react";
-
-import { ExternalLink as LinkIcon } from "lucide-react";
-
-export interface ExternalLinkProps {
- href: string;
-}
-
-export const ExternalLink = ({
- href,
- children,
-}: PropsWithChildren) => {
- return (
-
- {children}
-
-
- );
-};
+import { PropsWithChildren } from "react";
+
+import { ExternalLink as LinkIcon } from "lucide-react";
+
+export interface ExternalLinkProps {
+ href: string;
+}
+
+export const ExternalLink = ({
+ href,
+ children,
+}: PropsWithChildren) => {
+ return (
+
+ {children}
+
+
+ );
+};
diff --git a/src/misc/LicenseNoticeModal.tsx b/src/misc/LicenseNoticeModal.tsx
index 62500a65..209e18d4 100644
--- a/src/misc/LicenseNoticeModal.tsx
+++ b/src/misc/LicenseNoticeModal.tsx
@@ -1,41 +1,41 @@
-import { useModalRef } from "./useModalRef";
-
-import NOTICE from "../../NOTICE?raw";
-import { GenericModal } from "../GenericModal";
-
-export interface LicenseNoticeModalProps {
- open: boolean;
- onClose: () => void;
-}
-
-export const LicenseNoticeModal = ({
- open,
- onClose,
-}: LicenseNoticeModalProps) => {
- const ref = useModalRef(open, true);
-
- return (
-
-
-
-
- ZMK Studio is released under the open source Apache 2.0 license. A
- copy of the NOTICE file from the ZMK Studio repository is included
- here:
-
-
- Close
-
-
-
{NOTICE}
-
-
- );
-};
+import { useModalRef } from "./useModalRef";
+
+import NOTICE from "../../NOTICE?raw";
+import { GenericModal } from "../GenericModal";
+
+export interface LicenseNoticeModalProps {
+ open: boolean;
+ onClose: () => void;
+}
+
+export const LicenseNoticeModal = ({
+ open,
+ onClose,
+}: LicenseNoticeModalProps) => {
+ const ref = useModalRef(open, true);
+
+ return (
+
+
+
+
+ ZMK Studio is released under the open source Apache 2.0 license. A
+ copy of the NOTICE file from the ZMK Studio repository is included
+ here:
+
+
+ Close
+
+
+
{NOTICE}
+
+
+ );
+};
diff --git a/src/misc/Tooltip.tsx b/src/misc/Tooltip.tsx
index 5839383d..c392ba27 100644
--- a/src/misc/Tooltip.tsx
+++ b/src/misc/Tooltip.tsx
@@ -1,17 +1,17 @@
-import { TooltipTrigger, Tooltip as AriaTooltip } from "react-aria-components";
-
-export interface TooltipProps {
- children: React.ReactNode;
- label: string;
-}
-
-export const Tooltip = ({ children, label }: TooltipProps) => {
- return (
-
- {children}
-
- {label}
-
-
- );
-}
+import { TooltipTrigger, Tooltip as AriaTooltip } from "react-aria-components";
+
+export interface TooltipProps {
+ children: React.ReactNode;
+ label: string;
+}
+
+export const Tooltip = ({ children, label }: TooltipProps) => {
+ return (
+
+ {children}
+
+ {label}
+
+
+ );
+}
diff --git a/src/misc/async.ts b/src/misc/async.ts
index 5c683609..b690cabe 100644
--- a/src/misc/async.ts
+++ b/src/misc/async.ts
@@ -1,5 +1,5 @@
-export function valueAfter(val: T, ms?: number): Promise {
- return new Promise((resolve) => {
- setTimeout(() => resolve(val), ms);
- });
-}
+export function valueAfter(val: T, ms?: number): Promise {
+ return new Promise((resolve) => {
+ setTimeout(() => resolve(val), ms);
+ });
+}
diff --git a/src/misc/useLocalStorageState.ts b/src/misc/useLocalStorageState.ts
index e0662129..6f76da39 100644
--- a/src/misc/useLocalStorageState.ts
+++ b/src/misc/useLocalStorageState.ts
@@ -1,38 +1,38 @@
-import { useEffect, useState } from "react";
-
-function basicSerialize(value: T): string {
- if (typeof value === "object") {
- return JSON.stringify(value);
- }
- return String(value);
-}
-
-export function useLocalStorageState(
- key: string,
- defaultValue: T,
- options?: {
- serialize?: (value: T) => string;
- deserialize?: (value: string) => T;
- },
-) {
- const reactState = useState(() => {
- const savedValue = localStorage.getItem(key);
- if (savedValue !== null) {
- if (options?.deserialize) {
- return options.deserialize(savedValue);
- }
- return savedValue as T; // Assuming T is a string
- }
- return defaultValue;
- });
-
- const [state] = reactState;
-
- useEffect(() => {
- const serializedState =
- options?.serialize?.(state) || basicSerialize(state);
- localStorage.setItem(key, serializedState);
- }, [state, key, options]);
-
- return reactState;
-}
+import { useEffect, useState } from "react";
+
+function basicSerialize(value: T): string {
+ if (typeof value === "object") {
+ return JSON.stringify(value);
+ }
+ return String(value);
+}
+
+export function useLocalStorageState(
+ key: string,
+ defaultValue: T,
+ options?: {
+ serialize?: (value: T) => string;
+ deserialize?: (value: string) => T;
+ },
+) {
+ const reactState = useState(() => {
+ const savedValue = localStorage.getItem(key);
+ if (savedValue !== null) {
+ if (options?.deserialize) {
+ return options.deserialize(savedValue);
+ }
+ return savedValue as T; // Assuming T is a string
+ }
+ return defaultValue;
+ });
+
+ const [state] = reactState;
+
+ useEffect(() => {
+ const serializedState =
+ options?.serialize?.(state) || basicSerialize(state);
+ localStorage.setItem(key, serializedState);
+ }, [state, key, options]);
+
+ return reactState;
+}
diff --git a/src/misc/useModalRef.ts b/src/misc/useModalRef.ts
index 30205cd4..e7669743 100644
--- a/src/misc/useModalRef.ts
+++ b/src/misc/useModalRef.ts
@@ -1,52 +1,52 @@
-import { MutableRefObject, useEffect, useRef } from "react";
-
-export function useModalRef(
- open: boolean,
- closeOnOutsideClick?: boolean,
- allowCancel?: boolean
-): MutableRefObject {
- const ref = useRef(null);
-
- let reopen = async () => {
- // We do this in a timeout so it runs after the modal has actually closed.
- setTimeout(() => ref.current?.showModal());
- };
-
- useEffect(() => {
- if (open) {
- if (ref.current && !ref.current?.open) {
- ref.current?.showModal();
- if (allowCancel !== undefined && !allowCancel) {
- ref.current?.addEventListener("cancel", reopen);
- }
- }
- if (closeOnOutsideClick) {
- const handleClickOutside = (e: MouseEvent) => {
- const target = e.target as HTMLDialogElement | null;
- if (!target) return;
-
- const { top, left, width, height } = target.getBoundingClientRect();
- const clickedInDialog =
- top <= e.clientY &&
- e.clientY <= top + height &&
- left <= e.clientX &&
- e.clientX <= left + width;
-
- if (!clickedInDialog) {
- target.close();
- }
- };
-
- document.addEventListener("mousedown", handleClickOutside);
- return () => {
- document.removeEventListener("mousedown", handleClickOutside);
- };
- }
- } else {
- ref.current?.close();
- ref.current?.removeEventListener("cancel", reopen);
- }
- }, [open, closeOnOutsideClick]);
-
- return ref;
-}
+import { MutableRefObject, useEffect, useRef } from "react";
+
+export function useModalRef(
+ open: boolean,
+ closeOnOutsideClick?: boolean,
+ allowCancel?: boolean
+): MutableRefObject {
+ const ref = useRef(null);
+
+ let reopen = async () => {
+ // We do this in a timeout so it runs after the modal has actually closed.
+ setTimeout(() => ref.current?.showModal());
+ };
+
+ useEffect(() => {
+ if (open) {
+ if (ref.current && !ref.current?.open) {
+ ref.current?.showModal();
+ if (allowCancel !== undefined && !allowCancel) {
+ ref.current?.addEventListener("cancel", reopen);
+ }
+ }
+ if (closeOnOutsideClick) {
+ const handleClickOutside = (e: MouseEvent) => {
+ const target = e.target as HTMLDialogElement | null;
+ if (!target) return;
+
+ const { top, left, width, height } = target.getBoundingClientRect();
+ const clickedInDialog =
+ top <= e.clientY &&
+ e.clientY <= top + height &&
+ left <= e.clientX &&
+ e.clientX <= left + width;
+
+ if (!clickedInDialog) {
+ target.close();
+ }
+ };
+
+ document.addEventListener("mousedown", handleClickOutside);
+ return () => {
+ document.removeEventListener("mousedown", handleClickOutside);
+ };
+ }
+ } else {
+ ref.current?.close();
+ ref.current?.removeEventListener("cancel", reopen);
+ }
+ }, [open, closeOnOutsideClick]);
+
+ return ref;
+}
diff --git a/src/react-extra.d.ts b/src/react-extra.d.ts
index 8588fdd8..576f493a 100644
--- a/src/react-extra.d.ts
+++ b/src/react-extra.d.ts
@@ -1,8 +1,8 @@
-import "react";
-
-// Needed for setting CSS *variables* to `style` properties in TSX.
-declare module "react" {
- interface CSSProperties {
- [key: `--${string}`]: string | number;
- }
-}
+import "react";
+
+// Needed for setting CSS *variables* to `style` properties in TSX.
+declare module "react" {
+ interface CSSProperties {
+ [key: `--${string}`]: string | number;
+ }
+}
diff --git a/src/rpc/ConnectionContext.ts b/src/rpc/ConnectionContext.ts
index 1ffad3c9..e68ee12d 100644
--- a/src/rpc/ConnectionContext.ts
+++ b/src/rpc/ConnectionContext.ts
@@ -1,9 +1,9 @@
-import { createContext } from "react";
-
-import { RpcConnection } from "@zmkfirmware/zmk-studio-ts-client/index";
-
-export interface ConnectionState {
- conn: RpcConnection | null;
-}
-
-export const ConnectionContext = createContext({ conn: null });
+import { createContext } from "react";
+
+import { RpcConnection } from "@zmkfirmware/zmk-studio-ts-client/index";
+
+export interface ConnectionState {
+ conn: RpcConnection | null;
+}
+
+export const ConnectionContext = createContext({ conn: null });
diff --git a/src/rpc/LockStateContext.ts b/src/rpc/LockStateContext.ts
index 5d2dec1d..2686372d 100644
--- a/src/rpc/LockStateContext.ts
+++ b/src/rpc/LockStateContext.ts
@@ -1,7 +1,7 @@
-import { createContext } from "react";
-
-import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
-
-export const LockStateContext = createContext(
- LockState.ZMK_STUDIO_CORE_LOCK_STATE_LOCKED
-);
+import { createContext } from "react";
+
+import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
+
+export const LockStateContext = createContext(
+ LockState.ZMK_STUDIO_CORE_LOCK_STATE_LOCKED
+);
diff --git a/src/rpc/logging.ts b/src/rpc/logging.ts
index 706d980b..a4377f3c 100644
--- a/src/rpc/logging.ts
+++ b/src/rpc/logging.ts
@@ -1,22 +1,22 @@
-import {
- call_rpc as inner_call_rpc,
- Request,
- RequestResponse,
- RpcConnection,
-} from "@zmkfirmware/zmk-studio-ts-client";
-
-export async function call_rpc(
- conn: RpcConnection,
- req: Omit
-): Promise {
- console.log("RPC Request", req);
- return inner_call_rpc(conn, req)
- .then((r) => {
- console.log("RPC Response", r);
- return r;
- })
- .catch((e) => {
- console.error("RPC Error", e);
- return e;
- });
-}
+import {
+ call_rpc as inner_call_rpc,
+ Request,
+ RequestResponse,
+ RpcConnection,
+} from "@zmkfirmware/zmk-studio-ts-client";
+
+export async function call_rpc(
+ conn: RpcConnection,
+ req: Omit
+): Promise {
+ console.log("RPC Request", req);
+ return inner_call_rpc(conn, req)
+ .then((r) => {
+ console.log("RPC Response", r);
+ return r;
+ })
+ .catch((e) => {
+ console.error("RPC Error", e);
+ return e;
+ });
+}
diff --git a/src/rpc/useConnectedDeviceData.ts b/src/rpc/useConnectedDeviceData.ts
index b64e41d5..8dca6040 100644
--- a/src/rpc/useConnectedDeviceData.ts
+++ b/src/rpc/useConnectedDeviceData.ts
@@ -1,56 +1,56 @@
-import React, { SetStateAction, useContext, useEffect, useState } from "react";
-import { ConnectionContext } from "./ConnectionContext";
-
-import { call_rpc } from "./logging";
-
-import { Request, RequestResponse } from "@zmkfirmware/zmk-studio-ts-client";
-import { LockStateContext } from "./LockStateContext";
-import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
-
-export function useConnectedDeviceData(
- req: Omit,
- response_mapper: (resp: RequestResponse) => T | undefined,
- requireUnlock?: boolean
-): [T | undefined, React.Dispatch>] {
- let connection = useContext(ConnectionContext);
- let lockState = useContext(LockStateContext);
- let [data, setData] = useState(undefined);
-
- useEffect(
- () => {
- if (
- !connection.conn ||
- (requireUnlock &&
- lockState != LockState.ZMK_STUDIO_CORE_LOCK_STATE_UNLOCKED)
- ) {
- setData(undefined);
- return;
- }
-
- async function startRequest() {
- setData(undefined);
- if (!connection.conn) {
- return;
- }
-
- let response = response_mapper(await call_rpc(connection.conn, req));
-
- if (!ignore) {
- setData(response);
- }
- }
-
- let ignore = false;
- startRequest();
-
- return () => {
- ignore = true;
- };
- },
- requireUnlock
- ? [connection, requireUnlock, lockState]
- : [connection, requireUnlock]
- );
-
- return [data, setData];
-}
+import React, { SetStateAction, useContext, useEffect, useState } from "react";
+import { ConnectionContext } from "./ConnectionContext";
+
+import { call_rpc } from "./logging";
+
+import { Request, RequestResponse } from "@zmkfirmware/zmk-studio-ts-client";
+import { LockStateContext } from "./LockStateContext";
+import { LockState } from "@zmkfirmware/zmk-studio-ts-client/core";
+
+export function useConnectedDeviceData(
+ req: Omit,
+ response_mapper: (resp: RequestResponse) => T | undefined,
+ requireUnlock?: boolean
+): [T | undefined, React.Dispatch>] {
+ let connection = useContext(ConnectionContext);
+ let lockState = useContext(LockStateContext);
+ let [data, setData] = useState(undefined);
+
+ useEffect(
+ () => {
+ if (
+ !connection.conn ||
+ (requireUnlock &&
+ lockState != LockState.ZMK_STUDIO_CORE_LOCK_STATE_UNLOCKED)
+ ) {
+ setData(undefined);
+ return;
+ }
+
+ async function startRequest() {
+ setData(undefined);
+ if (!connection.conn) {
+ return;
+ }
+
+ let response = response_mapper(await call_rpc(connection.conn, req));
+
+ if (!ignore) {
+ setData(response);
+ }
+ }
+
+ let ignore = false;
+ startRequest();
+
+ return () => {
+ ignore = true;
+ };
+ },
+ requireUnlock
+ ? [connection, requireUnlock, lockState]
+ : [connection, requireUnlock]
+ );
+
+ return [data, setData];
+}
diff --git a/src/tauri/ble.ts b/src/tauri/ble.ts
index 90ca63ea..e898dc4a 100644
--- a/src/tauri/ble.ts
+++ b/src/tauri/ble.ts
@@ -1,56 +1,56 @@
-import { invoke } from "@tauri-apps/api/core";
-import { listen } from "@tauri-apps/api/event";
-
-import type { RpcTransport } from "@zmkfirmware/zmk-studio-ts-client/transport/index";
-import { AvailableDevice } from ".";
-
-export async function list_devices(): Promise> {
- return await invoke("gatt_list_devices");
-}
-
-export async function connect(dev: AvailableDevice): Promise {
- if (!(await invoke("gatt_connect", dev))) {
- throw new Error("Failed to connect");
- }
-
- let abortController = new AbortController();
-
- let writable = new WritableStream({
- async write(chunk, _controller) {
- await invoke("transport_send_data", new Uint8Array(chunk));
- },
- });
-
- let { writable: response_writable, readable } = new TransformStream();
-
- const unlisten_data = await listen(
- "connection_data",
- async (event: { payload: Array }) => {
- let writer = response_writable.getWriter();
- await writer.write(new Uint8Array(event.payload));
- writer.releaseLock();
- }
- );
-
- const unlisten_disconnected = await listen(
- "connection_disconnected",
- async (_ev: any) => {
- unlisten_data();
- unlisten_disconnected();
- response_writable.close();
- }
- );
-
- let signal = abortController.signal;
-
- let abort_cb = async (_reason: any) => {
- unlisten_data();
- unlisten_disconnected();
- await invoke("transport_close");
- signal.removeEventListener("abort", abort_cb);
- };
-
- signal.addEventListener("abort", abort_cb);
-
- return { label: dev.label, abortController, readable, writable };
-}
+import { invoke } from "@tauri-apps/api/core";
+import { listen } from "@tauri-apps/api/event";
+
+import type { RpcTransport } from "@zmkfirmware/zmk-studio-ts-client/transport/index";
+import { AvailableDevice } from ".";
+
+export async function list_devices(): Promise> {
+ return await invoke("gatt_list_devices");
+}
+
+export async function connect(dev: AvailableDevice): Promise {
+ if (!(await invoke("gatt_connect", dev))) {
+ throw new Error("Failed to connect");
+ }
+
+ let abortController = new AbortController();
+
+ let writable = new WritableStream({
+ async write(chunk, _controller) {
+ await invoke("transport_send_data", new Uint8Array(chunk));
+ },
+ });
+
+ let { writable: response_writable, readable } = new TransformStream();
+
+ const unlisten_data = await listen(
+ "connection_data",
+ async (event: { payload: Array }) => {
+ let writer = response_writable.getWriter();
+ await writer.write(new Uint8Array(event.payload));
+ writer.releaseLock();
+ }
+ );
+
+ const unlisten_disconnected = await listen(
+ "connection_disconnected",
+ async (_ev: any) => {
+ unlisten_data();
+ unlisten_disconnected();
+ response_writable.close();
+ }
+ );
+
+ let signal = abortController.signal;
+
+ let abort_cb = async (_reason: any) => {
+ unlisten_data();
+ unlisten_disconnected();
+ await invoke("transport_close");
+ signal.removeEventListener("abort", abort_cb);
+ };
+
+ signal.addEventListener("abort", abort_cb);
+
+ return { label: dev.label, abortController, readable, writable };
+}
diff --git a/src/tauri/index.ts b/src/tauri/index.ts
index 4d24c743..64fe353e 100644
--- a/src/tauri/index.ts
+++ b/src/tauri/index.ts
@@ -1 +1 @@
-export type AvailableDevice = { label: string; id: string };
+export type AvailableDevice = { label: string; id: string };
diff --git a/src/tauri/serial.ts b/src/tauri/serial.ts
index 806049d6..246cccd0 100644
--- a/src/tauri/serial.ts
+++ b/src/tauri/serial.ts
@@ -1,56 +1,56 @@
-import { invoke } from "@tauri-apps/api/core";
-import { listen } from "@tauri-apps/api/event";
-
-import type { RpcTransport } from "@zmkfirmware/zmk-studio-ts-client/transport/index";
-import { AvailableDevice } from ".";
-
-export async function list_devices(): Promise> {
- return await invoke("serial_list_devices");
-}
-
-export async function connect(dev: AvailableDevice): Promise {
- if (!(await invoke("serial_connect", dev))) {
- throw new Error("Failed to connect");
- }
-
- let abortController = new AbortController();
-
- let writable = new WritableStream({
- async write(chunk, _controller) {
- await invoke("transport_send_data", new Uint8Array(chunk));
- },
- });
-
- let { writable: response_writable, readable } = new TransformStream();
-
- const unlisten_data = await listen(
- "connection_data",
- async (event: { payload: Array }) => {
- let writer = response_writable.getWriter();
- await writer.write(new Uint8Array(event.payload));
- writer.releaseLock();
- }
- );
-
- const unlisten_disconnected = await listen(
- "connection_disconnected",
- async (_ev: any) => {
- unlisten_data();
- unlisten_disconnected();
- response_writable.close();
- }
- );
-
- let signal = abortController.signal;
-
- let abort_cb = async (_reason: any) => {
- unlisten_data();
- unlisten_disconnected();
- await invoke("transport_close");
- signal.removeEventListener("abort", abort_cb);
- };
-
- signal.addEventListener("abort", abort_cb);
-
- return { label: dev.label, abortController, readable, writable };
-}
+import { invoke } from "@tauri-apps/api/core";
+import { listen } from "@tauri-apps/api/event";
+
+import type { RpcTransport } from "@zmkfirmware/zmk-studio-ts-client/transport/index";
+import { AvailableDevice } from ".";
+
+export async function list_devices(): Promise> {
+ return await invoke("serial_list_devices");
+}
+
+export async function connect(dev: AvailableDevice): Promise {
+ if (!(await invoke("serial_connect", dev))) {
+ throw new Error("Failed to connect");
+ }
+
+ let abortController = new AbortController();
+
+ let writable = new WritableStream({
+ async write(chunk, _controller) {
+ await invoke("transport_send_data", new Uint8Array(chunk));
+ },
+ });
+
+ let { writable: response_writable, readable } = new TransformStream();
+
+ const unlisten_data = await listen(
+ "connection_data",
+ async (event: { payload: Array }) => {
+ let writer = response_writable.getWriter();
+ await writer.write(new Uint8Array(event.payload));
+ writer.releaseLock();
+ }
+ );
+
+ const unlisten_disconnected = await listen(
+ "connection_disconnected",
+ async (_ev: any) => {
+ unlisten_data();
+ unlisten_disconnected();
+ response_writable.close();
+ }
+ );
+
+ let signal = abortController.signal;
+
+ let abort_cb = async (_reason: any) => {
+ unlisten_data();
+ unlisten_disconnected();
+ await invoke("transport_close");
+ signal.removeEventListener("abort", abort_cb);
+ };
+
+ signal.addEventListener("abort", abort_cb);
+
+ return { label: dev.label, abortController, readable, writable };
+}
diff --git a/src/undoRedo.ts b/src/undoRedo.ts
index 5690830c..38d674c6 100644
--- a/src/undoRedo.ts
+++ b/src/undoRedo.ts
@@ -1,86 +1,86 @@
-import { createContext, useMemo, useState } from "react";
-
-export type UndoCallback = () => Promise;
-
-export type DoCallback = () => Promise;
-
-export function useUndoRedo(): [
- (dc: DoCallback) => Promise,
- () => Promise,
- () => Promise,
- boolean,
- boolean,
- () => void
-] {
- const [locked, setLocked] = useState(false);
- const [undoStack, setUndoStack] = useState>(
- []
- );
- const [redoStack, setRedoStack] = useState>([]);
-
- const canUndo = useMemo(
- () => !locked && undoStack.length > 0,
- [locked, undoStack]
- );
- const canRedo = useMemo(
- () => !locked && redoStack.length > 0,
- [locked, redoStack]
- );
-
- const doIt = async (doCb: DoCallback, preserveRedo?: boolean) => {
- setLocked(true);
- let undo = await doCb();
-
- setUndoStack([[doCb, undo], ...undoStack]);
- if (!preserveRedo) {
- setRedoStack([]);
- }
- setLocked(false);
- };
-
- const undo = async () => {
- if (locked) {
- throw new Error("undo invoked when existing operation in progress");
- }
-
- if (undoStack.length === 0) {
- throw new Error("undo invoked with no operations to undo");
- }
-
- setLocked(true);
- let [doCb, undoCb] = undoStack[0];
- setUndoStack(undoStack.slice(1));
- setRedoStack([doCb, ...redoStack]);
-
- await undoCb();
-
- setLocked(false);
- };
-
- const redo = async () => {
- if (locked) {
- throw new Error("redo invoked when existing operation in progress");
- }
-
- if (redoStack.length === 0) {
- throw new Error("redo invoked with no operations to redo");
- }
-
- let doCb = redoStack[0];
-
- setRedoStack(redoStack.slice(1));
-
- return await doIt(doCb, true);
- };
-
- const reset = () => {
- setRedoStack([]);
- setUndoStack([]);
- };
-
- return [doIt, undo, redo, canUndo, canRedo, reset];
-}
-
-export const UndoRedoContext = createContext<
- ((dc: DoCallback) => Promise) | null
->(null);
+import { createContext, useMemo, useState } from "react";
+
+export type UndoCallback = () => Promise;
+
+export type DoCallback = () => Promise;
+
+export function useUndoRedo(): [
+ (dc: DoCallback) => Promise,
+ () => Promise,
+ () => Promise,
+ boolean,
+ boolean,
+ () => void
+] {
+ const [locked, setLocked] = useState(false);
+ const [undoStack, setUndoStack] = useState>(
+ []
+ );
+ const [redoStack, setRedoStack] = useState>([]);
+
+ const canUndo = useMemo(
+ () => !locked && undoStack.length > 0,
+ [locked, undoStack]
+ );
+ const canRedo = useMemo(
+ () => !locked && redoStack.length > 0,
+ [locked, redoStack]
+ );
+
+ const doIt = async (doCb: DoCallback, preserveRedo?: boolean) => {
+ setLocked(true);
+ let undo = await doCb();
+
+ setUndoStack([[doCb, undo], ...undoStack]);
+ if (!preserveRedo) {
+ setRedoStack([]);
+ }
+ setLocked(false);
+ };
+
+ const undo = async () => {
+ if (locked) {
+ throw new Error("undo invoked when existing operation in progress");
+ }
+
+ if (undoStack.length === 0) {
+ throw new Error("undo invoked with no operations to undo");
+ }
+
+ setLocked(true);
+ let [doCb, undoCb] = undoStack[0];
+ setUndoStack(undoStack.slice(1));
+ setRedoStack([doCb, ...redoStack]);
+
+ await undoCb();
+
+ setLocked(false);
+ };
+
+ const redo = async () => {
+ if (locked) {
+ throw new Error("redo invoked when existing operation in progress");
+ }
+
+ if (redoStack.length === 0) {
+ throw new Error("redo invoked with no operations to redo");
+ }
+
+ let doCb = redoStack[0];
+
+ setRedoStack(redoStack.slice(1));
+
+ return await doIt(doCb, true);
+ };
+
+ const reset = () => {
+ setRedoStack([]);
+ setUndoStack([]);
+ };
+
+ return [doIt, undo, redo, canUndo, canRedo, reset];
+}
+
+export const UndoRedoContext = createContext<
+ ((dc: DoCallback) => Promise) | null
+>(null);
diff --git a/src/usePubSub.ts b/src/usePubSub.ts
index fa2bfe42..9748a08d 100644
--- a/src/usePubSub.ts
+++ b/src/usePubSub.ts
@@ -1,22 +1,22 @@
-import Emittery from "emittery";
-import { useEffect } from "react";
-
-const emitter = new Emittery();
-
-export const usePub = () => (name: PropertyKey, data: any) =>
- emitter.emit(name, data);
-
-export const useSub = (
- name: PropertyKey,
- callback: (data: any) => void | Promise
-) => {
- const unsub = () => emitter.off(name, callback);
-
- // Be sure we unsub if unmounted.
- useEffect(() => {
- emitter.on(name, callback);
- return () => unsub();
- });
-
- return unsub;
-};
+import Emittery from "emittery";
+import { useEffect } from "react";
+
+const emitter = new Emittery();
+
+export const usePub = () => (name: PropertyKey, data: any) =>
+ emitter.emit(name, data);
+
+export const useSub = (
+ name: PropertyKey,
+ callback: (data: any) => void | Promise
+) => {
+ const unsub = () => emitter.off(name, callback);
+
+ // Be sure we unsub if unmounted.
+ useEffect(() => {
+ emitter.on(name, callback);
+ return () => unsub();
+ });
+
+ return unsub;
+};
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts
index 11f02fe2..7d0ff9ef 100644
--- a/src/vite-env.d.ts
+++ b/src/vite-env.d.ts
@@ -1 +1 @@
-///
+///
diff --git a/tailwind.config.js b/tailwind.config.js
index f99539de..635f5d85 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -1,33 +1,33 @@
-/** @type {import('tailwindcss').Config} */
-import trac from "tailwindcss-react-aria-components";
-import contQueries from "@tailwindcss/container-queries";
-
-export default {
- content: ["./index.html", "./download.html", "./src/**/*.{js,ts,jsx,tsx}"],
- theme: {
- extend: {
- fontFamily: {
- sans: ["Inter", "system-ui"],
- },
- colors: {
- primary:
- "light-dark(oklch(49.12% 0.3096 285.75), oklch(65.69% 0.196 285.75))",
- "primary-content":
- "light-dark(oklch(0.89824 0.06192 285.75), oklch(0.13138 0.0392 285.75))",
- secondary:
- "light-dark(oklch(69.71% 0.329 342.55), oklch(74.8% 0.26 342.55))",
- accent:
- "light-dark(oklch(76.76% 0.184 183.61), oklch(74.51% 0.167 183.61))",
- "base-content": "light-dark(#1f2937, #A6ADBB)",
- "base-100": "light-dark(oklch(100% 0 0), #1d232a)",
- "base-200": "light-dark(#F2F2F2, #191e24)",
- "base-300": "light-dark(#E5E6E6, #15191e)",
- },
- },
-
- fontFamily: {
- keycap: ["Inter", "system-ui"],
- },
- },
- plugins: [contQueries, trac({ prefix: "rac" })],
-};
+/** @type {import('tailwindcss').Config} */
+import trac from "tailwindcss-react-aria-components";
+import contQueries from "@tailwindcss/container-queries";
+
+export default {
+ content: ["./index.html", "./download.html", "./src/**/*.{js,ts,jsx,tsx}"],
+ theme: {
+ extend: {
+ fontFamily: {
+ sans: ["Inter", "system-ui"],
+ },
+ colors: {
+ primary:
+ "light-dark(oklch(49.12% 0.3096 285.75), oklch(65.69% 0.196 285.75))",
+ "primary-content":
+ "light-dark(oklch(0.89824 0.06192 285.75), oklch(0.13138 0.0392 285.75))",
+ secondary:
+ "light-dark(oklch(69.71% 0.329 342.55), oklch(74.8% 0.26 342.55))",
+ accent:
+ "light-dark(oklch(76.76% 0.184 183.61), oklch(74.51% 0.167 183.61))",
+ "base-content": "light-dark(#1f2937, #A6ADBB)",
+ "base-100": "light-dark(oklch(100% 0 0), #1d232a)",
+ "base-200": "light-dark(#F2F2F2, #191e24)",
+ "base-300": "light-dark(#E5E6E6, #15191e)",
+ },
+ },
+
+ fontFamily: {
+ keycap: ["Inter", "system-ui"],
+ },
+ },
+ plugins: [contQueries, trac({ prefix: "rac" })],
+};
diff --git a/tsconfig.json b/tsconfig.json
index a7fc6fbf..9bdaa778 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,25 +1,25 @@
-{
- "compilerOptions": {
- "target": "ES2020",
- "useDefineForClassFields": true,
- "lib": ["ES2020", "DOM", "DOM.Iterable"],
- "module": "ESNext",
- "skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "resolveJsonModule": true,
- "isolatedModules": true,
- "noEmit": true,
- "jsx": "react-jsx",
-
- /* Linting */
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true
- },
- "include": ["src"],
- "references": [{ "path": "./tsconfig.node.json" }]
-}
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true
+ },
+ "include": ["src"],
+ "references": [{ "path": "./tsconfig.node.json" }]
+}
diff --git a/tsconfig.node.json b/tsconfig.node.json
index 97ede7ee..b8505820 100644
--- a/tsconfig.node.json
+++ b/tsconfig.node.json
@@ -1,11 +1,11 @@
-{
- "compilerOptions": {
- "composite": true,
- "skipLibCheck": true,
- "module": "ESNext",
- "moduleResolution": "bundler",
- "allowSyntheticDefaultImports": true,
- "strict": true
- },
- "include": ["vite.config.ts"]
-}
+{
+ "compilerOptions": {
+ "composite": true,
+ "skipLibCheck": true,
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "allowSyntheticDefaultImports": true,
+ "strict": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/vite.config.ts b/vite.config.ts
index 46cb69a6..097039cb 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,38 +1,38 @@
-import { defineConfig } from "vite";
-import react from "@vitejs/plugin-react-swc";
-
-// https://vitejs.dev/config/
-export default defineConfig({
- plugins: [react()],
- // prevent vite from obscuring rust errors
- clearScreen: false,
- // Tauri expects a fixed port, fail if that port is not available
- server: {
- strictPort: true,
- },
- // to access the Tauri environment variables set by the CLI with information about the current target
- envPrefix: [
- "VITE_",
- "TAURI_PLATFORM",
- "TAURI_ARCH",
- "TAURI_FAMILY",
- "TAURI_PLATFORM_VERSION",
- "TAURI_PLATFORM_TYPE",
- "TAURI_DEBUG",
- ],
- build: {
- // Tauri uses Chromium on Windows and WebKit on macOS and Linux
- target: process.env.TAURI_PLATFORM == "windows" ? "chrome105" : "safari13",
- // don't minify for debug builds
- minify: !process.env.TAURI_DEBUG ? "esbuild" : false,
- // produce sourcemaps for debug builds
- sourcemap: !!process.env.TAURI_DEBUG,
- // include download page
- rollupOptions: {
- input: {
- main: "./index.html",
- download: "./download.html",
- },
- }
- },
-});
+import { defineConfig } from "vite";
+import react from "@vitejs/plugin-react-swc";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [react()],
+ // prevent vite from obscuring rust errors
+ clearScreen: false,
+ // Tauri expects a fixed port, fail if that port is not available
+ server: {
+ strictPort: true,
+ },
+ // to access the Tauri environment variables set by the CLI with information about the current target
+ envPrefix: [
+ "VITE_",
+ "TAURI_PLATFORM",
+ "TAURI_ARCH",
+ "TAURI_FAMILY",
+ "TAURI_PLATFORM_VERSION",
+ "TAURI_PLATFORM_TYPE",
+ "TAURI_DEBUG",
+ ],
+ build: {
+ // Tauri uses Chromium on Windows and WebKit on macOS and Linux
+ target: process.env.TAURI_PLATFORM == "windows" ? "chrome105" : "safari13",
+ // don't minify for debug builds
+ minify: !process.env.TAURI_DEBUG ? "esbuild" : false,
+ // produce sourcemaps for debug builds
+ sourcemap: !!process.env.TAURI_DEBUG,
+ // include download page
+ rollupOptions: {
+ input: {
+ main: "./index.html",
+ download: "./download.html",
+ },
+ }
+ },
+});